def test_reindexDocSubscriber(self): from zope.catalog.catalog import reindexDocSubscriber from zope.lifecycleevent import ObjectModifiedEvent ob = Stub() self.root['ob'] = ob id = self.utility.register(ob) reindexDocSubscriber(ObjectModifiedEvent(ob)) self.assertEqual(self.cat.regs, [(1, ob)]) self.assertEqual(self.cat.unregs, []) ob2 = Stub() self.root['ob2'] = ob2 reindexDocSubscriber(ObjectModifiedEvent(ob2)) self.assertEqual(self.cat.regs, [(1, ob)]) self.assertEqual(self.cat.unregs, [])
def test_updateIndex(self): """ Setup a catalog deeper within the containment hierarchy and call the updateIndexes method. The indexed objects should should be restricted to the sublocations. """ from zope.catalog.catalog import reindexDocSubscriber from zope.lifecycleevent import ObjectModifiedEvent ob = Stub() self.subfolder['ob'] = ob id = self.utility.register(ob) setSite(self.subfolder) res = self.cat.searchResults(name='ob') self.assertEqual(len(res), 0) setSite(None) reindexDocSubscriber(ObjectModifiedEvent(ob)) setSite(self.subfolder) res = self.cat.searchResults(name='ob') self.assertEqual(len(res), 1)