Add put Plan in YAML
Change-Id: I7dcefb8bfe43d7ffd63833d78d405f24a097d583 Related-Bug: #1309493
This commit is contained in:
@@ -171,5 +171,6 @@ class PlanManagerTest(base.TestCase):
|
|||||||
fake_http_client = fake_client.FakeHTTPClient(fixtures=fixtures_put)
|
fake_http_client = fake_client.FakeHTTPClient(fixtures=fixtures_put)
|
||||||
api_client = sclient.Client(fake_http_client)
|
api_client = sclient.Client(fake_http_client)
|
||||||
mgr = plan.PlanManager(api_client)
|
mgr = plan.PlanManager(api_client)
|
||||||
plan_obj = mgr.update(plan_id='p1', **plan_fixture)
|
plan_obj = mgr.update('version: 1\nname: ex_plan1\ndescription: dsc1.',
|
||||||
|
plan_id='p1')
|
||||||
self.assert_plan_obj(plan_obj)
|
self.assert_plan_obj(plan_obj)
|
||||||
|
@@ -113,9 +113,19 @@ class PlanManager(solum_base.CrudManager, solum_base.FindMixin):
|
|||||||
else:
|
else:
|
||||||
return super(PlanManager, self).findone(name=name_or_uuid)
|
return super(PlanManager, self).findone(name=name_or_uuid)
|
||||||
|
|
||||||
def update(self, **kwargs):
|
def update(self, plan, **kwargs):
|
||||||
return super(PlanManager,
|
kwargs = self._filter_kwargs(kwargs)
|
||||||
self).update(base_url="/v1", **kwargs)
|
kwargs['data'] = plan
|
||||||
|
kwargs.setdefault("headers", kwargs.get("headers", {}))
|
||||||
|
kwargs['headers']['Content-Type'] = 'x-application/yaml'
|
||||||
|
resp = self.client.put(self.build_url(base_url="/v1", **kwargs),
|
||||||
|
**kwargs)
|
||||||
|
try:
|
||||||
|
resp_plan = yaml.load(resp.content)
|
||||||
|
except yaml.YAMLError:
|
||||||
|
raise exc.BaseException(message='Could not parse response '
|
||||||
|
'from Plan API resource.')
|
||||||
|
return self.resource_class(self, resp_plan)
|
||||||
|
|
||||||
def delete(self, **kwargs):
|
def delete(self, **kwargs):
|
||||||
return super(PlanManager, self).delete(base_url="/v1", **kwargs)
|
return super(PlanManager, self).delete(base_url="/v1", **kwargs)
|
||||||
|
Reference in New Issue
Block a user