Example #1
0
    def test_owner_role_simple(self):
        from ptah import security

        content = Content2(iface=security.IOwnersAware)

        self.assertEqual(security.get_local_roles("userid", context=content), [])

        content.__owner__ = "userid"

        self.assertEqual(security.get_local_roles("userid", context=content), ["system.Owner"])
Example #2
0
    def test_local_role_simple(self):
        from ptah import security

        content = Content(iface=security.ILocalRolesAware)

        self.assertEqual(security.get_local_roles("userid", context=content), [])

        content.__local_roles__["userid"] = ("role:test",)

        self.assertEqual(security.get_local_roles("userid", context=content), ["role:test"])
Example #3
0
    def test_local_role_simple(self):
        from ptah import security

        content = Content(iface=security.ILocalRolesAware)

        self.assertEqual(security.get_local_roles('userid', context=content), [])

        content.__local_roles__['userid'] = ('role:test',)

        self.assertEqual(
            security.get_local_roles('userid', context=content), ['role:test'])
Example #4
0
    def test_owner_role_in_parent(self):
        # return owner only on current context
        from ptah import security

        parent = Content2(iface=security.IOwnersAware)
        content = Content2(parent=parent, iface=security.IOwnersAware)

        parent.__owner__ = "user"

        self.assertEqual(security.get_local_roles("user", context=content), [])
        self.assertEqual(security.get_local_roles("user", context=parent), ["system.Owner"])
Example #5
0
    def test_local_role_lineage_no_localroles(self):
        from ptah import security

        parent = Content(iface=security.ILocalRolesAware)
        content = Content(parent=parent)

        self.assertEqual(security.get_local_roles("userid", context=content), [])

        parent.__local_roles__["userid"] = ("role:test",)

        self.assertEqual(security.get_local_roles("userid", context=content), ["role:test"])
Example #6
0
    def test_local_role_lineage_no_localroles(self):
        from ptah import security

        parent = Content(iface=security.ILocalRolesAware)
        content = Content(parent=parent)

        self.assertEqual(security.get_local_roles('userid', context=content), [])

        parent.__local_roles__['userid'] = ('role:test',)

        self.assertEqual(
            security.get_local_roles('userid', context=content), ['role:test'])
Example #7
0
    def test_owner_role_in_parent(self):
        # return owner only on current context
        from ptah import security

        parent = Content2(iface=security.IOwnersAware)
        content = Content2(parent=parent, iface=security.IOwnersAware)

        parent.__owner__ = 'user'

        self.assertEqual(security.get_local_roles('user', context=content), [])
        self.assertEqual(security.get_local_roles('user', context=parent),
                         ['system.Owner'])
Example #8
0
    def test_local_role_simple(self):
        from ptah import security

        content = Content(iface=security.ILocalRolesAware)

        self.assertEqual(security.get_local_roles('userid', context=content),
                         [])

        content.__local_roles__['userid'] = ('role:test', )

        self.assertEqual(security.get_local_roles('userid', context=content),
                         ['role:test'])
Example #9
0
    def test_owner_role_simple(self):
        from ptah import security

        content = Content2(iface=security.IOwnersAware)

        self.assertEqual(security.get_local_roles('userid', context=content),
                         [])

        content.__owner__ = 'userid'

        self.assertEqual(security.get_local_roles('userid', context=content),
                         ['system.Owner'])
Example #10
0
    def test_local_role_lineage_no_localroles(self):
        from ptah import security

        parent = Content(iface=security.ILocalRolesAware)
        content = Content(parent=parent)

        self.assertEqual(security.get_local_roles('userid', context=content),
                         [])

        parent.__local_roles__['userid'] = ('role:test', )

        self.assertEqual(security.get_local_roles('userid', context=content),
                         ['role:test'])
Example #11
0
    def test_local_role_lineage_multiple(self):
        from ptah import security

        parent = Content(iface=security.ILocalRolesAware)
        content = Content(parent=parent, iface=security.ILocalRolesAware)

        self.assertEqual(security.get_local_roles('userid', context=content), [])

        parent.__local_roles__['userid'] = ('role:test',)
        content.__local_roles__['userid'] = ('role:test2',)

        lr = sorted(security.get_local_roles('userid', context=content))

        self.assertTrue(lr == ['role:test', 'role:test2'])
