Merge "Bugfix: KeyError when using http dispatcher"
[yardstick.git] / tests / unit / common / test_utils.py
index 002d049..8f52b53 100644 (file)
@@ -9,6 +9,7 @@
 
 # Unittest for yardstick.common.utils
 
+from __future__ import absolute_import
 import os
 import mock
 import unittest
@@ -17,9 +18,10 @@ from yardstick.common import utils
 
 
 class IterSubclassesTestCase(unittest.TestCase):
-# Disclaimer: this class is a modified copy from
-# rally/tests/unit/common/plugin/test_discover.py
-# Copyright 2015: Mirantis Inc.
+    # Disclaimer: this class is a modified copy from
+    # rally/tests/unit/common/plugin/test_discover.py
+    # Copyright 2015: Mirantis Inc.
+
     def test_itersubclasses(self):
         class A(object):
             pass
@@ -83,6 +85,30 @@ class ImportModulesFromPackageTestCase(unittest.TestCase):
         mock_importutils.import_module.assert_called_with('bar.baz')
 
 
+class GetParaFromYaml(unittest.TestCase):
+
+    @mock.patch('yardstick.common.utils.os.environ.get')
+    def test_get_param_para_not_found(self, get_env):
+        file_path = 'config_sample.yaml'
+        get_env.return_value = self._get_file_abspath(file_path)
+        args = 'releng.file'
+        default = 'hello'
+        self.assertTrue(utils.get_param(args, default), default)
+
+    @mock.patch('yardstick.common.utils.os.environ.get')
+    def test_get_param_para_exists(self, get_env):
+        file_path = 'config_sample.yaml'
+        get_env.return_value = self._get_file_abspath(file_path)
+        args = 'releng.dir'
+        para = '/home/opnfv/repos/releng'
+        self.assertEqual(para, utils.get_param(args))
+
+    def _get_file_abspath(self, filename):
+        curr_path = os.path.dirname(os.path.abspath(__file__))
+        file_path = os.path.join(curr_path, filename)
+        return file_path
+
+
 def main():
     unittest.main()