aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/benchmark
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/benchmark')
-rw-r--r--tests/unit/benchmark/contexts/test_model.py21
-rw-r--r--tests/unit/benchmark/scenarios/availability/test_scenario_general.py6
-rw-r--r--tests/unit/benchmark/scenarios/availability/test_util.py32
3 files changed, 56 insertions, 3 deletions
diff --git a/tests/unit/benchmark/contexts/test_model.py b/tests/unit/benchmark/contexts/test_model.py
index 4a10761f7..122f100de 100644
--- a/tests/unit/benchmark/contexts/test_model.py
+++ b/tests/unit/benchmark/contexts/test_model.py
@@ -251,4 +251,25 @@ class ServerTestCase(unittest.TestCase):
ports=['some-server-some-network-port'],
user=self.mock_context.user,
key_name=self.mock_context.keypair_name,
+ user_data='',
+ scheduler_hints='hints')
+
+ @mock.patch('yardstick.benchmark.contexts.heat.HeatTemplate')
+ def test__add_instance_with_user_data(self, mock_template):
+ user_data = "USER_DATA"
+ attrs = {
+ 'image': 'some-image', 'flavor': 'some-flavor',
+ 'user_data': user_data,
+ }
+ test_server = model.Server('foo', self.mock_context, attrs)
+
+ test_server._add_instance(mock_template, 'some-server',
+ [], 'hints')
+
+ mock_template.add_server.assert_called_with(
+ 'some-server', 'some-image', 'some-flavor',
+ ports=[],
+ user=self.mock_context.user,
+ key_name=self.mock_context.keypair_name,
+ user_data=user_data,
scheduler_hints='hints')
diff --git a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py
index 593fc77b3..ea54fbb9b 100644
--- a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py
+++ b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py
@@ -48,7 +48,7 @@ class ScenarioGeneralTestCase(unittest.TestCase):
def test_scenario_general_all_successful(self, mock_director):
ins = ScenarioGeneral(self.scenario_cfg, None)
ins.setup()
- ins.run(None)
+ ins.run({})
ins.teardown()
def test_scenario_general_exception(self, mock_director):
@@ -56,7 +56,7 @@ class ScenarioGeneralTestCase(unittest.TestCase):
mock_obj = mock.Mock()
mock_obj.createActionPlayer.side_effect = KeyError('Wrong')
ins.director = mock_obj
- ins.run(None)
+ ins.run({})
ins.teardown()
def test_scenario_general_case_fail(self, mock_director):
@@ -64,5 +64,5 @@ class ScenarioGeneralTestCase(unittest.TestCase):
mock_obj = mock.Mock()
mock_obj.verify.return_value = False
ins.director = mock_obj
- ins.run(None)
+ ins.run({})
ins.teardown()
diff --git a/tests/unit/benchmark/scenarios/availability/test_util.py b/tests/unit/benchmark/scenarios/availability/test_util.py
new file mode 100644
index 000000000..bb0e6bc79
--- /dev/null
+++ b/tests/unit/benchmark/scenarios/availability/test_util.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2016 Kanglin Yin and others
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Unittest for yardstick.benchmark.scenarios.availability.utils
+
+import mock
+import unittest
+
+from yardstick.benchmark.scenarios.availability import util
+
+@mock.patch('yardstick.benchmark.scenarios.availability.util.subprocess')
+class ExecuteShellTestCase(unittest.TestCase):
+
+ def test__fun_execute_shell_command_successful(self, mock_subprocess):
+ cmd = "env"
+ mock_subprocess.check_output.return_value = (0, 'unittest')
+ exitcode, output = util.execute_shell_command(cmd)
+ self.assertEqual(exitcode, 0)
+
+ def test__fun_execute_shell_command_fail_cmd_exception(self, mock_subprocess):
+ cmd = "env"
+ mock_subprocess.check_output.side_effect = RuntimeError
+ exitcode, output = util.execute_shell_command(cmd)
+ self.assertEqual(exitcode, -1)