def test_update_inherit(self): """ tests update inherit method We are owner of the portal, with inheritance we are also owner of the repo and dossier. If we disable role aquisition on context, we lose the role 'owner' on the context """ register_event_recorder(ILocalRolesAcquisitionBlocked) register_event_recorder(ILocalRolesAcquisitionActivated) # We disable locale role aquisition on dossier self.view_dossier.update_inherit(False, reindex=False) last_event = get_last_recorded_event() self.assertTrue(ILocalRolesAcquisitionBlocked.providedBy(last_event)) self.assertEquals(last_event.object, self.dossier) # we disable it again,it shouldn't fire a event because nothing changed self.view_dossier.update_inherit(False, reindex=False) self.assertEquals(last_event, get_last_recorded_event()) # # We enable locale role aquisition on dossier self.view_dossier.update_inherit(True, reindex=False) # and check the fired event last_event = get_last_recorded_event() self.assertTrue(ILocalRolesAcquisitionActivated.providedBy(last_event)) self.assertEquals(last_event.object, self.dossier) # we disable it again,it shouldn't fire a event because nothing changed self.view_dossier.update_inherit(True, reindex=False) self.assertEquals(last_event, get_last_recorded_event())
def test_doesnt_get_fired_for_object_moved(self): self.login(self.regular_user) register_event_recorder(IObjectTouchedEvent) api.content.move(self.document, self.subdossier) event = get_last_recorded_event() self.assertIsNone(event)
def test_gets_fired_on_checkout(self): self.login(self.regular_user) register_event_recorder(IObjectTouchedEvent) self.checkout_document(self.document) event = get_last_recorded_event() self.assertTrue(IObjectTouchedEvent.providedBy(event))
def test_gets_fired_on_mail_added(self): self.login(self.regular_user) register_event_recorder(IObjectTouchedEvent) notify(ObjectAddedEvent(self.mail)) event = get_last_recorded_event() self.assertTrue(IObjectTouchedEvent.providedBy(event))
def test_gets_fired_on_object_modified(self): self.login(self.regular_user) register_event_recorder(IObjectTouchedEvent) notify(ObjectModifiedEvent(self.document)) event = get_last_recorded_event() self.assertTrue(IObjectTouchedEvent.providedBy(event))
def test_gets_fired_on_mail_added(self): self.login(self.regular_user) register_event_recorder(IObjectTouchedEvent) notify(ObjectAddedEvent(self.mail_eml)) event = get_last_recorded_event() self.assertTrue(IObjectTouchedEvent.providedBy(event))
def test_update_role_settings(self): """ Test update_role_settings method """ register_event_recorder(ILocalRolesModified) # If nothing has changed it needs to be reported accordingly changed = self.view_repo.update_role_settings([], False) self.assertFalse(changed) # We try to add the new local role 'publisher' new_settings = \ [{'type': 'user', 'id': 'test_user_1_', 'roles': ['Publisher']}, ] changed = self.view_repo.update_role_settings(new_settings, False) self.assertTrue(changed) last_event = get_last_recorded_event() # check the event type self.assertTrue(ILocalRolesModified.providedBy(last_event)) # check the event context self.assertEquals(last_event.object, self.repo) # check the stored localroles self.assertEquals(last_event.old_local_roles, {'test_user_1_': ('Owner',)}) self.assertEquals(last_event.new_local_roles, (('test_user_1_', ('Owner', 'Publisher')),)) # now we remvove the local role 'publisher' new_settings = \ [{'type': 'user', 'id': 'test_user_1_', 'roles': []}, ] changed = self.view_repo.update_role_settings(new_settings, False) self.assertTrue(changed) # check event attributes last_event = get_last_recorded_event() self.assertTrue(ILocalRolesModified.providedBy(last_event)) self.assertEquals(last_event.object, self.repo) self.assertEquals(last_event.old_local_roles, {'test_user_1_': ('Owner', 'Publisher')}) self.assertTrue( last_event.new_local_roles == (('test_user_1_', ('Owner',)),))
def test_send_document_event(self, browser): intids = getUtility(IIntIds) dossier = create(Builder("dossier")) documents = [create(Builder("document").within(dossier).with_dummy_content()), ] register_event_recorder(IDocumentSent) transaction.commit() self.send_documents(dossier, documents) event = get_last_recorded_event() self.assertEquals(event.sender, TEST_USER_ID) self.assertEquals(event.receiver, TEST_FORM_DATA.get('extern_receiver')) self.assertEquals(event.subject, TEST_FORM_DATA.get('subject')) self.assertEquals(event.message, TEST_FORM_DATA.get('message')) self.assertEquals(event.intids, map(intids.getId, documents))