summaryrefslogtreecommitdiffstats
path: root/qtip/api/controllers/qpi.py
diff options
context:
space:
mode:
authorakhilbatra898 <akhil.batra@research.iiit.ac.in>2017-03-18 14:16:26 +0530
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-03-23 07:30:11 +0000
commit7d69a1eae658fae6c7437e0a8316312cb625acb5 (patch)
treeb84b51d4160459f0ed1b2fd9da403f6ddcd12372 /qtip/api/controllers/qpi.py
parent05ef2c4f46a9dc7a704a290eb15817c80a52c2e6 (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.py21
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