aboutsummaryrefslogtreecommitdiffstats
path: root/moon_manager/tests/unit_python/helpers/policy_helper.py
diff options
context:
space:
mode:
Diffstat (limited to 'moon_manager/tests/unit_python/helpers/policy_helper.py')
-rw-r--r--moon_manager/tests/unit_python/helpers/policy_helper.py84
1 files changed, 84 insertions, 0 deletions
diff --git a/moon_manager/tests/unit_python/helpers/policy_helper.py b/moon_manager/tests/unit_python/helpers/policy_helper.py
new file mode 100644
index 00000000..ffd0d1bb
--- /dev/null
+++ b/moon_manager/tests/unit_python/helpers/policy_helper.py
@@ -0,0 +1,84 @@
+# Software Name: MOON
+
+# Version: 5.4
+
+# SPDX-FileCopyrightText: Copyright (c) 2018-2020 Orange and its contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# This software is distributed under the 'Apache License 2.0',
+# the text of which is available at 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+# or see the "LICENSE" file for more details.
+
+
+from uuid import uuid4
+from helpers import model_helper
+
+def get_policies():
+ from moon_manager.db_driver import PolicyManager
+ return PolicyManager.get_policies("admin")
+
+
+def add_policies(policy_id=None, value=None):
+ from moon_manager.db_driver import PolicyManager
+ if not value:
+ value = {
+ "name": "test_policy"+ uuid4().hex,
+ "model_id": "",
+ "genre": "authz",
+ "description": "test",
+ }
+ return PolicyManager.add_policy(moon_user_id="admin", policy_id=policy_id, value=value)
+
+
+def add_policies_with_model(policy_id=None, value=None):
+ from moon_manager.db_driver import PolicyManager
+ req = model_helper.add_model(model_id="mls_model_id" + uuid4().hex)
+ model_id = list(req.keys())[0]
+ data = {
+ "name": "test_policy"+ uuid4().hex,
+ "description": "test",
+ "model_id": model_id,
+ "genre": "genre"
+ }
+ return PolicyManager.add_policy(moon_user_id="admin", policy_id=policy_id, value=data)
+
+
+def delete_policies(uuid=None, name=None):
+ from moon_manager.db_driver import PolicyManager
+ if not uuid:
+ for policy_id, policy_value in get_policies():
+ if name == policy_value['name']:
+ uuid = policy_id
+ break
+ PolicyManager.delete_policy("admin", uuid)
+
+
+def update_policy(policy_id, value):
+ from moon_manager.db_driver import PolicyManager
+ return PolicyManager.update_policy("admin", policy_id, value)
+
+
+def get_policy_from_meta_rules(meta_rule_id):
+ from moon_manager.db_driver import PolicyManager
+ return PolicyManager.get_policy_from_meta_rules("admin", meta_rule_id)
+
+
+def get_rules(policy_id=None, meta_rule_id=None, rule_id=None):
+ from moon_manager.db_driver import PolicyManager
+ return PolicyManager.get_rules("", policy_id, meta_rule_id, rule_id)
+
+
+def add_rule(policy_id=None, meta_rule_id=None, value=None):
+ from moon_manager.db_driver import PolicyManager
+ if not value:
+ value = {
+ "rule": ("high", "medium", "vm-action"),
+ "instructions": [{"decision": "grant"}],
+ "enabled": "",
+ }
+ return PolicyManager.add_rule("", policy_id, meta_rule_id, value)
+
+
+def delete_rule(policy_id=None, rule_id=None):
+ from moon_manager.db_driver import PolicyManager
+ PolicyManager.delete_rule("", policy_id, rule_id)