diff options
Diffstat (limited to 'cinderclient/tests')
| -rw-r--r-- | cinderclient/tests/unit/test_base.py | 2 | ||||
| -rw-r--r-- | cinderclient/tests/unit/v2/fakes.py | 4 | ||||
| -rw-r--r-- | cinderclient/tests/unit/v2/test_volumes.py | 9 | ||||
| -rw-r--r-- | cinderclient/tests/unit/v3/test_shell.py | 15 |
4 files changed, 27 insertions, 3 deletions
diff --git a/cinderclient/tests/unit/test_base.py b/cinderclient/tests/unit/test_base.py index 613d09b..587925a 100644 --- a/cinderclient/tests/unit/test_base.py +++ b/cinderclient/tests/unit/test_base.py @@ -33,6 +33,8 @@ REQUEST_ID = 'req-test-request-id' def create_response_obj_with_header(): resp = Response() resp.headers['x-openstack-request-id'] = REQUEST_ID + resp.headers['Etag'] = 'd5103bf7b26ff0310200d110da3ed186' + resp.status_code = 200 return resp diff --git a/cinderclient/tests/unit/v2/fakes.py b/cinderclient/tests/unit/v2/fakes.py index a70d63c..3c9d028 100644 --- a/cinderclient/tests/unit/v2/fakes.py +++ b/cinderclient/tests/unit/v2/fakes.py @@ -474,6 +474,10 @@ class FakeHTTPClient(base_client.HTTPClient): r = {'volume': self.get_volumes_detail(id=5678)[2]['volumes'][0]} return (200, {}, r) + def get_volumes_1234_metadata(self, **kw): + r = {"metadata": {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}} + return (200, {}, r) + def get_volumes_1234_encryption(self, **kw): r = {'encryption_key_id': 'id'} return (200, {}, r) diff --git a/cinderclient/tests/unit/v2/test_volumes.py b/cinderclient/tests/unit/v2/test_volumes.py index 0fb54ce..fbc85aa 100644 --- a/cinderclient/tests/unit/v2/test_volumes.py +++ b/cinderclient/tests/unit/v2/test_volumes.py @@ -177,9 +177,12 @@ class VolumesTest(utils.TestCase): self._assert_request_id(vol) def test_delete_metadata(self): - keys = ['key1'] - vol = cs.volumes.delete_metadata(1234, keys) - cs.assert_called('DELETE', '/volumes/1234/metadata/key1') + volume = Volume(self, {'id': '1234', 'metadata': { + 'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}}) + keys = ['k1', 'k3'] + vol = cs.volumes.delete_metadata(volume, keys) + cs.assert_called('PUT', '/volumes/1234/metadata', + {'metadata': {'k2': 'v2'}}) self._assert_request_id(vol) def test_extend(self): diff --git a/cinderclient/tests/unit/v3/test_shell.py b/cinderclient/tests/unit/v3/test_shell.py index a3718fa..e6a1eca 100644 --- a/cinderclient/tests/unit/v3/test_shell.py +++ b/cinderclient/tests/unit/v3/test_shell.py @@ -21,6 +21,7 @@ from requests_mock.contrib import fixture as requests_mock_fixture from cinderclient import client from cinderclient import exceptions from cinderclient import shell +from cinderclient.v3 import volumes from cinderclient.tests.unit import utils from cinderclient.tests.unit.v3 import fakes from cinderclient.tests.unit.fixture_data import keystone_client @@ -376,3 +377,17 @@ class ShellTest(utils.TestCase): '--os-volume-api-version 3.3 message-delete 1234 12345') self.assert_called_anytime('DELETE', '/messages/1234') self.assert_called_anytime('DELETE', '/messages/12345') + + @mock.patch('cinderclient.utils.find_volume') + def test_delete_metadata(self, mock_find_volume): + mock_find_volume.return_value = volumes.Volume(self, + {'id': '1234', + 'metadata': + {'k1': 'v1', + 'k2': 'v2', + 'k3': 'v3'}}, + loaded = True) + expected = {'metadata': {'k2': 'v2'}} + self.run_command('--os-volume-api-version 3.15 ' + 'metadata 1234 unset k1 k3') + self.assert_called('PUT', '/volumes/1234/metadata', body=expected) |