Example #12
0
    def test_local_role_lineage_multiple(self):
        from ptah import security

        parent = Content(iface=security.ILocalRolesAware)
        content = Content(parent=parent, iface=security.ILocalRolesAware)

        self.assertEqual(security.get_local_roles('userid', context=content),
                         [])

        parent.__local_roles__['userid'] = ('role:test', )
        content.__local_roles__['userid'] = ('role:test2', )

        lr = sorted(security.get_local_roles('userid', context=content))

        self.assertTrue(lr == ['role:test', 'role:test2'])
Example #13
0
    def test_local_role_lineage_multiple(self):
        from ptah import security

        parent = Content(iface=security.ILocalRolesAware)
        content = Content(parent=parent, iface=security.ILocalRolesAware)

        self.assertEqual(security.get_local_roles("userid", context=content), [])

        parent.__local_roles__["userid"] = ("role:test",)
        content.__local_roles__["userid"] = ("role:test2",)

        lr = security.get_local_roles("userid", context=content)
        lr.sort()

        self.assertTrue(lr == ["role:test", "role:test2"])
Example #14
0
    def test_get_local_roles(self):
        import ptah
        from ptah import security

        data = {}

        @ptah.roles_provider('test1')
        def provider1(context, uid, registry):
            data['test1'] = uid
            return ('Role1',)

        @ptah.roles_provider('test2')
        def provider2(context, uid, registry):
            data['test2'] = uid
            return ('Role2',)

        self.init_ptah()

        content = Content()

        roles = security.get_local_roles('userid', context=content)
        self.assertIn('Role1', roles)
        self.assertIn('Role2', roles)
        self.assertIn('test1', data)
        self.assertIn('test2', data)
Example #15
0
    def test_get_local_roles(self):
        import ptah
        from ptah import security

        data = {}

        @ptah.roles_provider('test1')
        def provider1(context, uid, registry):
            data['test1'] = uid
            return ('Role1', )

        @ptah.roles_provider('test2')
        def provider2(context, uid, registry):
            data['test2'] = uid
            return ('Role2', )

        self.init_ptah()

        content = Content()

        roles = security.get_local_roles('userid', context=content)
        self.assertIn('Role1', roles)
        self.assertIn('Role2', roles)
        self.assertIn('test1', data)
        self.assertIn('test2', data)
Example #16
0
    def test_local_role_default_roles_for_non_localaware(self):
        from ptah import security

        cfg = ptah.get_settings(ptah.CFG_ID_PTAH)
        cfg['default_roles'] = ['role1', 'role2']

        content = Content()
        roles = security.get_local_roles('userid', context=content)
        self.assertIn('role1', roles)
        self.assertIn('role2', roles)
Example #17
0
    def test_local_role_default_roles_for_non_localaware(self):
        from ptah import security

        cfg = ptah.get_settings(ptah.CFG_ID_PTAH)
        cfg['default_roles'] = ['role1', 'role2']

        content = Content()
        roles = security.get_local_roles('userid', context=content)
        self.assertIn('role1', roles)
        self.assertIn('role2', roles)
Example #18
0
    def test_local_role_lineage_context_from_request(self):
        from ptah import security

        class Request(object):
            content = None
            root = None

        request = Request()

        content = Content(iface=security.ILocalRolesAware)
        content.__local_roles__['userid'] = ('role:test',)

        request.root = content

        self.assertEqual(security.get_local_roles('userid', request), ['role:test'])

        content2 = Content(iface=security.ILocalRolesAware)
        content2.__local_roles__['userid'] = ('role:test2',)

        request.context = content2
        self.assertEqual(security.get_local_roles('userid', request), ['role:test2'])
Example #19
0
    def test_local_role_lineage_context_from_request(self):
        from ptah import security

        class Request(object):
            content = None
            root = None

        request = Request()

        content = Content(iface=security.ILocalRolesAware)
        content.__local_roles__['userid'] = ('role:test', )

        request.root = content

        self.assertEqual(security.get_local_roles('userid', request),
                         ['role:test'])

        content2 = Content(iface=security.ILocalRolesAware)
        content2.__local_roles__['userid'] = ('role:test2', )

        request.context = content2
        self.assertEqual(security.get_local_roles('userid', request),
                         ['role:test2'])