diff options
Diffstat (limited to 'openstackclient/tests/functional/volume/v2')
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) |
