Merge "Add "volumeMounts" parameter in Kubernetes context"
[yardstick.git] / yardstick / tests / unit / benchmark / contexts / test_base.py
index 153c6a5..81267cf 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import unittest
-
 from yardstick.benchmark.contexts import base
+from yardstick.tests.unit import base as ut_base
+
+
+class DummyContextClass(base.Context):
+
+    def _get_network(self, *args):
+        pass
+
+    def _get_server(self, *args):
+        pass
+
+    def deploy(self):
+        pass
+
+    def undeploy(self):
+        pass
 
 
-class FlagsTestCase(unittest.TestCase):
+class FlagsTestCase(ut_base.BaseUnitTestCase):
 
     def setUp(self):
         self.flags = base.Flags()
@@ -25,6 +39,7 @@ class FlagsTestCase(unittest.TestCase):
     def test___init__(self):
         self.assertFalse(self.flags.no_setup)
         self.assertFalse(self.flags.no_teardown)
+        self.assertEqual({'verify': False}, self.flags.os_cloud_config)
 
     def test___init__with_flags(self):
         flags = base.Flags(no_setup=True)
@@ -32,12 +47,43 @@ class FlagsTestCase(unittest.TestCase):
         self.assertFalse(flags.no_teardown)
 
     def test_parse(self):
-        self.flags.parse(no_setup=True, no_teardown="False")
+        self.flags.parse(no_setup=True, no_teardown='False',
+                         os_cloud_config={'verify': True})
 
         self.assertTrue(self.flags.no_setup)
-        self.assertEqual(self.flags.no_teardown, "False")
+        self.assertEqual('False', self.flags.no_teardown)
+        self.assertEqual({'verify': True}, self.flags.os_cloud_config)
 
     def test_parse_forbidden_flags(self):
         self.flags.parse(foo=42)
         with self.assertRaises(AttributeError):
             _ = self.flags.foo
+
+
+class ContextTestCase(ut_base.BaseUnitTestCase):
+
+    @staticmethod
+    def _remove_ctx(ctx_obj):
+        if ctx_obj in base.Context.list:
+            base.Context.list.remove(ctx_obj)
+
+    def test_split_host_name(self):
+        ctx_obj = DummyContextClass()
+        self.addCleanup(self._remove_ctx, ctx_obj)
+        config_name = 'host_name.ctx_name'
+        self.assertEqual(('host_name', 'ctx_name'),
+                         ctx_obj.split_host_name(config_name))
+
+    def test_split_host_name_wrong_separator(self):
+        ctx_obj = DummyContextClass()
+        self.addCleanup(self._remove_ctx, ctx_obj)
+        config_name = 'host_name-ctx_name'
+        self.assertEqual((None, None),
+                         ctx_obj.split_host_name(config_name))
+
+    def test_split_host_name_other_separator(self):
+        ctx_obj = DummyContextClass(host_name_separator='-')
+        self.addCleanup(self._remove_ctx, ctx_obj)
+        config_name = 'host_name-ctx_name'
+        self.assertEqual(('host_name', 'ctx_name'),
+                         ctx_obj.split_host_name(config_name))