summaryrefslogtreecommitdiffstats
path: root/qtip/api/controllers/plan.py
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-03-28 01:45:00 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-03-28 01:45:00 +0000
commit4fda4a5819fda210ed824c504d4bed1751f8f51a (patch)
tree892ca5677b8a0989a8a87ee0db99d19da11cf001 /qtip/api/controllers/plan.py
parent686c7023613491a99c8e2ada758edb720655a6e6 (diff)
parent7d69a1eae658fae6c7437e0a8316312cb625acb5 (diff)
Merge "Add unit tests for List and get in API." into stable/danube
Diffstat (limited to 'qtip/api/controllers/plan.py')
-rw-r--r--qtip/api/controllers/plan.py25
1 files changed, 9 insertions, 16 deletions
diff --git a/qtip/api/controllers/plan.py b/qtip/api/controllers/plan.py
index 93836a32..00593878 100644
--- a/qtip/api/controllers/plan.py
+++ b/qtip/api/controllers/plan.py
@@ -9,30 +9,23 @@
import httplib
-import connexion
-
+from qtip.api.controllers import common
from qtip.base import error
from qtip.loader import plan
def list_plans():
- plan_list = list(plan.Plan.list_all())
- return plan_list, httplib.OK
+ plans = list(plan.Plan.list_all())
+ plans_by_name = [p['name'] for p in plans]
+ return {'plans': plans_by_name}, httplib.OK
+@common.check_endpoint_for_error(resource='Plan')
def get_plan(name):
- try:
- plan_spec = plan.Plan(name)
- return {'name': plan_spec.name,
- 'abspath': plan_spec.abspath,
- 'content': plan_spec.content}, httplib.OK
- except error.NotFoundError:
- return connexion.problem(httplib.NOT_FOUND,
- 'Plan Not Found',
- 'requested plan `' + name + '` not found.')
+ plan_spec = plan.Plan(name)
+ return plan_spec.content
+@common.check_endpoint_for_error(resource='Plan', operation='Run')
def run_plan(name, action="run"):
- return connexion.problem(httplib.NOT_IMPLEMENTED,
- 'Run a plan',
- 'Plan runner not implemented')
+ raise error.ToBeDoneError('run_plan', 'plan')