summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2016-10-14 14:01:42 -0500
committerDean Troyer <dtroyer@gmail.com>2017-03-27 12:31:42 -0500
commit709eac73fbf0691d8012052773eec73006adf704 (patch)
tree85c1f2d9cf01b320022dee0e7b1997b9d9efeea7 /openstackclient/tests
parentc3fee25a0728ec56453845546dec6f5dd317e81d (diff)
downloadpython-openstackclient-709eac73fbf0691d8012052773eec73006adf704.tar.gz
Fix volume transfers request commands
* Fix volume transfer request accept to actually not crash when trying to call Volume API. * Fix volume transfer request accept syntax to have only one positional argument, which is the ID of the resource in the command * Change the output column order in volume transfer request list to have ID followed by Name then the remaining columns. Closes-bug: 1633582 Change-Id: I5cc005f039d171cc70859f60e7fe649b09ead229
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/functional/volume/v1/test_transfer_request.py12
-rw-r--r--openstackclient/tests/functional/volume/v2/test_transfer_request.py12
-rw-r--r--openstackclient/tests/unit/volume/v1/test_transfer_request.py56
-rw-r--r--openstackclient/tests/unit/volume/v2/test_transfer_request.py56
4 files changed, 108 insertions, 28 deletions
diff --git a/openstackclient/tests/functional/volume/v1/test_transfer_request.py b/openstackclient/tests/functional/volume/v1/test_transfer_request.py
index e03cd717..3fe11913 100644
--- a/openstackclient/tests/functional/volume/v1/test_transfer_request.py
+++ b/openstackclient/tests/functional/volume/v1/test_transfer_request.py
@@ -10,6 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+import json
import uuid
from openstackclient.tests.functional.volume.v1 import common
@@ -67,11 +68,12 @@ class TransferRequestTests(common.BaseVolumeTests):
self.assertNotEqual('', auth_key)
# accept the volume transfer request
- opts = self.get_opts(self.FIELDS)
- raw_output = self.openstack(
- 'volume transfer request accept ' + name +
- ' ' + auth_key + opts)
- self.assertEqual(name + '\n', raw_output)
+ json_output = json.loads(self.openstack(
+ 'volume transfer request accept -f json ' +
+ name + ' ' +
+ '--auth-key ' + auth_key
+ ))
+ self.assertEqual(name, json_output.get('name'))
# the volume transfer will be removed by default after accepted
# so just need to delete the volume here
diff --git a/openstackclient/tests/functional/volume/v2/test_transfer_request.py b/openstackclient/tests/functional/volume/v2/test_transfer_request.py
index 1791f8ac..99d91ac0 100644
--- a/openstackclient/tests/functional/volume/v2/test_transfer_request.py
+++ b/openstackclient/tests/functional/volume/v2/test_transfer_request.py
@@ -10,6 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+import json
import uuid
from openstackclient.tests.functional.volume.v2 import common
@@ -67,11 +68,12 @@ class TransferRequestTests(common.BaseVolumeTests):
self.assertNotEqual('', auth_key)
# accept the volume transfer request
- opts = self.get_opts(self.FIELDS)
- raw_output = self.openstack(
- 'volume transfer request accept ' + name +
- ' ' + auth_key + opts)
- self.assertEqual(name + '\n', raw_output)
+ json_output = json.loads(self.openstack(
+ 'volume transfer request accept -f json ' +
+ name + ' ' +
+ '--auth-key ' + auth_key
+ ))
+ self.assertEqual(name, json_output.get('name'))
# the volume transfer will be removed by default after accepted
# so just need to delete the volume here
diff --git a/openstackclient/tests/unit/volume/v1/test_transfer_request.py b/openstackclient/tests/unit/volume/v1/test_transfer_request.py
index b3788d6e..4c013dc0 100644
--- a/openstackclient/tests/unit/volume/v1/test_transfer_request.py
+++ b/openstackclient/tests/unit/volume/v1/test_transfer_request.py
@@ -64,24 +64,62 @@ class TestTransferAccept(TestTransfer):
def test_transfer_accept(self):
arglist = [
+ '--auth-key', 'key_value',
self.volume_transfer.id,
- 'auth_key',
]
verifylist = [
('transfer_request', self.volume_transfer.id),
- ('auth_key', 'auth_key'),
+ ('auth_key', 'key_value'),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
self.transfer_mock.get.assert_called_once_with(
- self.volume_transfer.id)
+ self.volume_transfer.id,
+ )
self.transfer_mock.accept.assert_called_once_with(
- self.volume_transfer.id, 'auth_key')
+ self.volume_transfer.id,
+ 'key_value',
+ )
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
+ def test_transfer_accept_deprecated(self):
+ arglist = [
+ self.volume_transfer.id,
+ 'key_value',
+ ]
+ verifylist = [
+ ('transfer_request', self.volume_transfer.id),
+ ('old_auth_key', 'key_value'),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.transfer_mock.accept.assert_called_once_with(
+ self.volume_transfer.id,
+ 'key_value',
+ )
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, data)
+
+ def test_transfer_accept_no_option(self):
+ arglist = [
+ self.volume_transfer.id,
+ ]
+ verifylist = [
+ ('transfer_request', self.volume_transfer.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args,
+ )
+
class TestTransferCreate(TestTransfer):
@@ -219,7 +257,7 @@ class TestTransferDelete(TestTransfer):
self.fail('CommandError should be raised.')
except exceptions.CommandError as e:
self.assertEqual('1 of 2 volume transfer requests failed '
- 'to delete.', str(e))
+ 'to delete', str(e))
find_mock.assert_any_call(
self.transfer_mock, self.volume_transfers[0].id)
@@ -256,8 +294,8 @@ class TestTransferList(TestTransfer):
expected_columns = [
'ID',
- 'Volume',
'Name',
+ 'Volume',
]
# confirming if all expected columns are present in the result.
@@ -265,8 +303,8 @@ class TestTransferList(TestTransfer):
datalist = ((
self.volume_transfers.id,
- self.volume_transfers.volume_id,
self.volume_transfers.name,
+ self.volume_transfers.volume_id,
), )
# confirming if all expected values are present in the result.
@@ -295,8 +333,8 @@ class TestTransferList(TestTransfer):
expected_columns = [
'ID',
- 'Volume',
'Name',
+ 'Volume',
]
# confirming if all expected columns are present in the result.
@@ -304,8 +342,8 @@ class TestTransferList(TestTransfer):
datalist = ((
self.volume_transfers.id,
- self.volume_transfers.volume_id,
self.volume_transfers.name,
+ self.volume_transfers.volume_id,
), )
# confirming if all expected values are present in the result.
diff --git a/openstackclient/tests/unit/volume/v2/test_transfer_request.py b/openstackclient/tests/unit/volume/v2/test_transfer_request.py
index 8cd6534b..37eed11e 100644
--- a/openstackclient/tests/unit/volume/v2/test_transfer_request.py
+++ b/openstackclient/tests/unit/volume/v2/test_transfer_request.py
@@ -64,24 +64,62 @@ class TestTransferAccept(TestTransfer):
def test_transfer_accept(self):
arglist = [
+ '--auth-key', 'key_value',
self.volume_transfer.id,
- 'auth_key',
]
verifylist = [
('transfer_request', self.volume_transfer.id),
- ('auth_key', 'auth_key'),
+ ('auth_key', 'key_value'),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
self.transfer_mock.get.assert_called_once_with(
- self.volume_transfer.id)
+ self.volume_transfer.id,
+ )
self.transfer_mock.accept.assert_called_once_with(
- self.volume_transfer.id, 'auth_key')
+ self.volume_transfer.id,
+ 'key_value',
+ )
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
+ def test_transfer_accept_deprecated(self):
+ arglist = [
+ self.volume_transfer.id,
+ 'key_value',
+ ]
+ verifylist = [
+ ('transfer_request', self.volume_transfer.id),
+ ('old_auth_key', 'key_value'),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.transfer_mock.accept.assert_called_once_with(
+ self.volume_transfer.id,
+ 'key_value',
+ )
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, data)
+
+ def test_transfer_accept_no_option(self):
+ arglist = [
+ self.volume_transfer.id,
+ ]
+ verifylist = [
+ ('transfer_request', self.volume_transfer.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args,
+ )
+
class TestTransferCreate(TestTransfer):
@@ -219,7 +257,7 @@ class TestTransferDelete(TestTransfer):
self.fail('CommandError should be raised.')
except exceptions.CommandError as e:
self.assertEqual('1 of 2 volume transfer requests failed '
- 'to delete.', str(e))
+ 'to delete', str(e))
find_mock.assert_any_call(
self.transfer_mock, self.volume_transfers[0].id)
@@ -256,8 +294,8 @@ class TestTransferList(TestTransfer):
expected_columns = [
'ID',
- 'Volume',
'Name',
+ 'Volume',
]
# confirming if all expected columns are present in the result.
@@ -265,8 +303,8 @@ class TestTransferList(TestTransfer):
datalist = ((
self.volume_transfers.id,
- self.volume_transfers.volume_id,
self.volume_transfers.name,
+ self.volume_transfers.volume_id,
), )
# confirming if all expected values are present in the result.
@@ -295,8 +333,8 @@ class TestTransferList(TestTransfer):
expected_columns = [
'ID',
- 'Volume',
'Name',
+ 'Volume',
]
# confirming if all expected columns are present in the result.
@@ -304,8 +342,8 @@ class TestTransferList(TestTransfer):
datalist = ((
self.volume_transfers.id,
- self.volume_transfers.volume_id,
self.volume_transfers.name,
+ self.volume_transfers.volume_id,
), )
# confirming if all expected values are present in the result.