178 rset = self.sexecute('Any W,X ORDERBY W,X LIMIT 2 OFFSET 2 WHERE X wikiid W') |
178 rset = self.sexecute('Any W,X ORDERBY W,X LIMIT 2 OFFSET 2 WHERE X wikiid W') |
179 self.assertEqual(rset.rows, rsetbase.rows[2:4]) |
179 self.assertEqual(rset.rows, rsetbase.rows[2:4]) |
180 |
180 |
181 def test_has_text(self): |
181 def test_has_text(self): |
182 self.repo.sources_by_uri['extern'].synchronize(MTIME) # in case fti_update has been run before |
182 self.repo.sources_by_uri['extern'].synchronize(MTIME) # in case fti_update has been run before |
183 self.failUnless(self.sexecute('Any X WHERE X has_text "affref"')) |
183 self.assertTrue(self.sexecute('Any X WHERE X has_text "affref"')) |
184 self.failUnless(self.sexecute('Affaire X WHERE X has_text "affref"')) |
184 self.assertTrue(self.sexecute('Affaire X WHERE X has_text "affref"')) |
185 self.failUnless(self.sexecute('Any X ORDERBY FTIRANK(X) WHERE X has_text "affref"')) |
185 self.assertTrue(self.sexecute('Any X ORDERBY FTIRANK(X) WHERE X has_text "affref"')) |
186 self.failUnless(self.sexecute('Affaire X ORDERBY FTIRANK(X) WHERE X has_text "affref"')) |
186 self.assertTrue(self.sexecute('Affaire X ORDERBY FTIRANK(X) WHERE X has_text "affref"')) |
187 |
187 |
188 def test_anon_has_text(self): |
188 def test_anon_has_text(self): |
189 self.repo.sources_by_uri['extern'].synchronize(MTIME) # in case fti_update has been run before |
189 self.repo.sources_by_uri['extern'].synchronize(MTIME) # in case fti_update has been run before |
190 self.sexecute('INSERT Affaire X: X ref "no readable card"')[0][0] |
190 self.sexecute('INSERT Affaire X: X ref "no readable card"')[0][0] |
191 aff1 = self.sexecute('INSERT Affaire X: X ref "card"')[0][0] |
191 aff1 = self.sexecute('INSERT Affaire X: X ref "card"')[0][0] |
208 aff2 = cu.execute('INSERT Affaire X: X ref "AFFREUX"')[0][0] |
208 aff2 = cu.execute('INSERT Affaire X: X ref "AFFREUX"')[0][0] |
209 self.cnx2.commit() |
209 self.cnx2.commit() |
210 try: |
210 try: |
211 # force sync |
211 # force sync |
212 self.repo.sources_by_uri['extern'].synchronize(MTIME) |
212 self.repo.sources_by_uri['extern'].synchronize(MTIME) |
213 self.failUnless(self.sexecute('Any X WHERE X has_text "blah"')) |
213 self.assertTrue(self.sexecute('Any X WHERE X has_text "blah"')) |
214 self.failUnless(self.sexecute('Any X WHERE X has_text "affreux"')) |
214 self.assertTrue(self.sexecute('Any X WHERE X has_text "affreux"')) |
215 cu.execute('DELETE Affaire X WHERE X eid %(x)s', {'x': aff2}) |
215 cu.execute('DELETE Affaire X WHERE X eid %(x)s', {'x': aff2}) |
216 self.cnx2.commit() |
216 self.cnx2.commit() |
217 self.repo.sources_by_uri['extern'].synchronize(MTIME) |
217 self.repo.sources_by_uri['extern'].synchronize(MTIME) |
218 rset = self.sexecute('Any X WHERE X has_text "affreux"') |
218 rset = self.sexecute('Any X WHERE X has_text "affreux"') |
219 self.failIf(rset) |
219 self.assertFalse(rset) |
220 finally: |
220 finally: |
221 # restore state |
221 # restore state |
222 cu.execute('SET X ref "AFFREF" WHERE X eid %(x)s', {'x': self.aff1}) |
222 cu.execute('SET X ref "AFFREF" WHERE X eid %(x)s', {'x': self.aff1}) |
223 self.cnx2.commit() |
223 self.cnx2.commit() |
224 |
224 |
387 def test_delete_source(self): |
387 def test_delete_source(self): |
388 req = self.request() |
388 req = self.request() |
389 req.execute('DELETE CWSource S WHERE S name "extern"') |
389 req.execute('DELETE CWSource S WHERE S name "extern"') |
390 self.commit() |
390 self.commit() |
391 cu = self.session.system_sql("SELECT * FROM entities WHERE source='extern'") |
391 cu = self.session.system_sql("SELECT * FROM entities WHERE source='extern'") |
392 self.failIf(cu.fetchall()) |
392 self.assertFalse(cu.fetchall()) |
393 |
393 |
394 if __name__ == '__main__': |
394 if __name__ == '__main__': |
395 from logilab.common.testlib import unittest_main |
395 from logilab.common.testlib import unittest_main |
396 unittest_main() |
396 unittest_main() |