python-openstackclient 8.2.0__py3-none-any.whl → 8.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openstackclient/api/object_store_v1.py +4 -1
- openstackclient/command.py +27 -0
- openstackclient/common/availability_zone.py +1 -1
- openstackclient/common/clientmanager.py +59 -21
- openstackclient/common/configuration.py +1 -1
- openstackclient/common/extension.py +1 -1
- openstackclient/common/limits.py +1 -1
- openstackclient/common/module.py +4 -2
- openstackclient/common/project_cleanup.py +10 -8
- openstackclient/common/quota.py +23 -6
- openstackclient/common/versions.py +1 -2
- openstackclient/compute/v2/agent.py +1 -1
- openstackclient/compute/v2/aggregate.py +6 -5
- openstackclient/compute/v2/console.py +5 -3
- openstackclient/compute/v2/console_connection.py +1 -1
- openstackclient/compute/v2/flavor.py +1 -1
- openstackclient/compute/v2/host.py +1 -1
- openstackclient/compute/v2/hypervisor.py +1 -1
- openstackclient/compute/v2/hypervisor_stats.py +1 -1
- openstackclient/compute/v2/keypair.py +1 -1
- openstackclient/compute/v2/server.py +76 -27
- openstackclient/compute/v2/server_backup.py +1 -1
- openstackclient/compute/v2/server_event.py +1 -1
- openstackclient/compute/v2/server_group.py +4 -2
- openstackclient/compute/v2/server_image.py +1 -1
- openstackclient/compute/v2/server_migration.py +1 -1
- openstackclient/compute/v2/server_volume.py +1 -1
- openstackclient/compute/v2/service.py +1 -1
- openstackclient/compute/v2/usage.py +6 -4
- openstackclient/identity/common.py +2 -1
- openstackclient/identity/v2_0/catalog.py +3 -2
- openstackclient/identity/v2_0/ec2creds.py +1 -1
- openstackclient/identity/v2_0/endpoint.py +1 -1
- openstackclient/identity/v2_0/project.py +17 -7
- openstackclient/identity/v2_0/role.py +1 -1
- openstackclient/identity/v2_0/role_assignment.py +3 -3
- openstackclient/identity/v2_0/service.py +1 -1
- openstackclient/identity/v2_0/token.py +1 -1
- openstackclient/identity/v2_0/user.py +2 -2
- openstackclient/identity/v3/access_rule.py +16 -4
- openstackclient/identity/v3/application_credential.py +30 -10
- openstackclient/identity/v3/catalog.py +3 -3
- openstackclient/identity/v3/consumer.py +1 -1
- openstackclient/identity/v3/credential.py +1 -1
- openstackclient/identity/v3/domain.py +10 -4
- openstackclient/identity/v3/ec2creds.py +1 -1
- openstackclient/identity/v3/endpoint.py +33 -12
- openstackclient/identity/v3/endpoint_group.py +1 -1
- openstackclient/identity/v3/federation_protocol.py +1 -1
- openstackclient/identity/v3/group.py +11 -5
- openstackclient/identity/v3/identity_provider.py +12 -10
- openstackclient/identity/v3/implied_role.py +1 -1
- openstackclient/identity/v3/limit.py +1 -1
- openstackclient/identity/v3/mapping.py +1 -1
- openstackclient/identity/v3/policy.py +1 -1
- openstackclient/identity/v3/project.py +10 -3
- openstackclient/identity/v3/region.py +1 -1
- openstackclient/identity/v3/registered_limit.py +16 -11
- openstackclient/identity/v3/role.py +20 -39
- openstackclient/identity/v3/role_assignment.py +12 -23
- openstackclient/identity/v3/service.py +1 -1
- openstackclient/identity/v3/service_provider.py +1 -1
- openstackclient/identity/v3/tag.py +3 -2
- openstackclient/identity/v3/token.py +3 -2
- openstackclient/identity/v3/trust.py +4 -2
- openstackclient/identity/v3/unscoped_saml.py +1 -1
- openstackclient/identity/v3/user.py +22 -13
- openstackclient/image/v1/image.py +19 -16
- openstackclient/image/v2/cache.py +1 -1
- openstackclient/image/v2/image.py +14 -11
- openstackclient/image/v2/info.py +1 -1
- openstackclient/image/v2/metadef_namespaces.py +1 -1
- openstackclient/image/v2/metadef_objects.py +1 -1
- openstackclient/image/v2/metadef_properties.py +3 -2
- openstackclient/image/v2/metadef_resource_type_association.py +1 -1
- openstackclient/image/v2/metadef_resource_types.py +1 -1
- openstackclient/image/v2/task.py +1 -1
- openstackclient/network/common.py +10 -9
- openstackclient/network/v2/address_group.py +4 -3
- openstackclient/network/v2/address_scope.py +8 -6
- openstackclient/network/v2/default_security_group_rule.py +9 -8
- openstackclient/network/v2/floating_ip.py +16 -9
- openstackclient/network/v2/floating_ip_port_forwarding.py +9 -6
- openstackclient/network/v2/ip_availability.py +7 -4
- openstackclient/network/v2/l3_conntrack_helper.py +11 -4
- openstackclient/network/v2/local_ip.py +13 -7
- openstackclient/network/v2/local_ip_association.py +7 -4
- openstackclient/network/v2/ndp_proxy.py +13 -6
- openstackclient/network/v2/network.py +33 -16
- openstackclient/network/v2/network_agent.py +5 -5
- openstackclient/network/v2/network_auto_allocated_topology.py +1 -1
- openstackclient/network/v2/network_flavor.py +1 -1
- openstackclient/network/v2/network_flavor_profile.py +1 -1
- openstackclient/network/v2/network_meter.py +1 -1
- openstackclient/network/v2/network_meter_rule.py +1 -1
- openstackclient/network/v2/network_qos_policy.py +7 -5
- openstackclient/network/v2/network_qos_rule.py +1 -1
- openstackclient/network/v2/network_qos_rule_type.py +1 -1
- openstackclient/network/v2/network_rbac.py +8 -5
- openstackclient/network/v2/network_segment.py +2 -2
- openstackclient/network/v2/network_segment_range.py +13 -6
- openstackclient/network/v2/network_service_provider.py +1 -1
- openstackclient/network/v2/network_trunk.py +65 -42
- openstackclient/network/v2/port.py +22 -20
- openstackclient/network/v2/router.py +19 -8
- openstackclient/network/v2/security_group.py +10 -6
- openstackclient/network/v2/security_group_rule.py +11 -5
- openstackclient/network/v2/subnet.py +17 -18
- openstackclient/network/v2/subnet_pool.py +11 -9
- openstackclient/network/v2/taas/__init__.py +0 -0
- openstackclient/network/v2/taas/tap_flow.py +245 -0
- openstackclient/network/v2/taas/tap_mirror.py +237 -0
- openstackclient/network/v2/taas/tap_service.py +211 -0
- openstackclient/object/v1/account.py +1 -1
- openstackclient/object/v1/container.py +1 -1
- openstackclient/object/v1/object.py +1 -1
- openstackclient/shell.py +18 -8
- openstackclient/tests/functional/identity/v3/test_catalog.py +42 -23
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +174 -0
- openstackclient/tests/functional/image/v2/test_cache.py +54 -0
- openstackclient/tests/functional/image/v2/test_metadef_resource_type.py +55 -0
- openstackclient/tests/unit/common/test_command.py +1 -1
- openstackclient/tests/unit/common/test_extension.py +2 -3
- openstackclient/tests/unit/common/test_module.py +14 -7
- openstackclient/tests/unit/common/test_quota.py +20 -0
- openstackclient/tests/unit/compute/v2/test_aggregate.py +5 -3
- openstackclient/tests/unit/compute/v2/test_console.py +1 -4
- openstackclient/tests/unit/compute/v2/test_flavor.py +1 -3
- openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +1 -9
- openstackclient/tests/unit/compute/v2/test_server.py +364 -30
- openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -3
- openstackclient/tests/unit/compute/v2/test_service.py +1 -3
- openstackclient/tests/unit/fakes.py +35 -134
- openstackclient/tests/unit/identity/test_common.py +100 -0
- openstackclient/tests/unit/identity/v2_0/test_project.py +4 -4
- openstackclient/tests/unit/identity/v3/fakes.py +10 -2
- openstackclient/tests/unit/identity/v3/test_application_credential.py +3 -3
- openstackclient/tests/unit/identity/v3/test_domain.py +1 -1
- openstackclient/tests/unit/identity/v3/test_endpoint.py +1 -1
- openstackclient/tests/unit/identity/v3/test_group.py +4 -2
- openstackclient/tests/unit/identity/v3/test_identity_provider.py +10 -10
- openstackclient/tests/unit/identity/v3/test_oauth.py +1 -1
- openstackclient/tests/unit/identity/v3/test_project.py +1 -1
- openstackclient/tests/unit/identity/v3/test_registered_limit.py +2 -2
- openstackclient/tests/unit/identity/v3/test_role.py +1 -82
- openstackclient/tests/unit/identity/v3/test_user.py +7 -51
- openstackclient/tests/unit/image/v2/test_image.py +111 -0
- openstackclient/tests/unit/network/test_common.py +9 -13
- openstackclient/tests/unit/network/v2/taas/__init__.py +0 -0
- openstackclient/tests/unit/network/v2/taas/test_osc_tap_flow.py +276 -0
- openstackclient/tests/unit/network/v2/taas/test_osc_tap_mirror.py +288 -0
- openstackclient/tests/unit/network/v2/taas/test_osc_tap_service.py +271 -0
- openstackclient/tests/unit/network/v2/test_address_group.py +19 -22
- openstackclient/tests/unit/network/v2/test_address_scope.py +10 -15
- openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +38 -49
- openstackclient/tests/unit/network/v2/test_floating_ip_network.py +21 -27
- openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +21 -18
- openstackclient/tests/unit/network/v2/test_ip_availability.py +6 -8
- openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +6 -15
- openstackclient/tests/unit/network/v2/test_local_ip.py +12 -23
- openstackclient/tests/unit/network/v2/test_local_ip_association.py +13 -18
- openstackclient/tests/unit/network/v2/test_ndp_proxy.py +11 -21
- openstackclient/tests/unit/network/v2/test_network.py +41 -37
- openstackclient/tests/unit/network/v2/test_network_agent.py +13 -20
- openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +5 -8
- openstackclient/tests/unit/network/v2/test_network_flavor.py +14 -26
- openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +14 -17
- openstackclient/tests/unit/network/v2/test_network_meter.py +7 -17
- openstackclient/tests/unit/network/v2/test_network_meter_rule.py +10 -20
- openstackclient/tests/unit/network/v2/test_network_qos_policy.py +7 -13
- openstackclient/tests/unit/network/v2/test_network_qos_rule.py +44 -54
- openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +2 -7
- openstackclient/tests/unit/network/v2/test_network_rbac.py +21 -36
- openstackclient/tests/unit/network/v2/test_network_segment.py +13 -29
- openstackclient/tests/unit/network/v2/test_network_segment_range.py +20 -19
- openstackclient/tests/unit/network/v2/test_network_service_provider.py +1 -4
- openstackclient/tests/unit/network/v2/test_network_trunk.py +52 -47
- openstackclient/tests/unit/network/v2/test_port.py +75 -86
- openstackclient/tests/unit/network/v2/test_router.py +104 -126
- openstackclient/tests/unit/network/v2/test_security_group_network.py +19 -26
- openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +17 -18
- openstackclient/tests/unit/network/v2/test_subnet.py +35 -46
- openstackclient/tests/unit/network/v2/test_subnet_pool.py +21 -33
- openstackclient/tests/unit/volume/test_find_resource.py +4 -13
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +3 -1
- openstackclient/tests/unit/volume/v3/test_volume.py +4 -0
- openstackclient/tests/unit/volume/v3/test_volume_backup.py +9 -0
- openstackclient/volume/client.py +7 -17
- openstackclient/volume/v2/backup_record.py +1 -1
- openstackclient/volume/v2/consistency_group.py +1 -1
- openstackclient/volume/v2/consistency_group_snapshot.py +1 -1
- openstackclient/volume/v2/qos_specs.py +1 -1
- openstackclient/volume/v2/service.py +1 -1
- openstackclient/volume/v2/volume.py +2 -2
- openstackclient/volume/v2/volume_backend.py +1 -1
- openstackclient/volume/v2/volume_backup.py +5 -3
- openstackclient/volume/v2/volume_host.py +1 -2
- openstackclient/volume/v2/volume_snapshot.py +2 -2
- openstackclient/volume/v2/volume_transfer_request.py +1 -1
- openstackclient/volume/v2/volume_type.py +11 -6
- openstackclient/volume/v3/block_storage_cleanup.py +1 -1
- openstackclient/volume/v3/block_storage_cluster.py +1 -1
- openstackclient/volume/v3/block_storage_log_level.py +1 -1
- openstackclient/volume/v3/block_storage_manage.py +1 -1
- openstackclient/volume/v3/block_storage_resource_filter.py +1 -1
- openstackclient/volume/v3/service.py +1 -1
- openstackclient/volume/v3/volume.py +2 -2
- openstackclient/volume/v3/volume_attachment.py +6 -5
- openstackclient/volume/v3/volume_backup.py +18 -3
- openstackclient/volume/v3/volume_group.py +1 -1
- openstackclient/volume/v3/volume_group_snapshot.py +1 -1
- openstackclient/volume/v3/volume_group_type.py +1 -1
- openstackclient/volume/v3/volume_message.py +1 -1
- openstackclient/volume/v3/volume_snapshot.py +2 -2
- openstackclient/volume/v3/volume_transfer_request.py +1 -1
- openstackclient/volume/v3/volume_type.py +15 -9
- {python_openstackclient-8.2.0.dist-info → python_openstackclient-8.3.0.dist-info}/METADATA +15 -13
- {python_openstackclient-8.2.0.dist-info → python_openstackclient-8.3.0.dist-info}/RECORD +224 -213
- {python_openstackclient-8.2.0.dist-info → python_openstackclient-8.3.0.dist-info}/WHEEL +1 -1
- {python_openstackclient-8.2.0.dist-info → python_openstackclient-8.3.0.dist-info}/entry_points.txt +15 -0
- {python_openstackclient-8.2.0.dist-info → python_openstackclient-8.3.0.dist-info/licenses}/AUTHORS +10 -0
- python_openstackclient-8.3.0.dist-info/pbr.json +1 -0
- openstackclient/tests/unit/common/test_logs.py +0 -221
- python_openstackclient-8.2.0.dist-info/pbr.json +0 -1
- {python_openstackclient-8.2.0.dist-info → python_openstackclient-8.3.0.dist-info/licenses}/LICENSE +0 -0
- {python_openstackclient-8.2.0.dist-info → python_openstackclient-8.3.0.dist-info}/top_level.txt +0 -0
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
# under the License.
|
|
12
12
|
#
|
|
13
13
|
|
|
14
|
-
from unittest import mock
|
|
15
14
|
from unittest.mock import call
|
|
16
15
|
|
|
17
16
|
from osc_lib import exceptions
|
|
@@ -58,12 +57,9 @@ class TestCreateNetworkSegment(TestNetworkSegment):
|
|
|
58
57
|
def setUp(self):
|
|
59
58
|
super().setUp()
|
|
60
59
|
|
|
61
|
-
self.network_client.create_segment =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
self.network_client.find_network = mock.Mock(
|
|
65
|
-
return_value=self._network
|
|
66
|
-
)
|
|
60
|
+
self.network_client.create_segment.return_value = self._network_segment
|
|
61
|
+
|
|
62
|
+
self.network_client.find_network.return_value = self._network
|
|
67
63
|
|
|
68
64
|
# Get the command object to test
|
|
69
65
|
self.cmd = network_segment.CreateNetworkSegment(self.app, None)
|
|
@@ -172,10 +168,8 @@ class TestDeleteNetworkSegment(TestNetworkSegment):
|
|
|
172
168
|
def setUp(self):
|
|
173
169
|
super().setUp()
|
|
174
170
|
|
|
175
|
-
self.network_client.delete_segment =
|
|
176
|
-
self.network_client.find_segment =
|
|
177
|
-
side_effect=self._network_segments
|
|
178
|
-
)
|
|
171
|
+
self.network_client.delete_segment.return_value = None
|
|
172
|
+
self.network_client.find_segment.side_effect = self._network_segments
|
|
179
173
|
|
|
180
174
|
# Get the command object to test
|
|
181
175
|
self.cmd = network_segment.DeleteNetworkSegment(self.app, None)
|
|
@@ -224,9 +218,7 @@ class TestDeleteNetworkSegment(TestNetworkSegment):
|
|
|
224
218
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
225
219
|
|
|
226
220
|
find_mock_result = [self._network_segments[0], exceptions.CommandError]
|
|
227
|
-
self.network_client.find_segment =
|
|
228
|
-
side_effect=find_mock_result
|
|
229
|
-
)
|
|
221
|
+
self.network_client.find_segment.side_effect = find_mock_result
|
|
230
222
|
|
|
231
223
|
try:
|
|
232
224
|
self.cmd.take_action(parsed_args)
|
|
@@ -291,12 +283,9 @@ class TestListNetworkSegment(TestNetworkSegment):
|
|
|
291
283
|
# Get the command object to test
|
|
292
284
|
self.cmd = network_segment.ListNetworkSegment(self.app, None)
|
|
293
285
|
|
|
294
|
-
self.network_client.find_network =
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
self.network_client.segments = mock.Mock(
|
|
298
|
-
return_value=self._network_segments
|
|
299
|
-
)
|
|
286
|
+
self.network_client.find_network.return_value = self._network
|
|
287
|
+
|
|
288
|
+
self.network_client.segments.return_value = self._network_segments
|
|
300
289
|
|
|
301
290
|
def test_list_no_option(self):
|
|
302
291
|
arglist = []
|
|
@@ -352,12 +341,9 @@ class TestSetNetworkSegment(TestNetworkSegment):
|
|
|
352
341
|
def setUp(self):
|
|
353
342
|
super().setUp()
|
|
354
343
|
|
|
355
|
-
self.network_client.find_segment =
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
self.network_client.update_segment = mock.Mock(
|
|
359
|
-
return_value=self._network_segment
|
|
360
|
-
)
|
|
344
|
+
self.network_client.find_segment.return_value = self._network_segment
|
|
345
|
+
|
|
346
|
+
self.network_client.update_segment.return_value = self._network_segment
|
|
361
347
|
|
|
362
348
|
# Get the command object to test
|
|
363
349
|
self.cmd = network_segment.SetNetworkSegment(self.app, None)
|
|
@@ -432,9 +418,7 @@ class TestShowNetworkSegment(TestNetworkSegment):
|
|
|
432
418
|
def setUp(self):
|
|
433
419
|
super().setUp()
|
|
434
420
|
|
|
435
|
-
self.network_client.find_segment =
|
|
436
|
-
return_value=self._network_segment
|
|
437
|
-
)
|
|
421
|
+
self.network_client.find_segment.return_value = self._network_segment
|
|
438
422
|
|
|
439
423
|
# Get the command object to test
|
|
440
424
|
self.cmd = network_segment.ShowNetworkSegment(self.app, None)
|
|
@@ -78,8 +78,8 @@ class TestCreateNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
78
78
|
def setUp(self):
|
|
79
79
|
super().setUp()
|
|
80
80
|
|
|
81
|
-
self.network_client.create_network_segment_range =
|
|
82
|
-
|
|
81
|
+
self.network_client.create_network_segment_range.return_value = (
|
|
82
|
+
self._network_segment_range
|
|
83
83
|
)
|
|
84
84
|
|
|
85
85
|
# Get the command object to test
|
|
@@ -351,11 +351,10 @@ class TestDeleteNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
351
351
|
def setUp(self):
|
|
352
352
|
super().setUp()
|
|
353
353
|
|
|
354
|
-
self.network_client.delete_network_segment_range =
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
side_effect=self._network_segment_ranges
|
|
354
|
+
self.network_client.delete_network_segment_range.return_value = None
|
|
355
|
+
|
|
356
|
+
self.network_client.find_network_segment_range.side_effect = (
|
|
357
|
+
self._network_segment_ranges
|
|
359
358
|
)
|
|
360
359
|
|
|
361
360
|
# Get the command object to test
|
|
@@ -412,8 +411,8 @@ class TestDeleteNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
412
411
|
self._network_segment_ranges[0],
|
|
413
412
|
exceptions.CommandError,
|
|
414
413
|
]
|
|
415
|
-
self.network_client.find_network_segment_range =
|
|
416
|
-
|
|
414
|
+
self.network_client.find_network_segment_range.side_effect = (
|
|
415
|
+
find_mock_result
|
|
417
416
|
)
|
|
418
417
|
|
|
419
418
|
try:
|
|
@@ -493,8 +492,8 @@ class TestListNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
493
492
|
def setUp(self):
|
|
494
493
|
super().setUp()
|
|
495
494
|
|
|
496
|
-
self.network_client.network_segment_ranges =
|
|
497
|
-
|
|
495
|
+
self.network_client.network_segment_ranges.return_value = (
|
|
496
|
+
self._network_segment_ranges
|
|
498
497
|
)
|
|
499
498
|
|
|
500
499
|
# Get the command object to test
|
|
@@ -567,8 +566,8 @@ class TestSetNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
567
566
|
def setUp(self):
|
|
568
567
|
super().setUp()
|
|
569
568
|
|
|
570
|
-
self.network_client.find_network_segment_range =
|
|
571
|
-
|
|
569
|
+
self.network_client.find_network_segment_range.return_value = (
|
|
570
|
+
self._network_segment_range
|
|
572
571
|
)
|
|
573
572
|
|
|
574
573
|
# Get the command object to test
|
|
@@ -583,9 +582,10 @@ class TestSetNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
583
582
|
]
|
|
584
583
|
|
|
585
584
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
586
|
-
self.network_client.update_network_segment_range =
|
|
587
|
-
|
|
585
|
+
self.network_client.update_network_segment_range.return_value = (
|
|
586
|
+
self._network_segment_range
|
|
588
587
|
)
|
|
588
|
+
|
|
589
589
|
result = self.cmd.take_action(parsed_args)
|
|
590
590
|
|
|
591
591
|
self.network_client.update_network_segment_range.assert_called_once_with(
|
|
@@ -611,9 +611,10 @@ class TestSetNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
611
611
|
]
|
|
612
612
|
|
|
613
613
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
614
|
-
self.network_client.update_network_segment_range =
|
|
615
|
-
|
|
614
|
+
self.network_client.update_network_segment_range.return_value = (
|
|
615
|
+
self._network_segment_range_updated
|
|
616
616
|
)
|
|
617
|
+
|
|
617
618
|
result = self.cmd.take_action(parsed_args)
|
|
618
619
|
|
|
619
620
|
attrs = {
|
|
@@ -662,8 +663,8 @@ class TestShowNetworkSegmentRange(TestNetworkSegmentRange):
|
|
|
662
663
|
def setUp(self):
|
|
663
664
|
super().setUp()
|
|
664
665
|
|
|
665
|
-
self.network_client.find_network_segment_range =
|
|
666
|
-
|
|
666
|
+
self.network_client.find_network_segment_range.return_value = (
|
|
667
|
+
self._network_segment_range
|
|
667
668
|
)
|
|
668
669
|
|
|
669
670
|
# Get the command object to test
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
# License for the specific language governing permissions and limitations
|
|
14
14
|
# under the License.
|
|
15
15
|
|
|
16
|
-
from unittest import mock
|
|
17
16
|
|
|
18
17
|
from openstackclient.network.v2 import (
|
|
19
18
|
network_service_provider as service_provider,
|
|
@@ -52,9 +51,7 @@ class TestListNetworkServiceProvider(TestNetworkServiceProvider):
|
|
|
52
51
|
|
|
53
52
|
def setUp(self):
|
|
54
53
|
super().setUp()
|
|
55
|
-
self.network_client.service_providers =
|
|
56
|
-
return_value=self.provider_list
|
|
57
|
-
)
|
|
54
|
+
self.network_client.service_providers.return_value = self.provider_list
|
|
58
55
|
|
|
59
56
|
self.cmd = service_provider.ListNetworkServiceProvider(self.app, None)
|
|
60
57
|
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
# under the License.
|
|
12
12
|
|
|
13
13
|
import copy
|
|
14
|
-
from unittest import mock
|
|
15
14
|
from unittest.mock import call
|
|
16
15
|
|
|
17
16
|
from osc_lib.cli import format_columns
|
|
@@ -84,12 +83,12 @@ class TestCreateNetworkTrunk(TestNetworkTrunk):
|
|
|
84
83
|
|
|
85
84
|
def setUp(self):
|
|
86
85
|
super().setUp()
|
|
87
|
-
self.network_client.create_trunk =
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
86
|
+
self.network_client.create_trunk.return_value = self.new_trunk
|
|
87
|
+
|
|
88
|
+
self.network_client.find_port.side_effect = [
|
|
89
|
+
self.parent_port,
|
|
90
|
+
self.sub_port,
|
|
91
|
+
]
|
|
93
92
|
|
|
94
93
|
# Get the command object to test
|
|
95
94
|
self.cmd = network_trunk.CreateNetworkTrunk(self.app, None)
|
|
@@ -313,13 +312,16 @@ class TestDeleteNetworkTrunk(TestNetworkTrunk):
|
|
|
313
312
|
|
|
314
313
|
def setUp(self):
|
|
315
314
|
super().setUp()
|
|
316
|
-
self.network_client.find_trunk =
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
315
|
+
self.network_client.find_trunk.side_effect = [
|
|
316
|
+
self.new_trunks[0],
|
|
317
|
+
self.new_trunks[1],
|
|
318
|
+
]
|
|
319
|
+
|
|
320
|
+
self.network_client.delete_trunk.return_value = None
|
|
321
|
+
self.network_client.find_port.side_effect = [
|
|
322
|
+
self.parent_port,
|
|
323
|
+
self.sub_port,
|
|
324
|
+
]
|
|
323
325
|
|
|
324
326
|
self.projects_mock.get.return_value = self.project
|
|
325
327
|
self.domains_mock.get.return_value = self.domain
|
|
@@ -371,9 +373,11 @@ class TestDeleteNetworkTrunk(TestNetworkTrunk):
|
|
|
371
373
|
]
|
|
372
374
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
373
375
|
|
|
374
|
-
self.network_client.find_trunk =
|
|
375
|
-
|
|
376
|
-
|
|
376
|
+
self.network_client.find_trunk.side_effect = [
|
|
377
|
+
self.new_trunks[0],
|
|
378
|
+
exceptions.CommandError,
|
|
379
|
+
]
|
|
380
|
+
|
|
377
381
|
with testtools.ExpectedException(exceptions.CommandError) as e:
|
|
378
382
|
self.cmd.take_action(parsed_args)
|
|
379
383
|
self.assertEqual('1 of 2 trunks failed to delete.', str(e))
|
|
@@ -412,8 +416,8 @@ class TestShowNetworkTrunk(TestNetworkTrunk):
|
|
|
412
416
|
|
|
413
417
|
def setUp(self):
|
|
414
418
|
super().setUp()
|
|
415
|
-
self.network_client.find_trunk =
|
|
416
|
-
self.network_client.get_trunk =
|
|
419
|
+
self.network_client.find_trunk.return_value = self.new_trunk
|
|
420
|
+
self.network_client.get_trunk.return_value = self.new_trunk
|
|
417
421
|
|
|
418
422
|
self.projects_mock.get.return_value = self.project
|
|
419
423
|
self.domains_mock.get.return_value = self.domain
|
|
@@ -485,7 +489,7 @@ class TestListNetworkTrunk(TestNetworkTrunk):
|
|
|
485
489
|
|
|
486
490
|
def setUp(self):
|
|
487
491
|
super().setUp()
|
|
488
|
-
self.network_client.trunks =
|
|
492
|
+
self.network_client.trunks.return_value = self.new_trunks
|
|
489
493
|
|
|
490
494
|
self.projects_mock.get.return_value = self.project
|
|
491
495
|
self.domains_mock.get.return_value = self.domain
|
|
@@ -564,14 +568,14 @@ class TestSetNetworkTrunk(TestNetworkTrunk):
|
|
|
564
568
|
|
|
565
569
|
def setUp(self):
|
|
566
570
|
super().setUp()
|
|
567
|
-
self.network_client.update_trunk =
|
|
568
|
-
self.network_client.add_trunk_subports =
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
self.network_client.
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
571
|
+
self.network_client.update_trunk.return_value = self._trunk
|
|
572
|
+
self.network_client.add_trunk_subports.return_value = self._trunk
|
|
573
|
+
|
|
574
|
+
self.network_client.find_trunk.return_value = self._trunk
|
|
575
|
+
self.network_client.find_port.side_effect = [
|
|
576
|
+
self.sub_port,
|
|
577
|
+
self.sub_port,
|
|
578
|
+
]
|
|
575
579
|
|
|
576
580
|
self.projects_mock.get.return_value = self.project
|
|
577
581
|
self.domains_mock.get.return_value = self.domain
|
|
@@ -763,9 +767,8 @@ class TestSetNetworkTrunk(TestNetworkTrunk):
|
|
|
763
767
|
]
|
|
764
768
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
765
769
|
|
|
766
|
-
self.network_client.update_trunk =
|
|
767
|
-
|
|
768
|
-
)
|
|
770
|
+
self.network_client.update_trunk.side_effect = exceptions.CommandError
|
|
771
|
+
|
|
769
772
|
with testtools.ExpectedException(exceptions.CommandError) as e:
|
|
770
773
|
self.cmd.take_action(parsed_args)
|
|
771
774
|
self.assertEqual(
|
|
@@ -790,12 +793,14 @@ class TestSetNetworkTrunk(TestNetworkTrunk):
|
|
|
790
793
|
]
|
|
791
794
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
792
795
|
|
|
793
|
-
self.network_client.add_trunk_subports =
|
|
794
|
-
|
|
795
|
-
)
|
|
796
|
-
self.network_client.find_port = mock.Mock(
|
|
797
|
-
return_value={'id': 'invalid_subport'}
|
|
796
|
+
self.network_client.add_trunk_subports.side_effect = (
|
|
797
|
+
exceptions.CommandError
|
|
798
798
|
)
|
|
799
|
+
|
|
800
|
+
self.network_client.find_port.side_effect = [
|
|
801
|
+
network_fakes.create_one_port({'id': 'invalid_subport'})
|
|
802
|
+
]
|
|
803
|
+
|
|
799
804
|
with testtools.ExpectedException(exceptions.CommandError) as e:
|
|
800
805
|
self.cmd.take_action(parsed_args)
|
|
801
806
|
self.assertEqual(
|
|
@@ -832,10 +837,10 @@ class TestListNetworkSubport(TestNetworkTrunk):
|
|
|
832
837
|
def setUp(self):
|
|
833
838
|
super().setUp()
|
|
834
839
|
|
|
835
|
-
self.network_client.find_trunk =
|
|
836
|
-
self.network_client.get_trunk_subports =
|
|
837
|
-
|
|
838
|
-
|
|
840
|
+
self.network_client.find_trunk.return_value = self._trunk
|
|
841
|
+
self.network_client.get_trunk_subports.return_value = {
|
|
842
|
+
network_trunk.SUB_PORTS: self._subports
|
|
843
|
+
}
|
|
839
844
|
|
|
840
845
|
# Get the command object to test
|
|
841
846
|
self.cmd = network_trunk.ListNetworkSubport(self.app, None)
|
|
@@ -902,13 +907,13 @@ class TestUnsetNetworkTrunk(TestNetworkTrunk):
|
|
|
902
907
|
def setUp(self):
|
|
903
908
|
super().setUp()
|
|
904
909
|
|
|
905
|
-
self.network_client.find_trunk =
|
|
906
|
-
self.network_client.find_port =
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
910
|
+
self.network_client.find_trunk.return_value = self._trunk
|
|
911
|
+
self.network_client.find_port.side_effect = [
|
|
912
|
+
self.sub_port,
|
|
913
|
+
self.sub_port,
|
|
914
|
+
]
|
|
915
|
+
|
|
916
|
+
self.network_client.delete_trunk_subports.return_value = None
|
|
912
917
|
|
|
913
918
|
# Get the command object to test
|
|
914
919
|
self.cmd = network_trunk.UnsetNetworkTrunk(self.app, None)
|