diff options
author | wym_libra <yimin.wang@huawei.com> | 2015-12-31 20:02:09 +0800 |
---|---|---|
committer | qi liang <liangqi1@huawei.com> | 2016-01-10 03:23:40 +0000 |
commit | 7f3cc74f9443552631956e2fe61d31bc97106ef5 (patch) | |
tree | c483de22d9abbf14f7ebf932170f666d89e6035a /tests/unit/benchmark/scenarios/availability/test_monitor_command.py | |
parent | 93e5a8fefd2574de339d2f1ae2041b9d233bbc7b (diff) |
The secondi HA test case-shutdown controller
1) add "attacker_baremetal.py" for fault injection
2) modify the monitor to excute on remote node after ssh connection
3) move all shell scripts together
JIRA: YARDSTICK-182
Change-Id: Ibb9dc908224ddb8b99a0140b75c1a046503f6dfb
Signed-off-by: wym_libra <yimin.wang@huawei.com>
(cherry picked from commit 4f4edd840823ff6a0151e3f5220241183e27e560)
Diffstat (limited to 'tests/unit/benchmark/scenarios/availability/test_monitor_command.py')
-rw-r--r-- | tests/unit/benchmark/scenarios/availability/test_monitor_command.py | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/tests/unit/benchmark/scenarios/availability/test_monitor_command.py b/tests/unit/benchmark/scenarios/availability/test_monitor_command.py index 31e309714..c8cda7dc7 100644 --- a/tests/unit/benchmark/scenarios/availability/test_monitor_command.py +++ b/tests/unit/benchmark/scenarios/availability/test_monitor_command.py @@ -17,7 +17,7 @@ import unittest from yardstick.benchmark.scenarios.availability.monitor import monitor_command @mock.patch('yardstick.benchmark.scenarios.availability.monitor.monitor_command.subprocess') -class MonitorOpenstackCmdTestCase(unittest.TestCase): +class ExecuteShellTestCase(unittest.TestCase): def test__fun_execute_shell_command_successful(self, mock_subprocess): cmd = "env" @@ -31,16 +31,28 @@ class MonitorOpenstackCmdTestCase(unittest.TestCase): exitcode, output = monitor_command._execute_shell_command(cmd) self.assertEqual(exitcode, -1) - def test__monitor_command_monitor_func_successful(self, mock_subprocess): - config = { +@mock.patch('yardstick.benchmark.scenarios.availability.monitor.monitor_command.subprocess') +class MonitorOpenstackCmdTestCase(unittest.TestCase): + + def setUp(self): + host = { + "ip": "10.20.0.5", + "user": "root", + "key_filename": "/root/.ssh/id_rsa" + } + self.context = {"node1": host} + self.config = { 'monitor_type': 'openstack-api', 'command_name': 'nova image-list', 'monitor_time': 1, 'sla': {'max_outage_time': 5} } - instance = monitor_command.MonitorOpenstackCmd(config, None) + def test__monitor_command_monitor_func_successful(self, mock_subprocess): + + instance = monitor_command.MonitorOpenstackCmd(self.config, None) + instance.setup() mock_subprocess.check_output.return_value = (0, 'unittest') ret = instance.monitor_func() self.assertEqual(ret, True) @@ -49,16 +61,19 @@ class MonitorOpenstackCmdTestCase(unittest.TestCase): def test__monitor_command_monitor_func_failure(self, mock_subprocess): mock_subprocess.check_output.return_value = (1, 'unittest') - config = { - 'monitor_type': 'openstack-api', - 'command_name': 'nova image-list', - 'monitor_time': 1, - 'sla': {'max_outage_time': 5} - } - instance = monitor_command.MonitorOpenstackCmd(config, None) - + instance = monitor_command.MonitorOpenstackCmd(self.config, None) + instance.setup() mock_subprocess.check_output.side_effect = RuntimeError ret = instance.monitor_func() self.assertEqual(ret, False) instance._result = {"outage_time": 10} instance.verify_SLA() + + @mock.patch('yardstick.benchmark.scenarios.availability.monitor.monitor_command.ssh') + def test__monitor_command_ssh_monitor_successful(self, mock_ssh, mock_subprocess): + + self.config["host"] = "node1" + instance = monitor_command.MonitorOpenstackCmd(self.config, self.context) + instance.setup() + mock_ssh.SSH().execute.return_value = (0, "0", '') + ret = instance.monitor_func() |