summaryrefslogtreecommitdiff
path: root/cinderclient/tests/unit
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-07-20 03:32:53 +0000
committerGerrit Code Review <review@openstack.org>2018-07-20 03:32:53 +0000
commit9b1d6247be5b09b2c019fdfbb3091d253e395689 (patch)
treeb5d96c2cd51ed3da078df5f1477cad7b8ee735a5 /cinderclient/tests/unit
parentf69bfcbd7ffbdcd45e36768b760e53bd1c1c32d3 (diff)
parenta554faa6530fa0bb70430572869a6a2555783912 (diff)
downloadpython-cinderclient-9b1d6247be5b09b2c019fdfbb3091d253e395689.tar.gz
Merge "Transfer snapshots with volumes"
Diffstat (limited to 'cinderclient/tests/unit')
-rw-r--r--cinderclient/tests/unit/v3/fakes.py39
-rw-r--r--cinderclient/tests/unit/v3/test_shell.py9
-rw-r--r--cinderclient/tests/unit/v3/test_volume_transfers.py67
3 files changed, 115 insertions, 0 deletions
diff --git a/cinderclient/tests/unit/v3/fakes.py b/cinderclient/tests/unit/v3/fakes.py
index f1ef3fd..b552f5e 100644
--- a/cinderclient/tests/unit/v3/fakes.py
+++ b/cinderclient/tests/unit/v3/fakes.py
@@ -630,6 +630,45 @@ class FakeHTTPClient(fake_v2.FakeHTTPClient):
def get_resource_filters(self, **kw):
return 200, {}, {'resource_filters': []}
+ def get_volume_transfers_detail(self, **kw):
+ base_uri = 'http://localhost:8776'
+ tenant_id = '0fa851f6668144cf9cd8c8419c1646c1'
+ transfer1 = '5678'
+ transfer2 = 'f625ec3e-13dd-4498-a22a-50afd534cc41'
+ return (200, {},
+ {'transfers': [
+ fake_v2._stub_transfer_full(transfer1, base_uri,
+ tenant_id),
+ fake_v2._stub_transfer_full(transfer2, base_uri,
+ tenant_id)]})
+
+ def get_volume_transfers_5678(self, **kw):
+ base_uri = 'http://localhost:8776'
+ tenant_id = '0fa851f6668144cf9cd8c8419c1646c1'
+ transfer1 = '5678'
+ return (200, {},
+ {'transfer':
+ fake_v2._stub_transfer_full(transfer1, base_uri, tenant_id)})
+
+ def delete_volume_transfers_5678(self, **kw):
+ return (202, {}, None)
+
+ def post_volume_transfers(self, **kw):
+ base_uri = 'http://localhost:8776'
+ tenant_id = '0fa851f6668144cf9cd8c8419c1646c1'
+ transfer1 = '5678'
+ return (202, {},
+ {'transfer': fake_v2._stub_transfer(transfer1, base_uri,
+ tenant_id)})
+
+ def post_volume_transfers_5678_accept(self, **kw):
+ base_uri = 'http://localhost:8776'
+ tenant_id = '0fa851f6668144cf9cd8c8419c1646c1'
+ transfer1 = '5678'
+ return (200, {},
+ {'transfer': fake_v2._stub_transfer(transfer1, base_uri,
+ tenant_id)})
+
def fake_request_get():
versions = {'versions': [{'id': 'v1.0',
diff --git a/cinderclient/tests/unit/v3/test_shell.py b/cinderclient/tests/unit/v3/test_shell.py
index cdf1f36..1811397 100644
--- a/cinderclient/tests/unit/v3/test_shell.py
+++ b/cinderclient/tests/unit/v3/test_shell.py
@@ -1342,3 +1342,12 @@ class ShellTest(utils.TestCase):
'service_id': 1}
self.assert_called('POST', '/workers/cleanup', body=expected)
+
+ def test_create_transfer(self):
+ self.run_command('--os-volume-api-version 3.55 transfer-create '
+ '--no-snapshots 1234')
+ expected = {'transfer': {'volume_id': 1234,
+ 'name': None,
+ 'no_snapshots': True
+ }}
+ self.assert_called('POST', '/volume-transfers', body=expected)
diff --git a/cinderclient/tests/unit/v3/test_volume_transfers.py b/cinderclient/tests/unit/v3/test_volume_transfers.py
new file mode 100644
index 0000000..4eab0b2
--- /dev/null
+++ b/cinderclient/tests/unit/v3/test_volume_transfers.py
@@ -0,0 +1,67 @@
+# Copyright 2018 FiberHome Telecommunication Technologies CO.,LTD
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from cinderclient.tests.unit import utils
+from cinderclient.tests.unit.v3 import fakes
+
+
+cs = fakes.FakeClient()
+
+
+class VolumeTransfersTest(utils.TestCase):
+
+ def test_create(self):
+ vol = cs.transfers.create('1234')
+ cs.assert_called('POST', '/volume-transfers',
+ body={'transfer': {'volume_id': '1234', 'name': None,
+ 'no_snapshots': False}})
+ self._assert_request_id(vol)
+
+ def test_create_without_snapshots(self):
+ vol = cs.transfers.create('1234', no_snapshots=True)
+ cs.assert_called('POST', '/volume-transfers',
+ body={'transfer': {'volume_id': '1234', 'name': None,
+ 'no_snapshots': True}})
+ self._assert_request_id(vol)
+
+ def test_get(self):
+ transfer_id = '5678'
+ vol = cs.transfers.get(transfer_id)
+ cs.assert_called('GET', '/volume-transfers/%s' % transfer_id)
+ self._assert_request_id(vol)
+
+ def test_list(self):
+ lst = cs.transfers.list()
+ cs.assert_called('GET', '/volume-transfers/detail')
+ self._assert_request_id(lst)
+
+ def test_delete(self):
+ b = cs.transfers.list()[0]
+ vol = b.delete()
+ cs.assert_called('DELETE', '/volume-transfers/5678')
+ self._assert_request_id(vol)
+ vol = cs.transfers.delete('5678')
+ self._assert_request_id(vol)
+ cs.assert_called('DELETE', '/volume-transfers/5678')
+ vol = cs.transfers.delete(b)
+ cs.assert_called('DELETE', '/volume-transfers/5678')
+ self._assert_request_id(vol)
+
+ def test_accept(self):
+ transfer_id = '5678'
+ auth_key = '12345'
+ vol = cs.transfers.accept(transfer_id, auth_key)
+ cs.assert_called('POST', '/volume-transfers/%s/accept' % transfer_id)
+ self._assert_request_id(vol)