Add API(v2) to get certain test suite info 33/37833/1
authorchenjiankun <chenjiankun1@huawei.com>
Thu, 20 Jul 2017 04:19:29 +0000 (04:19 +0000)
committerchenjiankun <chenjiankun1@huawei.com>
Thu, 20 Jul 2017 04:19:29 +0000 (04:19 +0000)
JIRA: YARDSTICK-748

API: /api/v2/yardstick/testsuites/<suite_name>
METHOD: GET

Change-Id: I0d60ddedff4f76504ebd2e61257bf1b9cad3b923
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
api/resources/v2/testsuites.py
api/urls.py

index 189988e..2e23f5b 100644 (file)
@@ -1,4 +1,5 @@
 import os
+import errno
 import logging
 
 import yaml
@@ -54,3 +55,17 @@ class V2Testsuites(ApiResource):
             yaml.dump(suite_content, f, default_flow_style=False)
 
         return result_handler(consts.API_SUCCESS, {'suite': suite_name})
+
+
+class V2Testsuite(ApiResource):
+
+    def get(self, suite_name):
+        suite_path = os.path.join(consts.TESTSUITE_DIR, '{}.yaml'.format(suite_name))
+        try:
+            with open(suite_path) as f:
+                data = f.read()
+        except IOError as e:
+            if e.errno == errno.ENOENT:
+                return result_handler(consts.API_ERROR, 'suite does not exist')
+
+        return result_handler(consts.API_SUCCESS, {'testsuite': data})
index 5c7e9f7..2211348 100644 (file)
@@ -52,5 +52,5 @@ urlpatterns = [
 
     Url('/api/v2/yardstick/testsuites', 'v2_testsuites'),
     Url('/api/v2/yardstick/testsuites/action', 'v2_testsuites'),
-    Url('/api/v2/yardstick/testsuites/<suite_name>', 'v2_testsuites')
+    Url('/api/v2/yardstick/testsuites/<suite_name>', 'v2_testsuite')
 ]