コード例 #1
0
    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())
コード例 #2
0
    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)
コード例 #3
0
    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))
コード例 #4
0
    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))
コード例 #5
0
    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))
コード例 #6
0
    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)
コード例 #7
0
    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))
コード例 #8
0
    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))
コード例 #9
0
    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))
コード例 #10
0
    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',)),))
コード例 #11
0
    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))
コード例 #12
0
    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))