diff --git a/openstackclient/tests/functional/network/v2/common.py b/openstackclient/tests/functional/network/v2/common.py index 2287f32930..a9c5b8303f 100644 --- a/openstackclient/tests/functional/network/v2/common.py +++ b/openstackclient/tests/functional/network/v2/common.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 import base @@ -32,7 +31,10 @@ class NetworkTagTests(NetworkTests): def test_tag_operation(self): # Get project IDs - cmd_output = json.loads(self.openstack('token issue -f json ')) + cmd_output = self.openstack( + 'token issue ', + parse_output=True, + ) auth_project_id = cmd_output['project_id'] # Network create with no options @@ -63,17 +65,20 @@ class NetworkTagTests(NetworkTests): self._set_resource_and_tag_check('set', name2, '--no-tag', []) def _list_tag_check(self, project_id, expected): - cmd_output = json.loads(self.openstack( - '{} list --long --project {} -f json'.format(self.base_command, - project_id))) + cmd_output = self.openstack( + '{} list --long --project {}'.format(self.base_command, + project_id), + parse_output=True, + ) for name, tags in expected: net = [n for n in cmd_output if n['Name'] == name][0] self.assertEqual(set(tags), set(net['Tags'])) def _create_resource_for_tag_test(self, name, args): - return json.loads(self.openstack( - '{} create -f json {} {}'.format(self.base_command, args, name) - )) + return self.openstack( + '{} create {} {}'.format(self.base_command, args, name), + parse_output=True, + ) def _create_resource_and_tag_check(self, args, expected): name = uuid.uuid4().hex @@ -89,7 +94,8 @@ class NetworkTagTests(NetworkTests): '{} {} {} {}'.format(self.base_command, command, args, name) ) self.assertFalse(cmd_output) - cmd_output = json.loads(self.openstack( - '{} show -f json {}'.format(self.base_command, name) - )) + cmd_output = self.openstack( + '{} show {}'.format(self.base_command, name), + parse_output=True, + ) self.assertEqual(set(expected), set(cmd_output['tags'])) diff --git a/openstackclient/tests/functional/network/v2/test_address_group.py b/openstackclient/tests/functional/network/v2/test_address_group.py index 52c628a36c..17ab2362b4 100644 --- a/openstackclient/tests/functional/network/v2/test_address_group.py +++ b/openstackclient/tests/functional/network/v2/test_address_group.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.network.v2 import common @@ -30,20 +29,22 @@ class AddressGroupTests(common.NetworkTests): def test_address_group_create_and_delete(self): """Test create, delete multiple""" name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address group create -f json ' + - name1 - )) + cmd_output = self.openstack( + 'address group create ' + + name1, + parse_output=True, + ) self.assertEqual( name1, cmd_output['name'], ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address group create -f json ' + - name2 - )) + cmd_output = self.openstack( + 'address group create ' + + name2, + parse_output=True, + ) self.assertEqual( name2, cmd_output['name'], @@ -57,10 +58,10 @@ class AddressGroupTests(common.NetworkTests): def test_address_group_list(self): """Test create, list filters, delete""" # Get project IDs - cmd_output = json.loads(self.openstack('token issue -f json ')) + cmd_output = self.openstack('token issue ', parse_output=True) auth_project_id = cmd_output['project_id'] - cmd_output = json.loads(self.openstack('project list -f json ')) + cmd_output = self.openstack('project list ', parse_output=True) admin_project_id = None demo_project_id = None for p in cmd_output: @@ -79,10 +80,11 @@ class AddressGroupTests(common.NetworkTests): self.assertEqual(admin_project_id, auth_project_id) name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address group create -f json ' + - name1 - )) + cmd_output = self.openstack( + 'address group create ' + + name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'address group delete ' + name1) self.assertEqual( admin_project_id, @@ -90,11 +92,12 @@ class AddressGroupTests(common.NetworkTests): ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address group create -f json ' + + cmd_output = self.openstack( + 'address group create ' + '--project ' + demo_project_id + - ' ' + name2 - )) + ' ' + name2, + parse_output=True, + ) self.addCleanup(self.openstack, 'address group delete ' + name2) self.assertEqual( demo_project_id, @@ -102,27 +105,30 @@ class AddressGroupTests(common.NetworkTests): ) # Test list - cmd_output = json.loads(self.openstack( - 'address group list -f json ', - )) + cmd_output = self.openstack( + 'address group list ', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertIn(name2, names) # Test list --project - cmd_output = json.loads(self.openstack( - 'address group list -f json ' + - '--project ' + demo_project_id - )) + cmd_output = self.openstack( + 'address group list ' + + '--project ' + demo_project_id, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertNotIn(name1, names) self.assertIn(name2, names) # Test list --name - cmd_output = json.loads(self.openstack( - 'address group list -f json ' + - '--name ' + name1 - )) + cmd_output = self.openstack( + 'address group list ' + + '--name ' + name1, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertNotIn(name2, names) @@ -131,12 +137,13 @@ class AddressGroupTests(common.NetworkTests): """Tests create options, set, unset, and show""" name = uuid.uuid4().hex newname = name + "_" - cmd_output = json.loads(self.openstack( - 'address group create -f json ' + + cmd_output = self.openstack( + 'address group create ' + '--description aaaa ' + '--address 10.0.0.1 --address 2001::/16 ' + - name - )) + name, + parse_output=True, + ) self.addCleanup(self.openstack, 'address group delete ' + newname) self.assertEqual(name, cmd_output['name']) self.assertEqual('aaaa', cmd_output['description']) @@ -153,10 +160,11 @@ class AddressGroupTests(common.NetworkTests): self.assertOutput('', raw_output) # Show the updated address group - cmd_output = json.loads(self.openstack( - 'address group show -f json ' + + cmd_output = self.openstack( + 'address group show ' + newname, - )) + parse_output=True, + ) self.assertEqual(newname, cmd_output['name']) self.assertEqual('bbbb', cmd_output['description']) self.assertEqual(4, len(cmd_output['addresses'])) @@ -170,8 +178,9 @@ class AddressGroupTests(common.NetworkTests): ) self.assertEqual('', raw_output) - cmd_output = json.loads(self.openstack( - 'address group show -f json ' + + cmd_output = self.openstack( + 'address group show ' + newname, - )) + parse_output=True, + ) self.assertEqual(0, len(cmd_output['addresses'])) diff --git a/openstackclient/tests/functional/network/v2/test_address_scope.py b/openstackclient/tests/functional/network/v2/test_address_scope.py index 8a99ec5e61..8ebb9522b2 100644 --- a/openstackclient/tests/functional/network/v2/test_address_scope.py +++ b/openstackclient/tests/functional/network/v2/test_address_scope.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.network.v2 import common @@ -33,10 +32,11 @@ class AddressScopeTests(common.NetworkTests): def test_address_scope_delete(self): """Test create, delete multiple""" name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address scope create -f json ' + - name1 - )) + cmd_output = self.openstack( + 'address scope create ' + + name1, + parse_output=True, + ) self.assertEqual( name1, cmd_output['name'], @@ -45,10 +45,11 @@ class AddressScopeTests(common.NetworkTests): self.assertFalse(cmd_output['shared']) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address scope create -f json ' + - name2 - )) + cmd_output = self.openstack( + 'address scope create ' + + name2, + parse_output=True, + ) self.assertEqual( name2, cmd_output['name'], @@ -62,12 +63,13 @@ class AddressScopeTests(common.NetworkTests): def test_address_scope_list(self): """Test create defaults, list filters, delete""" name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address scope create -f json ' + + cmd_output = self.openstack( + 'address scope create ' + '--ip-version 4 ' + '--share ' + - name1 - )) + name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'address scope delete ' + name1) self.assertEqual( name1, @@ -80,12 +82,13 @@ class AddressScopeTests(common.NetworkTests): self.assertTrue(cmd_output['shared']) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'address scope create -f json ' + + cmd_output = self.openstack( + 'address scope create ' + '--ip-version 6 ' + '--no-share ' + - name2 - )) + name2, + parse_output=True, + ) self.addCleanup(self.openstack, 'address scope delete ' + name2) self.assertEqual( name2, @@ -98,25 +101,28 @@ class AddressScopeTests(common.NetworkTests): self.assertFalse(cmd_output['shared']) # Test list - cmd_output = json.loads(self.openstack( - 'address scope list -f json ', - )) + cmd_output = self.openstack( + 'address scope list ', + parse_output=True, + ) col_data = [x["IP Version"] for x in cmd_output] self.assertIn(4, col_data) self.assertIn(6, col_data) # Test list --share - cmd_output = json.loads(self.openstack( - 'address scope list -f json --share', - )) + cmd_output = self.openstack( + 'address scope list --share', + parse_output=True, + ) col_data = [x["Shared"] for x in cmd_output] self.assertIn(True, col_data) self.assertNotIn(False, col_data) # Test list --no-share - cmd_output = json.loads(self.openstack( - 'address scope list -f json --no-share', - )) + cmd_output = self.openstack( + 'address scope list --no-share', + parse_output=True, + ) col_data = [x["Shared"] for x in cmd_output] self.assertIn(False, col_data) self.assertNotIn(True, col_data) @@ -125,12 +131,13 @@ class AddressScopeTests(common.NetworkTests): """Tests create options, set, show, delete""" name = uuid.uuid4().hex newname = name + "_" - cmd_output = json.loads(self.openstack( - 'address scope create -f json ' + + cmd_output = self.openstack( + 'address scope create ' + '--ip-version 4 ' + '--no-share ' + - name - )) + name, + parse_output=True, + ) self.addCleanup(self.openstack, 'address scope delete ' + newname) self.assertEqual( name, @@ -150,10 +157,11 @@ class AddressScopeTests(common.NetworkTests): ) self.assertOutput('', raw_output) - cmd_output = json.loads(self.openstack( - 'address scope show -f json ' + + cmd_output = self.openstack( + 'address scope show ' + newname, - )) + parse_output=True, + ) self.assertEqual( newname, cmd_output['name'], diff --git a/openstackclient/tests/functional/network/v2/test_floating_ip.py b/openstackclient/tests/functional/network/v2/test_floating_ip.py index 9d109f878b..871cab2d54 100644 --- a/openstackclient/tests/functional/network/v2/test_floating_ip.py +++ b/openstackclient/tests/functional/network/v2/test_floating_ip.py @@ -10,7 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import random import uuid @@ -29,18 +28,20 @@ class FloatingIpTests(common.NetworkTests): cls.PRIVATE_NETWORK_NAME = uuid.uuid4().hex # Create a network for the floating ip - json_output = json.loads(cls.openstack( - 'network create -f json ' + + json_output = cls.openstack( + 'network create ' + '--external ' + - cls.EXTERNAL_NETWORK_NAME - )) + cls.EXTERNAL_NETWORK_NAME, + parse_output=True, + ) cls.external_network_id = json_output["id"] # Create a private network for the port - json_output = json.loads(cls.openstack( - 'network create -f json ' + - cls.PRIVATE_NETWORK_NAME - )) + json_output = cls.openstack( + 'network create ' + + cls.PRIVATE_NETWORK_NAME, + parse_output=True, + ) cls.private_network_id = json_output["id"] @classmethod @@ -81,12 +82,13 @@ class FloatingIpTests(common.NetworkTests): )) + ".0/26" try: # Create a subnet for the network - json_output = json.loads(self.openstack( - 'subnet create -f json ' + + json_output = self.openstack( + 'subnet create ' + '--network ' + network_name + ' ' + '--subnet-range ' + subnet + ' ' + - subnet_name - )) + subnet_name, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) subnet_id = json_output["id"] except Exception: @@ -109,11 +111,12 @@ class FloatingIpTests(common.NetworkTests): ) self.addCleanup(self.openstack, 'subnet delete ' + ext_subnet_id) - json_output = json.loads(self.openstack( - 'floating ip create -f json ' + + json_output = self.openstack( + 'floating ip create ' + '--description aaaa ' + - self.EXTERNAL_NETWORK_NAME - )) + self.EXTERNAL_NETWORK_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) ip1 = json_output["id"] self.assertEqual( @@ -121,11 +124,12 @@ class FloatingIpTests(common.NetworkTests): json_output["description"], ) - json_output = json.loads(self.openstack( - 'floating ip create -f json ' + + json_output = self.openstack( + 'floating ip create ' + '--description bbbb ' + - self.EXTERNAL_NETWORK_NAME - )) + self.EXTERNAL_NETWORK_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) ip2 = json_output["id"] self.assertEqual( @@ -149,11 +153,12 @@ class FloatingIpTests(common.NetworkTests): ) self.addCleanup(self.openstack, 'subnet delete ' + ext_subnet_id) - json_output = json.loads(self.openstack( - 'floating ip create -f json ' + + json_output = self.openstack( + 'floating ip create ' + '--description aaaa ' + - self.EXTERNAL_NETWORK_NAME - )) + self.EXTERNAL_NETWORK_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) ip1 = json_output["id"] self.addCleanup(self.openstack, 'floating ip delete ' + ip1) @@ -164,11 +169,12 @@ class FloatingIpTests(common.NetworkTests): self.assertIsNotNone(json_output["floating_network_id"]) fip1 = json_output["floating_ip_address"] - json_output = json.loads(self.openstack( - 'floating ip create -f json ' + + json_output = self.openstack( + 'floating ip create ' + '--description bbbb ' + - self.EXTERNAL_NETWORK_NAME - )) + self.EXTERNAL_NETWORK_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) ip2 = json_output["id"] self.addCleanup(self.openstack, 'floating ip delete ' + ip2) @@ -180,9 +186,10 @@ class FloatingIpTests(common.NetworkTests): fip2 = json_output["floating_ip_address"] # Test list - json_output = json.loads(self.openstack( - 'floating ip list -f json' - )) + json_output = self.openstack( + 'floating ip list', + parse_output=True, + ) fip_map = { item.get('ID'): item.get('Floating IP Address') for item in json_output @@ -194,10 +201,11 @@ class FloatingIpTests(common.NetworkTests): self.assertIn(fip2, fip_map.values()) # Test list --long - json_output = json.loads(self.openstack( - 'floating ip list -f json ' + - '--long' - )) + json_output = self.openstack( + 'floating ip list ' + + '--long', + parse_output=True, + ) fip_map = { item.get('ID'): item.get('Floating IP Address') for item in json_output @@ -214,10 +222,11 @@ class FloatingIpTests(common.NetworkTests): # TODO(dtroyer): add more filter tests - json_output = json.loads(self.openstack( - 'floating ip show -f json ' + - ip1 - )) + json_output = self.openstack( + 'floating ip show ' + + ip1, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) self.assertEqual( ip1, @@ -251,11 +260,12 @@ class FloatingIpTests(common.NetworkTests): self.ROUTER = uuid.uuid4().hex self.PORT_NAME = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'floating ip create -f json ' + + json_output = self.openstack( + 'floating ip create ' + '--description aaaa ' + - self.EXTERNAL_NETWORK_NAME - )) + self.EXTERNAL_NETWORK_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) ip1 = json_output["id"] self.addCleanup(self.openstack, 'floating ip delete ' + ip1) @@ -264,19 +274,21 @@ class FloatingIpTests(common.NetworkTests): json_output["description"], ) - json_output = json.loads(self.openstack( - 'port create -f json ' + + json_output = self.openstack( + 'port create ' + '--network ' + self.PRIVATE_NETWORK_NAME + ' ' + '--fixed-ip subnet=' + priv_subnet_id + ' ' + - self.PORT_NAME - )) + self.PORT_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) port_id = json_output["id"] - json_output = json.loads(self.openstack( - 'router create -f json ' + - self.ROUTER - )) + json_output = self.openstack( + 'router create ' + + self.ROUTER, + parse_output=True, + ) self.assertIsNotNone(json_output["id"]) self.addCleanup(self.openstack, 'router delete ' + self.ROUTER) @@ -310,10 +322,11 @@ class FloatingIpTests(common.NetworkTests): 'floating ip unset --port ' + ip1, ) - json_output = json.loads(self.openstack( - 'floating ip show -f json ' + - ip1 - )) + json_output = self.openstack( + 'floating ip show ' + + ip1, + parse_output=True, + ) self.assertEqual( port_id, diff --git a/openstackclient/tests/functional/network/v2/test_ip_availability.py b/openstackclient/tests/functional/network/v2/test_ip_availability.py index 86a53c0ce0..6697ed3639 100644 --- a/openstackclient/tests/functional/network/v2/test_ip_availability.py +++ b/openstackclient/tests/functional/network/v2/test_ip_availability.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.network.v2 import common @@ -31,12 +30,13 @@ class IPAvailabilityTests(common.NetworkTests): 'network create ' + cls.NETWORK_NAME ) - cmd_output = json.loads(cls.openstack( - 'subnet create -f json ' + + cmd_output = cls.openstack( + 'subnet create ' + '--network ' + cls.NETWORK_NAME + ' ' + '--subnet-range 10.10.10.0/24 ' + - cls.NAME - )) + cls.NAME, + parse_output=True, + ) cls.assertOutput(cls.NAME, cmd_output['name']) @classmethod @@ -64,15 +64,17 @@ class IPAvailabilityTests(common.NetworkTests): def test_ip_availability_list(self): """Test ip availability list""" - cmd_output = json.loads(self.openstack( - 'ip availability list -f json')) + cmd_output = self.openstack( + 'ip availability list', + parse_output=True,) names = [x['Network Name'] for x in cmd_output] self.assertIn(self.NETWORK_NAME, names) def test_ip_availability_show(self): """Test ip availability show""" - cmd_output = json.loads(self.openstack( - 'ip availability show -f json ' + self.NETWORK_NAME)) + cmd_output = self.openstack( + 'ip availability show ' + self.NETWORK_NAME, + parse_output=True,) self.assertEqual( self.NETWORK_NAME, cmd_output['network_name'], diff --git a/openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py b/openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py index bbb9a7cd97..2563bcf980 100644 --- a/openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py +++ b/openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py @@ -11,8 +11,6 @@ # under the License. # - -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -32,9 +30,10 @@ class L3ConntrackHelperTests(common.NetworkTests): def _create_router(self): router_name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'router create -f json ' + router_name - )) + json_output = self.openstack( + 'router create ' + router_name, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) router_id = json_output['id'] self.addCleanup(self.openstack, 'router delete ' + router_id) @@ -43,13 +42,17 @@ class L3ConntrackHelperTests(common.NetworkTests): def _create_helpers(self, router_id, helpers): created_helpers = [] for helper in helpers: - output = json.loads(self.openstack( + output = self.openstack( 'network l3 conntrack helper create %(router)s ' - '--helper %(helper)s --protocol %(protocol)s --port %(port)s ' - '-f json' % {'router': router_id, - 'helper': helper['helper'], - 'protocol': helper['protocol'], - 'port': helper['port']})) + '--helper %(helper)s --protocol %(protocol)s ' + '--port %(port)s ' % { + 'router': router_id, + 'helper': helper['helper'], + 'protocol': helper['protocol'], + 'port': helper['port'], + }, + parse_output=True, + ) self.assertEqual(helper['helper'], output['helper']) self.assertEqual(helper['protocol'], output['protocol']) self.assertEqual(helper['port'], output['port']) @@ -105,9 +108,10 @@ class L3ConntrackHelperTests(common.NetworkTests): ] router_id = self._create_router() self._create_helpers(router_id, helpers) - output = json.loads(self.openstack( - 'network l3 conntrack helper list %s -f json ' % router_id - )) + output = self.openstack( + 'network l3 conntrack helper list %s ' % router_id, + parse_output=True, + ) for ct in output: self.assertEqual(router_id, ct.pop('Router ID')) ct.pop("ID") @@ -120,10 +124,14 @@ class L3ConntrackHelperTests(common.NetworkTests): 'port': 69} router_id = self._create_router() created_helper = self._create_helpers(router_id, [helper])[0] - output = json.loads(self.openstack( + output = self.openstack( 'network l3 conntrack helper show %(router_id)s %(ct_id)s ' '-f json' % { - 'router_id': router_id, 'ct_id': created_helper['id']})) + 'router_id': router_id, + 'ct_id': created_helper['id'], + }, + parse_output=True, + ) self.assertEqual(helper['helper'], output['helper']) self.assertEqual(helper['protocol'], output['protocol']) self.assertEqual(helper['port'], output['port']) @@ -136,10 +144,14 @@ class L3ConntrackHelperTests(common.NetworkTests): 'port': helper['port'] + 1}) self.assertOutput('', raw_output) - output = json.loads(self.openstack( + output = self.openstack( 'network l3 conntrack helper show %(router_id)s %(ct_id)s ' '-f json' % { - 'router_id': router_id, 'ct_id': created_helper['id']})) + 'router_id': router_id, + 'ct_id': created_helper['id'], + }, + parse_output=True, + ) self.assertEqual(helper['port'] + 1, output['port']) self.assertEqual(helper['helper'], output['helper']) self.assertEqual(helper['protocol'], output['protocol']) diff --git a/openstackclient/tests/functional/network/v2/test_local_ip.py b/openstackclient/tests/functional/network/v2/test_local_ip.py index dd278e3883..b5672b6ded 100644 --- a/openstackclient/tests/functional/network/v2/test_local_ip.py +++ b/openstackclient/tests/functional/network/v2/test_local_ip.py @@ -11,9 +11,7 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. -# -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -33,20 +31,22 @@ class LocalIPTests(common.NetworkTests): def test_local_ip_create_and_delete(self): """Test create, delete multiple""" name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'local ip create -f json ' + - name1 - )) + cmd_output = self.openstack( + 'local ip create ' + + name1, + parse_output=True, + ) self.assertEqual( name1, cmd_output['name'], ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'local ip create -f json ' + - name2 - )) + cmd_output = self.openstack( + 'local ip create ' + + name2, + parse_output=True, + ) self.assertEqual( name2, cmd_output['name'], @@ -60,10 +60,10 @@ class LocalIPTests(common.NetworkTests): def test_local_ip_list(self): """Test create, list filters, delete""" # Get project IDs - cmd_output = json.loads(self.openstack('token issue -f json ')) + cmd_output = self.openstack('token issue ', parse_output=True) auth_project_id = cmd_output['project_id'] - cmd_output = json.loads(self.openstack('project list -f json ')) + cmd_output = self.openstack('project list ', parse_output=True) admin_project_id = None demo_project_id = None for p in cmd_output: @@ -82,10 +82,11 @@ class LocalIPTests(common.NetworkTests): self.assertEqual(admin_project_id, auth_project_id) name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'local ip create -f json ' + - name1 - )) + cmd_output = self.openstack( + 'local ip create ' + + name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'local ip delete ' + name1) self.assertEqual( admin_project_id, @@ -93,11 +94,12 @@ class LocalIPTests(common.NetworkTests): ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'local ip create -f json ' + + cmd_output = self.openstack( + 'local ip create ' + '--project ' + demo_project_id + - ' ' + name2 - )) + ' ' + name2, + parse_output=True, + ) self.addCleanup(self.openstack, 'local ip delete ' + name2) self.assertEqual( demo_project_id, @@ -105,27 +107,30 @@ class LocalIPTests(common.NetworkTests): ) # Test list - cmd_output = json.loads(self.openstack( - 'local ip list -f json ', - )) + cmd_output = self.openstack( + 'local ip list ', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertIn(name2, names) # Test list --project - cmd_output = json.loads(self.openstack( - 'local ip list -f json ' + - '--project ' + demo_project_id - )) + cmd_output = self.openstack( + 'local ip list ' + + '--project ' + demo_project_id, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertNotIn(name1, names) self.assertIn(name2, names) # Test list --name - cmd_output = json.loads(self.openstack( - 'local ip list -f json ' + - '--name ' + name1 - )) + cmd_output = self.openstack( + 'local ip list ' + + '--name ' + name1, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertNotIn(name2, names) @@ -134,11 +139,12 @@ class LocalIPTests(common.NetworkTests): """Tests create options, set, and show""" name = uuid.uuid4().hex newname = name + "_" - cmd_output = json.loads(self.openstack( - 'local ip create -f json ' + + cmd_output = self.openstack( + 'local ip create ' + '--description aaaa ' + - name - )) + name, + parse_output=True, + ) self.addCleanup(self.openstack, 'local ip delete ' + newname) self.assertEqual(name, cmd_output['name']) self.assertEqual('aaaa', cmd_output['description']) @@ -153,9 +159,10 @@ class LocalIPTests(common.NetworkTests): self.assertOutput('', raw_output) # Show the updated local ip - cmd_output = json.loads(self.openstack( - 'local ip show -f json ' + + cmd_output = self.openstack( + 'local ip show ' + newname, - )) + parse_output=True, + ) self.assertEqual(newname, cmd_output['name']) self.assertEqual('bbbb', cmd_output['description']) diff --git a/openstackclient/tests/functional/network/v2/test_network.py b/openstackclient/tests/functional/network/v2/test_network.py index f68b314382..20be2d1ad1 100644 --- a/openstackclient/tests/functional/network/v2/test_network.py +++ b/openstackclient/tests/functional/network/v2/test_network.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.network.v2 import common @@ -34,11 +33,12 @@ class NetworkTests(common.NetworkTagTests): # Network create with minimum options name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + '--subnet 1.2.3.4/28 ' + - name1 - )) + name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete ' + name1) self.assertIsNotNone(cmd_output["id"]) @@ -53,12 +53,13 @@ class NetworkTests(common.NetworkTagTests): # Network create with more options name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + '--subnet 1.2.4.4/28 ' + '--share ' + - name2 - )) + name2, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete ' + name2) self.assertIsNotNone(cmd_output["id"]) @@ -80,10 +81,10 @@ class NetworkTests(common.NetworkTagTests): self.skipTest("No Network service present") # Get project IDs - cmd_output = json.loads(self.openstack('token issue -f json ')) + cmd_output = self.openstack('token issue ', parse_output=True) auth_project_id = cmd_output['project_id'] - cmd_output = json.loads(self.openstack('project list -f json ')) + cmd_output = self.openstack('project list ', parse_output=True) admin_project_id = None demo_project_id = None for p in cmd_output: @@ -103,10 +104,11 @@ class NetworkTests(common.NetworkTagTests): # Network create with no options name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + - name1 - )) + cmd_output = self.openstack( + 'network create ' + + name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete ' + name1) self.assertIsNotNone(cmd_output["id"]) @@ -133,11 +135,12 @@ class NetworkTests(common.NetworkTagTests): # Network create with options name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + '--project demo ' + - name2 - )) + name2, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete ' + name2) self.assertIsNotNone(cmd_output["id"]) self.assertEqual( @@ -155,11 +158,12 @@ class NetworkTests(common.NetworkTagTests): self.skipTest("Skip Nova-net test") name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + '--subnet 9.8.7.6/28 ' + - name1 - )) + name1, + parse_output=True, + ) self.assertIsNotNone(cmd_output["id"]) self.assertEqual( name1, @@ -167,11 +171,12 @@ class NetworkTests(common.NetworkTagTests): ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + '--subnet 8.7.6.5/28 ' + - name2 - )) + name2, + parse_output=True, + ) self.assertIsNotNone(cmd_output["id"]) self.assertEqual( name2, @@ -184,11 +189,12 @@ class NetworkTests(common.NetworkTagTests): self.skipTest("No Network service present") name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + '--description aaaa ' + - name1 - )) + name1, + parse_output=True, + ) self.assertIsNotNone(cmd_output["id"]) self.assertEqual( 'aaaa', @@ -196,11 +202,12 @@ class NetworkTests(common.NetworkTagTests): ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + '--description bbbb ' + - name2 - )) + name2, + parse_output=True, + ) self.assertIsNotNone(cmd_output["id"]) self.assertEqual( 'bbbb', @@ -217,11 +224,12 @@ class NetworkTests(common.NetworkTagTests): network_options = '--description aaaa --no-default ' else: network_options = '--subnet 3.4.5.6/28 ' - cmd_output = json.loads(self.openstack( - 'network create -f json ' + + cmd_output = self.openstack( + 'network create ' + network_options + - name1 - )) + name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete %s' % name1) self.assertIsNotNone(cmd_output["id"]) if self.haz_network: @@ -254,10 +262,11 @@ class NetworkTests(common.NetworkTagTests): network_options = '--description bbbb --disable ' else: network_options = '--subnet 4.5.6.7/28 ' - cmd_output = json.loads(self.openstack( - 'network create -f json --share %s%s' % - (network_options, name2) - )) + cmd_output = self.openstack( + 'network create --share %s%s' % + (network_options, name2), + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete ' + name2) self.assertIsNotNone(cmd_output["id"]) if self.haz_network: @@ -280,54 +289,60 @@ class NetworkTests(common.NetworkTagTests): self.assertTrue(cmd_output["share_address"]) # Test list - cmd_output = json.loads(self.openstack( - "network list -f json " - )) + cmd_output = self.openstack( + "network list ", + parse_output=True, + ) col_name = [x["Name"] for x in cmd_output] self.assertIn(name1, col_name) self.assertIn(name2, col_name) # Test list --long if self.haz_network: - cmd_output = json.loads(self.openstack( - "network list -f json --long" - )) + cmd_output = self.openstack( + "network list --long", + parse_output=True, + ) col_name = [x["Name"] for x in cmd_output] self.assertIn(name1, col_name) self.assertIn(name2, col_name) # Test list --long --enable if self.haz_network: - cmd_output = json.loads(self.openstack( - "network list -f json --enable --long" - )) + cmd_output = self.openstack( + "network list --enable --long", + parse_output=True, + ) col_name = [x["Name"] for x in cmd_output] self.assertIn(name1, col_name) self.assertNotIn(name2, col_name) # Test list --long --disable if self.haz_network: - cmd_output = json.loads(self.openstack( - "network list -f json --disable --long" - )) + cmd_output = self.openstack( + "network list --disable --long", + parse_output=True, + ) col_name = [x["Name"] for x in cmd_output] self.assertNotIn(name1, col_name) self.assertIn(name2, col_name) # Test list --share if self.haz_network: - cmd_output = json.loads(self.openstack( - "network list -f json --share " - )) + cmd_output = self.openstack( + "network list --share ", + parse_output=True, + ) col_name = [x["Name"] for x in cmd_output] self.assertNotIn(name1, col_name) self.assertIn(name2, col_name) # Test list --no-share if self.haz_network: - cmd_output = json.loads(self.openstack( - "network list -f json --no-share " - )) + cmd_output = self.openstack( + "network list --no-share ", + parse_output=True, + ) col_name = [x["Name"] for x in cmd_output] self.assertIn(name1, col_name) self.assertNotIn(name2, col_name) @@ -339,9 +354,10 @@ class NetworkTests(common.NetworkTagTests): self.skipTest("No dhcp_agent_scheduler extension present") name1 = uuid.uuid4().hex - cmd_output1 = json.loads(self.openstack( - 'network create -f json --description aaaa %s' % name1 - )) + cmd_output1 = self.openstack( + 'network create --description aaaa %s' % name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete %s' % name1) @@ -349,9 +365,10 @@ class NetworkTests(common.NetworkTagTests): network_id = cmd_output1['id'] # Get DHCP Agent ID - cmd_output2 = json.loads(self.openstack( - 'network agent list -f json --agent-type dhcp' - )) + cmd_output2 = self.openstack( + 'network agent list --agent-type dhcp', + parse_output=True, + ) agent_id = cmd_output2[0]['ID'] # Add Agent to Network @@ -360,9 +377,10 @@ class NetworkTests(common.NetworkTagTests): ) # Test network list --agent - cmd_output3 = json.loads(self.openstack( - 'network list -f json --agent %s' % agent_id - )) + cmd_output3 = self.openstack( + 'network list --agent %s' % agent_id, + parse_output=True, + ) # Cleanup # Remove Agent from Network @@ -383,16 +401,17 @@ class NetworkTests(common.NetworkTagTests): self.skipTest("No Network service present") name = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + cmd_output = self.openstack( + 'network create ' '--description aaaa ' '--enable ' '--no-share ' '--internal ' '--no-default ' '--enable-port-security %s' % - name - )) + name, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete %s' % name) self.assertIsNotNone(cmd_output["id"]) self.assertEqual( @@ -425,9 +444,10 @@ class NetworkTests(common.NetworkTagTests): ) self.assertOutput('', raw_output) - cmd_output = json.loads(self.openstack( - 'network show -f json ' + name - )) + cmd_output = self.openstack( + 'network show ' + name, + parse_output=True, + ) self.assertEqual( 'cccc', diff --git a/openstackclient/tests/functional/network/v2/test_network_agent.py b/openstackclient/tests/functional/network/v2/test_network_agent.py index e558094598..d3e6353ed1 100644 --- a/openstackclient/tests/functional/network/v2/test_network_agent.py +++ b/openstackclient/tests/functional/network/v2/test_network_agent.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.network.v2 import common @@ -33,17 +32,19 @@ class NetworkAgentTests(common.NetworkTests): """ # agent list - agent_list = json.loads(self.openstack( - 'network agent list -f json' - )) + agent_list = self.openstack( + 'network agent list', + parse_output=True, + ) self.assertIsNotNone(agent_list[0]) agent_ids = list([row["ID"] for row in agent_list]) # agent show - cmd_output = json.loads(self.openstack( - 'network agent show -f json %s' % agent_ids[0] - )) + cmd_output = self.openstack( + 'network agent show %s' % agent_ids[0], + parse_output=True, + ) self.assertEqual( agent_ids[0], cmd_output['id'], @@ -60,9 +61,10 @@ class NetworkAgentTests(common.NetworkTests): ) self.assertOutput('', raw_output) - cmd_output = json.loads(self.openstack( - 'network agent show -f json %s' % agent_ids[0] - )) + cmd_output = self.openstack( + 'network agent show %s' % agent_ids[0], + parse_output=True, + ) self.assertEqual( False, cmd_output['admin_state_up'], @@ -73,9 +75,10 @@ class NetworkAgentTests(common.NetworkTests): ) self.assertOutput('', raw_output) - cmd_output = json.loads(self.openstack( - 'network agent show -f json %s' % agent_ids[0] - )) + cmd_output = self.openstack( + 'network agent show %s' % agent_ids[0], + parse_output=True, + ) self.assertEqual( True, cmd_output['admin_state_up'], @@ -98,9 +101,10 @@ class NetworkAgentListTests(common.NetworkTests): self.skipTest("No dhcp_agent_scheduler extension present") name1 = uuid.uuid4().hex - cmd_output1 = json.loads(self.openstack( - 'network create -f json --description aaaa %s' % name1 - )) + cmd_output1 = self.openstack( + 'network create --description aaaa %s' % name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete %s' % name1) @@ -108,9 +112,10 @@ class NetworkAgentListTests(common.NetworkTests): network_id = cmd_output1['id'] # Get DHCP Agent ID - cmd_output2 = json.loads(self.openstack( - 'network agent list -f json --agent-type dhcp' - )) + cmd_output2 = self.openstack( + 'network agent list --agent-type dhcp', + parse_output=True, + ) agent_id = cmd_output2[0]['ID'] # Add Agent to Network @@ -120,9 +125,10 @@ class NetworkAgentListTests(common.NetworkTests): ) # Test network agent list --network - cmd_output3 = json.loads(self.openstack( - 'network agent list -f json --network %s' % network_id - )) + cmd_output3 = self.openstack( + 'network agent list --network %s' % network_id, + parse_output=True, + ) # Cleanup # Remove Agent from Network @@ -144,15 +150,17 @@ class NetworkAgentListTests(common.NetworkTests): self.skipTest("No l3_agent_scheduler extension present") name = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'router create -f json %s' % name)) + cmd_output = self.openstack( + 'router create %s' % name, + parse_output=True,) self.addCleanup(self.openstack, 'router delete %s' % name) # Get router ID router_id = cmd_output['id'] # Get l3 agent id - cmd_output = json.loads(self.openstack( - 'network agent list -f json --agent-type l3')) + cmd_output = self.openstack( + 'network agent list --agent-type l3', + parse_output=True,) # Check at least one L3 agent is included in the response. self.assertTrue(cmd_output) @@ -163,8 +171,9 @@ class NetworkAgentListTests(common.NetworkTests): 'network agent add router --l3 %s %s' % (agent_id, router_id)) # Test router list --agent - cmd_output = json.loads(self.openstack( - 'network agent list -f json --router %s' % router_id)) + cmd_output = self.openstack( + 'network agent list --router %s' % router_id, + parse_output=True,) agent_ids = [x['ID'] for x in cmd_output] self.assertIn(agent_id, agent_ids) @@ -172,7 +181,8 @@ class NetworkAgentListTests(common.NetworkTests): # Remove router from agent self.openstack( 'network agent remove router --l3 %s %s' % (agent_id, router_id)) - cmd_output = json.loads(self.openstack( - 'network agent list -f json --router %s' % router_id)) + cmd_output = self.openstack( + 'network agent list --router %s' % router_id, + parse_output=True,) agent_ids = [x['ID'] for x in cmd_output] self.assertNotIn(agent_id, agent_ids) diff --git a/openstackclient/tests/functional/network/v2/test_network_flavor.py b/openstackclient/tests/functional/network/v2/test_network_flavor.py index cf68a096a2..2ac0daef54 100644 --- a/openstackclient/tests/functional/network/v2/test_network_flavor.py +++ b/openstackclient/tests/functional/network/v2/test_network_flavor.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. - -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -30,17 +28,19 @@ class NetworkFlavorTests(common.NetworkTests): """Test add and remove network flavor to/from profile""" # Create Flavor name1 = uuid.uuid4().hex - cmd_output1 = json.loads(self.openstack( - 'network flavor create -f json --description testdescription ' + cmd_output1 = self.openstack( + 'network flavor create --description testdescription ' '--enable --service-type L3_ROUTER_NAT ' + name1, - )) + parse_output=True, + ) flavor_id = cmd_output1.get('id') # Create Service Flavor - cmd_output2 = json.loads(self.openstack( - 'network flavor profile create -f json --description ' - 'fakedescription --enable --metainfo Extrainfo' - )) + cmd_output2 = self.openstack( + 'network flavor profile create --description ' + 'fakedescription --enable --metainfo Extrainfo', + parse_output=True, + ) service_profile_id = cmd_output2.get('id') self.addCleanup(self.openstack, 'network flavor delete %s' % @@ -53,9 +53,10 @@ class NetworkFlavorTests(common.NetworkTests): flavor_id + ' ' + service_profile_id ) - cmd_output4 = json.loads(self.openstack( - 'network flavor show -f json ' + flavor_id - )) + cmd_output4 = self.openstack( + 'network flavor show ' + flavor_id, + parse_output=True, + ) service_profile_ids1 = cmd_output4.get('service_profile_ids') # Assert @@ -68,9 +69,10 @@ class NetworkFlavorTests(common.NetworkTests): flavor_id + ' ' + service_profile_id ) - cmd_output6 = json.loads(self.openstack( - 'network flavor show -f json ' + flavor_id - )) + cmd_output6 = self.openstack( + 'network flavor show ' + flavor_id, + parse_output=True, + ) service_profile_ids2 = cmd_output6.get('service_profile_ids') # Assert @@ -79,10 +81,11 @@ class NetworkFlavorTests(common.NetworkTests): def test_network_flavor_delete(self): """Test create, delete multiple""" name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network flavor create -f json --description testdescription ' + cmd_output = self.openstack( + 'network flavor create --description testdescription ' '--enable --service-type L3_ROUTER_NAT ' + name1, - )) + parse_output=True, + ) self.assertEqual( name1, cmd_output['name'], @@ -94,10 +97,11 @@ class NetworkFlavorTests(common.NetworkTests): ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network flavor create -f json --description testdescription1 ' + cmd_output = self.openstack( + 'network flavor create --description testdescription1 ' '--disable --service-type L3_ROUTER_NAT ' + name2, - )) + parse_output=True, + ) self.assertEqual( name2, cmd_output['name'], @@ -114,10 +118,11 @@ class NetworkFlavorTests(common.NetworkTests): def test_network_flavor_list(self): """Test create defaults, list filters, delete""" name1 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network flavor create -f json --description testdescription ' + cmd_output = self.openstack( + 'network flavor create --description testdescription ' '--enable --service-type L3_ROUTER_NAT ' + name1, - )) + parse_output=True, + ) self.addCleanup(self.openstack, "network flavor delete " + name1) self.assertEqual( name1, @@ -133,10 +138,11 @@ class NetworkFlavorTests(common.NetworkTests): ) name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network flavor create -f json --description testdescription1 ' + cmd_output = self.openstack( + 'network flavor create --description testdescription1 ' '--disable --service-type L3_ROUTER_NAT ' + name2, - )) + parse_output=True, + ) self.assertEqual( name2, cmd_output['name'], @@ -152,8 +158,9 @@ class NetworkFlavorTests(common.NetworkTests): self.addCleanup(self.openstack, "network flavor delete " + name2) # Test list - cmd_output = json.loads(self.openstack( - 'network flavor list -f json ',)) + cmd_output = self.openstack( + 'network flavor list ', + parse_output=True,) self.assertIsNotNone(cmd_output) name_list = [item.get('Name') for item in cmd_output] @@ -164,10 +171,11 @@ class NetworkFlavorTests(common.NetworkTests): """Tests create options, set, show, delete""" name = uuid.uuid4().hex newname = name + "_" - cmd_output = json.loads(self.openstack( - 'network flavor create -f json --description testdescription ' + cmd_output = self.openstack( + 'network flavor create --description testdescription ' '--disable --service-type L3_ROUTER_NAT ' + name, - )) + parse_output=True, + ) self.addCleanup(self.openstack, "network flavor delete " + newname) self.assertEqual( name, @@ -187,8 +195,9 @@ class NetworkFlavorTests(common.NetworkTests): ) self.assertOutput('', raw_output) - cmd_output = json.loads(self.openstack( - 'network flavor show -f json ' + newname,)) + cmd_output = self.openstack( + 'network flavor show ' + newname, + parse_output=True,) self.assertEqual( newname, cmd_output['name'], @@ -205,13 +214,15 @@ class NetworkFlavorTests(common.NetworkTests): def test_network_flavor_show(self): """Test show network flavor""" name = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network flavor create -f json --description testdescription ' + cmd_output = self.openstack( + 'network flavor create --description testdescription ' '--disable --service-type L3_ROUTER_NAT ' + name, - )) + parse_output=True, + ) self.addCleanup(self.openstack, "network flavor delete " + name) - cmd_output = json.loads(self.openstack( - 'network flavor show -f json ' + name,)) + cmd_output = self.openstack( + 'network flavor show ' + name, + parse_output=True,) self.assertEqual( name, cmd_output['name'], diff --git a/openstackclient/tests/functional/network/v2/test_network_flavor_profile.py b/openstackclient/tests/functional/network/v2/test_network_flavor_profile.py index 5b5ec926de..60fd949b41 100644 --- a/openstackclient/tests/functional/network/v2/test_network_flavor_profile.py +++ b/openstackclient/tests/functional/network/v2/test_network_flavor_profile.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json - from openstackclient.tests.functional.network.v2 import common @@ -28,11 +26,12 @@ class NetworkFlavorProfileTests(common.NetworkTests): self.skipTest("No Network service present") def test_network_flavor_profile_create(self): - json_output = json.loads(self.openstack( - 'network flavor profile create -f json ' + + json_output = self.openstack( + 'network flavor profile create ' + '--description ' + self.DESCRIPTION + ' ' + - '--enable --metainfo ' + self.METAINFO - )) + '--enable --metainfo ' + self.METAINFO, + parse_output=True, + ) ID = json_output.get('id') self.assertIsNotNone(ID) self.assertTrue(json_output.get('enabled')) @@ -50,12 +49,13 @@ class NetworkFlavorProfileTests(common.NetworkTests): self.assertOutput('', raw_output) def test_network_flavor_profile_list(self): - json_output = json.loads(self.openstack( - 'network flavor profile create -f json ' + + json_output = self.openstack( + 'network flavor profile create ' + '--description ' + self.DESCRIPTION + ' ' + '--enable ' + - '--metainfo ' + self.METAINFO - )) + '--metainfo ' + self.METAINFO, + parse_output=True, + ) ID1 = json_output.get('id') self.assertIsNotNone(ID1) self.assertTrue(json_output.get('enabled')) @@ -68,12 +68,13 @@ class NetworkFlavorProfileTests(common.NetworkTests): json_output.get('meta_info'), ) - json_output = json.loads(self.openstack( - 'network flavor profile create -f json ' + + json_output = self.openstack( + 'network flavor profile create ' + '--description ' + self.DESCRIPTION + ' ' + '--disable ' + - '--metainfo ' + self.METAINFO - )) + '--metainfo ' + self.METAINFO, + parse_output=True, + ) ID2 = json_output.get('id') self.assertIsNotNone(ID2) self.assertFalse(json_output.get('enabled')) @@ -87,9 +88,10 @@ class NetworkFlavorProfileTests(common.NetworkTests): ) # Test list - json_output = json.loads(self.openstack( - 'network flavor profile list -f json' - )) + json_output = self.openstack( + 'network flavor profile list', + parse_output=True, + ) self.assertIsNotNone(json_output) id_list = [item.get('ID') for item in json_output] @@ -103,12 +105,13 @@ class NetworkFlavorProfileTests(common.NetworkTests): self.assertOutput('', raw_output) def test_network_flavor_profile_set(self): - json_output_1 = json.loads(self.openstack( - 'network flavor profile create -f json ' + + json_output_1 = self.openstack( + 'network flavor profile create ' + '--description ' + self.DESCRIPTION + ' ' + '--enable ' + - '--metainfo ' + self.METAINFO - )) + '--metainfo ' + self.METAINFO, + parse_output=True, + ) ID = json_output_1.get('id') self.assertIsNotNone(ID) self.assertTrue(json_output_1.get('enabled')) @@ -123,9 +126,10 @@ class NetworkFlavorProfileTests(common.NetworkTests): self.openstack('network flavor profile set --disable ' + ID) - json_output = json.loads(self.openstack( - 'network flavor profile show -f json ' + ID - )) + json_output = self.openstack( + 'network flavor profile show ' + ID, + parse_output=True, + ) self.assertFalse(json_output.get('enabled')) self.assertEqual( 'fakedescription', @@ -141,17 +145,19 @@ class NetworkFlavorProfileTests(common.NetworkTests): self.assertOutput('', raw_output) def test_network_flavor_profile_show(self): - json_output_1 = json.loads(self.openstack( - 'network flavor profile create -f json ' + + json_output_1 = self.openstack( + 'network flavor profile create ' + '--description ' + self.DESCRIPTION + ' ' + '--enable ' + - '--metainfo ' + self.METAINFO - )) + '--metainfo ' + self.METAINFO, + parse_output=True, + ) ID = json_output_1.get('id') self.assertIsNotNone(ID) - json_output = json.loads(self.openstack( - 'network flavor profile show -f json ' + ID - )) + json_output = self.openstack( + 'network flavor profile show ' + ID, + parse_output=True, + ) self.assertEqual( ID, json_output["id"], diff --git a/openstackclient/tests/functional/network/v2/test_network_meter.py b/openstackclient/tests/functional/network/v2/test_network_meter.py index 0a8b89cae0..ea9d289fdf 100644 --- a/openstackclient/tests/functional/network/v2/test_network_meter.py +++ b/openstackclient/tests/functional/network/v2/test_network_meter.py @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -38,11 +37,12 @@ class TestMeter(common.NetworkTests): name1 = uuid.uuid4().hex name2 = uuid.uuid4().hex description = 'fakedescription' - json_output = json.loads(self.openstack( - 'network meter create -f json ' + + json_output = self.openstack( + 'network meter create ' + ' --description ' + description + ' ' + - name1 - )) + name1, + parse_output=True, + ) self.assertEqual( name1, json_output.get('name'), @@ -54,11 +54,12 @@ class TestMeter(common.NetworkTests): json_output.get('description'), ) - json_output_2 = json.loads(self.openstack( - 'network meter create -f json ' + + json_output_2 = self.openstack( + 'network meter create ' + '--description ' + description + ' ' + - name2 - )) + name2, + parse_output=True, + ) self.assertEqual( name2, json_output_2.get('name'), @@ -78,12 +79,13 @@ class TestMeter(common.NetworkTests): def test_meter_list(self): """Test create, list filters, delete""" name1 = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'network meter create -f json ' + + json_output = self.openstack( + 'network meter create ' + '--description Test1 ' + '--share ' + - name1 - )) + name1, + parse_output=True, + ) self.addCleanup( self.openstack, 'network meter delete ' + name1 @@ -96,12 +98,13 @@ class TestMeter(common.NetworkTests): self.assertTrue(json_output.get('shared')) name2 = uuid.uuid4().hex - json_output_2 = json.loads(self.openstack( - 'network meter create -f json ' + + json_output_2 = self.openstack( + 'network meter create ' + '--description Test2 ' + '--no-share ' + - name2 - )) + name2, + parse_output=True, + ) self.addCleanup(self.openstack, 'network meter delete ' + name2) self.assertEqual( @@ -112,7 +115,7 @@ class TestMeter(common.NetworkTests): json_output_2.get('shared'), ) - raw_output = json.loads(self.openstack('network meter list -f json')) + raw_output = self.openstack('network meter list', parse_output=True) name_list = [item.get('Name') for item in raw_output] self.assertIn(name1, name_list) self.assertIn(name2, name_list) @@ -121,18 +124,20 @@ class TestMeter(common.NetworkTests): """Test create, show, delete""" name1 = uuid.uuid4().hex description = 'fakedescription' - json_output = json.loads(self.openstack( - 'network meter create -f json ' + + json_output = self.openstack( + 'network meter create ' + ' --description ' + description + ' ' + - name1 - )) + name1, + parse_output=True, + ) meter_id = json_output.get('id') self.addCleanup(self.openstack, 'network meter delete ' + name1) # Test show with ID - json_output = json.loads(self.openstack( - 'network meter show -f json ' + meter_id - )) + json_output = self.openstack( + 'network meter show ' + meter_id, + parse_output=True, + ) self.assertFalse(json_output.get('shared')) self.assertEqual( 'fakedescription', @@ -144,9 +149,10 @@ class TestMeter(common.NetworkTests): ) # Test show with name - json_output = json.loads(self.openstack( - 'network meter show -f json ' + name1 - )) + json_output = self.openstack( + 'network meter show ' + name1, + parse_output=True, + ) self.assertEqual( meter_id, json_output.get('id'), diff --git a/openstackclient/tests/functional/network/v2/test_network_meter_rule.py b/openstackclient/tests/functional/network/v2/test_network_meter_rule.py index 31bc08453b..ae1bb90444 100644 --- a/openstackclient/tests/functional/network/v2/test_network_meter_rule.py +++ b/openstackclient/tests/functional/network/v2/test_network_meter_rule.py @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -31,10 +30,11 @@ class TestMeterRule(common.NetworkTests): if cls.haz_network: cls.METER_NAME = uuid.uuid4().hex - json_output = json.loads(cls.openstack( - 'network meter create -f json ' + - cls.METER_NAME - )) + json_output = cls.openstack( + 'network meter create ' + + cls.METER_NAME, + parse_output=True, + ) cls.METER_ID = json_output.get('id') @classmethod @@ -57,11 +57,12 @@ class TestMeterRule(common.NetworkTests): def test_meter_rule_delete(self): """test create, delete""" - json_output = json.loads(self.openstack( - 'network meter rule create -f json ' + + json_output = self.openstack( + 'network meter rule create ' + '--remote-ip-prefix 10.0.0.0/8 ' + - self.METER_ID - )) + self.METER_ID, + parse_output=True, + ) rule_id = json_output.get('id') re_ip = json_output.get('remote_ip_prefix') @@ -77,11 +78,12 @@ class TestMeterRule(common.NetworkTests): def test_meter_rule_list(self): """Test create, list, delete""" - json_output = json.loads(self.openstack( - 'network meter rule create -f json ' + + json_output = self.openstack( + 'network meter rule create ' + '--remote-ip-prefix 10.0.0.0/8 ' + - self.METER_ID - )) + self.METER_ID, + parse_output=True, + ) rule_id_1 = json_output.get('id') self.addCleanup( self.openstack, @@ -92,11 +94,12 @@ class TestMeterRule(common.NetworkTests): json_output.get('remote_ip_prefix') ) - json_output_1 = json.loads(self.openstack( - 'network meter rule create -f json ' + + json_output_1 = self.openstack( + 'network meter rule create ' + '--remote-ip-prefix 11.0.0.0/8 ' + - self.METER_ID - )) + self.METER_ID, + parse_output=True, + ) rule_id_2 = json_output_1.get('id') self.addCleanup( self.openstack, @@ -107,9 +110,10 @@ class TestMeterRule(common.NetworkTests): json_output_1.get('remote_ip_prefix') ) - json_output = json.loads(self.openstack( - 'network meter rule list -f json' - )) + json_output = self.openstack( + 'network meter rule list', + parse_output=True, + ) rule_id_list = [item.get('ID') for item in json_output] ip_prefix_list = [item.get('Remote IP Prefix') for item in json_output] self.assertIn(rule_id_1, rule_id_list) @@ -119,12 +123,13 @@ class TestMeterRule(common.NetworkTests): def test_meter_rule_show(self): """Test create, show, delete""" - json_output = json.loads(self.openstack( - 'network meter rule create -f json ' + + json_output = self.openstack( + 'network meter rule create ' + '--remote-ip-prefix 10.0.0.0/8 ' + '--egress ' + - self.METER_ID - )) + self.METER_ID, + parse_output=True, + ) rule_id = json_output.get('id') self.assertEqual( @@ -132,9 +137,10 @@ class TestMeterRule(common.NetworkTests): json_output.get('direction') ) - json_output = json.loads(self.openstack( - 'network meter rule show -f json ' + rule_id - )) + json_output = self.openstack( + 'network meter rule show ' + rule_id, + parse_output=True, + ) self.assertEqual( '10.0.0.0/8', json_output.get('remote_ip_prefix') diff --git a/openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py b/openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py index a10aef6b55..588b1f56ae 100644 --- a/openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py +++ b/openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py @@ -10,9 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. - -import json - from openstackclient.tests.functional.network.v2 import common @@ -36,38 +33,45 @@ class L3NDPProxyTests(common.NetworkTests): self.SUBNET_P_NAME = self.getUniqueString() self.created_ndp_proxies = [] - json_output = json.loads( - self.openstack( - 'address scope create -f json --ip-version 6 ' - '%(address_s_name)s' % { - 'address_s_name': self.ADDR_SCOPE_NAME})) + json_output = self.openstack( + 'address scope create --ip-version 6 ' + '%(address_s_name)s' % {'address_s_name': self.ADDR_SCOPE_NAME}, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.ADDRESS_SCOPE_ID = json_output['id'] - json_output = json.loads( - self.openstack( - 'subnet pool create -f json %(subnet_p_name)s ' - '--address-scope %(address_scope)s ' - '--pool-prefix 2001:db8::/96 --default-prefix-length 112' % { - 'subnet_p_name': self.SUBNET_P_NAME, - 'address_scope': self.ADDRESS_SCOPE_ID})) + json_output = self.openstack( + 'subnet pool create %(subnet_p_name)s ' + '--address-scope %(address_scope)s ' + '--pool-prefix 2001:db8::/96 --default-prefix-length 112' % { + 'subnet_p_name': self.SUBNET_P_NAME, + 'address_scope': self.ADDRESS_SCOPE_ID, + }, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.SUBNET_POOL_ID = json_output['id'] - json_output = json.loads( - self.openstack('network create -f json ' - '--external ' + self.EXT_NET_NAME)) + json_output = self.openstack( + 'network create --external ' + self.EXT_NET_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.EXT_NET_ID = json_output['id'] - json_output = json.loads( - self.openstack( - 'subnet create -f json --ip-version 6 --subnet-pool ' - '%(subnet_pool)s --network %(net_id)s %(sub_name)s' % { - 'subnet_pool': self.SUBNET_POOL_ID, - 'net_id': self.EXT_NET_ID, - 'sub_name': self.EXT_SUB_NAME})) + json_output = self.openstack( + 'subnet create --ip-version 6 --subnet-pool ' + '%(subnet_pool)s --network %(net_id)s %(sub_name)s' % { + 'subnet_pool': self.SUBNET_POOL_ID, + 'net_id': self.EXT_NET_ID, + 'sub_name': self.EXT_SUB_NAME, + }, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.EXT_SUB_ID = json_output['id'] - json_output = json.loads( - self.openstack('router create -f json ' + self.ROT_NAME)) + json_output = self.openstack( + 'router create ' + self.ROT_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.ROT_ID = json_output['id'] output = self.openstack( @@ -77,29 +81,36 @@ class L3NDPProxyTests(common.NetworkTests): self.assertEqual('', output) output = self.openstack('router set --enable-ndp-proxy ' + self.ROT_ID) self.assertEqual('', output) - json_output = json.loads( - self.openstack( - 'router show -f json -c enable_ndp_proxy ' + self.ROT_ID)) + json_output = self.openstack( + 'router show -c enable_ndp_proxy ' + self.ROT_ID, + parse_output=True, + ) self.assertTrue(json_output['enable_ndp_proxy']) - json_output = json.loads( - self.openstack('network create -f json ' + self.INT_NET_NAME)) + json_output = self.openstack( + 'network create ' + self.INT_NET_NAME, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.INT_NET_ID = json_output['id'] - json_output = json.loads( - self.openstack( - 'subnet create -f json --ip-version 6 --subnet-pool ' - '%(subnet_pool)s --network %(net_id)s %(sub_name)s' % { - 'subnet_pool': self.SUBNET_POOL_ID, - 'net_id': self.INT_NET_ID, - 'sub_name': self.INT_SUB_NAME})) + json_output = self.openstack( + 'subnet create --ip-version 6 --subnet-pool ' + '%(subnet_pool)s --network %(net_id)s %(sub_name)s' % { + 'subnet_pool': self.SUBNET_POOL_ID, + 'net_id': self.INT_NET_ID, + 'sub_name': self.INT_SUB_NAME, + }, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.INT_SUB_ID = json_output['id'] - json_output = json.loads( - self.openstack( - 'port create -f json --network %(net_id)s ' - '%(port_name)s' % { - 'net_id': self.INT_NET_ID, - 'port_name': self.INT_PORT_NAME})) + json_output = self.openstack( + 'port create --network %(net_id)s ' + '%(port_name)s' % { + 'net_id': self.INT_NET_ID, + 'port_name': self.INT_PORT_NAME, + }, + parse_output=True, + ) self.assertIsNotNone(json_output['id']) self.INT_PORT_ID = json_output['id'] self.INT_PORT_ADDRESS = json_output['fixed_ips'][0]['ip_address'] @@ -142,14 +153,16 @@ class L3NDPProxyTests(common.NetworkTests): def _create_ndp_proxies(self, ndp_proxies): for ndp_proxy in ndp_proxies: - output = json.loads( - self.openstack( - 'router ndp proxy create %(router)s --name %(name)s ' - '--port %(port)s --ip-address %(address)s -f json' % { - 'router': ndp_proxy['router_id'], - 'name': ndp_proxy['name'], - 'port': ndp_proxy['port_id'], - 'address': ndp_proxy['address']})) + output = self.openstack( + 'router ndp proxy create %(router)s --name %(name)s ' + '--port %(port)s --ip-address %(address)s' % { + 'router': ndp_proxy['router_id'], + 'name': ndp_proxy['name'], + 'port': ndp_proxy['port_id'], + 'address': ndp_proxy['address'], + }, + parse_output=True, + ) self.assertEqual(ndp_proxy['router_id'], output['router_id']) self.assertEqual(ndp_proxy['port_id'], output['port_id']) self.assertEqual(ndp_proxy['address'], output['ip_address']) @@ -173,8 +186,9 @@ class L3NDPProxyTests(common.NetworkTests): 'port_id': self.INT_PORT_ID, 'address': self.INT_PORT_ADDRESS} self._create_ndp_proxies([ndp_proxies]) - ndp_proxy = json.loads(self.openstack( - 'router ndp proxy list -f json'))[0] + ndp_proxy = self.openstack( + 'router ndp proxy list', + parse_output=True,)[0] self.assertEqual(ndp_proxies['name'], ndp_proxy['Name']) self.assertEqual(ndp_proxies['router_id'], ndp_proxy['Router ID']) self.assertEqual(ndp_proxies['address'], ndp_proxy['IP Address']) @@ -192,8 +206,10 @@ class L3NDPProxyTests(common.NetworkTests): 'router ndp proxy set --description %s %s' % ( description, ndp_proxy_id)) self.assertEqual('', output) - json_output = json.loads( - self.openstack('router ndp proxy show -f json ' + ndp_proxy_id)) + json_output = self.openstack( + 'router ndp proxy show ' + ndp_proxy_id, + parse_output=True, + ) self.assertEqual(ndp_proxies['name'], json_output['name']) self.assertEqual(ndp_proxies['router_id'], json_output['router_id']) self.assertEqual(ndp_proxies['port_id'], json_output['port_id']) diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_policy.py b/openstackclient/tests/functional/network/v2/test_network_qos_policy.py index 02e6402802..b603cf1f69 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_policy.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_policy.py @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -31,7 +30,7 @@ class NetworkQosPolicyTests(common.NetworkTests): def test_qos_rule_create_delete(self): # This is to check the output of qos policy delete policy_name = uuid.uuid4().hex - self.openstack('network qos policy create -f json ' + policy_name) + self.openstack('network qos policy create ' + policy_name) raw_output = self.openstack( 'network qos policy delete ' + policy_name @@ -40,25 +39,28 @@ class NetworkQosPolicyTests(common.NetworkTests): def test_qos_policy_list(self): policy_name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'network qos policy create -f json ' + - policy_name - )) + json_output = self.openstack( + 'network qos policy create ' + + policy_name, + parse_output=True, + ) self.addCleanup(self.openstack, 'network qos policy delete ' + policy_name) self.assertEqual(policy_name, json_output['name']) - json_output = json.loads(self.openstack( - 'network qos policy list -f json' - )) + json_output = self.openstack( + 'network qos policy list', + parse_output=True, + ) self.assertIn(policy_name, [p['Name'] for p in json_output]) def test_qos_policy_set(self): policy_name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'network qos policy create -f json ' + - policy_name - )) + json_output = self.openstack( + 'network qos policy create ' + + policy_name, + parse_output=True, + ) self.addCleanup(self.openstack, 'network qos policy delete ' + policy_name) self.assertEqual(policy_name, json_output['name']) @@ -69,10 +71,11 @@ class NetworkQosPolicyTests(common.NetworkTests): policy_name ) - json_output = json.loads(self.openstack( - 'network qos policy show -f json ' + - policy_name - )) + json_output = self.openstack( + 'network qos policy show ' + + policy_name, + parse_output=True, + ) self.assertTrue(json_output['shared']) self.openstack( @@ -81,9 +84,10 @@ class NetworkQosPolicyTests(common.NetworkTests): '--no-default ' + policy_name ) - json_output = json.loads(self.openstack( - 'network qos policy show -f json ' + - policy_name - )) + json_output = self.openstack( + 'network qos policy show ' + + policy_name, + parse_output=True, + ) self.assertFalse(json_output['shared']) self.assertFalse(json_output['is_default']) diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_rule.py b/openstackclient/tests/functional/network/v2/test_network_qos_rule.py index fd411b3540..0fe1854bc0 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_rule.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_rule.py @@ -13,7 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -35,13 +34,14 @@ class NetworkQosRuleTestsMinimumBandwidth(common.NetworkTests): ) self.addCleanup(self.openstack, 'network qos policy delete %s' % self.QOS_POLICY_NAME) - cmd_output = json.loads(self.openstack( - 'network qos rule create -f json ' + cmd_output = self.openstack( + 'network qos rule create ' '--type minimum-bandwidth ' '--min-kbps 2800 ' '--egress %s' % - self.QOS_POLICY_NAME - )) + self.QOS_POLICY_NAME, + parse_output=True, + ) self.RULE_ID = cmd_output['id'] self.addCleanup(self.openstack, 'network qos rule delete %s %s' % @@ -51,37 +51,43 @@ class NetworkQosRuleTestsMinimumBandwidth(common.NetworkTests): def test_qos_rule_create_delete(self): # This is to check the output of qos rule delete policy_name = uuid.uuid4().hex - self.openstack('network qos policy create -f json %s' % policy_name) + self.openstack('network qos policy create %s' % policy_name) self.addCleanup(self.openstack, 'network qos policy delete %s' % policy_name) - rule = json.loads(self.openstack( - 'network qos rule create -f json ' + rule = self.openstack( + 'network qos rule create ' '--type minimum-bandwidth ' '--min-kbps 2800 ' - '--egress %s' % policy_name - )) + '--egress %s' % policy_name, + parse_output=True, + ) raw_output = self.openstack( 'network qos rule delete %s %s' % (policy_name, rule['id'])) self.assertEqual('', raw_output) def test_qos_rule_list(self): - cmd_output = json.loads(self.openstack( - 'network qos rule list -f json %s' % self.QOS_POLICY_NAME)) + cmd_output = self.openstack( + 'network qos rule list %s' % self.QOS_POLICY_NAME, + parse_output=True,) self.assertIn(self.RULE_ID, [rule['ID'] for rule in cmd_output]) def test_qos_rule_show(self): - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(self.RULE_ID, cmd_output['id']) def test_qos_rule_set(self): self.openstack('network qos rule set --min-kbps 7500 %s %s' % (self.QOS_POLICY_NAME, self.RULE_ID)) - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(7500, cmd_output['min_kbps']) @@ -101,13 +107,14 @@ class NetworkQosRuleTestsMinimumPacketRate(common.NetworkTests): ) self.addCleanup(self.openstack, 'network qos policy delete %s' % self.QOS_POLICY_NAME) - cmd_output = json.loads(self.openstack( - 'network qos rule create -f json ' + cmd_output = self.openstack( + 'network qos rule create ' '--type minimum-packet-rate ' '--min-kpps 2800 ' '--egress %s' % - self.QOS_POLICY_NAME - )) + self.QOS_POLICY_NAME, + parse_output=True, + ) self.RULE_ID = cmd_output['id'] self.addCleanup(self.openstack, 'network qos rule delete %s %s' % @@ -117,37 +124,43 @@ class NetworkQosRuleTestsMinimumPacketRate(common.NetworkTests): def test_qos_rule_create_delete(self): # This is to check the output of qos rule delete policy_name = uuid.uuid4().hex - self.openstack('network qos policy create -f json %s' % policy_name) + self.openstack('network qos policy create %s' % policy_name) self.addCleanup(self.openstack, 'network qos policy delete %s' % policy_name) - rule = json.loads(self.openstack( - 'network qos rule create -f json ' + rule = self.openstack( + 'network qos rule create ' '--type minimum-packet-rate ' '--min-kpps 2800 ' - '--egress %s' % policy_name - )) + '--egress %s' % policy_name, + parse_output=True, + ) raw_output = self.openstack( 'network qos rule delete %s %s' % (policy_name, rule['id'])) self.assertEqual('', raw_output) def test_qos_rule_list(self): - cmd_output = json.loads(self.openstack( - 'network qos rule list -f json %s' % self.QOS_POLICY_NAME)) + cmd_output = self.openstack( + 'network qos rule list %s' % self.QOS_POLICY_NAME, + parse_output=True,) self.assertIn(self.RULE_ID, [rule['ID'] for rule in cmd_output]) def test_qos_rule_show(self): - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(self.RULE_ID, cmd_output['id']) def test_qos_rule_set(self): self.openstack('network qos rule set --min-kpps 7500 --any %s %s' % (self.QOS_POLICY_NAME, self.RULE_ID)) - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(7500, cmd_output['min_kpps']) self.assertEqual('any', cmd_output['direction']) @@ -167,12 +180,13 @@ class NetworkQosRuleTestsDSCPMarking(common.NetworkTests): ) self.addCleanup(self.openstack, 'network qos policy delete %s' % self.QOS_POLICY_NAME) - cmd_output = json.loads(self.openstack( - 'network qos rule create -f json ' + cmd_output = self.openstack( + 'network qos rule create ' '--type dscp-marking ' '--dscp-mark 8 %s' % - self.QOS_POLICY_NAME - )) + self.QOS_POLICY_NAME, + parse_output=True, + ) self.RULE_ID = cmd_output['id'] self.addCleanup(self.openstack, 'network qos rule delete %s %s' % @@ -182,36 +196,42 @@ class NetworkQosRuleTestsDSCPMarking(common.NetworkTests): def test_qos_rule_create_delete(self): # This is to check the output of qos rule delete policy_name = uuid.uuid4().hex - self.openstack('network qos policy create -f json %s' % policy_name) + self.openstack('network qos policy create %s' % policy_name) self.addCleanup(self.openstack, 'network qos policy delete %s' % policy_name) - rule = json.loads(self.openstack( - 'network qos rule create -f json ' + rule = self.openstack( + 'network qos rule create ' '--type dscp-marking ' - '--dscp-mark 8 %s' % policy_name - )) + '--dscp-mark 8 %s' % policy_name, + parse_output=True, + ) raw_output = self.openstack( 'network qos rule delete %s %s' % (policy_name, rule['id'])) self.assertEqual('', raw_output) def test_qos_rule_list(self): - cmd_output = json.loads(self.openstack( - 'network qos rule list -f json %s' % self.QOS_POLICY_NAME)) + cmd_output = self.openstack( + 'network qos rule list %s' % self.QOS_POLICY_NAME, + parse_output=True,) self.assertIn(self.RULE_ID, [rule['ID'] for rule in cmd_output]) def test_qos_rule_show(self): - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(self.RULE_ID, cmd_output['id']) def test_qos_rule_set(self): self.openstack('network qos rule set --dscp-mark 32 %s %s' % (self.QOS_POLICY_NAME, self.RULE_ID)) - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(32, cmd_output['dscp_mark']) @@ -230,13 +250,14 @@ class NetworkQosRuleTestsBandwidthLimit(common.NetworkTests): ) self.addCleanup(self.openstack, 'network qos policy delete %s' % self.QOS_POLICY_NAME) - cmd_output = json.loads(self.openstack( - 'network qos rule create -f json ' + cmd_output = self.openstack( + 'network qos rule create ' '--type bandwidth-limit ' '--max-kbps 10000 ' '--egress %s' % - self.QOS_POLICY_NAME - )) + self.QOS_POLICY_NAME, + parse_output=True, + ) self.RULE_ID = cmd_output['id'] self.addCleanup(self.openstack, 'network qos rule delete %s %s' % @@ -246,31 +267,35 @@ class NetworkQosRuleTestsBandwidthLimit(common.NetworkTests): def test_qos_rule_create_delete(self): # This is to check the output of qos rule delete policy_name = uuid.uuid4().hex - self.openstack('network qos policy create -f json %s' % policy_name) + self.openstack('network qos policy create %s' % policy_name) self.addCleanup(self.openstack, 'network qos policy delete %s' % policy_name) - rule = json.loads(self.openstack( - 'network qos rule create -f json ' + rule = self.openstack( + 'network qos rule create ' '--type bandwidth-limit ' '--max-kbps 10000 ' '--max-burst-kbits 1400 ' - '--egress %s' % policy_name - )) + '--egress %s' % policy_name, + parse_output=True, + ) raw_output = self.openstack( 'network qos rule delete %s %s' % (policy_name, rule['id'])) self.assertEqual('', raw_output) def test_qos_rule_list(self): - cmd_output = json.loads(self.openstack( - 'network qos rule list -f json %s' % - self.QOS_POLICY_NAME)) + cmd_output = self.openstack( + 'network qos rule list %s' % + self.QOS_POLICY_NAME, + parse_output=True,) self.assertIn(self.RULE_ID, [rule['ID'] for rule in cmd_output]) def test_qos_rule_show(self): - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(self.RULE_ID, cmd_output['id']) def test_qos_rule_set(self): @@ -278,9 +303,11 @@ class NetworkQosRuleTestsBandwidthLimit(common.NetworkTests): '--max-burst-kbits 1800 ' '--ingress %s %s' % (self.QOS_POLICY_NAME, self.RULE_ID)) - cmd_output = json.loads(self.openstack( - 'network qos rule show -f json %s %s' % - (self.QOS_POLICY_NAME, self.RULE_ID))) + cmd_output = self.openstack( + 'network qos rule show %s %s' % + (self.QOS_POLICY_NAME, self.RULE_ID), + parse_output=True, + ) self.assertEqual(15000, cmd_output['max_kbps']) self.assertEqual(1800, cmd_output['max_burst_kbps']) self.assertEqual('ingress', cmd_output['direction']) diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py b/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py index 56cd8920b8..6b719cbe48 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py @@ -13,8 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json - from openstackclient.tests.functional.network.v2 import common @@ -31,14 +29,18 @@ class NetworkQosRuleTypeTests(common.NetworkTests): self.skipTest("No Network service present") def test_qos_rule_type_list(self): - cmd_output = json.loads(self.openstack( - 'network qos rule type list -f json')) + cmd_output = self.openstack( + 'network qos rule type list -f json', + parse_output=True, + ) for rule_type in self.AVAILABLE_RULE_TYPES: self.assertIn(rule_type, [x['Type'] for x in cmd_output]) def test_qos_rule_type_details(self): for rule_type in self.AVAILABLE_RULE_TYPES: - cmd_output = json.loads(self.openstack( - 'network qos rule type show %s -f json' % rule_type)) + cmd_output = self.openstack( + 'network qos rule type show %s -f json' % rule_type, + parse_output=True, + ) self.assertEqual(rule_type, cmd_output['rule_type_name']) self.assertIn("drivers", cmd_output.keys()) diff --git a/openstackclient/tests/functional/network/v2/test_network_rbac.py b/openstackclient/tests/functional/network/v2/test_network_rbac.py index 3bbe4f27cf..cb66759afc 100644 --- a/openstackclient/tests/functional/network/v2/test_network_rbac.py +++ b/openstackclient/tests/functional/network/v2/test_network_rbac.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.network.v2 import common @@ -32,41 +31,47 @@ class NetworkRBACTests(common.NetworkTests): self.NET_NAME = uuid.uuid4().hex self.PROJECT_NAME = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'network create -f json ' + self.NET_NAME - )) + cmd_output = self.openstack( + 'network create ' + self.NET_NAME, + parse_output=True, + ) self.addCleanup(self.openstack, 'network delete ' + cmd_output['id']) self.OBJECT_ID = cmd_output['id'] - cmd_output = json.loads(self.openstack( - 'network rbac create -f json ' + + cmd_output = self.openstack( + 'network rbac create ' + self.OBJECT_ID + ' --action access_as_shared' + ' --target-project admin' + - ' --type network' - )) + ' --type network', + parse_output=True, + ) self.addCleanup(self.openstack, 'network rbac delete ' + cmd_output['id']) self.ID = cmd_output['id'] self.assertEqual(self.OBJECT_ID, cmd_output['object_id']) def test_network_rbac_list(self): - cmd_output = json.loads(self.openstack('network rbac list -f json')) + cmd_output = self.openstack('network rbac list', parse_output=True) self.assertIn(self.ID, [rbac['ID'] for rbac in cmd_output]) def test_network_rbac_show(self): - cmd_output = json.loads(self.openstack( - 'network rbac show -f json ' + self.ID)) + cmd_output = self.openstack( + 'network rbac show ' + self.ID, + parse_output=True,) self.assertEqual(self.ID, cmd_output['id']) def test_network_rbac_set(self): - project_id = json.loads(self.openstack( - 'project create -f json ' + self.PROJECT_NAME))['id'] + project_id = self.openstack( + 'project create ' + self.PROJECT_NAME, + parse_output=True,)['id'] self.openstack('network rbac set ' + self.ID + ' --target-project ' + self.PROJECT_NAME) - cmd_output_rbac = json.loads(self.openstack( - 'network rbac show -f json ' + self.ID)) + cmd_output_rbac = self.openstack( + 'network rbac show ' + self.ID, + parse_output=True, + ) self.assertEqual(project_id, cmd_output_rbac['target_project_id']) raw_output_project = self.openstack( 'project delete ' + self.PROJECT_NAME) diff --git a/openstackclient/tests/functional/network/v2/test_network_segment.py b/openstackclient/tests/functional/network/v2/test_network_segment.py index 6ffb11cfc0..111c4dc3f8 100644 --- a/openstackclient/tests/functional/network/v2/test_network_segment.py +++ b/openstackclient/tests/functional/network/v2/test_network_segment.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.network.v2 import common @@ -27,10 +26,9 @@ class NetworkSegmentTests(common.NetworkTests): cls.PHYSICAL_NETWORK_NAME = uuid.uuid4().hex # Create a network for the all subnet tests - cmd_output = json.loads(cls.openstack( - 'network create -f json ' + - cls.NETWORK_NAME - )) + cmd_output = cls.openstack( + 'network create ' + cls.NETWORK_NAME, parse_output=True, + ) # Get network_id for assertEqual cls.NETWORK_ID = cmd_output["id"] @@ -54,13 +52,14 @@ class NetworkSegmentTests(common.NetworkTests): def test_network_segment_create_delete(self): name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - ' network segment create -f json ' + + json_output = self.openstack( + ' network segment create ' + '--network ' + self.NETWORK_ID + ' ' + '--network-type geneve ' + '--segment 2055 ' + - name - )) + name, + parse_output=True, + ) self.assertEqual( name, json_output["name"], @@ -73,13 +72,14 @@ class NetworkSegmentTests(common.NetworkTests): def test_network_segment_list(self): name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - ' network segment create -f json ' + + json_output = self.openstack( + ' network segment create ' + '--network ' + self.NETWORK_ID + ' ' + '--network-type geneve ' + '--segment 2055 ' + - name - )) + name, + parse_output=True, + ) network_segment_id = json_output.get('id') network_segment_name = json_output.get('name') self.addCleanup( @@ -91,9 +91,10 @@ class NetworkSegmentTests(common.NetworkTests): json_output["name"], ) - json_output = json.loads(self.openstack( - 'network segment list -f json' - )) + json_output = self.openstack( + 'network segment list', + parse_output=True, + ) item_map = { item.get('ID'): item.get('Name') for item in json_output } @@ -102,21 +103,23 @@ class NetworkSegmentTests(common.NetworkTests): def test_network_segment_set_show(self): name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - ' network segment create -f json ' + + json_output = self.openstack( + ' network segment create ' + '--network ' + self.NETWORK_ID + ' ' + '--network-type geneve ' + '--segment 2055 ' + - name - )) + name, + parse_output=True, + ) self.addCleanup( self.openstack, 'network segment delete ' + name ) - extension_output = json.loads(self.openstack( - "extension list -f json " - )) + extension_output = self.openstack( + "extension list ", + parse_output=True, + ) ext_alias = [x["Alias"] for x in extension_output] if "standard-attr-segment" in ext_alias: self.assertEqual( @@ -136,10 +139,11 @@ class NetworkSegmentTests(common.NetworkTests): ) self.assertOutput('', cmd_output) - json_output = json.loads(self.openstack( - 'network segment show -f json ' + - name - )) + json_output = self.openstack( + 'network segment show ' + + name, + parse_output=True, + ) self.assertEqual( new_description, json_output["description"], diff --git a/openstackclient/tests/functional/network/v2/test_network_segment_range.py b/openstackclient/tests/functional/network/v2/test_network_segment_range.py index 37c87dd59d..5cdf581241 100644 --- a/openstackclient/tests/functional/network/v2/test_network_segment_range.py +++ b/openstackclient/tests/functional/network/v2/test_network_segment_range.py @@ -14,7 +14,6 @@ # under the License. # -import json import uuid from openstackclient.tests.functional.network.v2 import common @@ -34,18 +33,20 @@ class NetworkSegmentRangeTests(common.NetworkTests): def test_network_segment_range_create_delete(self): # Make a project - project_id = json.loads(self.openstack( - 'project create -f json ' + self.PROJECT_NAME))['id'] + project_id = self.openstack( + 'project create ' + self.PROJECT_NAME, + parse_output=True,)['id'] name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - ' network segment range create -f json ' + + json_output = self.openstack( + ' network segment range create ' + '--private ' + "--project " + self.PROJECT_NAME + " " + '--network-type vxlan ' + '--minimum 2005 ' + '--maximum 2009 ' + - name - )) + name, + parse_output=True, + ) self.assertEqual( name, json_output["name"], @@ -65,14 +66,15 @@ class NetworkSegmentRangeTests(common.NetworkTests): def test_network_segment_range_list(self): name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - ' network segment range create -f json ' + + json_output = self.openstack( + ' network segment range create ' + '--shared ' + '--network-type geneve ' + '--minimum 2013 ' + '--maximum 2017 ' + - name - )) + name, + parse_output=True, + ) network_segment_range_id = json_output.get('id') network_segment_range_name = json_output.get('name') self.addCleanup( @@ -84,9 +86,10 @@ class NetworkSegmentRangeTests(common.NetworkTests): json_output["name"], ) - json_output = json.loads(self.openstack( - 'network segment range list -f json' - )) + json_output = self.openstack( + 'network segment range list', + parse_output=True, + ) item_map = { item.get('ID'): item.get('Name') for item in json_output } @@ -94,18 +97,20 @@ class NetworkSegmentRangeTests(common.NetworkTests): self.assertIn(network_segment_range_name, item_map.values()) def test_network_segment_range_set_show(self): - project_id = json.loads(self.openstack( - 'project create -f json ' + self.PROJECT_NAME))['id'] + project_id = self.openstack( + 'project create ' + self.PROJECT_NAME, + parse_output=True,)['id'] name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - ' network segment range create -f json ' + + json_output = self.openstack( + ' network segment range create ' + '--private ' + "--project " + self.PROJECT_NAME + " " + '--network-type geneve ' + '--minimum 2021 ' + '--maximum 2025 ' + - name - )) + name, + parse_output=True, + ) self.addCleanup( self.openstack, 'network segment range delete ' + name @@ -127,10 +132,11 @@ class NetworkSegmentRangeTests(common.NetworkTests): ) self.assertOutput('', cmd_output) - json_output = json.loads(self.openstack( - 'network segment range show -f json ' + - name - )) + json_output = self.openstack( + 'network segment range show ' + + name, + parse_output=True, + ) self.assertEqual( new_minimum, json_output["minimum"], diff --git a/openstackclient/tests/functional/network/v2/test_network_service_provider.py b/openstackclient/tests/functional/network/v2/test_network_service_provider.py index c571a75640..9d513564d5 100644 --- a/openstackclient/tests/functional/network/v2/test_network_service_provider.py +++ b/openstackclient/tests/functional/network/v2/test_network_service_provider.py @@ -13,8 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json - from openstackclient.tests.functional.network.v2 import common @@ -29,13 +27,15 @@ class TestNetworkServiceProvider(common.NetworkTests): # NOTE(slaweq): # that tests should works only when "standard" Neutron L3 agent is # used, as e.g. OVN L3 plugin don't supports that. - l3_agent_list = json.loads(self.openstack( - 'network agent list -f json --agent-type l3 -c ID' - )) + l3_agent_list = self.openstack( + 'network agent list --agent-type l3 -c ID', + parse_output=True, + ) if not l3_agent_list: self.skipTest("No Neutron L3 Agents present") def test_network_service_provider_list(self): - cmd_output = json.loads(self.openstack( - 'network service provider list -f json')) + cmd_output = self.openstack( + 'network service provider list', + parse_output=True,) self.assertIn('L3_ROUTER_NAT', [x['Service Type'] for x in cmd_output]) diff --git a/openstackclient/tests/functional/network/v2/test_port.py b/openstackclient/tests/functional/network/v2/test_port.py index a20d2043fd..f5bc9c4ae5 100644 --- a/openstackclient/tests/functional/network/v2/test_port.py +++ b/openstackclient/tests/functional/network/v2/test_port.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.network.v2 import common @@ -55,19 +54,21 @@ class PortTests(common.NetworkTagTests): def test_port_delete(self): """Test create, delete multiple""" - json_output = json.loads(self.openstack( - 'port create -f json --network %s %s' % - (self.NETWORK_NAME, self.NAME) - )) + json_output = self.openstack( + 'port create --network %s %s' % + (self.NETWORK_NAME, self.NAME), + parse_output=True, + ) id1 = json_output.get('id') self.assertIsNotNone(id1) self.assertIsNotNone(json_output.get('mac_address')) self.assertEqual(self.NAME, json_output.get('name')) - json_output = json.loads(self.openstack( - 'port create -f json --network %s %sx' % - (self.NETWORK_NAME, self.NAME) - )) + json_output = self.openstack( + 'port create --network %s %sx' % + (self.NETWORK_NAME, self.NAME), + parse_output=True, + ) id2 = json_output.get('id') self.assertIsNotNone(id2) self.assertIsNotNone(json_output.get('mac_address')) @@ -79,10 +80,11 @@ class PortTests(common.NetworkTagTests): def test_port_list(self): """Test create defaults, list, delete""" - json_output = json.loads(self.openstack( - 'port create -f json --network %s %s' % - (self.NETWORK_NAME, self.NAME) - )) + json_output = self.openstack( + 'port create --network %s %s' % + (self.NETWORK_NAME, self.NAME), + parse_output=True, + ) id1 = json_output.get('id') self.assertIsNotNone(id1) mac1 = json_output.get('mac_address') @@ -90,10 +92,11 @@ class PortTests(common.NetworkTagTests): self.addCleanup(self.openstack, 'port delete %s' % id1) self.assertEqual(self.NAME, json_output.get('name')) - json_output = json.loads(self.openstack( - 'port create -f json --network %s %sx' % - (self.NETWORK_NAME, self.NAME) - )) + json_output = self.openstack( + 'port create --network %s %sx' % + (self.NETWORK_NAME, self.NAME), + parse_output=True, + ) id2 = json_output.get('id') self.assertIsNotNone(id2) mac2 = json_output.get('mac_address') @@ -102,9 +105,10 @@ class PortTests(common.NetworkTagTests): self.assertEqual(self.NAME + 'x', json_output.get('name')) # Test list - json_output = json.loads(self.openstack( - 'port list -f json' - )) + json_output = self.openstack( + 'port list', + parse_output=True, + ) item_map = {item.get('ID'): item.get('MAC Address') for item in json_output} self.assertIn(id1, item_map.keys()) @@ -113,17 +117,19 @@ class PortTests(common.NetworkTagTests): self.assertIn(mac2, item_map.values()) # Test list --long - json_output = json.loads(self.openstack( - 'port list --long -f json' - )) + json_output = self.openstack( + 'port list --long', + parse_output=True, + ) id_list = [item.get('ID') for item in json_output] self.assertIn(id1, id_list) self.assertIn(id2, id_list) # Test list --mac-address - json_output = json.loads(self.openstack( - 'port list -f json --mac-address %s' % mac2 - )) + json_output = self.openstack( + 'port list --mac-address %s' % mac2, + parse_output=True, + ) item_map = {item.get('ID'): item.get('MAC Address') for item in json_output} self.assertNotIn(id1, item_map.keys()) @@ -132,9 +138,10 @@ class PortTests(common.NetworkTagTests): self.assertIn(mac2, item_map.values()) # Test list with unknown fields - json_output = json.loads(self.openstack( - 'port list -f json -c ID -c Name -c device_id' - )) + json_output = self.openstack( + 'port list -c ID -c Name -c device_id', + parse_output=True, + ) id_list = [p['ID'] for p in json_output] self.assertIn(id1, id_list) self.assertIn(id2, id_list) @@ -144,13 +151,14 @@ class PortTests(common.NetworkTagTests): def test_port_set(self): """Test create, set, show, delete""" name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'port create -f json ' + json_output = self.openstack( + 'port create ' '--network %s ' '--description xyzpdq ' '--disable %s' % - (self.NETWORK_NAME, name) - )) + (self.NETWORK_NAME, name), + parse_output=True, + ) id1 = json_output.get('id') self.addCleanup(self.openstack, 'port delete %s' % id1) self.assertEqual(name, json_output.get('name')) @@ -163,9 +171,10 @@ class PortTests(common.NetworkTagTests): ) self.assertOutput('', raw_output) - json_output = json.loads(self.openstack( - 'port show -f json %s' % name - )) + json_output = self.openstack( + 'port show %s' % name, + parse_output=True, + ) sg_id = json_output.get('security_group_ids')[0] self.assertEqual(name, json_output.get('name')) @@ -177,17 +186,19 @@ class PortTests(common.NetworkTagTests): 'port unset --security-group %s %s' % (sg_id, id1)) self.assertOutput('', raw_output) - json_output = json.loads(self.openstack( - 'port show -f json %s' % name - )) + json_output = self.openstack( + 'port show %s' % name, + parse_output=True, + ) self.assertEqual([], json_output.get('security_group_ids')) def test_port_admin_set(self): """Test create, set (as admin), show, delete""" - json_output = json.loads(self.openstack( - 'port create -f json ' - '--network %s %s' % (self.NETWORK_NAME, self.NAME) - )) + json_output = self.openstack( + 'port create ' + '--network %s %s' % (self.NETWORK_NAME, self.NAME), + parse_output=True, + ) id_ = json_output.get('id') self.addCleanup(self.openstack, 'port delete %s' % id_) @@ -196,36 +207,40 @@ class PortTests(common.NetworkTagTests): 'port set --mac-address 11:22:33:44:55:66 %s' % self.NAME) self.assertOutput('', raw_output) - json_output = json.loads(self.openstack( - 'port show -f json %s' % self.NAME - )) + json_output = self.openstack( + 'port show %s' % self.NAME, + parse_output=True, + ) self.assertEqual(json_output.get('mac_address'), '11:22:33:44:55:66') def test_port_set_sg(self): """Test create, set, show, delete""" sg_name1 = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'security group create -f json %s' % - sg_name1 - )) + json_output = self.openstack( + 'security group create %s' % + sg_name1, + parse_output=True, + ) sg_id1 = json_output.get('id') self.addCleanup(self.openstack, 'security group delete %s' % sg_id1) sg_name2 = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'security group create -f json %s' % - sg_name2 - )) + json_output = self.openstack( + 'security group create %s' % + sg_name2, + parse_output=True, + ) sg_id2 = json_output.get('id') self.addCleanup(self.openstack, 'security group delete %s' % sg_id2) name = uuid.uuid4().hex - json_output = json.loads(self.openstack( - 'port create -f json ' + json_output = self.openstack( + 'port create ' '--network %s ' '--security-group %s %s' % - (self.NETWORK_NAME, sg_name1, name) - )) + (self.NETWORK_NAME, sg_name1, name), + parse_output=True, + ) id1 = json_output.get('id') self.addCleanup(self.openstack, 'port delete %s' % id1) self.assertEqual(name, json_output.get('name')) @@ -238,9 +253,10 @@ class PortTests(common.NetworkTagTests): ) self.assertOutput('', raw_output) - json_output = json.loads(self.openstack( - 'port show -f json %s' % name - )) + json_output = self.openstack( + 'port show %s' % name, + parse_output=True, + ) self.assertEqual(name, json_output.get('name')) # NOTE(amotoki): The order of the field is not predictable, self.assertIsInstance(json_output.get('security_group_ids'), list) @@ -251,16 +267,18 @@ class PortTests(common.NetworkTagTests): 'port unset --security-group %s %s' % (sg_id1, id1)) self.assertOutput('', raw_output) - json_output = json.loads(self.openstack( - 'port show -f json %s' % name - )) + json_output = self.openstack( + 'port show %s' % name, + parse_output=True, + ) self.assertEqual( [sg_id2], json_output.get('security_group_ids') ) def _create_resource_for_tag_test(self, name, args): - return json.loads(self.openstack( - '{} create -f json --network {} {} {}' - .format(self.base_command, self.NETWORK_NAME, args, name) - )) + return self.openstack( + '{} create --network {} {} {}' + .format(self.base_command, self.NETWORK_NAME, args, name), + parse_output=True, + ) diff --git a/openstackclient/tests/functional/network/v2/test_router.py b/openstackclient/tests/functional/network/v2/test_router.py index 2464b681f6..07a5a633d9 100644 --- a/openstackclient/tests/functional/network/v2/test_router.py +++ b/openstackclient/tests/functional/network/v2/test_router.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.network.v2 import common @@ -31,18 +30,20 @@ class RouterTests(common.NetworkTagTests): """Test create options, delete multiple""" name1 = uuid.uuid4().hex name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'router create -f json ' + - name1 - )) + cmd_output = self.openstack( + 'router create ' + + name1, + parse_output=True, + ) self.assertEqual( name1, cmd_output["name"], ) - cmd_output = json.loads(self.openstack( - 'router create -f json ' + - name2 - )) + cmd_output = self.openstack( + 'router create ' + + name2, + parse_output=True, + ) self.assertEqual( name2, cmd_output["name"], @@ -55,10 +56,10 @@ class RouterTests(common.NetworkTagTests): def test_router_list(self): """Test create, list filter""" # Get project IDs - cmd_output = json.loads(self.openstack('token issue -f json ')) + cmd_output = self.openstack('token issue', parse_output=True) auth_project_id = cmd_output['project_id'] - cmd_output = json.loads(self.openstack('project list -f json ')) + cmd_output = self.openstack('project list', parse_output=True) admin_project_id = None demo_project_id = None for p in cmd_output: @@ -78,11 +79,12 @@ class RouterTests(common.NetworkTagTests): name1 = uuid.uuid4().hex name2 = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'router create -f json ' + + cmd_output = self.openstack( + 'router create ' + '--disable ' + - name1 - )) + name1, + parse_output=True, + ) self.addCleanup(self.openstack, 'router delete ' + name1) self.assertEqual( @@ -97,11 +99,12 @@ class RouterTests(common.NetworkTagTests): admin_project_id, cmd_output["project_id"], ) - cmd_output = json.loads(self.openstack( - 'router create -f json ' + + cmd_output = self.openstack( + 'router create ' + '--project ' + demo_project_id + - ' ' + name2 - )) + ' ' + name2, + parse_output=True, + ) self.addCleanup(self.openstack, 'router delete ' + name2) self.assertEqual( @@ -118,37 +121,41 @@ class RouterTests(common.NetworkTagTests): ) # Test list --project - cmd_output = json.loads(self.openstack( - 'router list -f json ' + - '--project ' + demo_project_id - )) + cmd_output = self.openstack( + 'router list ' + + '--project ' + demo_project_id, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertNotIn(name1, names) self.assertIn(name2, names) # Test list --disable - cmd_output = json.loads(self.openstack( - 'router list -f json ' + - '--disable ' - )) + cmd_output = self.openstack( + 'router list ' + + '--disable ', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertNotIn(name2, names) # Test list --name - cmd_output = json.loads(self.openstack( - 'router list -f json ' + - '--name ' + name1 - )) + cmd_output = self.openstack( + 'router list ' + + '--name ' + name1, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertNotIn(name2, names) # Test list --long - cmd_output = json.loads(self.openstack( - 'router list -f json ' + - '--long ' - )) + cmd_output = self.openstack( + 'router list ' + + '--long ', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertIn(name2, names) @@ -160,15 +167,17 @@ class RouterTests(common.NetworkTagTests): self.skipTest("No l3_agent_scheduler extension present") name = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'router create -f json ' + name)) + cmd_output = self.openstack( + 'router create ' + name, + parse_output=True,) self.addCleanup(self.openstack, 'router delete ' + name) # Get router ID router_id = cmd_output['id'] # Get l3 agent id - cmd_output = json.loads(self.openstack( - 'network agent list -f json --agent-type l3')) + cmd_output = self.openstack( + 'network agent list --agent-type l3', + parse_output=True,) # Check at least one L3 agent is included in the response. self.assertTrue(cmd_output) @@ -178,16 +187,18 @@ class RouterTests(common.NetworkTagTests): self.openstack( 'network agent add router --l3 ' + agent_id + ' ' + router_id) - cmd_output = json.loads(self.openstack( - 'router list -f json --agent ' + agent_id)) + cmd_output = self.openstack( + 'router list --agent ' + agent_id, + parse_output=True,) router_ids = [x['ID'] for x in cmd_output] self.assertIn(router_id, router_ids) # Remove router from agent self.openstack( 'network agent remove router --l3 ' + agent_id + ' ' + router_id) - cmd_output = json.loads(self.openstack( - 'router list -f json --agent ' + agent_id)) + cmd_output = self.openstack( + 'router list --agent ' + agent_id, + parse_output=True,) router_ids = [x['ID'] for x in cmd_output] self.assertNotIn(router_id, router_ids) @@ -196,11 +207,12 @@ class RouterTests(common.NetworkTagTests): name = uuid.uuid4().hex new_name = name + "_" - cmd_output = json.loads(self.openstack( - 'router create -f json ' + + cmd_output = self.openstack( + 'router create ' + '--description aaaa ' + - name - )) + name, + parse_output=True, + ) self.addCleanup(self.openstack, 'router delete ' + new_name) self.assertEqual( name, @@ -221,10 +233,11 @@ class RouterTests(common.NetworkTagTests): ) self.assertOutput('', cmd_output) - cmd_output = json.loads(self.openstack( - 'router show -f json ' + - new_name - )) + cmd_output = self.openstack( + 'router show ' + + new_name, + parse_output=True, + ) self.assertEqual( new_name, cmd_output["name"], @@ -247,10 +260,11 @@ class RouterTests(common.NetworkTagTests): '--external-gateway ' + new_name ) - cmd_output = json.loads(self.openstack( - 'router show -f json ' + - new_name - )) + cmd_output = self.openstack( + 'router show ' + + new_name, + parse_output=True, + ) self.assertIsNone(cmd_output["external_gateway_info"]) def _test_set_router_distributed(self, router_name): @@ -265,10 +279,11 @@ class RouterTests(common.NetworkTagTests): ) self.assertOutput('', cmd_output) - cmd_output = json.loads(self.openstack( - 'router show -f json ' + - router_name - )) + cmd_output = self.openstack( + 'router show ' + + router_name, + parse_output=True, + ) self.assertTrue(cmd_output["distributed"]) self.assertIsNotNone(cmd_output["external_gateway_info"]) @@ -292,25 +307,28 @@ class RouterTests(common.NetworkTagTests): self.addCleanup(self.openstack, 'router remove subnet %s %s' % ( router_name, subnet_name)) - out1 = json.loads(self.openstack( - 'router add route -f json %s ' + out1 = self.openstack( + 'router add route %s ' '--route destination=10.0.10.0/24,gateway=10.0.0.10' % - router_name)), + router_name, + parse_output=True,), self.assertEqual(1, len(out1[0]['routes'])) self.addCleanup( self.openstack, 'router set %s --no-route' % router_name) - out2 = json.loads(self.openstack( - 'router add route -f json %s ' + out2 = self.openstack( + 'router add route %s ' '--route destination=10.0.10.0/24,gateway=10.0.0.10 ' '--route destination=10.0.11.0/24,gateway=10.0.0.11' % - router_name)), + router_name, + parse_output=True,), self.assertEqual(2, len(out2[0]['routes'])) - out3 = json.loads(self.openstack( - 'router remove route -f json %s ' + out3 = self.openstack( + 'router remove route %s ' '--route destination=10.0.11.0/24,gateway=10.0.0.11 ' '--route destination=10.0.12.0/24,gateway=10.0.0.12' % - router_name)), + router_name, + parse_output=True,), self.assertEqual(1, len(out3[0]['routes'])) diff --git a/openstackclient/tests/functional/network/v2/test_security_group.py b/openstackclient/tests/functional/network/v2/test_security_group.py index d46f8db787..c9d929f57e 100644 --- a/openstackclient/tests/functional/network/v2/test_security_group.py +++ b/openstackclient/tests/functional/network/v2/test_security_group.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.network.v2 import common @@ -27,16 +26,17 @@ class SecurityGroupTests(common.NetworkTests): self.NAME = uuid.uuid4().hex self.OTHER_NAME = uuid.uuid4().hex - cmd_output = json.loads(self.openstack( - 'security group create -f json ' + - self.NAME - )) + cmd_output = self.openstack( + 'security group create ' + + self.NAME, + parse_output=True, + ) self.addCleanup(self.openstack, 'security group delete ' + cmd_output['id']) self.assertEqual(self.NAME, cmd_output['name']) def test_security_group_list(self): - cmd_output = json.loads(self.openstack('security group list -f json')) + cmd_output = self.openstack('security group list', parse_output=True) self.assertIn(self.NAME, [sg['Name'] for sg in cmd_output]) def test_security_group_set(self): @@ -47,13 +47,17 @@ class SecurityGroupTests(common.NetworkTests): ) self.assertEqual('', raw_output) - cmd_output = json.loads(self.openstack( - 'security group show -f json ' + other_name)) + cmd_output = self.openstack( + 'security group show ' + other_name, + parse_output=True, + ) self.assertEqual('NSA', cmd_output['description']) self.assertFalse(cmd_output['stateful']) def test_security_group_show(self): - cmd_output = json.loads(self.openstack( - 'security group show -f json ' + self.NAME)) + cmd_output = self.openstack( + 'security group show ' + self.NAME, + parse_output=True, + ) self.assertEqual(self.NAME, cmd_output['name']) self.assertTrue(cmd_output['stateful']) diff --git a/openstackclient/tests/functional/network/v2/test_security_group_rule.py b/openstackclient/tests/functional/network/v2/test_security_group_rule.py index fe78bf477a..d64fb420fa 100644 --- a/openstackclient/tests/functional/network/v2/test_security_group_rule.py +++ b/openstackclient/tests/functional/network/v2/test_security_group_rule.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.network.v2 import common @@ -28,32 +27,38 @@ class SecurityGroupRuleTests(common.NetworkTests): self.SECURITY_GROUP_NAME = uuid.uuid4().hex # Create the security group to hold the rule - cmd_output = json.loads(self.openstack( - 'security group create -f json ' + - self.SECURITY_GROUP_NAME - )) + cmd_output = self.openstack( + 'security group create ' + + self.SECURITY_GROUP_NAME, + parse_output=True, + ) self.addCleanup(self.openstack, 'security group delete ' + self.SECURITY_GROUP_NAME) self.assertEqual(self.SECURITY_GROUP_NAME, cmd_output['name']) # Create the security group rule. - cmd_output = json.loads(self.openstack( - 'security group rule create -f json ' + + cmd_output = self.openstack( + 'security group rule create ' + self.SECURITY_GROUP_NAME + ' ' + '--protocol tcp --dst-port 80:80 ' + - '--ingress --ethertype IPv4 ' - )) + '--ingress --ethertype IPv4 ', + parse_output=True, + ) self.addCleanup(self.openstack, 'security group rule delete ' + cmd_output['id']) self.SECURITY_GROUP_RULE_ID = cmd_output['id'] def test_security_group_rule_list(self): - cmd_output = json.loads(self.openstack( - 'security group rule list -f json ' + self.SECURITY_GROUP_NAME)) + cmd_output = self.openstack( + 'security group rule list ' + self.SECURITY_GROUP_NAME, + parse_output=True, + ) self.assertIn(self.SECURITY_GROUP_RULE_ID, [rule['ID'] for rule in cmd_output]) def test_security_group_rule_show(self): - cmd_output = json.loads(self.openstack( - 'security group rule show -f json ' + self.SECURITY_GROUP_RULE_ID)) + cmd_output = self.openstack( + 'security group rule show ' + self.SECURITY_GROUP_RULE_ID, + parse_output=True, + ) self.assertEqual(self.SECURITY_GROUP_RULE_ID, cmd_output['id']) diff --git a/openstackclient/tests/functional/network/v2/test_subnet.py b/openstackclient/tests/functional/network/v2/test_subnet.py index 38030e0198..041ec9f04b 100644 --- a/openstackclient/tests/functional/network/v2/test_subnet.py +++ b/openstackclient/tests/functional/network/v2/test_subnet.py @@ -10,7 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import random import uuid @@ -29,10 +28,11 @@ class SubnetTests(common.NetworkTagTests): cls.NETWORK_NAME = uuid.uuid4().hex # Create a network for the all subnet tests - cmd_output = json.loads(cls.openstack( - 'network create -f json ' + - cls.NETWORK_NAME - )) + cmd_output = cls.openstack( + 'network create ' + + cls.NETWORK_NAME, + parse_output=True, + ) # Get network_id for assertEqual cls.NETWORK_ID = cmd_output["id"] @@ -57,7 +57,7 @@ class SubnetTests(common.NetworkTagTests): def test_subnet_create_and_delete(self): """Test create, delete multiple""" name1 = uuid.uuid4().hex - cmd = ('subnet create -f json --network ' + + cmd = ('subnet create --network ' + self.NETWORK_NAME + ' --subnet-range') cmd_output = self._subnet_create(cmd, name1) @@ -70,7 +70,7 @@ class SubnetTests(common.NetworkTagTests): cmd_output["network_id"], ) name2 = uuid.uuid4().hex - cmd = ('subnet create -f json --network ' + + cmd = ('subnet create --network ' + self.NETWORK_NAME + ' --subnet-range') cmd_output = self._subnet_create(cmd, name2) @@ -91,7 +91,7 @@ class SubnetTests(common.NetworkTagTests): """Test create, list filter""" name1 = uuid.uuid4().hex name2 = uuid.uuid4().hex - cmd = ('subnet create -f json ' + + cmd = ('subnet create ' + '--network ' + self.NETWORK_NAME + ' --dhcp --subnet-range') cmd_output = self._subnet_create(cmd, name1) @@ -114,7 +114,7 @@ class SubnetTests(common.NetworkTagTests): cmd_output["ip_version"], ) - cmd = ('subnet create -f json ' + + cmd = ('subnet create ' + '--network ' + self.NETWORK_NAME + ' --ip-version 6 --no-dhcp ' + '--subnet-range') @@ -139,46 +139,51 @@ class SubnetTests(common.NetworkTagTests): ) # Test list --long - cmd_output = json.loads(self.openstack( - 'subnet list -f json ' + - '--long ' - )) + cmd_output = self.openstack( + 'subnet list ' + + '--long ', + 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( - 'subnet list -f json ' + - '--name ' + name1 - )) + cmd_output = self.openstack( + 'subnet list ' + + '--name ' + name1, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertNotIn(name2, names) # Test list --ip-version - cmd_output = json.loads(self.openstack( - 'subnet list -f json ' + - '--ip-version 6' - )) + cmd_output = self.openstack( + 'subnet list ' + + '--ip-version 6', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertNotIn(name1, names) self.assertIn(name2, names) # Test list --network - cmd_output = json.loads(self.openstack( - 'subnet list -f json ' + - '--network ' + self.NETWORK_ID - )) + cmd_output = self.openstack( + 'subnet list ' + + '--network ' + self.NETWORK_ID, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertIn(name2, names) # Test list --no-dhcp - cmd_output = json.loads(self.openstack( - 'subnet list -f json ' + - '--no-dhcp ' - )) + cmd_output = self.openstack( + 'subnet list ' + + '--no-dhcp ', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertNotIn(name1, names) self.assertIn(name2, names) @@ -188,7 +193,7 @@ class SubnetTests(common.NetworkTagTests): name = uuid.uuid4().hex new_name = name + "_" - cmd = ('subnet create -f json ' + + cmd = ('subnet create ' + '--network ' + self.NETWORK_NAME + ' --description aaaa --subnet-range') cmd_output = self._subnet_create(cmd, name) @@ -215,10 +220,11 @@ class SubnetTests(common.NetworkTagTests): ) self.assertOutput('', cmd_output) - cmd_output = json.loads(self.openstack( - 'subnet show -f json ' + - new_name - )) + cmd_output = self.openstack( + 'subnet show ' + + new_name, + parse_output=True, + ) self.assertEqual( new_name, cmd_output["name"], @@ -248,10 +254,11 @@ class SubnetTests(common.NetworkTagTests): ) self.assertOutput('', cmd_output) - cmd_output = json.loads(self.openstack( - 'subnet show -f json ' + - new_name - )) + cmd_output = self.openstack( + 'subnet show ' + + new_name, + parse_output=True, + ) self.assertEqual( [], cmd_output["service_types"], @@ -274,10 +281,11 @@ class SubnetTests(common.NetworkTagTests): (hex(random.randint(0, 65535))[2:] for _ in range(7)) )) + ":0/112" try: - cmd_output = json.loads(self.openstack( + cmd_output = self.openstack( cmd + ' ' + subnet + ' ' + - name - )) + name, + parse_output=True, + ) except Exception: if (i == 3): # raise the exception at the last time @@ -289,7 +297,7 @@ class SubnetTests(common.NetworkTagTests): return cmd_output def _create_resource_for_tag_test(self, name, args): - cmd = ('subnet create -f json --network ' + + cmd = ('subnet create --network ' + self.NETWORK_NAME + ' ' + args + ' --subnet-range') return self._subnet_create(cmd, name) diff --git a/openstackclient/tests/functional/network/v2/test_subnet_pool.py b/openstackclient/tests/functional/network/v2/test_subnet_pool.py index dbcf01e2e5..8dc5e7a1c5 100644 --- a/openstackclient/tests/functional/network/v2/test_subnet_pool.py +++ b/openstackclient/tests/functional/network/v2/test_subnet_pool.py @@ -10,7 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import random import uuid @@ -61,10 +60,10 @@ class SubnetPoolTests(common.NetworkTagTests): def test_subnet_pool_list(self): """Test create, list filter""" - cmd_output = json.loads(self.openstack('token issue -f json')) + cmd_output = self.openstack('token issue', parse_output=True) auth_project_id = cmd_output['project_id'] - cmd_output = json.loads(self.openstack('project list -f json')) + cmd_output = self.openstack('project list', parse_output=True) admin_project_id = None demo_project_id = None for p in cmd_output: @@ -131,37 +130,41 @@ class SubnetPoolTests(common.NetworkTagTests): ) # Test list --project - cmd_output = json.loads(self.openstack( - 'subnet pool list -f json ' + - '--project ' + demo_project_id - )) + cmd_output = self.openstack( + 'subnet pool list ' + + '--project ' + demo_project_id, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertNotIn(name2, names) # Test list --share - cmd_output = json.loads(self.openstack( - 'subnet pool list -f json ' + - '--share' - )) + cmd_output = self.openstack( + 'subnet pool list ' + + '--share', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertNotIn(name1, names) self.assertIn(name2, names) # Test list --name - cmd_output = json.loads(self.openstack( - 'subnet pool list -f json ' + - '--name ' + name1 - )) + cmd_output = self.openstack( + 'subnet pool list ' + + '--name ' + name1, + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertNotIn(name2, names) # Test list --long - cmd_output = json.loads(self.openstack( - 'subnet pool list -f json ' + - '--long ' - )) + cmd_output = self.openstack( + 'subnet pool list ' + + '--long ', + parse_output=True, + ) names = [x["Name"] for x in cmd_output] self.assertIn(name1, names) self.assertIn(name2, names) @@ -227,10 +230,11 @@ class SubnetPoolTests(common.NetworkTagTests): ) self.assertOutput('', cmd_output) - cmd_output = json.loads(self.openstack( - 'subnet pool show -f json ' + - new_name - )) + cmd_output = self.openstack( + 'subnet pool show ' + + new_name, + parse_output=True, + ) self.assertEqual( new_name, cmd_output["name"], @@ -307,12 +311,13 @@ class SubnetPoolTests(common.NetworkTagTests): )) + ":0:0/96" try: - cmd_output = json.loads(self.openstack( - 'subnet pool create -f json ' + + cmd_output = self.openstack( + 'subnet pool create ' + cmd + ' ' + '--pool-prefix ' + pool_prefix + ' ' + - name - )) + name, + parse_output=True, + ) except Exception: if (i == 3): # Raise the exception the last time