diff options
Diffstat (limited to 'tosca2heat/tosca-parser/toscaparser/tests/test_validate_tosca_version.py')
-rw-r--r-- | tosca2heat/tosca-parser/toscaparser/tests/test_validate_tosca_version.py | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/tests/test_validate_tosca_version.py b/tosca2heat/tosca-parser/toscaparser/tests/test_validate_tosca_version.py new file mode 100644 index 0000000..e9a8ac2 --- /dev/null +++ b/tosca2heat/tosca-parser/toscaparser/tests/test_validate_tosca_version.py @@ -0,0 +1,132 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from toscaparser.common.exception import ( + InvalidTOSCAVersionPropertyException) +from toscaparser.tests.base import TestCase +from toscaparser.utils.gettextutils import _ +from toscaparser.utils.validateutils import TOSCAVersionProperty + + +class TOSCAVersionPropertyTest(TestCase): + + def test_tosca_version_property(self): + version = '18.0.3.beta-1' + expected_output = '18.0.3.beta-1' + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = 18 + expected_output = '18.0' + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = 18.0 + expected_output = '18.0' + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = '18.0.3' + expected_output = '18.0.3' + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = 0 + expected_output = None + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = 00 + expected_output = None + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = 0.0 + expected_output = None + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = 00.00 + expected_output = None + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + version = '0.0.0' + expected_output = None + output = TOSCAVersionProperty(version).get_version() + self.assertEqual(output, expected_output) + + def test_tosca_version_property_invalid_major_version(self): + + version = 'x' + exp_msg = _('Value of TOSCA version property "x" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + def test_tosca_version_property_invalid_minor_version(self): + + version = '18.x' + exp_msg = _('Value of TOSCA version property "18.x" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + version = '18.x.y' + exp_msg = _('Value of TOSCA version property "18.x.y" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + version = '18-2' + exp_msg = _('Value of TOSCA version property "18-2" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + def test_tosca_version_property_invalid_fix_version(self): + + version = '18.0.a' + exp_msg = _('Value of TOSCA version property "18.0.a" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + def test_tosca_version_property_invalid_qualifier(self): + + version = '18.0.1-xyz' + exp_msg = _('Value of TOSCA version property "18.0.1-xyz" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + version = '0.0.0.abc' + exp_msg = _('Value of TOSCA version property "0.0.0.abc" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + def test_tosca_version_property_invalid_build_version(self): + + version = '18.0.1.abc-x' + exp_msg = _('Value of TOSCA version property ' + '"18.0.1.abc-x" is invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) + + version = '0.0.0.abc-x' + exp_msg = _('Value of TOSCA version property "0.0.0.abc-x" is ' + 'invalid.') + err = self.assertRaises(InvalidTOSCAVersionPropertyException, + TOSCAVersionProperty, version) + self.assertEqual(exp_msg, err.__str__()) |