X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=api%2Fresources%2Fv2%2Ftestcases.py;h=81b4aa88c933c18d4f4d9ace6b02fca55fbbbd0c;hb=0d77985517a40c54a38a851729bdaa3741a81059;hp=3277b4c43f7a07e9c57937d61561c3a9f3a5f2fe;hpb=c23de3d10294b85d6bb54191027fd3be983ce2f7;p=yardstick.git diff --git a/api/resources/v2/testcases.py b/api/resources/v2/testcases.py index 3277b4c43..81b4aa88c 100644 --- a/api/resources/v2/testcases.py +++ b/api/resources/v2/testcases.py @@ -1,4 +1,5 @@ import logging +import errno import os from api import ApiResource @@ -33,3 +34,29 @@ 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}) + + def delete(self, case_name): + case_path = os.path.join(consts.TESTCASE_DIR, '{}.yaml'.format(case_name)) + + try: + os.remove(case_path) + 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': case_name})