summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2018-03-20 09:05:31 +0000
committerchenjiankun <chenjiankun1@huawei.com>2018-03-22 11:50:17 +0000
commit460d405731533c81f14e9391ae693e8da6ced730 (patch)
tree6225a3f6718d731fc6d99025bf550089d8dfcdde
parent744fea0158416a14b08c378db227c50a433d89c4 (diff)
Bugfix: Error when using API(v1) to run test suite
JIRA: YARDSTICK-1098 The reason is missing TasksHandler parameter to run test suite. Change-Id: I9dd45caa87d0e39afbf7485443a6e566317f5cea Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
-rw-r--r--api/resources/v1/testsuites.py3
-rw-r--r--yardstick/tests/unit/apiserver/resources/v1/__init__.py0
-rw-r--r--yardstick/tests/unit/apiserver/resources/v1/test_testsuites.py35
3 files changed, 37 insertions, 1 deletions
diff --git a/api/resources/v1/testsuites.py b/api/resources/v1/testsuites.py
index 5f72c2ea6..3e14670b4 100644
--- a/api/resources/v1/testsuites.py
+++ b/api/resources/v1/testsuites.py
@@ -20,6 +20,7 @@ from yardstick.common.utils import result_handler
from yardstick.benchmark.core import Param
from yardstick.benchmark.core.task import Task
from api.swagger import models
+from api.database.v1.handlers import TasksHandler
LOG = logging.getLogger(__name__)
LOG.setLevel(logging.DEBUG)
@@ -58,7 +59,7 @@ class V1Testsuite(ApiResource):
task_args.update(args.get('opts', {}))
param = Param(task_args)
- task_thread = TaskThread(Task().start, param)
+ task_thread = TaskThread(Task().start, param, TasksHandler())
task_thread.start()
return result_handler(consts.API_SUCCESS, {'task_id': task_id})
diff --git a/yardstick/tests/unit/apiserver/resources/v1/__init__.py b/yardstick/tests/unit/apiserver/resources/v1/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/yardstick/tests/unit/apiserver/resources/v1/__init__.py
diff --git a/yardstick/tests/unit/apiserver/resources/v1/test_testsuites.py b/yardstick/tests/unit/apiserver/resources/v1/test_testsuites.py
new file mode 100644
index 000000000..85c045f44
--- /dev/null
+++ b/yardstick/tests/unit/apiserver/resources/v1/test_testsuites.py
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2018 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 mock
+
+import unittest
+
+from yardstick.tests.unit.apiserver import APITestCase
+from api.utils.thread import TaskThread
+
+
+class TestsuiteTestCase(APITestCase):
+
+ def test_run_test_suite(self):
+ if self.app is None:
+ unittest.skip('host config error')
+ return
+
+ TaskThread.start = mock.MagicMock()
+
+ url = 'yardstick/testsuites/action'
+ data = {
+ 'action': 'run_test_suite',
+ 'args': {
+ 'opts': {},
+ 'testsuite': 'opnfv_smoke'
+ }
+ }
+ resp = self._post(url, data)
+ self.assertEqual(resp.get('status'), 1)