summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-09-01 16:37:18 +0000
committerGerrit Code Review <review@openstack.org>2017-09-01 16:37:18 +0000
commitbe9e8fb1af857a3e801f946e7f344fe1f3fe75c2 (patch)
treecfcdf1ab62c27c1069032578da36d2aa1be1662a
parent15d3a9e21644b4707d6d865be2d6ee5ab620681a (diff)
parentcd8f35afd7c289a62de498a7a56d9ccec707462b (diff)
downloadpython-saharaclient-be9e8fb1af857a3e801f946e7f344fe1f3fe75c2.tar.gz
Merge "Add export of node group templates"
-rw-r--r--saharaclient/api/node_group_templates.py4
-rw-r--r--saharaclient/tests/unit/base.py5
-rw-r--r--saharaclient/tests/unit/test_node_group_templates.py9
3 files changed, 18 insertions, 0 deletions
diff --git a/saharaclient/api/node_group_templates.py b/saharaclient/api/node_group_templates.py
index 90c1b4d..0eaf80b 100644
--- a/saharaclient/api/node_group_templates.py
+++ b/saharaclient/api/node_group_templates.py
@@ -127,3 +127,7 @@ class NodeGroupTemplateManager(base.ResourceManager):
def delete(self, ng_template_id):
"""Delete a Node Group Template."""
self._delete('/node-group-templates/%s' % ng_template_id)
+
+ def export(self, ng_template_id):
+ """Export a Node Group Template."""
+ return self._get('/node-group-templates/%s/export' % ng_template_id)
diff --git a/saharaclient/tests/unit/base.py b/saharaclient/tests/unit/base.py
index c2cd255..6d95f6a 100644
--- a/saharaclient/tests/unit/base.py
+++ b/saharaclient/tests/unit/base.py
@@ -35,6 +35,11 @@ class BaseTestCase(testtools.TestCase):
for key, value in body.items():
self.assertEqual(value, getattr(obj, key))
+ def assertDictsEqual(self, dict1, dict2):
+ self.assertEqual(len(dict1), len(dict2))
+ for key in dict1:
+ self.assertEqual(dict1[key], dict2[key])
+
class TestResource(base.Resource):
resource_name = 'Test Resource'
diff --git a/saharaclient/tests/unit/test_node_group_templates.py b/saharaclient/tests/unit/test_node_group_templates.py
index fd58286..f37416a 100644
--- a/saharaclient/tests/unit/test_node_group_templates.py
+++ b/saharaclient/tests/unit/test_node_group_templates.py
@@ -145,3 +145,12 @@ class NodeGroupTemplateTest(base.BaseTestCase):
self.assertEqual(update_url, self.responses.last_request.url)
self.assertEqual(unset_json,
json.loads(self.responses.last_request.body))
+
+ def test_node_group_template_export(self):
+ url = self.URL + '/node-group-templates/id/export'
+ self.responses.get(url, json={'node_group_template': self.body})
+ resp = self.client.node_group_templates.export('id')
+
+ self.assertEqual(url, self.responses.last_request.url)
+ self.assertIsInstance(resp, ng.NodeGroupTemplate)
+ self.assertDictsEqual(self.body, resp.__dict__[u'node_group_template'])