diff options
author | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
---|---|---|
committer | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
commit | 7bb53c64da2dcf88894bfd31503accdd81498f3d (patch) | |
tree | 4310e12366818af27947b5e2c80cb162da93a4b5 /moon_manager/tests/functional_pod | |
parent | cbea4e360e9bfaa9698cf7c61c83c96a1ba89b8c (diff) |
Update to new version 5.4HEADstable/jermamaster
Signed-off-by: Thomas Duval <thomas.duval@orange.com>
Change-Id: Idcd868133d75928a1ffd74d749ce98503e0555ea
Diffstat (limited to 'moon_manager/tests/functional_pod')
-rw-r--r-- | moon_manager/tests/functional_pod/conftest.py | 12 | ||||
-rw-r--r-- | moon_manager/tests/functional_pod/json/mls.json | 89 | ||||
-rw-r--r-- | moon_manager/tests/functional_pod/json/rbac.json | 85 | ||||
-rw-r--r-- | moon_manager/tests/functional_pod/run_functional_tests.sh | 11 | ||||
-rw-r--r-- | moon_manager/tests/functional_pod/test_manager.py | 116 | ||||
-rw-r--r-- | moon_manager/tests/functional_pod/test_models.py | 79 |
6 files changed, 0 insertions, 392 deletions
diff --git a/moon_manager/tests/functional_pod/conftest.py b/moon_manager/tests/functional_pod/conftest.py deleted file mode 100644 index b5811755..00000000 --- a/moon_manager/tests/functional_pod/conftest.py +++ /dev/null @@ -1,12 +0,0 @@ -import pytest - -print("ANALYSING CONFTEST") - - -@pytest.fixture -def context(): - print("CREATING CONTEXT") - yield { - "hostname": "manager", - "port": 8082, - } diff --git a/moon_manager/tests/functional_pod/json/mls.json b/moon_manager/tests/functional_pod/json/mls.json deleted file mode 100644 index 01ef6deb..00000000 --- a/moon_manager/tests/functional_pod/json/mls.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "pdps": [{"name" : "pdp_mls", "keystone_project_id" : "", "description": "", "policies": [{"name": "MLS policy example"}]}], - - "policies":[{ "name": "MLS policy example", "genre": "authz", "description": "", "model": {"name": "MLS"} , "mandatory" :false , "override":true}], - - "models":[{"name":"MLS", "description":"","meta_rules": [{"name" : "mls"}], "override":true}], - - - - - - "subjects": [{ "name":"adminuser", "description": "", "extra": {}, "policies": [{ "name": "MLS policy example"}]} , - { "name": "user1", "description": "", "extra": {}, "policies": [{ "name": "MLS policy example"}] }, - { "name": "user2", "description": "", "extra": {}, "policies": [{ "name": "MLS policy example"}] }], - - "subject_categories": [{ "name":"subject-security-level", "description": "" }], - - "subject_data": [{ "name":"low", "description": "", "policies": [{"name" :"MLS policy example"}], "category": {"name": "subject-security-level"}}, - { "name":"medium", "description": "", "policies": [{"name" :"MLS policy example"}], "category": {"name": "subject-security-level"}}, - { "name":"high", "description": "", "policies": [{"name" :"MLS policy example"}], "category": {"name": "subject-security-level"}}], - - "subject_assignments":[{ "subject" : {"name": "adminuser"}, "category" : {"name": "subject-security-level"}, "assignments": [{"name" : "high"}]}, - { "subject" : {"name": "user1"}, "category" : {"name": "subject-security-level"}, "assignments": [{"name" : "medium"}] }], - - - - - - - "objects": [{ "name":"vm0", "description": "", "extra": {}, "policies": [{"name": "MLS policy example"}]} , - {"name": "vm1", "description": "", "extra": {}, "policies": [{"name": "MLS policy example"}]} ], - - "object_categories": [{"name":"object-security-level", "description": ""}], - - "object_data": [{ "name":"low", "description": "", "policies": [{"name" :"MLS policy example"}], "category": {"name": "object-security-level"}}, - { "name":"medium", "description": "", "policies": [{"name" :"MLS policy example"}], "category": {"name": "object-security-level"}}, - { "name":"high", "description": "", "policies": [{"name" :"MLS policy example"}], "category": {"name": "object-security-level"}}], - - "object_assignments":[{ "object" : {"name": "vm0"}, "category" : {"name": "object-security-level"}, "assignments": [{"name" : "medium"}]}, - { "object" : {"name": "vm1"}, "category" : {"name": "object-security-level"}, "assignments": [{"name" : "low"}]}], - - - - - - - "actions": [{ "name": "start", "description": "", "extra": {}, "policies": [{"name": "MLS policy example"}]} , - { "name": "stop", "description": "", "extra": {}, "policies": [{"name": "MLS policy example"}]}], - - "action_categories": [{"name":"action-type", "description": ""}], - - "action_data": [{"name":"vm-action", "description": "", "policies": [{"name": "MLS policy example"}], "category": {"name": "action-type"}}, - {"name":"storage-action", "description": "", "policies": [{"name" :"MLS policy example"}], "category": {"name": "action-type"}}], - - "action_assignments":[{ "action" : {"name": "start"}, "category" : {"name": "action-type"}, "assignments": [{"name" : "vm-action"}]}, - { "action" : {"name": "stop"}, "category" : {"name": "action-type"}, "assignments": [{"name" : "vm-action"}]}], - - - - - - - "meta_rules":[{"name":"mls", "description": "", - "subject_categories": [{"name": "subject-security-level"}], - "object_categories": [{"name": "object-security-level"}], - "action_categories": [{"name": "action-type"}] - }], - - "rules": [{ - "meta_rule": {"name" : "mls"}, - "rule": {"subject_data" : [{"name":"high"}], "object_data": [{"name": "medium"}], "action_data": [{"name": "vm-action"}]}, - "policy": {"name" :"MLS policy example"}, - "instructions" : {"decision" : "grant"} - }, { - "meta_rule": {"name" : "mls"}, - "rule": {"subject_data" : [{"name":"high"}], "object_data": [{"name": "low"}], "action_data": [{"name": "vm-action"}]}, - "policy": {"name" :"MLS policy example"}, - "instructions" : {"decision" : "grant"} - }, { - "meta_rule": {"name" : "mls"}, - "rule": {"subject_data" : [{"name":"medium"}], "object_data": [{"name": "low"}], "action_data": [{"name": "vm-action"}]}, - "policy": {"name" :"MLS policy example"}, - "instructions" : {"decision" : "grant"} - }] - - - - -}
\ No newline at end of file diff --git a/moon_manager/tests/functional_pod/json/rbac.json b/moon_manager/tests/functional_pod/json/rbac.json deleted file mode 100644 index a75f291b..00000000 --- a/moon_manager/tests/functional_pod/json/rbac.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "pdps": [{"name" : "pdp_rbac", "keystone_project_id" : "", "description": "", "policies": [{"name": "RBAC policy example"}]}], - - "policies":[{ "name": "RBAC policy example", "genre": "authz", "description": "", "model": {"name": "RBAC"} , "mandatory" :true , "override":true}], - - "models":[{"name":"RBAC", "description":"","meta_rules": [{"name" : "rbac"}], "override":true}], - - - - - - "subjects": [{ "name":"adminuser", "description": "", "extra": {}, "policies": [{ "name": "RBAC policy example"}]} , - { "name": "user1", "description": "", "extra": {}, "policies": [{ "name": "RBAC policy example"}] }, - { "name": "public", "description": "", "extra": {}, "policies": [] }], - - "subject_categories": [{ "name":"role", "description": "" }], - - "subject_data": [{ "name":"admin", "description": "", "policies": [{"name" :"RBAC policy example"}], "category": {"name": "role"}}, - { "name":"employee", "description": "", "policies": [{"name" :"RBAC policy example"}], "category": {"name": "role"}}, - { "name":"*", "description": "", "policies": [{"name" :"RBAC policy example"}], "category": {"name": "role"}}], - - "subject_assignments":[{ "subject" : {"name": "adminuser"}, "category" : {"name": "role"}, "assignments": [{"name" : "admin"}, {"name" : "employee"}, {"name" : "*"}]}, - { "subject" : {"name": "user1"}, "category" : {"name": "role"}, "assignments": [{"name" : "employee"}, {"name" : "*"}] }], - - - - - - - "objects": [{ "name":"vm0", "description": "", "extra": {}, "policies": [{"name": "RBAC policy example"}]} , - {"name": "vm1", "description": "", "extra": {}, "policies": [{"name": "RBAC policy example"}]} ], - - "object_categories": [{"name":"id", "description": ""}], - - "object_data": [{ "name":"vm0", "description": "", "policies": [{"name" :"RBAC policy example"}], "category": {"name": "id"}}, - { "name":"vm1", "description": "", "policies": [{"name" :"RBAC policy example"}], "category": {"name": "id"}}, - { "name":"*", "description": "", "policies": [{"name" :"RBAC policy example"}], "category": {"name": "id"}}], - - "object_assignments":[{ "object" : {"name": "vm0"}, "category" : {"name": "id"}, "assignments": [{"name" : "vm0"}, {"name" : "*"}]}, - { "object" : {"name": "vm1"}, "category" : {"name": "id"}, "assignments": [{"name" : "vm1"}, {"name" : "*"}]}], - - - - - - - "actions": [{ "name": "start", "description": "", "extra": {}, "policies": [{"name": "RBAC policy example"}]} , - { "name": "stop", "description": "", "extra": {}, "policies": [{"name": "RBAC policy example"}]}], - - "action_categories": [{"name":"action-type", "description": ""}], - - "action_data": [{"name":"vm-action", "description": "", "policies": [{"name": "RBAC policy example"}], "category": {"name": "action-type"}}, - {"name":"*", "description": "", "policies": [{"name" :"RBAC policy example"}], "category": {"name": "action-type"}}], - - "action_assignments":[{ "action" : {"name": "start"}, "category" : {"name": "action-type"}, "assignments": [{"name" : "vm-action"}, {"name" : "*"}]}, - { "action" : {"name": "stop"}, "category" : {"name": "action-type"}, "assignments": [{"name" : "vm-action"}, {"name" : "*"}]}], - - - - - - - "meta_rules":[{"name":"rbac", "description": "", - "subject_categories": [{"name": "role"}], - "object_categories": [{"name": "id"}], - "action_categories": [{"name": "action-type"}] - }], - - "rules": [{ - "meta_rule": {"name" : "rbac"}, - "rule": {"subject_data" : [{"name":"admin"}], "object_data": [{"name": "vm0"}], "action_data": [{"name": "vm-action"}]}, - "policy": {"name" :"RBAC policy example"}, - "instructions" : {"decision" : "grant"}, - "enabled": true - }, { - "meta_rule": {"name" : "rbac"}, - "rule": {"subject_data" : [{"name":"employee"}], "object_data": [{"name": "vm1"}], "action_data": [{"name": "vm-action"}]}, - "policy": {"name" :"RBAC policy example"}, - "instructions" : {"decision" : "grant"} - }] - - - - -}
\ No newline at end of file diff --git a/moon_manager/tests/functional_pod/run_functional_tests.sh b/moon_manager/tests/functional_pod/run_functional_tests.sh deleted file mode 100644 index 960e9480..00000000 --- a/moon_manager/tests/functional_pod/run_functional_tests.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -if [ -d /data/dist ]; -then - pip install /data/dist/*.tar.gz --upgrade - pip install /data/dist/*.whl --upgrade -fi - - -cd /data/tests/functional_pod -pytest . diff --git a/moon_manager/tests/functional_pod/test_manager.py b/moon_manager/tests/functional_pod/test_manager.py deleted file mode 100644 index 454d861b..00000000 --- a/moon_manager/tests/functional_pod/test_manager.py +++ /dev/null @@ -1,116 +0,0 @@ -import json -import requests - -def test_import_rbac(context): - files = {'file': open('/data/tests/functional_pod/json/rbac.json', 'r')} - req = requests.post("http://{}:{}/import".format( - context.get("hostname"), - context.get("port")) - , files=files) - print(req) - result = req.json() - print(result) - req.raise_for_status() - -def test_import_mls(context): - files = {'file': open('/data/tests/functional_pod/json/mls.json', 'r')} - req = requests.post("http://{}:{}/import".format( - context.get("hostname"), - context.get("port")) - , files=files) - req.raise_for_status() - - -def test_export_rbac(context): - test_import_rbac(context) - req = requests.get("http://{}:{}/export".format( - context.get("hostname"), - context.get("port")), - data={"filename":"/data/tests/functional_pod/json/rbac_export.json"} - ) - req.raise_for_status() - - -def test_export_mls(context): - test_import_mls(context) - req = requests.get("http://{}:{}/export".format( - context.get("hostname"), - context.get("port")), - data={"filename":"/data/tests/functional_pod/json/mls_export.json"} - ) - req.raise_for_status() - - -def get_json(data): - return json.loads(data.decode("utf-8")) - - -def get_pdp(context): - req = requests.get("http://{}:{}/pdp".format( - context.get("hostname"), - context.get("port")), - timeout=3) - pdp = req.json() - return req, pdp - - -def add_pdp(context, data): - req = requests.post("http://{}:{}/pdp".format( - context.get("hostname"), - context.get("port")), - data=json.dumps(data), - headers={'Content-Type': 'application/json'}, - timeout=3) - pdp = req.json() - return req, pdp - - -def delete_pdp(context, key): - req = requests.delete("http://{}:{}/pdp/{}".format( - context.get("hostname"), - context.get("port"), key), - timeout=3) - return req - - -def delete_pdp_without_id(context): - req = requests.delete("http://{}:{}/pdp/{}".format( - context.get("hostname"), - context.get("port"), ""), - timeout=3) - return req - - -def test_get_pdp(context): - req, pdp = get_pdp(context) - assert req.status_code == 200 - assert isinstance(pdp, dict) - assert "pdps" in pdp - - -def test_add_pdp(context): - data = { - "name": "testuser", - "security_pipeline": ["policy_id_1", "policy_id_2"], - "keystone_project_id": "keystone_project_id", - "description": "description of testuser" - } - req, pdp = add_pdp(context, data) - assert req.status_code == 200 - assert isinstance(pdp, dict) - value = list(pdp["pdps"].values())[0] - assert "pdps" in pdp - assert value['name'] == "testuser" - assert value["description"] == "description of {}".format("testuser") - assert value["keystone_project_id"] == "keystone_project_id" - - -def test_delete_pdp(context): - request, pdp = get_pdp(context) - success_req = None - for key, value in pdp['pdps'].items(): - if value['name'] == "testuser": - success_req = delete_pdp(context, key) - break - assert success_req - assert success_req.status_code == 200 diff --git a/moon_manager/tests/functional_pod/test_models.py b/moon_manager/tests/functional_pod/test_models.py deleted file mode 100644 index 8b4ceef5..00000000 --- a/moon_manager/tests/functional_pod/test_models.py +++ /dev/null @@ -1,79 +0,0 @@ -import json -import requests - - -def get_models(context): - req = requests.get("http://{}:{}/models".format( - context.get("hostname"), - context.get("port")), - timeout=3) - models = req.json() - return req, models - - -def add_models(context, name): - data = { - "name": name, - "description": "description of {}".format(name), - "meta_rules": ["meta_rule_id1", "meta_rule_id2"] - } - req = requests.post("http://{}:{}/models".format( - context.get("hostname"), - context.get("port")), - data=json.dumps(data), - headers={'Content-Type': 'application/json'}, - timeout=3) - models = req.json() - return req, models - - -def delete_models(context, name): - _, models = get_models(context) - request = None - for key, value in models['models'].items(): - if value['name'] == name: - request = requests.delete("http://{}:{}/models/{}".format( - context.get("hostname"), - context.get("port"), - key), - timeout=3) - break - return request - - -def delete_models_without_id(context): - req = requests.delete("http://{}:{}/models/{}".format( - context.get("hostname"), - context.get("port"), - ""), - timeout=3) - return req - - -def test_get_models(context): - req, models = get_models(context) - assert req.status_code == 200 - assert isinstance(models, dict) - assert "models" in models - - -def test_add_models(context): - req, models = add_models(context, "testuser") - assert req.status_code == 200 - assert isinstance(models, dict) - value = list(models["models"].values())[0] - assert "models" in models - assert value['name'] == "testuser" - assert value["description"] == "description of {}".format("testuser") - assert value["meta_rules"][0] == "meta_rule_id1" - - -def test_delete_models(context): - req = delete_models(context, "testuser") - assert req.status_code == 200 - - -def test_delete_models_without_id(context): - req = delete_models_without_id(context) - assert req.status_code == 500 - |