summaryrefslogtreecommitdiffstats
path: root/tests/unit/common/test_template_format.py
diff options
context:
space:
mode:
authorKristian Hunt <kristian.hunt@gmail.com>2015-07-28 10:42:41 +0200
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>2015-08-20 11:32:13 +0000
commitc4610ed9b6e1f77befae039072d8a5ffdb9af08a (patch)
tree6dc54381fa000c5d838e07892a04604608077ae7 /tests/unit/common/test_template_format.py
parent29062d3057f116f99d21bc0f71cf9f2fb754dd22 (diff)
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 <kristian.hunt@gmail.com>
Diffstat (limited to 'tests/unit/common/test_template_format.py')
-rw-r--r--tests/unit/common/test_template_format.py50
1 files changed, 50 insertions, 0 deletions
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()