Esempio n. 1
0
    def test_unacquired_permission_skip_purge(self):

        ACI = 'Access contents information'
        VIEW = 'View'

        self.root.site = Folder(id='site')
        site = self.root.site
        site.manage_permission(VIEW, ())

        existing_allowed = [
            x['name'] for x in site.rolesOfPermission(ACI) if x['selected']
        ]

        self.assertEqual(existing_allowed, ['Manager'])

        self.failUnless(site.acquiredRolesAreUsedBy(ACI))
        self.failIf(site.acquiredRolesAreUsedBy(VIEW))

        context = DummyImportContext(site, False)
        context._files['rolemap.xml'] = _UNACQUIRED_EXPORT

        from Products.CMFSetup.rolemap import importRolemap
        importRolemap(context)

        new_allowed = [
            x['name'] for x in site.rolesOfPermission(ACI) if x['selected']
        ]

        self.assertEqual(new_allowed, ['Manager', 'Owner'])

        self.failIf(site.acquiredRolesAreUsedBy(ACI))
        self.failIf(site.acquiredRolesAreUsedBy(VIEW))
Esempio n. 2
0
    def test_unacquired_permission_skip_purge( self ):

        ACI = 'Access contents information'
        VIEW = 'View'

        self.root.site = Folder( id='site' )
        site = self.root.site
        site.manage_permission( VIEW, () )

        existing_allowed = [ x[ 'name' ]
                                for x in site.rolesOfPermission( ACI )
                                if x[ 'selected' ] ]

        self.assertEqual( existing_allowed, [ 'Manager' ] )

        self.failUnless( site.acquiredRolesAreUsedBy( ACI ) )
        self.failIf( site.acquiredRolesAreUsedBy( VIEW ) )

        context = DummyImportContext( site, False )
        context._files[ 'rolemap.xml' ] = _UNACQUIRED_EXPORT

        from Products.CMFSetup.rolemap import importRolemap
        importRolemap( context )

        new_allowed = [ x[ 'name' ]
                           for x in site.rolesOfPermission( ACI )
                           if x[ 'selected' ] ]

        self.assertEqual( new_allowed, [ 'Manager', 'Owner' ] )

        self.failIf( site.acquiredRolesAreUsedBy( ACI ) )
        self.failIf( site.acquiredRolesAreUsedBy( VIEW ) )
Esempio n. 3
0
    def test_empty_skip_purge(self):

        self.root.site = Folder(id='site')
        site = self.root.site
        original_roles = list(getattr(site, '__ac_roles__', []))[:]
        modified_roles = original_roles[:]
        modified_roles.append('ZZZ')
        site.__ac_roles__ = modified_roles

        context = DummyImportContext(site, False)
        context._files['rolemap.xml'] = _EMPTY_EXPORT

        from Products.CMFSetup.rolemap import importRolemap
        importRolemap(context)

        new_roles = list(getattr(site, '__ac_roles__', []))[:]

        modified_roles.sort()
        new_roles.sort()

        self.assertEqual(modified_roles, new_roles)
Esempio n. 4
0
    def test_empty_skip_purge( self ):

        self.root.site = Folder( id='site' )
        site = self.root.site
        original_roles = list( getattr( site, '__ac_roles__', [] ) )[:]
        modified_roles = original_roles[:]
        modified_roles.append( 'ZZZ' )
        site.__ac_roles__ = modified_roles

        context = DummyImportContext( site, False )
        context._files[ 'rolemap.xml' ] = _EMPTY_EXPORT

        from Products.CMFSetup.rolemap import importRolemap
        importRolemap( context )

        new_roles = list( getattr( site, '__ac_roles__', [] ) )[:]

        modified_roles.sort()
        new_roles.sort()

        self.assertEqual( modified_roles, new_roles )