diff options
author | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
---|---|---|
committer | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
commit | 7bb53c64da2dcf88894bfd31503accdd81498f3d (patch) | |
tree | 4310e12366818af27947b5e2c80cb162da93a4b5 /old/python_moonutilities/tests/unit_python/test_validated_input.py | |
parent | cbea4e360e9bfaa9698cf7c61c83c96a1ba89b8c (diff) |
Update to new version 5.4HEADstable/jermamaster
Signed-off-by: Thomas Duval <thomas.duval@orange.com>
Change-Id: Idcd868133d75928a1ffd74d749ce98503e0555ea
Diffstat (limited to 'old/python_moonutilities/tests/unit_python/test_validated_input.py')
-rw-r--r-- | old/python_moonutilities/tests/unit_python/test_validated_input.py | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/old/python_moonutilities/tests/unit_python/test_validated_input.py b/old/python_moonutilities/tests/unit_python/test_validated_input.py new file mode 100644 index 00000000..723bc8ba --- /dev/null +++ b/old/python_moonutilities/tests/unit_python/test_validated_input.py @@ -0,0 +1,154 @@ +# 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'. + + +import pytest + + +def test_valid_string(): + from python_moonutilities.security_functions import validate_data + validate_data("CorrectString") + validate_data("Correct String") + validate_data("Correct String!") + validate_data("Correct String@") + validate_data(None) + validate_data(True) + + +def test_invalid_string(): + from python_moonutilities.security_functions import validate_data + with pytest.raises(Exception) as exception_info: + validate_data("Notcorrect<a>String") + + assert str(exception_info.value) == 'Forbidden characters in string' + + +def test_none_value(): + from python_moonutilities.security_functions import validate_data + with pytest.raises(Exception) as exception_info: + validate_data(object) + + assert 'Value is Not String or Container or Dictionary' in str(exception_info.value) + + +def test_numeric_value(): + from python_moonutilities.security_functions import validate_data + with pytest.raises(Exception) as exception_info: + validate_data(1) + assert 'Value is Not String or Container or Dictionary' in str(exception_info.value) + + with pytest.raises(Exception) as exception_info: + validate_data(1.23) + assert 'Value is Not String or Container or Dictionary' in str(exception_info.value) + + +def test_correct_list_one_element(): + from python_moonutilities.security_functions import validate_data + validate_data(["test_1", "test_2", "test_3"]) + + +def test_correct_list_multiple_element(): + from python_moonutilities.security_functions import validate_data + validate_data(["test"]) + + +def test_correct_nested_list(): + from python_moonutilities.security_functions import validate_data + validate_data([["test_1", "test_2"], [["test_3"], ["test_4"]], ["test_5", "test_6"], ["test_7"]]) + + +def test_incorrect_string_inside_list(): + from python_moonutilities.security_functions import validate_data + with pytest.raises(Exception) as exception_info: + validate_data(["test_1", ["test_2", "forbidden<a>character"]]) + + assert str(exception_info.value) == 'Forbidden characters in string' + + +def test_correct_tuples(): + from python_moonutilities.security_functions import validate_data + validate_data(("test_1", "test_2")) + + +def test_correct_tuple_of_tuple(): + from python_moonutilities.security_functions import validate_data + validate_data(("test_1", ("test_2", "test_3"), (("test_4", "test_5"), ("test_6", "test_7")))) + + +def test_incorrect_string_within_tuple(): + from python_moonutilities.security_functions import validate_data + with pytest.raises(Exception) as exception_info: + validate_data(("test_1", "forbidden<a>character")) + + assert str(exception_info.value) == 'Forbidden characters in string' + + +def test_correct_dictionary(): + from python_moonutilities.security_functions import validate_data + validate_data({"test_1": "test_2"}) + + +def test_incorrect_string_within_dictionary(): + from python_moonutilities.security_functions import validate_data + with pytest.raises(Exception) as exception_info: + validate_data({"test_1": "forbidden<a>character"}) + + assert str(exception_info.value) == 'Forbidden characters in string' + + +def test_correct_function_pass(): + from python_moonutilities.security_functions import validate_input + + @validate_input() + def temp_function(string, list, tuple): + if string != "teststring": + raise ValueError("values which passed incorrect") + + temp_function("teststring", ["teststring", ["teststring"]], ("teststring", ("teststring", ))) + + +def test_incorrect_validating_function_with_kwargs(): + from python_moonutilities.security_functions import validate_input + + @validate_input(kwargs_state=[True,True]) + def temp_function(string, list, tuple): + if string != "teststring": + raise ValueError("values which passed incorrect") + + with pytest.raises(Exception) as exception_info: + temp_function("teststring", list=["teststring", ["testst<a>ring"]],tuple=("teststring", ("teststri<a>ng", ))) + + assert str(exception_info.value) == 'Forbidden characters in string' + + +def test_incorrect_validating_function(): + from python_moonutilities.security_functions import validate_input + + @validate_input() + def temp_function(string, list, dictionary): + if string != "teststring": + raise ValueError("values which passed incorrect") + + with pytest.raises(Exception) as exception_info: + temp_function("teststring", ["teststring", ["teststri<a>ng"]], {"teststring": ("teststring", )}) + + assert str(exception_info.value) == 'Forbidden characters in string' + + +def test_incorrect_validating_class_function(): + from python_moonutilities.security_functions import validate_input + + class Testclass: + @validate_input() + def temp_function(self, string, list, dictionary): + if string != "teststring": + raise ValueError("values which passed incorrect") + + e = Testclass() + + with pytest.raises(Exception) as exception_info: + e.temp_function("teststring", ["teststring", ["teststri<a>ng"]], {"teststring": ("teststring", )}) + + assert str(exception_info.value) == 'Forbidden characters in string' |