summaryrefslogtreecommitdiff
path: root/cinderclient/tests
diff options
context:
space:
mode:
authorSean McGinnis <sean.mcginnis@gmail.com>2018-07-31 13:59:32 -0500
committerSean McGinnis <sean.mcginnis@gmail.com>2018-07-31 16:22:17 -0500
commit460229c6099719dec0d027f798f9c751b8ec7e44 (patch)
treee866dfede929daa7597f892484cb71c30b4326da /cinderclient/tests
parente76c4958ea779a44f2d0351616c94b627aebe0fe (diff)
downloadpython-cinderclient-4.0.1.tar.gz
Allow volume-transfer creation < 3.55 microversion4.0.1
Handling for the new `no_snapshots` option was incorrectly handling microversion evaluation that would prevent anything less than the new microversion from working. This changes the check to only handle the changed argument for 3.55 and later. Change-Id: If96889ccde6044706e6a5dcd83fde3c20fe1c1fd Closes-bug: #1784703 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Diffstat (limited to 'cinderclient/tests')
-rw-r--r--cinderclient/tests/unit/v3/test_shell.py7
-rw-r--r--cinderclient/tests/unit/v3/test_volume_transfers.py24
2 files changed, 21 insertions, 10 deletions
diff --git a/cinderclient/tests/unit/v3/test_shell.py b/cinderclient/tests/unit/v3/test_shell.py
index e06dedc..c9f7760 100644
--- a/cinderclient/tests/unit/v3/test_shell.py
+++ b/cinderclient/tests/unit/v3/test_shell.py
@@ -1334,6 +1334,13 @@ class ShellTest(utils.TestCase):
self.assert_called('POST', '/workers/cleanup', body=expected)
def test_create_transfer(self):
+ self.run_command('transfer-create 1234')
+ expected = {'transfer': {'volume_id': 1234,
+ 'name': None,
+ }}
+ self.assert_called('POST', '/volume-transfers', body=expected)
+
+ def test_create_transfer_no_snaps(self):
self.run_command('--os-volume-api-version 3.55 transfer-create '
'--no-snapshots 1234')
expected = {'transfer': {'volume_id': 1234,
diff --git a/cinderclient/tests/unit/v3/test_volume_transfers.py b/cinderclient/tests/unit/v3/test_volume_transfers.py
index 4eab0b2..7fc79af 100644
--- a/cinderclient/tests/unit/v3/test_volume_transfers.py
+++ b/cinderclient/tests/unit/v3/test_volume_transfers.py
@@ -13,25 +13,29 @@
# License for the specific language governing permissions and limitations
# under the License.
+from cinderclient import api_versions
from cinderclient.tests.unit import utils
from cinderclient.tests.unit.v3 import fakes
+# Create calls need the right version of faked client
+v3cs = fakes.FakeClient(api_versions.APIVersion('3.55'))
+# Other calls fall back to default behavior
cs = fakes.FakeClient()
class VolumeTransfersTest(utils.TestCase):
def test_create(self):
- vol = cs.transfers.create('1234')
- cs.assert_called('POST', '/volume-transfers',
+ vol = v3cs.transfers.create('1234')
+ v3cs.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',
+ vol = v3cs.transfers.create('1234', no_snapshots=True)
+ v3cs.assert_called('POST', '/volume-transfers',
body={'transfer': {'volume_id': '1234', 'name': None,
'no_snapshots': True}})
self._assert_request_id(vol)
@@ -39,29 +43,29 @@ class VolumeTransfersTest(utils.TestCase):
def test_get(self):
transfer_id = '5678'
vol = cs.transfers.get(transfer_id)
- cs.assert_called('GET', '/volume-transfers/%s' % transfer_id)
+ cs.assert_called('GET', '/os-volume-transfer/%s' % transfer_id)
self._assert_request_id(vol)
def test_list(self):
lst = cs.transfers.list()
- cs.assert_called('GET', '/volume-transfers/detail')
+ cs.assert_called('GET', '/os-volume-transfer/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')
+ cs.assert_called('DELETE', '/os-volume-transfer/5678')
self._assert_request_id(vol)
vol = cs.transfers.delete('5678')
self._assert_request_id(vol)
- cs.assert_called('DELETE', '/volume-transfers/5678')
+ cs.assert_called('DELETE', '/os-volume-transfer/5678')
vol = cs.transfers.delete(b)
- cs.assert_called('DELETE', '/volume-transfers/5678')
+ cs.assert_called('DELETE', '/os-volume-transfer/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)
+ cs.assert_called('POST', '/os-volume-transfer/%s/accept' % transfer_id)
self._assert_request_id(vol)