aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/tests/unit/common/test_template_format.py
diff options
context:
space:
mode:
authorEmma Foley <emma.l.foley@intel.com>2017-11-29 23:34:15 +0000
committerRoss Brattain <ross.b.brattain@intel.com>2018-01-11 15:08:25 -0800
commitd579e62b431a31856a03098dc5323948ccfa4fdb (patch)
tree3e4be0cc3da237e4697b37809b41fcc357836136 /yardstick/tests/unit/common/test_template_format.py
parentb9f759e9c1be95b66a18927456d112866c5a54bf (diff)
Move tests: unit/common
* Fix pylint errors * Add TODOs Some errors are ignored locally, as they were a symptom of other problems. These issues have been flagged with a TODO, and should be fixed later. JIRA: YARDSTICK-837 Change-Id: I2847c380556985fae2c92bb8a7da9c47e91e1338 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Diffstat (limited to 'yardstick/tests/unit/common/test_template_format.py')
-rw-r--r--yardstick/tests/unit/common/test_template_format.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/yardstick/tests/unit/common/test_template_format.py b/yardstick/tests/unit/common/test_template_format.py
new file mode 100644
index 000000000..44aa80333
--- /dev/null
+++ b/yardstick/tests/unit/common/test_template_format.py
@@ -0,0 +1,54 @@
+# 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
+
+from __future__ import absolute_import
+import mock
+import unittest
+import yaml
+
+from yardstick.common import template_format
+
+
+class TemplateFormatTestCase(unittest.TestCase):
+
+ def test_parse_to_value_exception(self):
+
+ # TODO(elfoley): Don't hide the error that occurs in
+ # template_format.parse
+ # TODO(elfoley): Separate these tests; one per error type
+ 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()