Add API(v2) to get certain test case info 23/37823/1
authorchenjiankun <chenjiankun1@huawei.com>
Thu, 20 Jul 2017 03:46:17 +0000 (03:46 +0000)
committerchenjiankun <chenjiankun1@huawei.com>
Thu, 20 Jul 2017 03:46:17 +0000 (03:46 +0000)
JIRA: YARDSTICK-744

API: /api/v2/yardstick/testcases
METHOD: GET

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

index 3277b4c..a14543c 100644 (file)
@@ -1,4 +1,5 @@
 import logging
+import errno
 import os
 
 from api import ApiResource
@@ -33,3 +34,18 @@ class V2Testcases(ApiResource):
         upload_file.save(case_name)
 
         return result_handler(consts.API_SUCCESS, {'testcase': upload_file.filename})
+
+
+class V2Testcase(ApiResource):
+
+    def get(self, case_name):
+        case_path = os.path.join(consts.TESTCASE_DIR, '{}.yaml'.format(case_name))
+
+        try:
+            with open(case_path) as f:
+                data = f.read()
+        except IOError as e:
+            if e.errno == errno.ENOENT:
+                return result_handler(consts.API_ERROR, 'case does not exist')
+
+        return result_handler(consts.API_SUCCESS, {'testcase': data})