aboutsummaryrefslogtreecommitdiffstats
path: root/moon_manager/tests/unit_python/api/test_assignemnt.py
diff options
context:
space:
mode:
Diffstat (limited to 'moon_manager/tests/unit_python/api/test_assignemnt.py')
-rw-r--r--moon_manager/tests/unit_python/api/test_assignemnt.py161
1 files changed, 102 insertions, 59 deletions
diff --git a/moon_manager/tests/unit_python/api/test_assignemnt.py b/moon_manager/tests/unit_python/api/test_assignemnt.py
index 4e2acddc..22c727af 100644
--- a/moon_manager/tests/unit_python/api/test_assignemnt.py
+++ b/moon_manager/tests/unit_python/api/test_assignemnt.py
@@ -1,5 +1,7 @@
import api.utilities as utilities
import json
+from helpers import data_builder as builder
+from uuid import uuid4
# subject_categories_test
@@ -11,11 +13,19 @@ def get_subject_assignment(client, policy_id):
return req, subject_assignment
-def add_subject_assignment(client, policy_id, category_id):
+def add_subject_assignment(client):
+ subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = builder.create_new_policy(
+ subject_category_name="subject_category1" + uuid4().hex,
+ object_category_name="object_category1" + uuid4().hex,
+ action_category_name="action_category1" + uuid4().hex,
+ meta_rule_name="meta_rule_1" + uuid4().hex)
+ subject_id = builder.create_subject(policy_id)
+ data_id = builder.create_subject_data(policy_id=policy_id, category_id=subject_category_id)
+
data = {
- "id": "id1",
- "category_id": category_id,
- "data_id": "data_id1"
+ "id": subject_id,
+ "category_id": subject_category_id,
+ "data_id": data_id
}
req = client.post("/policies/{}/subject_assignments".format(policy_id), data=json.dumps(data),
headers={'Content-Type': 'application/json'})
@@ -23,36 +33,42 @@ def add_subject_assignment(client, policy_id, category_id):
return req, subject_assignment
+def add_subject_assignment_without_cat_id(client):
+
+ data = {
+ "id": "subject_id",
+ "category_id": "",
+ "data_id": "data_id"
+ }
+ req = client.post("/policies/{}/subject_assignments".format("1111"), data=json.dumps(data),
+ headers={'Content-Type': 'application/json'})
+ subject_assignment = utilities.get_json(req.data)
+ return req, subject_assignment
+
+
def delete_subject_assignment(client, policy_id, sub_id, cat_id,data_id):
req = client.delete("/policies/{}/subject_assignments/{}/{}/{}".format(policy_id, sub_id, cat_id,data_id))
return req
def test_add_subject_assignment():
- policy_id = utilities.get_policy_id()
client = utilities.register_client()
- req, subject_assignment = add_subject_assignment(client, policy_id, "111")
+ req, subject_assignment = add_subject_assignment(client)
assert req.status_code == 200
assert isinstance(subject_assignment, dict)
- value = subject_assignment["subject_assignments"]
assert "subject_assignments" in subject_assignment
- id = list(value.keys())[0]
- assert value[id]['policy_id'] == policy_id
- assert value[id]['category_id'] == "111"
- assert value[id]['subject_id'] == "id1"
def test_add_subject_assignment_without_cat_id():
- policy_id = utilities.get_policy_id()
client = utilities.register_client()
- req, subject_assignment = add_subject_assignment(client, policy_id, "")
- assert req.status_code == 500
- assert json.loads(req.data)["message"] == 'Empty String'
+ req, subject_assignment = add_subject_assignment_without_cat_id(client)
+ assert req.status_code == 400
+ assert json.loads(req.data)["message"] == "Key: 'category_id', [Empty String]"
def test_get_subject_assignment():
- policy_id = utilities.get_policy_id()
client = utilities.register_client()
+ policy_id = builder.get_policy_id_with_subject_assignment()
req, subject_assignment = get_subject_assignment(client, policy_id)
assert req.status_code == 200
assert isinstance(subject_assignment, dict)
@@ -61,7 +77,7 @@ def test_get_subject_assignment():
def test_delete_subject_assignment():
client = utilities.register_client()
- policy_id = utilities.get_policy_id()
+ policy_id = builder.get_policy_id_with_subject_assignment()
req, subject_assignment = get_subject_assignment(client, policy_id)
value = subject_assignment["subject_assignments"]
id = list(value.keys())[0]
@@ -72,7 +88,7 @@ def test_delete_subject_assignment():
def test_delete_subject_assignment_without_policy_id():
client = utilities.register_client()
success_req = delete_subject_assignment(client, "", "id1", "111" ,"data_id1")
- assert success_req.status_code == 500
+ assert success_req.status_code == 404
# ---------------------------------------------------------------------------
@@ -86,13 +102,35 @@ def get_object_assignment(client, policy_id):
return req, object_assignment
-def add_object_assignment(client, policy_id, category_id):
+def add_object_assignment(client):
+ subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = builder.create_new_policy(
+ subject_category_name="subject_category1" + uuid4().hex,
+ object_category_name="object_category1" + uuid4().hex,
+ action_category_name="action_category1" + uuid4().hex,
+ meta_rule_name="meta_rule_1" + uuid4().hex)
+ object_id = builder.create_object(policy_id)
+ data_id = builder.create_object_data(policy_id=policy_id, category_id=object_category_id)
+
+ data = {
+ "id": object_id,
+ "category_id": object_category_id,
+ "data_id": data_id
+ }
+
+ req = client.post("/policies/{}/object_assignments".format(policy_id), data=json.dumps(data),
+ headers={'Content-Type': 'application/json'})
+ object_assignment = utilities.get_json(req.data)
+ return req, object_assignment
+
+
+def add_object_assignment_without_cat_id(client):
+
data = {
- "id": "id1",
- "category_id": category_id,
- "data_id": "data_id1"
+ "id": "object_id",
+ "category_id": "",
+ "data_id": "data_id"
}
- req = client.post("/policies/{}/object_assignments/{}".format(policy_id, category_id), data=json.dumps(data),
+ req = client.post("/policies/{}/object_assignments".format("1111"), data=json.dumps(data),
headers={'Content-Type': 'application/json'})
object_assignment = utilities.get_json(req.data)
return req, object_assignment
@@ -104,7 +142,7 @@ def delete_object_assignment(client, policy_id, obj_id, cat_id, data_id):
def test_get_object_assignment():
- policy_id = utilities.get_policy_id()
+ policy_id = builder.get_policy_id_with_object_assignment()
client = utilities.register_client()
req, object_assignment = get_object_assignment(client, policy_id)
assert req.status_code == 200
@@ -113,30 +151,22 @@ def test_get_object_assignment():
def test_add_object_assignment():
- policy_id = utilities.get_policy_id()
client = utilities.register_client()
- req, object_assignment = add_object_assignment(client, policy_id, "111")
+ req, object_assignment = add_object_assignment(client)
assert req.status_code == 200
- assert isinstance(object_assignment, dict)
- value = object_assignment["object_assignments"]
assert "object_assignments" in object_assignment
- id = list(value.keys())[0]
- assert value[id]['policy_id'] == policy_id
- assert value[id]['category_id'] == "111"
- assert value[id]['object_id'] == "id1"
def test_add_object_assignment_without_cat_id():
- policy_id = utilities.get_policy_id()
client = utilities.register_client()
- req, object_assignment = add_object_assignment(client, policy_id, "")
- assert req.status_code == 500
- assert json.loads(req.data)["message"] == 'Empty String'
+ req, object_assignment = add_object_assignment_without_cat_id(client)
+ assert req.status_code == 400
+ assert json.loads(req.data)["message"] == "Key: 'category_id', [Empty String]"
def test_delete_object_assignment():
client = utilities.register_client()
- policy_id = utilities.get_policy_id()
+ policy_id = builder.get_policy_id_with_object_assignment()
req, object_assignment = get_object_assignment(client, policy_id)
value = object_assignment["object_assignments"]
id = list(value.keys())[0]
@@ -146,8 +176,8 @@ def test_delete_object_assignment():
def test_delete_object_assignment_without_policy_id():
client = utilities.register_client()
- success_req = delete_object_assignment(client, "", "id1", "111" ,"data_id1")
- assert success_req.status_code == 500
+ success_req = delete_object_assignment(client, "", "id1", "111","data_id1")
+ assert success_req.status_code == 404
# ---------------------------------------------------------------------------
@@ -161,13 +191,34 @@ def get_action_assignment(client, policy_id):
return req, action_assignment
-def add_action_assignment(client, policy_id, category_id):
+def add_action_assignment(client):
+ subject_category_id, object_category_id, action_category_id, meta_rule_id, policy_id = builder.create_new_policy(
+ subject_category_name="subject_category1" + uuid4().hex,
+ object_category_name="object_category1" + uuid4().hex,
+ action_category_name="action_category1" + uuid4().hex,
+ meta_rule_name="meta_rule_1" + uuid4().hex)
+ action_id = builder.create_action(policy_id)
+ data_id = builder.create_action_data(policy_id=policy_id, category_id=action_category_id)
+
+ data = {
+ "id": action_id,
+ "category_id": action_category_id,
+ "data_id": data_id
+ }
+ req = client.post("/policies/{}/action_assignments".format(policy_id), data=json.dumps(data),
+ headers={'Content-Type': 'application/json'})
+ action_assignment = utilities.get_json(req.data)
+ return req, action_assignment
+
+
+def add_action_assignment_without_cat_id(client):
+
data = {
- "id": "id1",
- "category_id": category_id,
- "data_id": "data_id1"
+ "id": "action_id",
+ "category_id": "",
+ "data_id": "data_id"
}
- req = client.post("/policies/{}/action_assignments/{}".format(policy_id, category_id), data=json.dumps(data),
+ req = client.post("/policies/{}/action_assignments".format("1111"), data=json.dumps(data),
headers={'Content-Type': 'application/json'})
action_assignment = utilities.get_json(req.data)
return req, action_assignment
@@ -179,7 +230,7 @@ def delete_action_assignment(client, policy_id, action_id, cat_id, data_id):
def test_get_action_assignment():
- policy_id = utilities.get_policy_id()
+ policy_id = builder.get_policy_id_with_action_assignment()
client = utilities.register_client()
req, action_assignment = get_action_assignment(client, policy_id)
assert req.status_code == 200
@@ -188,30 +239,22 @@ def test_get_action_assignment():
def test_add_action_assignment():
- policy_id = utilities.get_policy_id()
client = utilities.register_client()
- req, action_assignment = add_action_assignment(client, policy_id, "111")
+ req, action_assignment = add_action_assignment(client)
assert req.status_code == 200
- assert isinstance(action_assignment, dict)
- value = action_assignment["action_assignments"]
assert "action_assignments" in action_assignment
- id = list(value.keys())[0]
- assert value[id]['policy_id'] == policy_id
- assert value[id]['category_id'] == "111"
- assert value[id]['action_id'] == "id1"
def test_add_action_assignment_without_cat_id():
- policy_id = utilities.get_policy_id()
client = utilities.register_client()
- req, action_assignment = add_action_assignment(client, policy_id, "")
- assert req.status_code == 500
- assert json.loads(req.data)["message"] == 'Empty String'
+ req, action_assignment = add_action_assignment_without_cat_id(client)
+ assert req.status_code == 400
+ assert json.loads(req.data)["message"] == "Key: 'category_id', [Empty String]"
def test_delete_action_assignment():
client = utilities.register_client()
- policy_id = utilities.get_policy_id()
+ policy_id = builder.get_policy_id_with_action_assignment()
req, action_assignment = get_action_assignment(client, policy_id)
value = action_assignment["action_assignments"]
id = list(value.keys())[0]
@@ -222,6 +265,6 @@ def test_delete_action_assignment():
def test_delete_action_assignment_without_policy_id():
client = utilities.register_client()
success_req = delete_action_assignment(client, "", "id1", "111" ,"data_id1")
- assert success_req.status_code == 500
+ assert success_req.status_code == 404
# ---------------------------------------------------------------------------