From 73edf3d28e7d17a64ddc9ffea206ec825c488bc6 Mon Sep 17 00:00:00 2001 From: chenjiankun Date: Tue, 22 Nov 2016 00:14:57 +0000 Subject: Create API to get test case result JIRA: YARDSTICK-416 Change-Id: I722566bb0e5bc5288cd6302559e56a3f92ebbeca Signed-off-by: chenjiankun --- tests/unit/api/actions/test_result.py | 29 +++++++++++++++++++++++ tests/unit/api/actions/test_test.py | 8 +++++++ tests/unit/api/test_views.py | 23 ++++++++++++++++++- tests/unit/api/utils/test_common.py | 38 +++++++++++++++++++++++++++++++ tests/unit/api/utils/test_daemonthread.py | 8 +++++++ tests/unit/api/utils/test_influx.py | 22 +++++++++++++++++- 6 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 tests/unit/api/actions/test_result.py (limited to 'tests/unit/api') diff --git a/tests/unit/api/actions/test_result.py b/tests/unit/api/actions/test_result.py new file mode 100644 index 000000000..168631905 --- /dev/null +++ b/tests/unit/api/actions/test_result.py @@ -0,0 +1,29 @@ +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## +import unittest +import json + +from api.actions import result + + +class GetResultTestCase(unittest.TestCase): + + def test_getResult_with_no_taskid_arg(self): + args = {} + output = json.loads(result.getResult(args)) + + self.assertEqual('error', output['status']) + + +def main(): + unittest.main() + + +if __name__ == '__main__': + main() diff --git a/tests/unit/api/actions/test_test.py b/tests/unit/api/actions/test_test.py index 158062ff4..7ebe9fc24 100644 --- a/tests/unit/api/actions/test_test.py +++ b/tests/unit/api/actions/test_test.py @@ -1,3 +1,11 @@ +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## import unittest import json diff --git a/tests/unit/api/test_views.py b/tests/unit/api/test_views.py index 650ed569c..e57ec08a4 100644 --- a/tests/unit/api/test_views.py +++ b/tests/unit/api/test_views.py @@ -1,21 +1,42 @@ +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## import unittest import mock import json from api.views import Test +from api.views import Result class TestTestCase(unittest.TestCase): @mock.patch('api.views.request') def test_post(self, mock_request): - mock_request.json.get.side_effect = ['runTestSuite', {}] + mock_request.json.get.side_effect = ['hello', {}] result = json.loads(Test().post()) self.assertEqual('error', result['status']) +class ResultTestCase(unittest.TestCase): + + @mock.patch('api.views.request') + def test_get(self, mock_request): + mock_request.args.get.return_value = 'hello' + + print Result().get() + result = json.loads(Result().get()) + + self.assertEqual('error', result['status']) + + def main(): unittest.main() diff --git a/tests/unit/api/utils/test_common.py b/tests/unit/api/utils/test_common.py index 5d858a32c..9e050c714 100644 --- a/tests/unit/api/utils/test_common.py +++ b/tests/unit/api/utils/test_common.py @@ -1,4 +1,13 @@ +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## import unittest +import json from api.utils import common @@ -49,6 +58,35 @@ class GetCommandListTestCase(unittest.TestCase): self.assertEqual(result_list, output_list) +class ErrorHandlerTestCase(unittest.TestCase): + + def test_error_handler(self): + message = 'hello world' + output_dict = json.loads(common.error_handler(message)) + + result = { + 'status': 'error', + 'message': message + } + + self.assertEqual(result, output_dict) + + +class ResultHandlerTestCase(unittest.TestCase): + + def test_result_handler(self): + status = 1 + data = ['hello world'] + output_dict = json.loads(common.result_handler(status, data)) + + result = { + 'status': status, + 'result': data + } + + self.assertEqual(result, output_dict) + + def main(): unittest.main() diff --git a/tests/unit/api/utils/test_daemonthread.py b/tests/unit/api/utils/test_daemonthread.py index 918f1f506..f07f0fede 100644 --- a/tests/unit/api/utils/test_daemonthread.py +++ b/tests/unit/api/utils/test_daemonthread.py @@ -1,3 +1,11 @@ +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## import unittest import mock diff --git a/tests/unit/api/utils/test_influx.py b/tests/unit/api/utils/test_influx.py index 5f1e2c36f..0852da2dd 100644 --- a/tests/unit/api/utils/test_influx.py +++ b/tests/unit/api/utils/test_influx.py @@ -1,3 +1,11 @@ +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## import unittest import mock import uuid @@ -13,7 +21,7 @@ class GetDataDbClientTestCase(unittest.TestCase): mock_parser.ConfigParser().get.return_value = 'file' try: influx.get_data_db_client() - except Exception, e: + except Exception as e: self.assertIsInstance(e, RuntimeError) @@ -54,6 +62,18 @@ class WriteDataTasklistTestCase(unittest.TestCase): mock_write_data.assert_called_with('tasklist', field, timestamp, tags) +class QueryTestCase(unittest.TestCase): + + @mock.patch('api.utils.influx.ConfigParser') + def test_query_dispatcher_not_influxdb(self, mock_parser): + mock_parser.ConfigParser().get.return_value = 'file' + try: + sql = 'select * form tasklist' + influx.query(sql) + except Exception as e: + self.assertIsInstance(e, RuntimeError) + + def main(): unittest.main() -- cgit 1.2.3-korg