def test_ruleset_empty(self): permissions = [] role = CrossbarRouterRoleStaticAuth(None, "testrole", permissions) actions = ['call', 'register', 'publish', 'subscribe'] uris = ['com.example.1', 'myuri', ''] for uri in uris: for action in actions: self.assertFalse(role.authorize(None, uri, action))
def test_ruleset_2(self): permissions = [ { 'uri': '*', 'call': True, 'register': True, 'publish': True, 'subscribe': True } ] role = CrossbarRouterRoleStaticAuth(None, "testrole", permissions) actions = ['call', 'register', 'publish', 'subscribe'] uris = [('com.example.1', True), ('myuri', True), ('', True)] for uri, allow in uris: for action in actions: self.assertEqual(role.authorize(None, uri, action), allow)
def add_role(self, realm, config): if self.debug: log.msg("CrossbarRouterFactory.add_role(realm = {}, config = {})".format(realm, config)) assert(realm in self._routers) router = self._routers[realm] uri = config['name'] if 'permissions' in config: role = CrossbarRouterRoleStaticAuth(router, uri, config['permissions'], debug=self.debug) elif 'authorizer' in config: role = CrossbarRouterRoleDynamicAuth(router, uri, config['authorizer'], debug=self.debug) else: role = CrossbarRouterRole(router, uri, debug=self.debug) router.add_role(role)