def _mark_subname(self, token, relname="confirmed"): invite_relname, signature, uid = self.resolve() adapted = IContentSubscribers(self.context) if relname == 'confirmed': adapted.unindex('declined', signature) if relname == 'declined': adapted.unindex('confirmed', signature) adapted.index(relname, signature) #index subscriber signature for rel
def test_content_subscribers(self): """Content subscribers adapter search, index, unindex tests""" csubs = IContentSubscribers(self.content) relnames = ('invited', 'confirmed', 'attended') # test that there are no subscribers for any of the relnames for # content yet assert self.sub not in self.container #not yet, at least for name in relnames: assert len(csubs.find(name)) == 0 # index, and verify via find: csubs.index('invited', self.sub) assert self.sub in self.container # result of index through adapter assert self.sub in csubs.find('invited') assert 'invited' in csubs.subscriptions_for(self.sub) assert IItemSubscriber.providedBy(csubs.find('invited')[0]) assert len(csubs.find('confirmed')) == 0 assert len(csubs.find('attended')) == 0 assert len(csubs.find()) == 1 #unamed, one subscription so far # index another name: csubs.index('confirmed', self.sub) assert self.sub in csubs.find('invited') assert self.sub in csubs.find('confirmed') assert 'confirmed' in csubs.subscriptions_for(self.sub) assert self.sub in csubs.find() # unindex, make sure item is not found: csubs.unindex('invited', self.sub) assert self.sub not in csubs.find('invited') #removed assert 'invited' not in csubs.subscriptions_for(self.sub) assert self.sub in csubs.find('confirmed') #this still exists assert 'confirmed' in csubs.subscriptions_for(self.sub) # verify that we can look from the other direction at what we've done: subitems = ISubscriberItems(self.sub) assert self.content in subitems.find('confirmed') # finally, clean up: for name in relnames: csubs.unindex(name, self.sub) assert len(csubs.find(name)) == 0