diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-05-24 23:30:56 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-05-24 23:30:56 +0000 |
| commit | 2402dcfc35990a1af5456ff4f3e4b0b261b1505a (patch) | |
| tree | 26d2cc83bfb261d1c330aca978907d251f576791 /openstackclient | |
| parent | 478b77693788d4eb1a87cff69de004a4f8e4a9d0 (diff) | |
| parent | 0fa2e8df92986bf7cbbba131042c1d3196b54365 (diff) | |
| download | python-openstackclient-2402dcfc35990a1af5456ff4f3e4b0b261b1505a.tar.gz | |
Merge "Refactor TestVolumeShow with FakeVolume"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/tests/fakes.py | 4 | ||||
| -rw-r--r-- | openstackclient/tests/volume/v2/fakes.py | 38 | ||||
| -rw-r--r-- | openstackclient/tests/volume/v2/test_volume.py | 21 |
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): |
