aboutsummaryrefslogtreecommitdiffstats
path: root/moon_utilities/tests/unit_python/helpers/import_export_db_helper.py
diff options
context:
space:
mode:
Diffstat (limited to 'moon_utilities/tests/unit_python/helpers/import_export_db_helper.py')
-rw-r--r--moon_utilities/tests/unit_python/helpers/import_export_db_helper.py178
1 files changed, 178 insertions, 0 deletions
diff --git a/moon_utilities/tests/unit_python/helpers/import_export_db_helper.py b/moon_utilities/tests/unit_python/helpers/import_export_db_helper.py
new file mode 100644
index 00000000..ecb9fa26
--- /dev/null
+++ b/moon_utilities/tests/unit_python/helpers/import_export_db_helper.py
@@ -0,0 +1,178 @@
+# 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.
+
+
+import logging
+
+logger = logging.getLogger("moon.manager.test.api." + __name__)
+
+
+def clean_models():
+ from moon_manager import db_driver as driver
+ keys = driver.ModelManager.get_models(moon_user_id="admin")
+ for key in keys:
+ driver.ModelManager.delete_model(moon_user_id="admin", model_id=key)
+
+
+def clean_policies():
+ from moon_manager import db_driver as driver
+ keys = driver.PolicyManager.get_policies(moon_user_id="admin")
+ for key in keys:
+ driver.PolicyManager.delete_policy(moon_user_id="admin", policy_id=key)
+
+
+def clean_subjects():
+ from moon_manager import db_driver as driver
+ for policy in driver.PolicyManager.get_policies(moon_user_id="admin"):
+ subjects = driver.PolicyManager.get_subjects(moon_user_id="admin", policy_id=policy)
+ for key in subjects:
+ driver.PolicyManager.delete_subject(moon_user_id="admin", policy_id=policy,
+ perimeter_id=key)
+
+
+def clean_objects():
+ from moon_manager import db_driver as driver
+ for policy in driver.PolicyManager.get_policies(moon_user_id="admin"):
+ objects = driver.PolicyManager.get_objects(moon_user_id="admin", policy_id=policy)
+ for key in objects:
+ driver.PolicyManager.delete_object(moon_user_id="admin", policy_id=policy,
+ perimeter_id=key)
+
+
+def clean_actions():
+ from moon_manager import db_driver as driver
+ for policy in driver.PolicyManager.get_policies(moon_user_id="admin"):
+ actions = driver.PolicyManager.get_actions(moon_user_id="admin", policy_id=policy)
+ for key in actions:
+ driver.PolicyManager.delete_action(moon_user_id="admin", policy_id=policy,
+ perimeter_id=key)
+
+
+def clean_subject_categories():
+ from moon_manager import db_driver as driver
+ categories = driver.ModelManager.get_subject_categories(moon_user_id="admin")
+
+ for key in categories:
+ driver.ModelManager.delete_subject_category(moon_user_id="admin", category_id=key)
+
+
+def clean_object_categories():
+ from moon_manager import db_driver as driver
+ categories = driver.ModelManager.get_object_categories(moon_user_id="admin")
+
+ for key in categories:
+ driver.ModelManager.delete_object_category(moon_user_id="admin", category_id=key)
+
+
+def clean_action_categories():
+ from moon_manager import db_driver as driver
+ categories = driver.ModelManager.get_action_categories(moon_user_id="admin")
+
+ for key in categories:
+ driver.ModelManager.delete_action_category(moon_user_id="admin", category_id=key)
+
+
+def clean_subject_data():
+ from moon_manager import db_driver as driver
+ policies = driver.PolicyManager.get_policies(moon_user_id="admin")
+ categories = driver.ModelManager.get_subject_categories(moon_user_id="admin")
+ for policy in policies:
+ for category in categories:
+ data_object = driver.PolicyManager.get_subject_data(
+ moon_user_id="admin", policy_id=policy, category_id=category)
+ for data_item in data_object:
+ for data in data_item.get("data", {}):
+ driver.PolicyManager.delete_subject_data(moon_user_id="admin", policy_id=policy,
+ category_id=category, data_id=data)
+
+
+def clean_object_data():
+ from moon_manager import db_driver as driver
+ policies = driver.PolicyManager.get_policies(moon_user_id="admin")
+ categories = driver.ModelManager.get_object_categories(moon_user_id="admin")
+ for policy in policies:
+ for category in categories:
+ data_object = driver.PolicyManager.get_object_data(
+ moon_user_id="admin", policy_id=policy, category_id=category)
+ for data_item in data_object:
+ for data in data_item.get("data", {}):
+ driver.PolicyManager.delete_object_data(moon_user_id="admin", policy_id=policy,
+ category_id=category, data_id=data)
+
+
+def clean_action_data():
+ from moon_manager import db_driver as driver
+ policies = driver.PolicyManager.get_policies(moon_user_id="admin")
+ categories = driver.ModelManager.get_action_categories(moon_user_id="admin")
+ for policy in policies:
+ for category in categories:
+ data_object = driver.PolicyManager.get_action_data(
+ moon_user_id="admin", policy_id=policy, category_id=category)
+ for data_item in data_object:
+ for data in data_item.get("data", {}):
+ driver.PolicyManager.delete_action_data(moon_user_id="admin", policy_id=policy,
+ category_id=category, data_id=data)
+
+
+def clean_meta_rule():
+ from moon_manager import db_driver as driver
+ keys = driver.ModelManager.get_meta_rules(moon_user_id="admin")
+
+ for key in keys:
+ driver.ModelManager.delete_meta_rule(moon_user_id="admin", meta_rule_id=key)
+
+
+def clean_subject_assignments():
+ pass
+
+
+def clean_object_assignments():
+ pass
+
+
+def clean_action_assignments():
+ pass
+
+
+def clean_rules():
+ from moon_manager import db_driver as driver
+
+ policies = driver.PolicyManager.get_policies(moon_user_id="admin")
+
+ for policy in policies:
+ rules = driver.PolicyManager.get_rules(moon_user_id="admin", policy_id=policy)
+
+ for rule in rules:
+ driver.PolicyManager.delete_rule(moon_user_id="admin", policy_id=policy, rule_id=rule)
+
+
+def clean_all():
+ clean_rules()
+
+ clean_subject_assignments()
+ clean_object_assignments()
+ clean_action_assignments()
+
+ clean_subject_data()
+ clean_object_data()
+ clean_action_data()
+
+ clean_actions()
+ clean_objects()
+ clean_subjects()
+
+ clean_policies()
+ clean_models()
+ clean_meta_rule()
+
+ clean_subject_categories()
+ clean_object_categories()
+ clean_action_categories()