Merge "add ppm into result of pktgen to make result clear"
[yardstick.git] / api / resources / v2 / testcases.py
index 81b4aa8..316ef26 100644 (file)
@@ -1,7 +1,17 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd.
+#
+# 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 logging
 import errno
 import os
 
+import jinja2schema
+
 from api import ApiResource
 from yardstick.common.utils import result_handler
 from yardstick.common import constants as consts
@@ -17,7 +27,7 @@ class V2Testcases(ApiResource):
     def get(self):
         param = Param({})
         testcase_list = Testcase().list_all(param)
-        return result_handler(consts.API_SUCCESS, testcase_list)
+        return result_handler(consts.API_SUCCESS, {'testcases': testcase_list})
 
     def post(self):
         return self._dispatch_post()
@@ -48,7 +58,10 @@ class V2Testcase(ApiResource):
             if e.errno == errno.ENOENT:
                 return result_handler(consts.API_ERROR, 'case does not exist')
 
-        return result_handler(consts.API_SUCCESS, {'testcase': data})
+        options = {k: {'description': '', 'type': v.__class__.__name__}
+                   for k, v in jinja2schema.infer(data).items()}
+
+        return result_handler(consts.API_SUCCESS, {'testcase': data, 'args': options})
 
     def delete(self, case_name):
         case_path = os.path.join(consts.TESTCASE_DIR, '{}.yaml'.format(case_name))