summaryrefslogtreecommitdiff
path: root/cinderclient/tests/unit
diff options
context:
space:
mode:
Diffstat (limited to 'cinderclient/tests/unit')
-rw-r--r--cinderclient/tests/unit/test_base.py2
-rw-r--r--cinderclient/tests/unit/v2/fakes.py4
-rw-r--r--cinderclient/tests/unit/v2/test_volumes.py9
-rw-r--r--cinderclient/tests/unit/v3/test_shell.py15
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)