def test_webaccess_firerole_serialization(self): """webaccess - firerole role definition correctly serialized""" from invenio.access_control_admin import acc_get_role_definition from invenio.access_control_firerole import compile_role_definition, \ deserialize def_ser = compile_role_definition(self.role_definition) tmp_def_ser = acc_get_role_definition(self.role_id) self.assertEqual(def_ser, deserialize(tmp_def_ser))
def make_list_apache_firerole(name_action, arguments): """Given an action and a dictionary arguments returns a list of all the roles (and their descriptions) which are authorized to perform this action with these arguments, and whose FireRole definition expect an Apache Password membership. """ roles = acc_find_possible_roles(name_action, **arguments) ret = [] for role in roles: res = run_sql_cached('SELECT name, description, firerole_def_ser FROM accROLE WHERE id=%s', (role, ), affected_tables=['accROLE']) if acc_firerole_suggest_apache_p(deserialize(res[0][2])): ret.append((res[0][0], res[0][1])) return ret
def test_compile_role_definition_empty(self): """firerole - compiling empty role definitions""" self.assertEqual(compile_role_definition(None), deserialize(CFG_ACC_EMPTY_ROLE_DEFINITION_SER))
def test_webaccess_firerole_serialization(self): """webaccess - firerole role definition correctly serialized""" def_ser = compile_role_definition(self.role_definition) tmp_def_ser = acc_get_role_definition(self.role_id) self.assertEqual(def_ser, deserialize(tmp_def_ser))