Merge "KVMFORNFV: Update Grafana config for Packet Forwarding test cases."
[yardstick.git] / tests / unit / common / test_utils.py
index 53b5652..6632262 100644 (file)
@@ -21,6 +21,7 @@ import mock
 from six.moves import configparser
 
 from yardstick.common import utils
+from yardstick.common import constants
 
 
 class IterSubclassesTestCase(unittest.TestCase):
@@ -99,7 +100,7 @@ class GetParaFromYaml(unittest.TestCase):
         get_env.return_value = self._get_file_abspath(file_path)
         args = 'releng.file'
         default = 'hello'
-        self.assertTrue(utils.get_param(args, default), default)
+        self.assertTrue(constants.get_param(args, default), default)
 
     @mock.patch('yardstick.common.utils.os.environ.get')
     def test_get_param_para_exists(self, get_env):
@@ -107,7 +108,7 @@ class GetParaFromYaml(unittest.TestCase):
         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))
+        self.assertEqual(para, constants.get_param(args))
 
     def _get_file_abspath(self, filename):
         curr_path = os.path.dirname(os.path.abspath(__file__))
@@ -154,7 +155,7 @@ class TestMacAddressToHex(unittest.TestCase):
         self.assertEqual(utils.mac_address_to_hex_list("ea:3e:e1:9a:99:e8"),
                          ['0xea', '0x3e', '0xe1', '0x9a', '0x99', '0xe8'])
 
-                         
+
 class TranslateToStrTestCase(unittest.TestCase):
 
     def test_translate_to_str_unicode(self):
@@ -267,7 +268,7 @@ address sizes   : 46 bits physical, 48 bits virtual
 power management:
 
 """
-        socket_map = utils.parse_cpuinfo(cpuinfo)
+        socket_map = utils.SocketTopology.parse_cpuinfo(cpuinfo)
         assert sorted(socket_map.keys()) == [0]
         assert sorted(socket_map[0].keys()) == [2, 3, 4]
 
@@ -355,7 +356,7 @@ address sizes   : 39 bits physical, 48 bits virtual
 power management:
 
 """
-        socket_map = utils.parse_cpuinfo(cpuinfo)
+        socket_map = utils.SocketTopology.parse_cpuinfo(cpuinfo)
         assert sorted(socket_map.keys()) == [0]
         assert sorted(socket_map[0].keys()) == [1, 2, 3]
         assert sorted(socket_map[0][1]) == [5]
@@ -554,7 +555,7 @@ address sizes   : 46 bits physical, 48 bits virtual
 power management:
 
 """
-        socket_map = utils.parse_cpuinfo(cpuinfo)
+        socket_map = utils.SocketTopology.parse_cpuinfo(cpuinfo)
         assert sorted(socket_map.keys()) == [0, 1]
         assert sorted(socket_map[0].keys()) == [0, 1, 2]
         assert sorted(socket_map[1].keys()) == [26, 27, 28]
@@ -757,7 +758,7 @@ address sizes   : 46 bits physical, 48 bits virtual
 power management:
 
 """
-        socket_map = utils.parse_cpuinfo(cpuinfo)
+        socket_map = utils.SocketTopology.parse_cpuinfo(cpuinfo)
         processors = socket_map.processors()
         assert processors == [1, 2, 43, 44, 85, 86, 87]
         cores = socket_map.cores()
@@ -916,6 +917,32 @@ class TestUtils(unittest.TestCase):
         result = utils.parse_ini_file('my_path')
         self.assertDictEqual(result, expected)
 
+    def test_join_non_strings(self):
+        self.assertEqual(utils.join_non_strings(':'), '')
+        self.assertEqual(utils.join_non_strings(':', 'a'), 'a')
+        self.assertEqual(utils.join_non_strings(':', 'a', 2, 'c'), 'a:2:c')
+        self.assertEqual(utils.join_non_strings(':', ['a', 2, 'c']), 'a:2:c')
+        self.assertEqual(utils.join_non_strings(':', 'abc'), 'abc')
+
+    def test_validate_non_string_sequence(self):
+        self.assertEqual(utils.validate_non_string_sequence([1, 2, 3]), [1, 2, 3])
+        self.assertIsNone(utils.validate_non_string_sequence('123'))
+        self.assertIsNone(utils.validate_non_string_sequence(1))
+
+        self.assertEqual(utils.validate_non_string_sequence(1, 2), 2)
+        self.assertEqual(utils.validate_non_string_sequence(1, default=2), 2)
+
+        with self.assertRaises(RuntimeError):
+            utils.validate_non_string_sequence(1, raise_exc=RuntimeError)
+
+    def test_error_class(self):
+        with self.assertRaises(RuntimeError):
+            utils.ErrorClass()
+
+        error_instance = utils.ErrorClass(test='')
+        with self.assertRaises(AttributeError):
+            error_instance.get_name()
+
 
 class TestUtilsIpAddrMethods(unittest.TestCase):