707 self.assertEqual(data, []) |
707 self.assertEqual(data, []) |
708 |
708 |
709 |
709 |
710 class FTITC(CubicWebTC): |
710 class FTITC(CubicWebTC): |
711 |
711 |
712 def test_reindex_and_modified_since(self): |
|
713 self.repo.system_source.multisources_etypes.add('Personne') |
|
714 eidp = self.execute('INSERT Personne X: X nom "toto", X prenom "tutu"')[0][0] |
|
715 self.commit() |
|
716 ts = datetime.now() |
|
717 self.assertEqual(len(self.execute('Personne X WHERE X has_text "tutu"')), 1) |
|
718 self.session.set_cnxset() |
|
719 cu = self.session.system_sql('SELECT mtime, eid FROM entities WHERE eid = %s' % eidp) |
|
720 omtime = cu.fetchone()[0] |
|
721 # our sqlite datetime adapter is ignore seconds fraction, so we have to |
|
722 # ensure update is done the next seconds |
|
723 time.sleep(1 - (ts.second - int(ts.second))) |
|
724 self.execute('SET X nom "tata" WHERE X eid %(x)s', {'x': eidp}) |
|
725 self.commit() |
|
726 self.assertEqual(len(self.execute('Personne X WHERE X has_text "tutu"')), 1) |
|
727 self.session.set_cnxset() |
|
728 cu = self.session.system_sql('SELECT mtime FROM entities WHERE eid = %s' % eidp) |
|
729 mtime = cu.fetchone()[0] |
|
730 self.assertTrue(omtime < mtime) |
|
731 self.commit() |
|
732 date, modified, deleted = self.repo.entities_modified_since(('Personne',), omtime) |
|
733 self.assertEqual(modified, [('Personne', eidp)]) |
|
734 self.assertEqual(deleted, []) |
|
735 date, modified, deleted = self.repo.entities_modified_since(('Personne',), mtime) |
|
736 self.assertEqual(modified, []) |
|
737 self.assertEqual(deleted, []) |
|
738 self.execute('DELETE Personne X WHERE X eid %(x)s', {'x': eidp}) |
|
739 self.commit() |
|
740 date, modified, deleted = self.repo.entities_modified_since(('Personne',), omtime) |
|
741 self.assertEqual(modified, []) |
|
742 self.assertEqual(deleted, [('Personne', eidp)]) |
|
743 |
|
744 def test_fulltext_container_entity(self): |
712 def test_fulltext_container_entity(self): |
745 assert self.schema.rschema('use_email').fulltext_container == 'subject' |
713 assert self.schema.rschema('use_email').fulltext_container == 'subject' |
746 req = self.request() |
714 req = self.request() |
747 toto = req.create_entity('EmailAddress', address=u'toto@logilab.fr') |
715 toto = req.create_entity('EmailAddress', address=u'toto@logilab.fr') |
748 self.commit() |
716 self.commit() |