diff options
author | Thomas Duval <thomas.duval@orange.com> | 2018-06-19 16:13:31 +0200 |
---|---|---|
committer | Thomas Duval <thomas.duval@orange.com> | 2018-06-19 16:30:55 +0200 |
commit | 2dbe655587ca98b67c1a3e3798c63fd47229adc0 (patch) | |
tree | df374b5378225c9946ec0c97968bfa591fb9f9b6 /python_moondb/tests/unit_python/models/test_meta_rules.py | |
parent | d28f8e68ac176a15dbbd7873f757f5a9f221d118 (diff) |
Update code to 4.5 official version
Change-Id: I5075da0e2a3247ae1564f21b358748f482b75aa4
Diffstat (limited to 'python_moondb/tests/unit_python/models/test_meta_rules.py')
-rw-r--r-- | python_moondb/tests/unit_python/models/test_meta_rules.py | 194 |
1 files changed, 68 insertions, 126 deletions
diff --git a/python_moondb/tests/unit_python/models/test_meta_rules.py b/python_moondb/tests/unit_python/models/test_meta_rules.py index 4e60e11a..102cd724 100644 --- a/python_moondb/tests/unit_python/models/test_meta_rules.py +++ b/python_moondb/tests/unit_python/models/test_meta_rules.py @@ -1,141 +1,113 @@ -# Copyright 2018 Open Platform for NFV Project, Inc. and its contributors +# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors # This software is distributed under the terms and conditions of the 'Apache-2.0' # license which can be found in the file 'LICENSE' in this package distribution # or at 'http://www.apache.org/licenses/LICENSE-2.0'. -from .test_models import * - - -def set_meta_rule(meta_rule_id, value=None): - from python_moondb.core import ModelManager - if not value: - value = { - "name": "MLS_meta_rule", - "description": "test", - "subject_categories": ["user_security_level_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] - } - return ModelManager.set_meta_rule(user_id=None, meta_rule_id=meta_rule_id, value=value) - - -def add_meta_rule(meta_rule_id=None, value=None): - from python_moondb.core import ModelManager - if not value: - value = { - "name": "MLS_meta_rule", - "description": "test", - "subject_categories": ["user_security_level_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] - } - return ModelManager.add_meta_rule(user_id=None, meta_rule_id=meta_rule_id, value=value) - - -def get_meta_rules(meta_rule_id=None): - from python_moondb.core import ModelManager - return ModelManager.get_meta_rules(user_id=None, meta_rule_id=meta_rule_id) - - -def delete_meta_rules(meta_rule_id=None): - from python_moondb.core import ModelManager - ModelManager.delete_meta_rule(user_id=None, meta_rule_id=meta_rule_id) +import pytest +from helpers import meta_rule_helper +import helpers.mock_data as mock_data def test_set_not_exist_meta_rule_error(db): # set not existing meta rule and expect to raise and error with pytest.raises(Exception) as exception_info: - set_meta_rule(meta_rule_id=None) - assert str(exception_info.value) == '400: Sub Meta Rule Unknown' + meta_rule_helper.set_meta_rule(meta_rule_id=None) + assert str(exception_info.value) == '400: Meta Rule Unknown' def test_add_new_meta_rule_success(db): + action_category_id = mock_data.create_action_category("action_category_id1") + subject_category_id = mock_data.create_subject_category("subject_category_id1") + object_category_id = mock_data.create_object_category("object_category_id1") value = { "name": "MLS_meta_rule", "description": "test", - "subject_categories": ["user_security_level_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] - } - metaRules = add_meta_rule() - assert isinstance(metaRules, dict) - assert metaRules - assert len(metaRules) is 1 - meta_rule_id = list(metaRules.keys())[0] - for key in ("name", "description", "subject_categories", "object_categories", "action_categories"): - assert key in metaRules[meta_rule_id] - assert metaRules[meta_rule_id][key] == value[key] - - -def test_add_new_meta_rule_with_same_name_twice(db): - value = { - "name": "MLS_meta_rule", - "description": "test", - "subject_categories": ["user_security_level_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] + "subject_categories": [subject_category_id], + "object_categories": [object_category_id], + "action_categories": [action_category_id] } - meta_rules = add_meta_rule(value=value) + meta_rules = meta_rule_helper.add_meta_rule(value=value) assert isinstance(meta_rules, dict) assert meta_rules - with pytest.raises(Exception) as exc_info: - add_meta_rule(value=value) + assert len(meta_rules) is 1 + meta_rule_id = list(meta_rules.keys())[0] + for key in ("name", "description", "subject_categories", "object_categories", "action_categories"): + assert key in meta_rules[meta_rule_id] + assert meta_rules[meta_rule_id][key] == value[key] -def test_set_meta_rule_succes(db): +def test_set_meta_rule_success(db): # arrange - meta_rules = add_meta_rule() + meta_rules = meta_rule_helper.add_meta_rule() meta_rule_id = list(meta_rules.keys())[0] + action_category_id = mock_data.create_action_category("action_category_id2") + subject_category_id = mock_data.create_subject_category("subject_category_id2") + object_category_id = mock_data.create_object_category("object_category_id2") updated_value = { "name": "MLS_meta_rule", "description": "test", - "subject_categories": ["user_role_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] + "subject_categories": [subject_category_id], + "object_categories": [object_category_id], + "action_categories": [action_category_id] } # action - updated_meta_rule = set_meta_rule(meta_rule_id, updated_value) + updated_meta_rule = meta_rule_helper.set_meta_rule(meta_rule_id, updated_value) # assert updated_meta_rule_id = list(updated_meta_rule.keys())[0] assert updated_meta_rule_id == meta_rule_id - assert updated_meta_rule[updated_meta_rule_id]["subject_categories"] == \ - updated_value["subject_categories"] + assert updated_meta_rule[updated_meta_rule_id]["subject_categories"] == updated_value["subject_categories"] def test_add_existing_meta_rule_error(db): - meta_rules = add_meta_rule() + action_category_id = mock_data.create_action_category("action_category_id3") + subject_category_id = mock_data.create_subject_category("subject_category_id3") + object_category_id = mock_data.create_object_category("object_category_id3") + value = { + "name": "MLS_meta_rule", + "description": "test", + "subject_categories": [subject_category_id], + "object_categories": [object_category_id], + "action_categories": [action_category_id] + } + meta_rules = meta_rule_helper.add_meta_rule(value=value) meta_rule_id = list(meta_rules.keys())[0] with pytest.raises(Exception) as exception_info: - add_meta_rule(meta_rule_id=meta_rule_id) + meta_rule_helper.add_meta_rule(meta_rule_id=meta_rule_id) assert str(exception_info.value) == '400: Sub Meta Rule Existing' def test_get_meta_rule_success(db): # arrange + action_category_id = mock_data.create_action_category("action_type") + subject_category_id = mock_data.create_subject_category("user_security_level") + object_category_id = mock_data.create_object_category("vm_security_level") values = {} value1 = { "name": "MLS_meta_rule", "description": "test", - "subject_categories": ["user_security_level_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] + "subject_categories": [subject_category_id], + "object_categories": [object_category_id], + "action_categories": [action_category_id] } - meta_rules1 = add_meta_rule(value=value1) + meta_rules1 = meta_rule_helper.add_meta_rule(value=value1) meta_rule_id1 = list(meta_rules1.keys())[0] values[meta_rule_id1] = value1 + action_category_id = mock_data.create_action_category("action_type2") + subject_category_id = mock_data.create_subject_category("user_security_level2") + object_category_id = mock_data.create_object_category("vm_security_level2") value2 = { "name": "rbac_meta_rule", "description": "test", - "subject_categories": ["user_role_id_1"], - "object_categories": ["vm_id_1"], - "action_categories": ["action_type_id_1"] + "subject_categories": [subject_category_id], + "object_categories": [object_category_id], + "action_categories": [action_category_id] } - meta_rules2 = add_meta_rule(value=value2) + meta_rules2 = meta_rule_helper.add_meta_rule(value=value2) meta_rule_id2 = list(meta_rules2.keys())[0] values[meta_rule_id2] = value2 # action - meta_rules = get_meta_rules() + meta_rules = meta_rule_helper.get_meta_rules() # assert assert isinstance(meta_rules, dict) assert meta_rules @@ -148,10 +120,10 @@ def test_get_meta_rule_success(db): def test_get_specific_meta_rule_success(db): # arrange - added_meta_rules = add_meta_rule() + added_meta_rules = meta_rule_helper.add_meta_rule() added_meta_rule_id = list(added_meta_rules.keys())[0] # action - meta_rules = get_meta_rules(meta_rule_id=added_meta_rule_id) + meta_rules = meta_rule_helper.get_meta_rules(meta_rule_id=added_meta_rule_id) meta_rule_id = list(meta_rules.keys())[0] # assert assert meta_rule_id == added_meta_rule_id @@ -161,58 +133,28 @@ def test_get_specific_meta_rule_success(db): def test_delete_meta_rules_success(db): + action_category_id = mock_data.create_action_category("action_type") + subject_category_id = mock_data.create_subject_category("user_security_level") + object_category_id = mock_data.create_object_category("vm_security_level") # arrange value1 = { "name": "MLS_meta_rule", "description": "test", - "subject_categories": ["user_security_level_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] + "subject_categories": [subject_category_id], + "object_categories": [object_category_id], + "action_categories": [action_category_id] } - meta_rules1 = add_meta_rule(value=value1) + meta_rules1 = meta_rule_helper.add_meta_rule(value=value1) meta_rule_id1 = list(meta_rules1.keys())[0] - value2 = { - "name": "rbac_meta_rule", - "description": "test", - "subject_categories": ["user_role_id_1"], - "object_categories": ["vm_id_1"], - "action_categories": ["action_type_id_1"] - } - meta_rules2 = add_meta_rule(value=value2) - meta_rule_id2 = list(meta_rules2.keys())[0] - # action - delete_meta_rules(meta_rule_id1) + meta_rule_helper.delete_meta_rules(meta_rule_id1) # assert - meta_rules = get_meta_rules() + meta_rules = meta_rule_helper.get_meta_rules() assert meta_rule_id1 not in meta_rules def test_delete_invalid_meta_rules_error(db): with pytest.raises(Exception) as exception_info: - delete_meta_rules("INVALID_META_RULE_ID") - assert str(exception_info.value) == '400: Sub Meta Rule Unknown' - - -def test_delete_meta_rule_with_assigned_model(db): - value = { - "name": "MLS_meta_rule", - "description": "test", - "subject_categories": ["user_security_level_id_1"], - "object_categories": ["vm_security_level_id_1"], - "action_categories": ["action_type_id_1"] - } - metaRules = add_meta_rule() - assert isinstance(metaRules, dict) - assert metaRules - assert len(metaRules) is 1 - meta_rule_id = list(metaRules.keys())[0] - model_value1 = { - "name": "MLS", - "description": "test", - "meta_rules": meta_rule_id - } - add_model(value=model_value1) - with pytest.raises(DeleteMetaRuleWithModel) as exception_info: - delete_meta_rules(meta_rule_id) + meta_rule_helper.delete_meta_rules("INVALID_META_RULE_ID") + assert str(exception_info.value) == '400: Meta Rule Unknown' |