summaryrefslogtreecommitdiff
path: root/openstackclient/tests/functional/volume/v2
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/tests/functional/volume/v2')
-rw-r--r--openstackclient/tests/functional/volume/v2/test_qos.py116
-rw-r--r--openstackclient/tests/functional/volume/v2/test_service.py44
-rw-r--r--openstackclient/tests/functional/volume/v2/test_transfer_request.py62
-rw-r--r--openstackclient/tests/functional/volume/v2/test_volume.py136
-rw-r--r--openstackclient/tests/functional/volume/v2/test_volume_backup.py29
-rw-r--r--openstackclient/tests/functional/volume/v2/test_volume_snapshot.py118
-rw-r--r--openstackclient/tests/functional/volume/v2/test_volume_type.py120
7 files changed, 347 insertions, 278 deletions
diff --git a/openstackclient/tests/functional/volume/v2/test_qos.py b/openstackclient/tests/functional/volume/v2/test_qos.py
index f9f6e099..0a540573 100644
--- a/openstackclient/tests/functional/volume/v2/test_qos.py
+++ b/openstackclient/tests/functional/volume/v2/test_qos.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import json
import uuid
from openstackclient.tests.functional.volume.v2 import common
@@ -22,29 +21,32 @@ class QosTests(common.BaseVolumeTests):
def test_volume_qos_create_delete_list(self):
"""Test create, list, delete multiple"""
name1 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume qos create -f json ' +
- name1
- ))
+ cmd_output = self.openstack(
+ 'volume qos create ' +
+ name1,
+ parse_output=True,
+ )
self.assertEqual(
name1,
cmd_output['name']
)
name2 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume qos create -f json ' +
- name2
- ))
+ cmd_output = self.openstack(
+ 'volume qos create ' +
+ name2,
+ parse_output=True,
+ )
self.assertEqual(
name2,
cmd_output['name']
)
# Test list
- cmd_output = json.loads(self.openstack(
- 'volume qos list -f json'
- ))
+ cmd_output = self.openstack(
+ 'volume qos list',
+ parse_output=True,
+ )
names = [x["Name"] for x in cmd_output]
self.assertIn(name1, names)
self.assertIn(name2, names)
@@ -57,12 +59,13 @@ class QosTests(common.BaseVolumeTests):
"""Tests create volume qos, set, unset, show, delete"""
name = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume qos create -f json ' +
+ cmd_output = self.openstack(
+ 'volume qos create ' +
'--consumer front-end '
'--property Alpha=a ' +
- name
- ))
+ name,
+ parse_output=True,
+ )
self.addCleanup(self.openstack, 'volume qos delete ' + name)
self.assertEqual(
name,
@@ -88,10 +91,11 @@ class QosTests(common.BaseVolumeTests):
self.assertOutput('', raw_output)
# Test volume qos show
- cmd_output = json.loads(self.openstack(
- 'volume qos show -f json ' +
- name
- ))
+ cmd_output = self.openstack(
+ 'volume qos show ' +
+ name,
+ parse_output=True,
+ )
self.assertEqual(
name,
cmd_output['name']
@@ -109,10 +113,11 @@ class QosTests(common.BaseVolumeTests):
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume qos show -f json ' +
- name
- ))
+ cmd_output = self.openstack(
+ 'volume qos show ' +
+ name,
+ parse_output=True,
+ )
self.assertEqual(
name,
cmd_output['name']
@@ -125,10 +130,11 @@ class QosTests(common.BaseVolumeTests):
def test_volume_qos_asso_disasso(self):
"""Tests associate and disassociate qos with volume type"""
vol_type1 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json ' +
- vol_type1
- ))
+ cmd_output = self.openstack(
+ 'volume type create ' +
+ vol_type1,
+ parse_output=True,
+ )
self.assertEqual(
vol_type1,
cmd_output['name']
@@ -136,10 +142,11 @@ class QosTests(common.BaseVolumeTests):
self.addCleanup(self.openstack, 'volume type delete ' + vol_type1)
vol_type2 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json ' +
- vol_type2
- ))
+ cmd_output = self.openstack(
+ 'volume type create ' +
+ vol_type2,
+ parse_output=True,
+ )
self.assertEqual(
vol_type2,
cmd_output['name']
@@ -147,10 +154,11 @@ class QosTests(common.BaseVolumeTests):
self.addCleanup(self.openstack, 'volume type delete ' + vol_type2)
name = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume qos create -f json ' +
- name
- ))
+ cmd_output = self.openstack(
+ 'volume qos create ' +
+ name,
+ parse_output=True,
+ )
self.assertEqual(
name,
cmd_output['name']
@@ -169,10 +177,11 @@ class QosTests(common.BaseVolumeTests):
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume qos show -f json ' +
- name
- ))
+ cmd_output = self.openstack(
+ 'volume qos show ' +
+ name,
+ parse_output=True,
+ )
types = cmd_output["associations"]
self.assertIn(vol_type1, types)
self.assertIn(vol_type2, types)
@@ -184,10 +193,11 @@ class QosTests(common.BaseVolumeTests):
' ' + name
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume qos show -f json ' +
- name
- ))
+ cmd_output = self.openstack(
+ 'volume qos show ' +
+ name,
+ parse_output=True,
+ )
types = cmd_output["associations"]
self.assertNotIn(vol_type1, types)
self.assertIn(vol_type2, types)
@@ -198,10 +208,11 @@ class QosTests(common.BaseVolumeTests):
name + ' ' + vol_type1
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume qos show -f json ' +
- name
- ))
+ cmd_output = self.openstack(
+ 'volume qos show ' +
+ name,
+ parse_output=True,
+ )
types = cmd_output["associations"]
self.assertIn(vol_type1, types)
self.assertIn(vol_type2, types)
@@ -211,8 +222,9 @@ class QosTests(common.BaseVolumeTests):
'--all ' + name
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume qos show -f json ' +
- name
- ))
+ cmd_output = self.openstack(
+ 'volume qos show ' +
+ name,
+ parse_output=True,
+ )
self.assertNotIn("associations", cmd_output.keys())
diff --git a/openstackclient/tests/functional/volume/v2/test_service.py b/openstackclient/tests/functional/volume/v2/test_service.py
index 7ec43fe8..5794f81f 100644
--- a/openstackclient/tests/functional/volume/v2/test_service.py
+++ b/openstackclient/tests/functional/volume/v2/test_service.py
@@ -10,8 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import json
-
from openstackclient.tests.functional.volume.v2 import common
@@ -19,19 +17,19 @@ class VolumeServiceTests(common.BaseVolumeTests):
"""Functional tests for volume service."""
def test_volume_service_list(self):
- cmd_output = json.loads(self.openstack(
- 'volume service list -f json'))
+ cmd_output = self.openstack('volume service list', parse_output=True)
# Get the nonredundant services and hosts
services = list(set([x['Binary'] for x in cmd_output]))
hosts = list(set([x['Host'] for x in cmd_output]))
# Test volume service list --service
- cmd_output = json.loads(self.openstack(
- 'volume service list -f json ' +
+ cmd_output = self.openstack(
+ 'volume service list ' +
'--service ' +
- services[0]
- ))
+ services[0],
+ parse_output=True,
+ )
for x in cmd_output:
self.assertEqual(
services[0],
@@ -39,11 +37,12 @@ class VolumeServiceTests(common.BaseVolumeTests):
)
# Test volume service list --host
- cmd_output = json.loads(self.openstack(
- 'volume service list -f json ' +
+ cmd_output = self.openstack(
+ 'volume service list ' +
'--host ' +
- hosts[0]
- ))
+ hosts[0],
+ parse_output=True,
+ )
for x in cmd_output:
self.assertIn(
hosts[0],
@@ -53,9 +52,10 @@ class VolumeServiceTests(common.BaseVolumeTests):
def test_volume_service_set(self):
# Get a service and host
- cmd_output = json.loads(self.openstack(
- 'volume service list -f json'
- ))
+ cmd_output = self.openstack(
+ 'volume service list',
+ parse_output=True,
+ )
service_1 = cmd_output[0]['Binary']
host_1 = cmd_output[0]['Host']
@@ -67,9 +67,10 @@ class VolumeServiceTests(common.BaseVolumeTests):
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume service list -f json --long'
- ))
+ cmd_output = self.openstack(
+ 'volume service list --long',
+ parse_output=True,
+ )
self.assertEqual(
'enabled',
cmd_output[0]['Status']
@@ -89,9 +90,10 @@ class VolumeServiceTests(common.BaseVolumeTests):
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume service list -f json --long'
- ))
+ cmd_output = self.openstack(
+ 'volume service list --long',
+ parse_output=True,
+ )
self.assertEqual(
'disabled',
cmd_output[0]['Status']
diff --git a/openstackclient/tests/functional/volume/v2/test_transfer_request.py b/openstackclient/tests/functional/volume/v2/test_transfer_request.py
index 00d0865c..ac71cba2 100644
--- a/openstackclient/tests/functional/volume/v2/test_transfer_request.py
+++ b/openstackclient/tests/functional/volume/v2/test_transfer_request.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import json
import uuid
from openstackclient.tests.functional.volume.v2 import common
@@ -26,11 +25,12 @@ class TransferRequestTests(common.BaseVolumeTests):
xfer_name = uuid.uuid4().hex
# create a volume
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 1 ' +
- volume_name
- ))
+ volume_name,
+ parse_output=True,
+ )
self.assertEqual(volume_name, cmd_output['name'])
self.addCleanup(
self.openstack,
@@ -42,12 +42,13 @@ class TransferRequestTests(common.BaseVolumeTests):
# create volume transfer request for the volume
# and get the auth_key of the new transfer request
- cmd_output = json.loads(self.openstack(
+ cmd_output = self.openstack(
'--os-volume-api-version ' + self.API_VERSION + ' ' +
- 'volume transfer request create -f json ' +
+ 'volume transfer request create ' +
' --name ' + xfer_name + ' ' +
- volume_name
- ))
+ volume_name,
+ parse_output=True,
+ )
self.assertEqual(xfer_name, cmd_output['name'])
xfer_id = cmd_output['id']
auth_key = cmd_output['auth_key']
@@ -55,12 +56,13 @@ class TransferRequestTests(common.BaseVolumeTests):
self.wait_for_status("volume", volume_name, "awaiting-transfer")
# accept the volume transfer request
- cmd_output = json.loads(self.openstack(
+ cmd_output = self.openstack(
'--os-volume-api-version ' + self.API_VERSION + ' ' +
- 'volume transfer request accept -f json ' +
+ 'volume transfer request accept ' +
'--auth-key ' + auth_key + ' ' +
- xfer_id
- ))
+ xfer_id,
+ parse_output=True,
+ )
self.assertEqual(xfer_name, cmd_output['name'])
self.wait_for_status("volume", volume_name, "available")
@@ -69,11 +71,12 @@ class TransferRequestTests(common.BaseVolumeTests):
xfer_name = uuid.uuid4().hex
# create a volume
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 1 ' +
- volume_name
- ))
+ volume_name,
+ parse_output=True,
+ )
self.assertEqual(volume_name, cmd_output['name'])
self.addCleanup(
self.openstack,
@@ -83,29 +86,32 @@ class TransferRequestTests(common.BaseVolumeTests):
)
self.wait_for_status("volume", volume_name, "available")
- cmd_output = json.loads(self.openstack(
+ cmd_output = self.openstack(
'--os-volume-api-version ' + self.API_VERSION + ' ' +
- 'volume transfer request create -f json ' +
+ 'volume transfer request create ' +
' --name ' + xfer_name + ' ' +
- volume_name
- ))
+ volume_name,
+ parse_output=True,
+ )
self.assertEqual(xfer_name, cmd_output['name'])
xfer_id = cmd_output['id']
auth_key = cmd_output['auth_key']
self.assertTrue(auth_key)
self.wait_for_status("volume", volume_name, "awaiting-transfer")
- cmd_output = json.loads(self.openstack(
+ cmd_output = self.openstack(
'--os-volume-api-version ' + self.API_VERSION + ' ' +
- 'volume transfer request list -f json'
- ))
+ 'volume transfer request list',
+ parse_output=True,
+ )
self.assertIn(xfer_name, [req['Name'] for req in cmd_output])
- cmd_output = json.loads(self.openstack(
+ cmd_output = self.openstack(
'--os-volume-api-version ' + self.API_VERSION + ' ' +
- 'volume transfer request show -f json ' +
- xfer_id
- ))
+ 'volume transfer request show ' +
+ xfer_id,
+ parse_output=True,
+ )
self.assertEqual(xfer_name, cmd_output['name'])
# NOTE(dtroyer): We need to delete the transfer request to allow the
diff --git a/openstackclient/tests/functional/volume/v2/test_volume.py b/openstackclient/tests/functional/volume/v2/test_volume.py
index 19fd5895..832dabe6 100644
--- a/openstackclient/tests/functional/volume/v2/test_volume.py
+++ b/openstackclient/tests/functional/volume/v2/test_volume.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import json
import uuid
from openstackclient.tests.functional.volume.v2 import common
@@ -22,22 +21,24 @@ class VolumeTests(common.BaseVolumeTests):
def test_volume_delete(self):
"""Test create, delete multiple"""
name1 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 1 ' +
- name1
- ))
+ name1,
+ parse_output=True,
+ )
self.assertEqual(
1,
cmd_output["size"],
)
name2 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 2 ' +
- name2
- ))
+ name2,
+ parse_output=True,
+ )
self.assertEqual(
2,
cmd_output["size"],
@@ -51,11 +52,12 @@ class VolumeTests(common.BaseVolumeTests):
def test_volume_list(self):
"""Test create, list filter"""
name1 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 1 ' +
- name1
- ))
+ name1,
+ parse_output=True,
+ )
self.addCleanup(self.openstack, 'volume delete ' + name1)
self.assertEqual(
1,
@@ -64,11 +66,12 @@ class VolumeTests(common.BaseVolumeTests):
self.wait_for_status("volume", name1, "available")
name2 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 2 ' +
- name2
- ))
+ name2,
+ parse_output=True,
+ )
self.addCleanup(self.openstack, 'volume delete ' + name2)
self.assertEqual(
2,
@@ -83,19 +86,21 @@ class VolumeTests(common.BaseVolumeTests):
self.assertOutput('', raw_output)
# Test list --long
- cmd_output = json.loads(self.openstack(
- 'volume list -f json ' +
- '--long'
- ))
+ cmd_output = self.openstack(
+ 'volume list ' +
+ '--long',
+ parse_output=True,
+ )
names = [x["Name"] for x in cmd_output]
self.assertIn(name1, names)
self.assertIn(name2, names)
# Test list --status
- cmd_output = json.loads(self.openstack(
- 'volume list -f json ' +
- '--status error'
- ))
+ cmd_output = self.openstack(
+ 'volume list ' +
+ '--status error',
+ parse_output=True,
+ )
names = [x["Name"] for x in cmd_output]
self.assertNotIn(name1, names)
self.assertIn(name2, names)
@@ -107,13 +112,14 @@ class VolumeTests(common.BaseVolumeTests):
"""Tests create volume, set, unset, show, delete"""
name = uuid.uuid4().hex
new_name = name + "_"
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 1 ' +
'--description aaaa ' +
'--property Alpha=a ' +
- name
- ))
+ name,
+ parse_output=True,
+ )
self.addCleanup(self.openstack, 'volume delete ' + new_name)
self.assertEqual(
name,
@@ -153,10 +159,11 @@ class VolumeTests(common.BaseVolumeTests):
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume show -f json ' +
- new_name
- ))
+ cmd_output = self.openstack(
+ 'volume show ' +
+ new_name,
+ parse_output=True,
+ )
self.assertEqual(
new_name,
cmd_output["name"],
@@ -191,10 +198,11 @@ class VolumeTests(common.BaseVolumeTests):
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume show -f json ' +
- new_name
- ))
+ cmd_output = self.openstack(
+ 'volume show ' +
+ new_name,
+ parse_output=True,
+ )
self.assertEqual(
{'Gamma': 'c'},
cmd_output["properties"],
@@ -210,30 +218,33 @@ class VolumeTests(common.BaseVolumeTests):
volume_name = uuid.uuid4().hex
snapshot_name = uuid.uuid4().hex
# Make a snapshot
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 1 ' +
- volume_name
- ))
+ volume_name,
+ parse_output=True,
+ )
self.wait_for_status("volume", volume_name, "available")
self.assertEqual(
volume_name,
cmd_output["name"],
)
- cmd_output = json.loads(self.openstack(
- 'volume snapshot create -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot create ' +
snapshot_name +
- ' --volume ' + volume_name
- ))
+ ' --volume ' + volume_name,
+ parse_output=True,
+ )
self.wait_for_status("volume snapshot", snapshot_name, "available")
name = uuid.uuid4().hex
# Create volume from snapshot
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--snapshot ' + snapshot_name +
- ' ' + name
- ))
+ ' ' + name,
+ parse_output=True,
+ )
self.addCleanup(self.openstack, 'volume delete ' + name)
self.addCleanup(self.openstack, 'volume delete ' + volume_name)
self.assertEqual(
@@ -253,11 +264,12 @@ class VolumeTests(common.BaseVolumeTests):
def test_volume_list_backward_compatibility(self):
"""Test backward compatibility of list command"""
name1 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume create -f json ' +
+ cmd_output = self.openstack(
+ 'volume create ' +
'--size 1 ' +
- name1
- ))
+ name1,
+ parse_output=True,
+ )
self.addCleanup(self.openstack, 'volume delete ' + name1)
self.assertEqual(
1,
@@ -266,17 +278,19 @@ class VolumeTests(common.BaseVolumeTests):
self.wait_for_status("volume", name1, "available")
# Test list -c "Display Name"
- cmd_output = json.loads(self.openstack(
- 'volume list -f json ' +
- '-c "Display Name"'
- ))
+ cmd_output = self.openstack(
+ 'volume list ' +
+ '-c "Display Name"',
+ parse_output=True,
+ )
for each_volume in cmd_output:
self.assertIn('Display Name', each_volume)
# Test list -c "Name"
- cmd_output = json.loads(self.openstack(
- 'volume list -f json ' +
- '-c "Name"'
- ))
+ cmd_output = self.openstack(
+ 'volume list ' +
+ '-c "Name"',
+ parse_output=True,
+ )
for each_volume in cmd_output:
self.assertIn('Name', each_volume)
diff --git a/openstackclient/tests/functional/volume/v2/test_volume_backup.py b/openstackclient/tests/functional/volume/v2/test_volume_backup.py
index 6868bd40..07bd2d16 100644
--- a/openstackclient/tests/functional/volume/v2/test_volume_backup.py
+++ b/openstackclient/tests/functional/volume/v2/test_volume_backup.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import json
import uuid
from openstackclient.tests.functional.volume.v2 import common
@@ -22,7 +21,7 @@ class VolumeBackupTests(common.BaseVolumeTests):
def setUp(self):
super(VolumeBackupTests, self).setUp()
self.backup_enabled = False
- serv_list = json.loads(self.openstack('volume service list -f json'))
+ serv_list = self.openstack('volume service list', parse_output=True)
for service in serv_list:
if service['Binary'] == 'cinder-backup':
if service['Status'] == 'enabled':
@@ -34,24 +33,28 @@ class VolumeBackupTests(common.BaseVolumeTests):
self.skipTest('Backup service is not enabled')
vol_id = uuid.uuid4().hex
# create a volume
- json.loads(self.openstack(
- 'volume create -f json ' +
+ self.openstack(
+ 'volume create ' +
'--size 1 ' +
- vol_id
- ))
+ vol_id,
+ parse_output=True,
+ )
self.wait_for_status("volume", vol_id, "available")
# create a backup
- backup = json.loads(self.openstack(
- 'volume backup create -f json ' +
- vol_id
- ))
+ backup = self.openstack(
+ 'volume backup create ' +
+ vol_id,
+ parse_output=True,
+ )
self.wait_for_status("volume backup", backup['id'], "available")
# restore the backup
- backup_restored = json.loads(self.openstack(
- 'volume backup restore -f json %s %s'
- % (backup['id'], vol_id)))
+ backup_restored = self.openstack(
+ 'volume backup restore %s %s'
+ % (backup['id'], vol_id),
+ parse_output=True,
+ )
self.assertEqual(backup_restored['backup_id'], backup['id'])
self.wait_for_status("volume backup", backup['id'], "available")
self.wait_for_status("volume", backup_restored['volume_id'],
diff --git a/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py b/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py
index 4977a73e..12fdad2c 100644
--- a/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py
+++ b/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import json
import uuid
from openstackclient.tests.functional.volume.v2 import common
@@ -25,11 +24,12 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
def setUpClass(cls):
super(VolumeSnapshotTests, cls).setUpClass()
# create a volume for all tests to create snapshot
- cmd_output = json.loads(cls.openstack(
- 'volume create -f json ' +
+ cmd_output = cls.openstack(
+ 'volume create ' +
'--size 1 ' +
- cls.VOLLY
- ))
+ cls.VOLLY,
+ parse_output=True,
+ )
cls.wait_for_status('volume', cls.VOLLY, 'available')
cls.VOLUME_ID = cmd_output['id']
@@ -46,22 +46,24 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
def test_volume_snapshot_delete(self):
"""Test create, delete multiple"""
name1 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume snapshot create -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot create ' +
name1 +
- ' --volume ' + self.VOLLY
- ))
+ ' --volume ' + self.VOLLY,
+ parse_output=True,
+ )
self.assertEqual(
name1,
cmd_output["name"],
)
name2 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume snapshot create -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot create ' +
name2 +
- ' --volume ' + self.VOLLY
- ))
+ ' --volume ' + self.VOLLY,
+ parse_output=True,
+ )
self.assertEqual(
name2,
cmd_output["name"],
@@ -79,11 +81,12 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
def test_volume_snapshot_list(self):
"""Test create, list filter"""
name1 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume snapshot create -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot create ' +
name1 +
- ' --volume ' + self.VOLLY
- ))
+ ' --volume ' + self.VOLLY,
+ parse_output=True,
+ )
self.addCleanup(self.wait_for_delete, 'volume snapshot', name1)
self.addCleanup(self.openstack, 'volume snapshot delete ' + name1)
self.assertEqual(
@@ -101,11 +104,12 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
self.wait_for_status('volume snapshot', name1, 'available')
name2 = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume snapshot create -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot create ' +
name2 +
- ' --volume ' + self.VOLLY
- ))
+ ' --volume ' + self.VOLLY,
+ parse_output=True,
+ )
self.addCleanup(self.wait_for_delete, 'volume snapshot', name2)
self.addCleanup(self.openstack, 'volume snapshot delete ' + name2)
self.assertEqual(
@@ -130,11 +134,12 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
self.assertOutput('', raw_output)
# Test list --long, --status
- cmd_output = json.loads(self.openstack(
- 'volume snapshot list -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot list ' +
'--long ' +
- '--status error_deleting'
- ))
+ '--status error_deleting',
+ parse_output=True,
+ )
names = [x["Name"] for x in cmd_output]
self.assertNotIn(name1, names)
self.assertIn(name2, names)
@@ -147,29 +152,32 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
self.assertOutput('', raw_output)
# Test list --long, --status
- cmd_output = json.loads(self.openstack(
- 'volume snapshot list -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot list ' +
'--long ' +
- '--status error'
- ))
+ '--status error',
+ parse_output=True,
+ )
names = [x["Name"] for x in cmd_output]
self.assertNotIn(name1, names)
self.assertIn(name2, names)
# Test list --volume
- cmd_output = json.loads(self.openstack(
- 'volume snapshot list -f json ' +
- '--volume ' + self.VOLLY
- ))
+ cmd_output = self.openstack(
+ 'volume snapshot list ' +
+ '--volume ' + self.VOLLY,
+ parse_output=True,
+ )
names = [x["Name"] for x in cmd_output]
self.assertIn(name1, names)
self.assertIn(name2, names)
# Test list --name
- cmd_output = json.loads(self.openstack(
- 'volume snapshot list -f json ' +
- '--name ' + name1
- ))
+ cmd_output = self.openstack(
+ 'volume snapshot list ' +
+ '--name ' + name1,
+ parse_output=True,
+ )
names = [x["Name"] for x in cmd_output]
self.assertIn(name1, names)
self.assertNotIn(name2, names)
@@ -178,13 +186,14 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
"""Test create, set, unset, show, delete volume snapshot"""
name = uuid.uuid4().hex
new_name = name + "_"
- cmd_output = json.loads(self.openstack(
- 'volume snapshot create -f json ' +
+ cmd_output = self.openstack(
+ 'volume snapshot create ' +
'--volume ' + self.VOLLY +
' --description aaaa ' +
'--property Alpha=a ' +
- name
- ))
+ name,
+ parse_output=True,
+ )
self.addCleanup(self.wait_for_delete, 'volume snapshot', new_name)
self.addCleanup(self.openstack, 'volume snapshot delete ' + new_name)
self.assertEqual(
@@ -217,10 +226,11 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
self.assertOutput('', raw_output)
# Show snapshot set result
- cmd_output = json.loads(self.openstack(
- 'volume snapshot show -f json ' +
- new_name
- ))
+ cmd_output = self.openstack(
+ 'volume snapshot show ' +
+ new_name,
+ parse_output=True,
+ )
self.assertEqual(
new_name,
cmd_output["name"],
@@ -246,10 +256,11 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume snapshot show -f json ' +
- new_name
- ))
+ cmd_output = self.openstack(
+ 'volume snapshot show ' +
+ new_name,
+ parse_output=True,
+ )
self.assertEqual(
{'Beta': 'b'},
cmd_output["properties"],
@@ -262,10 +273,11 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
new_name,
)
self.assertOutput('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume snapshot show -f json ' +
- new_name
- ))
+ cmd_output = self.openstack(
+ 'volume snapshot show ' +
+ new_name,
+ parse_output=True,
+ )
self.assertNotIn(
{'Beta': 'b'},
cmd_output["properties"],
diff --git a/openstackclient/tests/functional/volume/v2/test_volume_type.py b/openstackclient/tests/functional/volume/v2/test_volume_type.py
index 861c393d..5cad9297 100644
--- a/openstackclient/tests/functional/volume/v2/test_volume_type.py
+++ b/openstackclient/tests/functional/volume/v2/test_volume_type.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import json
import time
import uuid
@@ -22,36 +21,40 @@ class VolumeTypeTests(common.BaseVolumeTests):
def test_volume_type_create_list(self):
name = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json --private ' +
+ cmd_output = self.openstack(
+ 'volume type create --private ' +
name,
- ))
+ parse_output=True,
+ )
self.addCleanup(
self.openstack,
'volume type delete ' + name,
)
self.assertEqual(name, cmd_output['name'])
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json %s' % name
- ))
+ cmd_output = self.openstack(
+ 'volume type show %s' % name,
+ parse_output=True,
+ )
self.assertEqual(name, cmd_output['name'])
- cmd_output = json.loads(self.openstack('volume type list -f json'))
+ cmd_output = self.openstack('volume type list', parse_output=True)
self.assertIn(name, [t['Name'] for t in cmd_output])
- cmd_output = json.loads(self.openstack(
- 'volume type list -f json --default'
- ))
+ cmd_output = self.openstack(
+ 'volume type list --default',
+ parse_output=True,
+ )
self.assertEqual(1, len(cmd_output))
self.assertEqual('lvmdriver-1', cmd_output[0]['Name'])
def test_volume_type_set_unset_properties(self):
name = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json --private ' +
+ cmd_output = self.openstack(
+ 'volume type create --private ' +
name,
- ))
+ parse_output=True,
+ )
self.addCleanup(
self.openstack,
'volume type delete ' + name
@@ -62,26 +65,29 @@ class VolumeTypeTests(common.BaseVolumeTests):
'volume type set --property a=b --property c=d %s' % name
)
self.assertEqual("", raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json %s' % name
- ))
+ cmd_output = self.openstack(
+ 'volume type show %s' % name,
+ parse_output=True,
+ )
self.assertEqual({'a': 'b', 'c': 'd'}, cmd_output['properties'])
raw_output = self.openstack(
'volume type unset --property a %s' % name
)
self.assertEqual("", raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json %s' % name
- ))
+ cmd_output = self.openstack(
+ 'volume type show %s' % name,
+ parse_output=True,
+ )
self.assertEqual({'c': 'd'}, cmd_output['properties'])
def test_volume_type_set_unset_multiple_properties(self):
name = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json --private ' +
+ cmd_output = self.openstack(
+ 'volume type create --private ' +
name,
- ))
+ parse_output=True,
+ )
self.addCleanup(
self.openstack,
'volume type delete ' + name
@@ -92,26 +98,29 @@ class VolumeTypeTests(common.BaseVolumeTests):
'volume type set --property a=b --property c=d %s' % name
)
self.assertEqual("", raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json %s' % name
- ))
+ cmd_output = self.openstack(
+ 'volume type show %s' % name,
+ parse_output=True,
+ )
self.assertEqual({'a': 'b', 'c': 'd'}, cmd_output['properties'])
raw_output = self.openstack(
'volume type unset --property a --property c %s' % name
)
self.assertEqual("", raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json %s' % name
- ))
+ cmd_output = self.openstack(
+ 'volume type show %s' % name,
+ parse_output=True,
+ )
self.assertEqual({}, cmd_output['properties'])
def test_volume_type_set_unset_project(self):
name = uuid.uuid4().hex
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json --private ' +
+ cmd_output = self.openstack(
+ 'volume type create --private ' +
name,
- ))
+ parse_output=True,
+ )
self.addCleanup(
self.openstack,
'volume type delete ' + name
@@ -147,13 +156,15 @@ class VolumeTypeTests(common.BaseVolumeTests):
name = uuid.uuid4().hex
encryption_type = uuid.uuid4().hex
# test create new encryption type
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json '
+ cmd_output = self.openstack(
+ 'volume type create '
'--encryption-provider LuksEncryptor '
'--encryption-cipher aes-xts-plain64 '
'--encryption-key-size 128 '
'--encryption-control-location front-end ' +
- encryption_type))
+ encryption_type,
+ parse_output=True,
+ )
expected = {'provider': 'LuksEncryptor',
'cipher': 'aes-xts-plain64',
'key_size': 128,
@@ -161,8 +172,10 @@ class VolumeTypeTests(common.BaseVolumeTests):
for attr, value in expected.items():
self.assertEqual(value, cmd_output['encryption'][attr])
# test show encryption type
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json --encryption-type ' + encryption_type))
+ cmd_output = self.openstack(
+ 'volume type show --encryption-type ' + encryption_type,
+ parse_output=True,
+ )
expected = {'provider': 'LuksEncryptor',
'cipher': 'aes-xts-plain64',
'key_size': 128,
@@ -170,8 +183,10 @@ class VolumeTypeTests(common.BaseVolumeTests):
for attr, value in expected.items():
self.assertEqual(value, cmd_output['encryption'][attr])
# test list encryption type
- cmd_output = json.loads(self.openstack(
- 'volume type list -f json --encryption-type'))
+ cmd_output = self.openstack(
+ 'volume type list --encryption-type',
+ parse_output=True,
+ )
encryption_output = [t['Encryption'] for t in cmd_output
if t['Name'] == encryption_type][0]
expected = {'provider': 'LuksEncryptor',
@@ -187,8 +202,10 @@ class VolumeTypeTests(common.BaseVolumeTests):
'--encryption-control-location back-end ' +
encryption_type)
self.assertEqual('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json --encryption-type ' + encryption_type))
+ cmd_output = self.openstack(
+ 'volume type show --encryption-type ' + encryption_type,
+ parse_output=True,
+ )
expected = {'provider': 'LuksEncryptor',
'cipher': 'aes-xts-plain64',
'key_size': 256,
@@ -196,10 +213,11 @@ class VolumeTypeTests(common.BaseVolumeTests):
for attr, value in expected.items():
self.assertEqual(value, cmd_output['encryption'][attr])
# test set new encryption type
- cmd_output = json.loads(self.openstack(
- 'volume type create -f json --private ' +
+ cmd_output = self.openstack(
+ 'volume type create --private ' +
name,
- ))
+ parse_output=True,
+ )
self.addCleanup(
self.openstack,
'volume type delete ' + name,
@@ -215,9 +233,10 @@ class VolumeTypeTests(common.BaseVolumeTests):
name)
self.assertEqual('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json --encryption-type ' + name
- ))
+ cmd_output = self.openstack(
+ 'volume type show --encryption-type ' + name,
+ parse_output=True,
+ )
expected = {'provider': 'LuksEncryptor',
'cipher': 'aes-xts-plain64',
'key_size': 128,
@@ -229,9 +248,10 @@ class VolumeTypeTests(common.BaseVolumeTests):
'volume type unset --encryption-type ' + name
)
self.assertEqual('', raw_output)
- cmd_output = json.loads(self.openstack(
- 'volume type show -f json --encryption-type ' + name
- ))
+ cmd_output = self.openstack(
+ 'volume type show --encryption-type ' + name,
+ parse_output=True,
+ )
self.assertEqual({}, cmd_output['encryption'])
# test delete encryption type
raw_output = self.openstack('volume type delete ' + encryption_type)