Merge "Add "volumeMounts" parameter in Kubernetes context"
[yardstick.git] / yardstick / tests / unit / benchmark / contexts / test_base.py
index b198834..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()
@@ -44,3 +58,32 @@ class FlagsTestCase(unittest.TestCase):
         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))