summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-01-05 21:15:49 +0000
committerGerrit Code Review <review@openstack.org>2016-01-05 21:15:49 +0000
commit7476dbd8dcae331d63d034eb0d725e3edc1aee06 (patch)
treeb3fc7e2b7c287f87ce1308b2a63ff0e3311512d9
parente22907a12089d6c0027be233caad38fd5ce03434 (diff)
parentbb0f48489874d63206317ad79e9f2f7b48ca9172 (diff)
downloadpython-cinderclient-7476dbd8dcae331d63d034eb0d725e3edc1aee06.tar.gz
Merge "Add to_dict method to Resource class"
-rw-r--r--cinderclient/openstack/common/apiclient/base.py4
-rw-r--r--cinderclient/tests/unit/test_base.py4
2 files changed, 8 insertions, 0 deletions
diff --git a/cinderclient/openstack/common/apiclient/base.py b/cinderclient/openstack/common/apiclient/base.py
index bc4a158..82670aa 100644
--- a/cinderclient/openstack/common/apiclient/base.py
+++ b/cinderclient/openstack/common/apiclient/base.py
@@ -24,6 +24,7 @@ Base utilities to build API operation managers and objects on top of.
# pylint: disable=E1102
import abc
+import copy
import six
from six.moves.urllib import parse
@@ -489,3 +490,6 @@ class Resource(object):
def set_loaded(self, val):
self._loaded = val
+
+ def to_dict(self):
+ return copy.deepcopy(self._info)
diff --git a/cinderclient/tests/unit/test_base.py b/cinderclient/tests/unit/test_base.py
index e4eba0d..105d9b7 100644
--- a/cinderclient/tests/unit/test_base.py
+++ b/cinderclient/tests/unit/test_base.py
@@ -59,3 +59,7 @@ class BaseTest(utils.TestCase):
self.assertRaises(exceptions.NotFound,
cs.volumes.find,
vegetable='carrot')
+
+ def test_to_dict(self):
+ r1 = base.Resource(None, {'id': 1, 'name': 'hi'})
+ self.assertEqual({'id': 1, 'name': 'hi'}, r1.to_dict())