summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-05-24 23:30:56 +0000
committerGerrit Code Review <review@openstack.org>2016-05-24 23:30:56 +0000
commit2402dcfc35990a1af5456ff4f3e4b0b261b1505a (patch)
tree26d2cc83bfb261d1c330aca978907d251f576791 /openstackclient
parent478b77693788d4eb1a87cff69de004a4f8e4a9d0 (diff)
parent0fa2e8df92986bf7cbbba131042c1d3196b54365 (diff)
downloadpython-openstackclient-2402dcfc35990a1af5456ff4f3e4b0b261b1505a.tar.gz
Merge "Refactor TestVolumeShow with FakeVolume"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/tests/fakes.py4
-rw-r--r--openstackclient/tests/volume/v2/fakes.py38
-rw-r--r--openstackclient/tests/volume/v2/test_volume.py21
3 files changed, 54 insertions, 9 deletions
diff --git a/openstackclient/tests/fakes.py b/openstackclient/tests/fakes.py
index 46f983dc..229b4652 100644
--- a/openstackclient/tests/fakes.py
+++ b/openstackclient/tests/fakes.py
@@ -189,6 +189,10 @@ class FakeResource(object):
def keys(self):
return self._info.keys()
+ @property
+ def info(self):
+ return self._info
+
class FakeResponse(requests.Response):
diff --git a/openstackclient/tests/volume/v2/fakes.py b/openstackclient/tests/volume/v2/fakes.py
index eadbe5e8..181552d9 100644
--- a/openstackclient/tests/volume/v2/fakes.py
+++ b/openstackclient/tests/volume/v2/fakes.py
@@ -451,6 +451,44 @@ class FakeVolume(object):
return mock.MagicMock(side_effect=volumes)
+ @staticmethod
+ def get_volume_columns(volume=None):
+ """Get the volume columns from a faked volume object.
+
+ :param volume:
+ A FakeResource objects faking volume
+ :return
+ A tuple which may include the following keys:
+ ('id', 'name', 'description', 'status', 'size', 'volume_type',
+ 'metadata', 'snapshot', 'availability_zone', 'attachments')
+ """
+ if volume is not None:
+ return tuple(k for k in sorted(volume.keys()))
+ return tuple([])
+
+ @staticmethod
+ def get_volume_data(volume=None):
+ """Get the volume data from a faked volume object.
+
+ :param volume:
+ A FakeResource objects faking volume
+ :return
+ A tuple which may include the following values:
+ ('ce26708d', 'fake_volume', 'fake description', 'available',
+ 20, 'fake_lvmdriver-1', "Alpha='a', Beta='b', Gamma='g'",
+ 1, 'nova', [{'device': '/dev/ice', 'server_id': '1233'}])
+ """
+ data_list = []
+ if volume is not None:
+ for x in sorted(volume.keys()):
+ if x == 'tags':
+ # The 'tags' should be format_list
+ data_list.append(
+ common_utils.format_list(volume.info.get(x)))
+ else:
+ data_list.append(volume.info.get(x))
+ return tuple(data_list)
+
class FakeAvailabilityZone(object):
"""Fake one or more volume availability zones (AZs)."""
diff --git a/openstackclient/tests/volume/v2/test_volume.py b/openstackclient/tests/volume/v2/test_volume.py
index 5689d008..85ff6142 100644
--- a/openstackclient/tests/volume/v2/test_volume.py
+++ b/openstackclient/tests/volume/v2/test_volume.py
@@ -772,27 +772,30 @@ class TestVolumeShow(TestVolume):
def setUp(self):
super(TestVolumeShow, self).setUp()
- self.volumes_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(volume_fakes.VOLUME),
- loaded=True)
+ self._volume = volume_fakes.FakeVolume.create_one_volume()
+ self.volumes_mock.get.return_value = self._volume
# Get the command object to test
self.cmd = volume.ShowVolume(self.app, None)
def test_volume_show(self):
arglist = [
- volume_fakes.volume_id
+ self._volume.id
]
verifylist = [
- ("volume", volume_fakes.volume_id)
+ ("volume", self._volume.id)
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
- self.volumes_mock.get.assert_called_with(volume_fakes.volume_id)
+ self.volumes_mock.get.assert_called_with(self._volume.id)
+
+ self.assertEqual(
+ volume_fakes.FakeVolume.get_volume_columns(self._volume),
+ columns)
- self.assertEqual(volume_fakes.VOLUME_columns, columns)
- self.assertEqual(volume_fakes.VOLUME_data, data)
+ self.assertEqual(
+ volume_fakes.FakeVolume.get_volume_data(self._volume),
+ data)
class TestVolumeSet(TestVolume):