示例#1
0
 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