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"])
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"])
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'])
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"])
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"])
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'])
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'])
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'])
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'])
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'])
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'])
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'])
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"])
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)
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)
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)
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'])
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'])