diff options
author | akhilbatra898 <akhil.batra@research.iiit.ac.in> | 2017-03-18 14:16:26 +0530 |
---|---|---|
committer | Yujun Zhang <zhang.yujunz@zte.com.cn> | 2017-03-23 07:30:11 +0000 |
commit | 7d69a1eae658fae6c7437e0a8316312cb625acb5 (patch) | |
tree | b84b51d4160459f0ed1b2fd9da403f6ddcd12372 /qtip/api/controllers/qpi.py | |
parent | 05ef2c4f46a9dc7a704a290eb15817c80a52c2e6 (diff) |
Add unit tests for List and get in API.
- refactor controllers
- remove abspath and other irrelvant data in response
- move fixtures
- refactor decorators
JIRA: QTIP-226
Change-Id: I5fac5b1bc998da198098992e7ddb47ba49685f31
Signed-off-by: akhilbatra898 <akhil.batra@research.iiit.ac.in>
(cherry picked from commit bef693f40ad87170b7233b9fef62f2fd8abfc8d8)
Diffstat (limited to 'qtip/api/controllers/qpi.py')
-rw-r--r-- | qtip/api/controllers/qpi.py | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/qtip/api/controllers/qpi.py b/qtip/api/controllers/qpi.py index 3c4dd718..af08a824 100644 --- a/qtip/api/controllers/qpi.py +++ b/qtip/api/controllers/qpi.py @@ -9,24 +9,17 @@ import httplib -import connexion - -from qtip.base import error +from qtip.api.controllers import common from qtip.loader import qpi def list_qpis(): - qpi_spec_list = list(qpi.QPISpec.list_all()) - return qpi_spec_list, httplib.OK + qpi_specs = list(qpi.QPISpec.list_all()) + qpis_by_name = [q['name'] for q in qpi_specs] + return {'qpis': qpis_by_name}, httplib.OK +@common.check_endpoint_for_error(resource='QPI') def get_qpi(name): - try: - qpi_spec = qpi.QPISpec(name) - return {'name': qpi_spec.name, - 'abspath': qpi_spec.abspath, - 'content': qpi_spec.content}, httplib.OK - except error.NotFoundError: - return connexion.problem(httplib.NOT_FOUND, - 'QPI Not Found', - 'Requested QPI Spec `' + name + '` not found.') + qpi_spec = qpi.QPISpec(name) + return qpi_spec.content |