Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Sicherheit und Arbeitsabläufe Rechte, Rollen und Arbeitsabläufe testen

Rechte, Rollen und Arbeitsabläufe testen

erstellt von Veit Schiele zuletzt verändert: 13.09.2009 19:32 © Veit Schiele 2007–2008

Um die Rechte, Rollen und Arbeitsabläufe zu testen, werden die entsprechenden Tests in src/vs.registration/vs/registration/tests/test_setup.py hinzugefügt:

import unittest
from vs.registration.tests.base import RegistrationTestCase

from Products.CMFCore.utils import getToolByName

class TestSetup(RegistrationTestCase):

    def afterSetUp(self):
        self.workflow = getToolByName(self.portal, 'portal_workflow')
        self.acl_users = getToolByName(self.portal, 'acl_users')
        self.types = getToolByName(self.portal, 'portal_types')


    def test_workflows_installed(self):
        self.failUnless('registrant_workflow' in self.workflow.objectIds())
        self.failUnless('registration_workflow' in self.workflow.objectIds())

    def test_workflows_mapped(self):
        for portal_type, chain in self.workflow.listChainOverrides():
            if portal_type in ('Registration',):
                self.assertEquals(('registration_workflow',), chain)
        for portal_type, chain in self.workflow.listChainOverrides():
            if portal_type in ('Registrant',):
                self.assertEquals(('registrant_workflow',), chain)

    def test_view_permisison_for_staffmember(self):
        # The API of the permissionsOfRole() function sucks - it is bound too
        # closely up in the permission management screen's user interface
        self.failUnless('View' in [r['name'] for r in
                                self.portal.permissionsOfRole('Reader') if r['selected']])

def test_suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(TestSetup))
    return suite
Artikelaktionen