diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2017-01-04 17:41:18 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2017-01-10 10:03:24 +0000 |
commit | 63e75aad3b01de4fc20468d5dd9cdb9b15c5e11e (patch) | |
tree | 9f3600cb443029e0fbcec03c349d1b452dc2f938 /tests/unit/cmd/commands/test_env.py | |
parent | 57011bd0769f54a98b90d489df0f38751ca76c0e (diff) |
Add API to get the status of async task
JIRA: YARDSTICK-526
Currently there are many API run a task using sub thread.
But we don't know the status of this task.
So we need to offer a API to query the status of this task.
Change-Id: I8d2cc558750bf9270aed4a7abb8bf35d17894d83
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'tests/unit/cmd/commands/test_env.py')
-rw-r--r-- | tests/unit/cmd/commands/test_env.py | 45 |
1 files changed, 42 insertions, 3 deletions
diff --git a/tests/unit/cmd/commands/test_env.py b/tests/unit/cmd/commands/test_env.py index af1ab8030..e85c36755 100644 --- a/tests/unit/cmd/commands/test_env.py +++ b/tests/unit/cmd/commands/test_env.py @@ -8,17 +8,56 @@ ############################################################################## import unittest import mock +import uuid from yardstick.cmd.commands.env import EnvCommand class EnvCommandTestCase(unittest.TestCase): - @mock.patch('yardstick.cmd.commands.env.HttpClient') - def test_do_influxdb(self, mock_http_client): + @mock.patch('yardstick.cmd.commands.env.EnvCommand._start_async_task') + @mock.patch('yardstick.cmd.commands.env.EnvCommand._check_status') + def test_do_influxdb(self, check_status_mock, start_async_task_mock): env = EnvCommand() env.do_influxdb({}) - self.assertTrue(mock_http_client().post.called) + self.assertTrue(start_async_task_mock.called) + self.assertTrue(check_status_mock.called) + + @mock.patch('yardstick.cmd.commands.env.EnvCommand._start_async_task') + @mock.patch('yardstick.cmd.commands.env.EnvCommand._check_status') + def test_do_grafana(self, check_status_mock, start_async_task_mock): + env = EnvCommand() + env.do_grafana({}) + self.assertTrue(start_async_task_mock.called) + self.assertTrue(check_status_mock.called) + + @mock.patch('yardstick.cmd.commands.env.EnvCommand._start_async_task') + @mock.patch('yardstick.cmd.commands.env.EnvCommand._check_status') + def test_do_prepare(self, check_status_mock, start_async_task_mock): + env = EnvCommand() + env.do_prepare({}) + self.assertTrue(start_async_task_mock.called) + self.assertTrue(check_status_mock.called) + + @mock.patch('yardstick.cmd.commands.env.HttpClient.post') + def test_start_async_task(self, post_mock): + data = {'action': 'createGrafanaContainer'} + EnvCommand()._start_async_task(data) + self.assertTrue(post_mock.called) + + @mock.patch('yardstick.cmd.commands.env.HttpClient.get') + @mock.patch('yardstick.cmd.commands.env.EnvCommand._print_status') + def test_check_status(self, print_mock, get_mock): + task_id = str(uuid.uuid4()) + get_mock.return_value = {'status': 2, 'result': 'error'} + status = EnvCommand()._check_status(task_id, 'hello world') + self.assertEqual(status, 2) + + def test_print_status(self): + try: + EnvCommand()._print_status('hello', 'word') + except Exception as e: + self.assertIsInstance(e, IndexError) def main(): |