summaryrefslogtreecommitdiff
path: root/cinderclient/tests/unit
diff options
context:
space:
mode:
Diffstat (limited to 'cinderclient/tests/unit')
-rw-r--r--cinderclient/tests/unit/v3/fakes.py14
-rw-r--r--cinderclient/tests/unit/v3/test_attachments.py11
-rw-r--r--cinderclient/tests/unit/v3/test_shell.py40
3 files changed, 64 insertions, 1 deletions
diff --git a/cinderclient/tests/unit/v3/fakes.py b/cinderclient/tests/unit/v3/fakes.py
index 7429af2..d39dd4b 100644
--- a/cinderclient/tests/unit/v3/fakes.py
+++ b/cinderclient/tests/unit/v3/fakes.py
@@ -29,6 +29,16 @@ fake_attachment = {'attachment': {
'instance': 'e84fda45-4de4-4ce4-8f39-fc9d3b0aa05e',
'volume_id': '557ad76c-ce54-40a3-9e91-c40d21665cc3', }}
+fake_attachment_without_instance_id = {'attachment': {
+ 'status': 'reserved',
+ 'detached_at': '',
+ 'connection_info': {},
+ 'attached_at': '',
+ 'attach_mode': None,
+ 'id': 'a232e9ae',
+ 'instance': None,
+ 'volume_id': '557ad76c-ce54-40a3-9e91-c40d21665cc3', }}
+
fake_attachment_list = {'attachments': [
{'instance': 'instance_1',
'name': 'attachment-1',
@@ -310,7 +320,9 @@ class FakeHTTPClient(fakes_base.FakeHTTPClient):
#
def post_attachments(self, **kw):
- return (200, {}, fake_attachment)
+ if kw['body']['attachment'].get('instance_uuid'):
+ return (200, {}, fake_attachment)
+ return (200, {}, fake_attachment_without_instance_id)
def get_attachments(self, **kw):
return (200, {}, fake_attachment_list)
diff --git a/cinderclient/tests/unit/v3/test_attachments.py b/cinderclient/tests/unit/v3/test_attachments.py
index 1802334..acf0646 100644
--- a/cinderclient/tests/unit/v3/test_attachments.py
+++ b/cinderclient/tests/unit/v3/test_attachments.py
@@ -31,6 +31,17 @@ class AttachmentsTest(utils.TestCase):
cs.assert_called('POST', '/attachments')
self.assertEqual(fakes.fake_attachment['attachment'], att)
+ def test_create_attachment_without_instance_uuid(self):
+ cs = fakes.FakeClient(api_versions.APIVersion('3.27'))
+ att = cs.attachments.create(
+ 'e84fda45-4de4-4ce4-8f39-fc9d3b0aa05e',
+ {},
+ None,
+ 'null')
+ cs.assert_called('POST', '/attachments')
+ self.assertEqual(
+ fakes.fake_attachment_without_instance_id['attachment'], att)
+
def test_complete_attachment(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.44'))
att = cs.attachments.complete('a232e9ae')
diff --git a/cinderclient/tests/unit/v3/test_shell.py b/cinderclient/tests/unit/v3/test_shell.py
index a5b76fe..e7a1660 100644
--- a/cinderclient/tests/unit/v3/test_shell.py
+++ b/cinderclient/tests/unit/v3/test_shell.py
@@ -388,6 +388,25 @@ class ShellTest(utils.TestCase):
{'cmd': 'abc 1233',
'body': {'instance_uuid': '1233',
'connector': {},
+ 'volume_uuid': '1234'}},
+ {'cmd': '1234',
+ 'body': {'connector': {},
+ 'volume_uuid': '1234'}},
+ {'cmd': '1234 '
+ '--connect True '
+ '--ip 10.23.12.23 --host server01 '
+ '--platform x86_xx '
+ '--ostype 123 '
+ '--multipath true '
+ '--mountpoint /123 '
+ '--initiator aabbccdd',
+ 'body': {'connector': {'ip': '10.23.12.23',
+ 'host': 'server01',
+ 'os_type': '123',
+ 'multipath': 'true',
+ 'mountpoint': '/123',
+ 'initiator': 'aabbccdd',
+ 'platform': 'x86_xx'},
'volume_uuid': '1234'}})
@mock.patch('cinderclient.utils.find_resource')
@ddt.unpack
@@ -429,6 +448,27 @@ class ShellTest(utils.TestCase):
'body': {'instance_uuid': '1233',
'connector': {},
'volume_uuid': '1234',
+ 'mode': 'ro'}},
+ {'cmd': '1234',
+ 'body': {'connector': {},
+ 'volume_uuid': '1234',
+ 'mode': 'ro'}},
+ {'cmd': '1234 '
+ '--connect True '
+ '--ip 10.23.12.23 --host server01 '
+ '--platform x86_xx '
+ '--ostype 123 '
+ '--multipath true '
+ '--mountpoint /123 '
+ '--initiator aabbccdd',
+ 'body': {'connector': {'ip': '10.23.12.23',
+ 'host': 'server01',
+ 'os_type': '123',
+ 'multipath': 'true',
+ 'mountpoint': '/123',
+ 'initiator': 'aabbccdd',
+ 'platform': 'x86_xx'},
+ 'volume_uuid': '1234',
'mode': 'ro'}})
@mock.patch('cinderclient.utils.find_resource')
@ddt.unpack