From c4610ed9b6e1f77befae039072d8a5ffdb9af08a Mon Sep 17 00:00:00 2001 From: Kristian Hunt Date: Tue, 28 Jul 2015 10:42:41 +0200 Subject: Add unit test for template_format.py Unit test file for template_format.py originates from python-heatclient. Dependency for testscenarios module is removed and testtools module is replaced with python native unittest module. Running of unittest from run_test.sh is NOT enabled. JIRA: - Change-Id: I14e77ce04763b503cc757fe7098d2c704a7ae22c Signed-off-by: Kristian Hunt --- tests/unit/common/__init__.py | 0 tests/unit/common/test_template_format.py | 50 +++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 tests/unit/common/__init__.py create mode 100644 tests/unit/common/test_template_format.py diff --git a/tests/unit/common/__init__.py b/tests/unit/common/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/unit/common/test_template_format.py b/tests/unit/common/test_template_format.py new file mode 100644 index 000000000..0e1a1a57d --- /dev/null +++ b/tests/unit/common/test_template_format.py @@ -0,0 +1,50 @@ +# 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. + +# yardstick: this file is copied from python-heatclient and slightly modified + +import mock +import unittest +import yaml + +from yardstick.common import template_format + + +class TemplateFormatTestCase(unittest.TestCase): + + def test_parse_to_value_exception(self): + + with mock.patch.object(yaml, 'load') as yaml_loader: + yaml_loader.side_effect = yaml.scanner.ScannerError() + self.assertRaises(ValueError, template_format.parse, 'FOOBAR') + yaml_loader.side_effect = yaml.parser.ParserError() + self.assertRaises(ValueError, template_format.parse, 'FOOBAR') + yaml_loader.side_effect = \ + yaml.reader.ReaderError('', '', '', '', '') + self.assertRaises(ValueError, template_format.parse, 'FOOBAR') + + def test_parse_no_version_format(self): + + yaml = '' + self.assertRaises(ValueError, template_format.parse, yaml) + yaml2 = "Parameters: {}\n" \ + "Mappings: {}\n" \ + "Resources: {}\n" \ + "Outputs: {}" + self.assertRaises(ValueError, template_format.parse, yaml2) + + +def main(): + unittest.main() + +if __name__ == '__main__': + main() -- cgit 1.2.3-korg