diff options
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 | 52 |
1 files changed, 48 insertions, 4 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 585274d9..4e60e11a 100644 --- a/python_moondb/tests/unit_python/models/test_meta_rules.py +++ b/python_moondb/tests/unit_python/models/test_meta_rules.py @@ -1,4 +1,9 @@ -import pytest +# Copyright 2018 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): @@ -36,6 +41,7 @@ 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) + 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: @@ -51,7 +57,7 @@ def test_add_new_meta_rule_success(db): "object_categories": ["vm_security_level_id_1"], "action_categories": ["action_type_id_1"] } - metaRules = add_meta_rule(); + metaRules = add_meta_rule() assert isinstance(metaRules, dict) assert metaRules assert len(metaRules) is 1 @@ -61,6 +67,21 @@ def test_add_new_meta_rule_success(db): 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"] + } + meta_rules = 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) + + def test_set_meta_rule_succes(db): # arrange meta_rules = add_meta_rule() @@ -116,7 +137,7 @@ def test_get_meta_rule_success(db): # action meta_rules = get_meta_rules() # assert - assert isinstance(meta_rules , dict) + assert isinstance(meta_rules, dict) assert meta_rules assert len(meta_rules) is 2 for meta_rule_id in meta_rules: @@ -127,7 +148,7 @@ 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 = 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) @@ -172,3 +193,26 @@ 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) |