diff options
-rw-r--r-- | moon_authz/tests/unit_python/test_authz.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/moon_authz/tests/unit_python/test_authz.py b/moon_authz/tests/unit_python/test_authz.py index cf37cfdf..2352fe06 100644 --- a/moon_authz/tests/unit_python/test_authz.py +++ b/moon_authz/tests/unit_python/test_authz.py @@ -1,5 +1,6 @@ import json import pickle +import pytest def get_data(data): @@ -10,6 +11,13 @@ def get_json(data): return json.loads(data.decode("utf-8")) +def run(component_data, cache, context): + from moon_authz.api.authorization import Authz + authz = Authz(component_data=component_data, cache=cache) + authz.context = context + authz.run() + + def test_authz_true(context): import moon_authz.server from python_moonutilities.context import Context @@ -89,3 +97,20 @@ def test_action_not_allowed(context): assert isinstance(data, dict) assert "message" in data assert data["message"] == "Cannot find action invalid" + + +def test_authz_with_empty_pdp_set(context): + from python_moonutilities.context import Context + from python_moonutilities.cache import Cache + CACHE = Cache() + CACHE.update() + _context = Context(context, CACHE) + component_data = { + 'component_id': 'component_id1', + 'pdp_id': 'pdp_id1', + 'meta_rule_id': 'meta_rule_id1', + 'keystone_project_id': 'keystone_project_id1', + } + with pytest.raises(Exception) as exception_info: + run(component_data, CACHE, _context) + assert str(exception_info.value) == '400: Pdp Unknown' |