Adds Templates class and use it
This removes ugly hack when Plan class was used. Templates retrieval was broken after Roles instantiation inside of Plan was added b/c API did not returned any roles in data when asked for templates. Change-Id: I484dac7c41cb90256aa1dee3eb997a4183635591
This commit is contained in:
@@ -125,7 +125,8 @@ class PlanManagerTest(tutils.TestCase):
|
||||
self.pm._get.return_value.to_dict.return_value = 'fake_templates_dict'
|
||||
|
||||
self.assertEqual(self.pm.templates('fake_plan'), 'fake_templates_dict')
|
||||
self.pm._get.assert_called_with('/v2/plans/fake_plan/templates')
|
||||
self.pm._get.assert_called_with('/v2/plans/fake_plan/templates',
|
||||
obj_class=plans.Templates)
|
||||
|
||||
def test_roles_subresource(self):
|
||||
self.pm._get = mock.Mock(
|
||||
|
||||
@@ -28,6 +28,15 @@ class Plan(common_base.Resource):
|
||||
self.roles = [roles.Role(None, role) for role in self.roles]
|
||||
|
||||
|
||||
class Templates(common_base.Resource):
|
||||
"""Represents sets of templates of a Plan in the Tuskar API.
|
||||
|
||||
:param manager: Manager object
|
||||
:param info: dictionary representing resource attributes
|
||||
:param loaded: prevent lazy-loading if set to True
|
||||
"""
|
||||
|
||||
|
||||
class PlanManager(base.Manager):
|
||||
"""PlanManager interacts with the Tuskar API and provides CRUD
|
||||
operations for the Plan type.
|
||||
@@ -157,7 +166,5 @@ class PlanManager(base.Manager):
|
||||
:rtype: dict
|
||||
"""
|
||||
|
||||
# dirty hack as _get() will instantiate Plan with data
|
||||
# coming from API response body
|
||||
# and to_dict just get what we want
|
||||
return self._get(self._templates_path(plan_uuid)).to_dict()
|
||||
return self._get(self._templates_path(plan_uuid),
|
||||
obj_class=Templates).to_dict()
|
||||
|
||||
Reference in New Issue
Block a user