python-openstackclient 6.6.0__py3-none-any.whl → 7.0.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/api.py +7 -8
- openstackclient/api/compute_v2.py +352 -638
- openstackclient/api/image_v1.py +1 -1
- openstackclient/api/object_store_v1.py +3 -4
- openstackclient/common/availability_zone.py +1 -1
- openstackclient/common/clientmanager.py +16 -4
- openstackclient/common/configuration.py +1 -1
- openstackclient/common/extension.py +1 -1
- openstackclient/common/limits.py +66 -32
- openstackclient/common/module.py +3 -3
- openstackclient/common/progressbar.py +2 -2
- openstackclient/common/project_cleanup.py +5 -2
- openstackclient/common/quota.py +281 -410
- openstackclient/common/versions.py +1 -1
- openstackclient/compute/client.py +7 -116
- openstackclient/compute/v2/agent.py +75 -49
- openstackclient/compute/v2/aggregate.py +9 -9
- openstackclient/compute/v2/console.py +2 -2
- openstackclient/compute/v2/flavor.py +6 -6
- openstackclient/compute/v2/host.py +38 -33
- openstackclient/compute/v2/hypervisor.py +4 -3
- openstackclient/compute/v2/keypair.py +7 -8
- openstackclient/compute/v2/server.py +478 -396
- openstackclient/compute/v2/server_backup.py +1 -1
- openstackclient/compute/v2/server_group.py +4 -4
- openstackclient/compute/v2/server_image.py +1 -1
- openstackclient/compute/v2/server_migration.py +3 -4
- openstackclient/compute/v2/service.py +4 -4
- openstackclient/compute/v2/usage.py +3 -3
- openstackclient/identity/common.py +34 -0
- openstackclient/identity/v2_0/catalog.py +2 -2
- openstackclient/identity/v2_0/ec2creds.py +4 -4
- openstackclient/identity/v2_0/endpoint.py +4 -4
- openstackclient/identity/v2_0/project.py +6 -6
- openstackclient/identity/v2_0/role.py +5 -5
- openstackclient/identity/v2_0/role_assignment.py +1 -1
- openstackclient/identity/v2_0/service.py +4 -4
- openstackclient/identity/v2_0/token.py +2 -2
- openstackclient/identity/v2_0/user.py +7 -7
- openstackclient/identity/v3/access_rule.py +3 -3
- openstackclient/identity/v3/application_credential.py +127 -45
- openstackclient/identity/v3/catalog.py +2 -2
- openstackclient/identity/v3/consumer.py +4 -4
- openstackclient/identity/v3/credential.py +5 -5
- openstackclient/identity/v3/domain.py +5 -5
- openstackclient/identity/v3/ec2creds.py +4 -4
- openstackclient/identity/v3/endpoint.py +7 -7
- openstackclient/identity/v3/endpoint_group.py +8 -10
- openstackclient/identity/v3/federation_protocol.py +5 -5
- openstackclient/identity/v3/group.py +8 -8
- openstackclient/identity/v3/identity_provider.py +5 -5
- openstackclient/identity/v3/implied_role.py +3 -3
- openstackclient/identity/v3/limit.py +5 -5
- openstackclient/identity/v3/mapping.py +5 -5
- openstackclient/identity/v3/policy.py +5 -5
- openstackclient/identity/v3/project.py +5 -5
- openstackclient/identity/v3/region.py +5 -5
- openstackclient/identity/v3/registered_limit.py +5 -5
- openstackclient/identity/v3/role.py +7 -7
- openstackclient/identity/v3/role_assignment.py +92 -140
- openstackclient/identity/v3/service.py +64 -34
- openstackclient/identity/v3/service_provider.py +4 -4
- openstackclient/identity/v3/tag.py +2 -2
- openstackclient/identity/v3/token.py +5 -5
- openstackclient/identity/v3/trust.py +3 -3
- openstackclient/identity/v3/user.py +144 -80
- openstackclient/image/client.py +4 -4
- openstackclient/image/v1/image.py +8 -9
- openstackclient/image/v2/cache.py +12 -10
- openstackclient/image/v2/metadef_objects.py +44 -0
- openstackclient/image/v2/metadef_resource_type_association.py +189 -0
- openstackclient/image/v2/task.py +1 -1
- openstackclient/network/common.py +6 -5
- openstackclient/network/utils.py +2 -2
- openstackclient/network/v2/address_group.py +6 -6
- openstackclient/network/v2/address_scope.py +5 -5
- openstackclient/network/v2/default_security_group_rule.py +1 -1
- openstackclient/network/v2/floating_ip.py +8 -10
- openstackclient/network/v2/floating_ip_pool.py +6 -15
- openstackclient/network/v2/floating_ip_port_forwarding.py +5 -13
- openstackclient/network/v2/ip_availability.py +2 -2
- openstackclient/network/v2/l3_conntrack_helper.py +5 -5
- openstackclient/network/v2/network.py +8 -8
- openstackclient/network/v2/network_agent.py +8 -8
- openstackclient/network/v2/network_auto_allocated_topology.py +2 -2
- openstackclient/network/v2/network_flavor.py +6 -8
- openstackclient/network/v2/network_flavor_profile.py +4 -4
- openstackclient/network/v2/network_meter.py +3 -3
- openstackclient/network/v2/network_meter_rule.py +3 -3
- openstackclient/network/v2/network_qos_policy.py +5 -5
- openstackclient/network/v2/network_qos_rule.py +9 -9
- openstackclient/network/v2/network_qos_rule_type.py +1 -1
- openstackclient/network/v2/network_rbac.py +5 -5
- openstackclient/network/v2/network_segment.py +5 -5
- openstackclient/network/v2/network_segment_range.py +7 -7
- openstackclient/network/v2/network_trunk.py +7 -7
- openstackclient/network/v2/port.py +26 -12
- openstackclient/network/v2/router.py +403 -54
- openstackclient/network/v2/security_group.py +18 -14
- openstackclient/network/v2/security_group_rule.py +18 -15
- openstackclient/network/v2/subnet.py +15 -8
- openstackclient/network/v2/subnet_pool.py +6 -6
- openstackclient/object/v1/account.py +2 -2
- openstackclient/object/v1/container.py +7 -7
- openstackclient/object/v1/object.py +7 -7
- openstackclient/shell.py +4 -6
- openstackclient/tests/functional/base.py +1 -1
- openstackclient/tests/functional/common/test_extension.py +1 -1
- openstackclient/tests/functional/common/test_help.py +2 -2
- openstackclient/tests/functional/common/test_module.py +1 -1
- openstackclient/tests/functional/common/test_quota.py +43 -61
- openstackclient/tests/functional/compute/v2/common.py +2 -2
- openstackclient/tests/functional/compute/v2/test_flavor.py +2 -2
- openstackclient/tests/functional/compute/v2/test_keypair.py +1 -1
- openstackclient/tests/functional/compute/v2/test_server.py +5 -5
- openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
- openstackclient/tests/functional/identity/v2/common.py +3 -3
- openstackclient/tests/functional/identity/v3/common.py +14 -6
- openstackclient/tests/functional/identity/v3/test_application_credential.py +13 -19
- openstackclient/tests/functional/identity/v3/test_domain.py +1 -3
- openstackclient/tests/functional/identity/v3/test_endpoint.py +1 -1
- openstackclient/tests/functional/identity/v3/test_idp.py +1 -1
- openstackclient/tests/functional/identity/v3/test_limit.py +2 -2
- openstackclient/tests/functional/identity/v3/test_region.py +1 -3
- openstackclient/tests/functional/identity/v3/test_registered_limit.py +1 -1
- openstackclient/tests/functional/identity/v3/test_role.py +2 -2
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +210 -0
- openstackclient/tests/functional/identity/v3/test_service.py +4 -6
- openstackclient/tests/functional/identity/v3/test_service_provider.py +1 -3
- openstackclient/tests/functional/image/base.py +1 -1
- openstackclient/tests/functional/image/v2/test_image.py +1 -1
- openstackclient/tests/functional/image/v2/test_info.py +1 -1
- openstackclient/tests/functional/network/v2/common.py +4 -6
- openstackclient/tests/functional/network/v2/test_network.py +5 -3
- openstackclient/tests/functional/network/v2/test_network_agent.py +7 -5
- openstackclient/tests/functional/network/v2/test_network_qos_rule.py +4 -4
- openstackclient/tests/functional/network/v2/test_port.py +11 -7
- openstackclient/tests/functional/network/v2/test_router.py +2 -2
- openstackclient/tests/functional/object/v1/common.py +1 -1
- openstackclient/tests/functional/object/v1/test_container.py +3 -3
- openstackclient/tests/functional/object/v1/test_object.py +9 -13
- openstackclient/tests/functional/volume/base.py +1 -1
- openstackclient/tests/functional/volume/v1/test_service.py +1 -1
- openstackclient/tests/functional/volume/v1/test_snapshot.py +2 -2
- openstackclient/tests/functional/volume/v1/test_transfer_request.py +2 -2
- openstackclient/tests/functional/volume/v1/test_volume_type.py +1 -1
- openstackclient/tests/functional/volume/v2/test_service.py +2 -2
- openstackclient/tests/functional/volume/v2/test_volume_backup.py +2 -2
- openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +2 -2
- openstackclient/tests/functional/volume/v2/test_volume_type.py +1 -1
- openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +2 -2
- openstackclient/tests/functional/volume/v3/test_volume_type.py +1 -1
- openstackclient/tests/unit/api/fakes.py +1 -1
- openstackclient/tests/unit/api/test_api.py +2 -2
- openstackclient/tests/unit/api/test_compute_v2.py +522 -707
- openstackclient/tests/unit/api/test_image_v1.py +1 -1
- openstackclient/tests/unit/api/test_image_v2.py +1 -1
- openstackclient/tests/unit/api/test_object_store_v1.py +4 -4
- openstackclient/tests/unit/common/test_limits.py +73 -35
- openstackclient/tests/unit/common/test_logs.py +2 -2
- openstackclient/tests/unit/common/test_module.py +4 -2
- openstackclient/tests/unit/common/test_project_cleanup.py +31 -6
- openstackclient/tests/unit/common/test_quota.py +490 -630
- openstackclient/tests/unit/compute/v2/fakes.py +37 -286
- openstackclient/tests/unit/compute/v2/test_agent.py +189 -147
- openstackclient/tests/unit/compute/v2/test_aggregate.py +18 -16
- openstackclient/tests/unit/compute/v2/test_console.py +4 -5
- openstackclient/tests/unit/compute/v2/test_flavor.py +59 -68
- openstackclient/tests/unit/compute/v2/test_host.py +83 -54
- openstackclient/tests/unit/compute/v2/test_hypervisor.py +28 -31
- openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
- openstackclient/tests/unit/compute/v2/test_keypair.py +65 -50
- openstackclient/tests/unit/compute/v2/test_server.py +2895 -2459
- openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -1
- openstackclient/tests/unit/compute/v2/test_server_event.py +14 -39
- openstackclient/tests/unit/compute/v2/test_server_group.py +28 -29
- openstackclient/tests/unit/compute/v2/test_server_migration.py +43 -68
- openstackclient/tests/unit/compute/v2/test_server_volume.py +17 -34
- openstackclient/tests/unit/compute/v2/test_service.py +34 -52
- openstackclient/tests/unit/compute/v2/test_usage.py +4 -4
- openstackclient/tests/unit/fakes.py +11 -11
- openstackclient/tests/unit/identity/v2_0/fakes.py +27 -10
- openstackclient/tests/unit/identity/v2_0/test_catalog.py +3 -3
- openstackclient/tests/unit/identity/v2_0/test_endpoint.py +7 -7
- openstackclient/tests/unit/identity/v2_0/test_project.py +8 -8
- openstackclient/tests/unit/identity/v2_0/test_role.py +10 -10
- openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +4 -4
- openstackclient/tests/unit/identity/v2_0/test_service.py +6 -6
- openstackclient/tests/unit/identity/v2_0/test_token.py +4 -4
- openstackclient/tests/unit/identity/v2_0/test_user.py +8 -8
- openstackclient/tests/unit/identity/v3/fakes.py +59 -20
- openstackclient/tests/unit/identity/v3/test_access_rule.py +5 -5
- openstackclient/tests/unit/identity/v3/test_application_credential.py +212 -235
- openstackclient/tests/unit/identity/v3/test_catalog.py +3 -3
- openstackclient/tests/unit/identity/v3/test_consumer.py +7 -8
- openstackclient/tests/unit/identity/v3/test_credential.py +9 -9
- openstackclient/tests/unit/identity/v3/test_domain.py +8 -8
- openstackclient/tests/unit/identity/v3/test_endpoint.py +13 -13
- openstackclient/tests/unit/identity/v3/test_endpoint_group.py +12 -14
- openstackclient/tests/unit/identity/v3/test_group.py +12 -12
- openstackclient/tests/unit/identity/v3/test_identity_provider.py +8 -8
- openstackclient/tests/unit/identity/v3/test_implied_role.py +5 -5
- openstackclient/tests/unit/identity/v3/test_limit.py +7 -7
- openstackclient/tests/unit/identity/v3/test_mappings.py +7 -7
- openstackclient/tests/unit/identity/v3/test_oauth.py +5 -5
- openstackclient/tests/unit/identity/v3/test_project.py +16 -16
- openstackclient/tests/unit/identity/v3/test_protocol.py +7 -7
- openstackclient/tests/unit/identity/v3/test_region.py +7 -7
- openstackclient/tests/unit/identity/v3/test_registered_limit.py +12 -13
- openstackclient/tests/unit/identity/v3/test_role.py +13 -13
- openstackclient/tests/unit/identity/v3/test_role_assignment.py +410 -331
- openstackclient/tests/unit/identity/v3/test_service.py +93 -97
- openstackclient/tests/unit/identity/v3/test_service_provider.py +7 -7
- openstackclient/tests/unit/identity/v3/test_token.py +4 -4
- openstackclient/tests/unit/identity/v3/test_trust.py +9 -9
- openstackclient/tests/unit/identity/v3/test_unscoped_saml.py +4 -4
- openstackclient/tests/unit/identity/v3/test_user.py +299 -327
- openstackclient/tests/unit/image/v1/test_image.py +6 -6
- openstackclient/tests/unit/image/v2/fakes.py +46 -9
- openstackclient/tests/unit/image/v2/test_cache.py +2 -2
- openstackclient/tests/unit/image/v2/test_image.py +3 -3
- openstackclient/tests/unit/image/v2/test_metadef_objects.py +62 -0
- openstackclient/tests/unit/image/v2/test_metadef_resource_type_association.py +131 -0
- openstackclient/tests/unit/integ/base.py +1 -1
- openstackclient/tests/unit/integ/cli/test_project.py +4 -4
- openstackclient/tests/unit/integ/cli/test_shell.py +7 -7
- openstackclient/tests/unit/network/test_common.py +12 -21
- openstackclient/tests/unit/network/v2/fakes.py +64 -130
- openstackclient/tests/unit/network/v2/test_address_group.py +15 -15
- openstackclient/tests/unit/network/v2/test_address_scope.py +13 -13
- openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +49 -27
- openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +40 -38
- openstackclient/tests/unit/network/v2/test_floating_ip_network.py +15 -15
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +4 -7
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +3 -5
- openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +11 -11
- openstackclient/tests/unit/network/v2/test_ip_availability.py +6 -6
- openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +11 -21
- openstackclient/tests/unit/network/v2/test_local_ip.py +7 -7
- openstackclient/tests/unit/network/v2/test_local_ip_association.py +3 -5
- openstackclient/tests/unit/network/v2/test_ndp_proxy.py +13 -13
- openstackclient/tests/unit/network/v2/test_network.py +23 -28
- openstackclient/tests/unit/network/v2/test_network_agent.py +17 -21
- openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +8 -8
- openstackclient/tests/unit/network/v2/test_network_compute.py +66 -65
- openstackclient/tests/unit/network/v2/test_network_flavor.py +17 -19
- openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +13 -13
- openstackclient/tests/unit/network/v2/test_network_meter.py +11 -11
- openstackclient/tests/unit/network/v2/test_network_meter_rule.py +11 -11
- openstackclient/tests/unit/network/v2/test_network_qos_policy.py +11 -21
- openstackclient/tests/unit/network/v2/test_network_qos_rule.py +51 -77
- openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +5 -9
- openstackclient/tests/unit/network/v2/test_network_rbac.py +12 -12
- openstackclient/tests/unit/network/v2/test_network_segment.py +11 -15
- openstackclient/tests/unit/network/v2/test_network_segment_range.py +11 -13
- openstackclient/tests/unit/network/v2/test_network_service_provider.py +3 -5
- openstackclient/tests/unit/network/v2/test_network_trunk.py +11 -11
- openstackclient/tests/unit/network/v2/test_port.py +22 -25
- openstackclient/tests/unit/network/v2/test_router.py +721 -51
- openstackclient/tests/unit/network/v2/test_security_group_compute.py +65 -49
- openstackclient/tests/unit/network/v2/test_security_group_network.py +15 -15
- openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +57 -45
- openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +11 -19
- openstackclient/tests/unit/network/v2/test_subnet.py +29 -25
- openstackclient/tests/unit/network/v2/test_subnet_pool.py +15 -15
- openstackclient/tests/unit/object/v1/fakes.py +1 -1
- openstackclient/tests/unit/object/v1/test_container.py +5 -5
- openstackclient/tests/unit/object/v1/test_container_all.py +6 -6
- openstackclient/tests/unit/object/v1/test_object.py +3 -3
- openstackclient/tests/unit/object/v1/test_object_all.py +5 -5
- openstackclient/tests/unit/test_shell.py +5 -5
- openstackclient/tests/unit/utils.py +4 -1
- openstackclient/tests/unit/volume/test_find_resource.py +2 -2
- openstackclient/tests/unit/volume/v1/fakes.py +5 -6
- openstackclient/tests/unit/volume/v1/test_volume.py +5 -4
- openstackclient/tests/unit/volume/v2/fakes.py +39 -259
- openstackclient/tests/unit/volume/v2/test_consistency_group_snapshot.py +5 -5
- openstackclient/tests/unit/volume/v2/test_qos_specs.py +9 -9
- openstackclient/tests/unit/volume/v2/test_volume.py +21 -87
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +7 -368
- openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +1 -1
- openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +0 -44
- openstackclient/tests/unit/volume/v2/test_volume_type.py +6 -87
- openstackclient/tests/unit/volume/v3/fakes.py +505 -22
- openstackclient/tests/unit/volume/v3/test_block_storage_cleanup.py +2 -3
- openstackclient/tests/unit/volume/v3/test_block_storage_cluster.py +10 -11
- openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +10 -6
- openstackclient/tests/unit/volume/v3/test_block_storage_manage.py +25 -17
- openstackclient/tests/unit/volume/v3/test_block_storage_resource_filter.py +6 -32
- openstackclient/tests/unit/volume/v3/test_service.py +271 -0
- openstackclient/tests/unit/volume/v3/test_volume.py +2177 -33
- openstackclient/tests/unit/volume/v3/test_volume_attachment.py +48 -52
- openstackclient/tests/unit/volume/v3/test_volume_backup.py +892 -0
- openstackclient/tests/unit/volume/v3/test_volume_group.py +19 -20
- openstackclient/tests/unit/volume/v3/test_volume_group_snapshot.py +14 -34
- openstackclient/tests/unit/volume/v3/test_volume_group_type.py +13 -16
- openstackclient/tests/unit/volume/v3/test_volume_message.py +10 -11
- openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +161 -0
- openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +425 -0
- openstackclient/tests/unit/volume/v3/test_volume_type.py +1109 -0
- openstackclient/volume/v1/qos_specs.py +7 -7
- openstackclient/volume/v1/service.py +2 -2
- openstackclient/volume/v1/volume.py +12 -12
- openstackclient/volume/v1/volume_backup.py +7 -7
- openstackclient/volume/v1/volume_snapshot.py +8 -8
- openstackclient/volume/v1/volume_transfer_request.py +5 -5
- openstackclient/volume/v1/volume_type.py +7 -7
- openstackclient/volume/v2/backup_record.py +2 -2
- openstackclient/volume/v2/consistency_group.py +7 -9
- openstackclient/volume/v2/consistency_group_snapshot.py +4 -12
- openstackclient/volume/v2/qos_specs.py +7 -7
- openstackclient/volume/v2/service.py +2 -2
- openstackclient/volume/v2/volume.py +80 -80
- openstackclient/volume/v2/volume_backend.py +2 -2
- openstackclient/volume/v2/volume_backup.py +7 -217
- openstackclient/volume/v2/volume_host.py +2 -2
- openstackclient/volume/v2/volume_snapshot.py +8 -8
- openstackclient/volume/v2/volume_transfer_request.py +5 -37
- openstackclient/volume/v2/volume_type.py +7 -89
- openstackclient/volume/v3/service.py +56 -0
- openstackclient/volume/v3/volume.py +971 -0
- openstackclient/volume/v3/volume_attachment.py +31 -29
- openstackclient/volume/v3/volume_backup.py +670 -0
- openstackclient/volume/v3/volume_message.py +1 -1
- openstackclient/volume/v3/volume_snapshot.py +97 -0
- openstackclient/volume/v3/volume_transfer_request.py +233 -0
- openstackclient/volume/v3/volume_type.py +967 -0
- {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/AUTHORS +4 -0
- {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/METADATA +3 -3
- python_openstackclient-7.0.0.dist-info/RECORD +502 -0
- {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/entry_points.txt +33 -27
- python_openstackclient-7.0.0.dist-info/pbr.json +1 -0
- python_openstackclient-6.6.0.dist-info/RECORD +0 -489
- python_openstackclient-6.6.0.dist-info/pbr.json +0 -1
- {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/LICENSE +0 -0
- {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/WHEEL +0 -0
- {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/top_level.txt +0 -0
|
@@ -10,9 +10,6 @@
|
|
|
10
10
|
# License for the specific language governing permissions and limitations
|
|
11
11
|
# under the License.
|
|
12
12
|
|
|
13
|
-
from unittest import mock
|
|
14
|
-
|
|
15
|
-
from openstack import utils as sdk_utils
|
|
16
13
|
from osc_lib import exceptions
|
|
17
14
|
|
|
18
15
|
from openstackclient.compute.v2 import server_volume
|
|
@@ -35,10 +32,7 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
|
|
35
32
|
# Get the command object to test
|
|
36
33
|
self.cmd = server_volume.ListServerVolume(self.app, None)
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
def test_server_volume_list(self, sm_mock):
|
|
40
|
-
sm_mock.side_effect = [False, False, False, False]
|
|
41
|
-
|
|
35
|
+
def test_server_volume_list(self):
|
|
42
36
|
arglist = [
|
|
43
37
|
self.server.id,
|
|
44
38
|
]
|
|
@@ -71,9 +65,8 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
|
|
71
65
|
self.server,
|
|
72
66
|
)
|
|
73
67
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
sm_mock.side_effect = [False, True, False, False]
|
|
68
|
+
def test_server_volume_list_with_tags(self):
|
|
69
|
+
self.set_compute_api_version('2.70')
|
|
77
70
|
|
|
78
71
|
arglist = [
|
|
79
72
|
self.server.id,
|
|
@@ -118,9 +111,9 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
|
|
118
111
|
self.server,
|
|
119
112
|
)
|
|
120
113
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
114
|
+
def test_server_volume_list_with_delete_on_attachment(self):
|
|
115
|
+
self.set_compute_api_version('2.79')
|
|
116
|
+
|
|
124
117
|
arglist = [
|
|
125
118
|
self.server.id,
|
|
126
119
|
]
|
|
@@ -167,9 +160,9 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
|
|
167
160
|
self.server,
|
|
168
161
|
)
|
|
169
162
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
163
|
+
def test_server_volume_list_with_attachment_ids(self):
|
|
164
|
+
self.set_compute_api_version('2.89')
|
|
165
|
+
|
|
173
166
|
arglist = [
|
|
174
167
|
self.server.id,
|
|
175
168
|
]
|
|
@@ -251,9 +244,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
|
|
251
244
|
self.compute_sdk_client.update_volume_attachment.assert_not_called()
|
|
252
245
|
self.assertIsNone(result)
|
|
253
246
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
sm_mock.return_value = True
|
|
247
|
+
def test_server_volume_update_with_delete_on_termination(self):
|
|
248
|
+
self.set_compute_api_version('2.85')
|
|
257
249
|
|
|
258
250
|
arglist = [
|
|
259
251
|
self.server.id,
|
|
@@ -276,9 +268,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
|
|
276
268
|
)
|
|
277
269
|
self.assertIsNone(result)
|
|
278
270
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
sm_mock.return_value = True
|
|
271
|
+
def test_server_volume_update_with_preserve_on_termination(self):
|
|
272
|
+
self.set_compute_api_version('2.85')
|
|
282
273
|
|
|
283
274
|
arglist = [
|
|
284
275
|
self.server.id,
|
|
@@ -299,12 +290,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
|
|
299
290
|
)
|
|
300
291
|
self.assertIsNone(result)
|
|
301
292
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
self,
|
|
305
|
-
sm_mock,
|
|
306
|
-
):
|
|
307
|
-
sm_mock.return_value = False
|
|
293
|
+
def test_server_volume_update_with_delete_on_termination_pre_v285(self):
|
|
294
|
+
self.set_compute_api_version('2.84')
|
|
308
295
|
|
|
309
296
|
arglist = [
|
|
310
297
|
self.server.id,
|
|
@@ -325,12 +312,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
|
|
325
312
|
)
|
|
326
313
|
self.compute_sdk_client.update_volume_attachment.assert_not_called()
|
|
327
314
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
self,
|
|
331
|
-
sm_mock,
|
|
332
|
-
):
|
|
333
|
-
sm_mock.return_value = False
|
|
315
|
+
def test_server_volume_update_with_preserve_on_termination_pre_v285(self):
|
|
316
|
+
self.set_compute_api_version('2.84')
|
|
334
317
|
|
|
335
318
|
arglist = [
|
|
336
319
|
self.server.id,
|
|
@@ -13,9 +13,7 @@
|
|
|
13
13
|
# under the License.
|
|
14
14
|
|
|
15
15
|
from unittest import mock
|
|
16
|
-
from unittest.mock import call
|
|
17
16
|
|
|
18
|
-
from openstack import utils as sdk_utils
|
|
19
17
|
from osc_lib import exceptions
|
|
20
18
|
|
|
21
19
|
from openstackclient.compute.v2 import service
|
|
@@ -26,7 +24,7 @@ class TestServiceDelete(compute_fakes.TestComputev2):
|
|
|
26
24
|
services = compute_fakes.create_services(count=2)
|
|
27
25
|
|
|
28
26
|
def setUp(self):
|
|
29
|
-
super(
|
|
27
|
+
super().setUp()
|
|
30
28
|
|
|
31
29
|
self.compute_sdk_client.delete_service.return_value = None
|
|
32
30
|
|
|
@@ -62,7 +60,7 @@ class TestServiceDelete(compute_fakes.TestComputev2):
|
|
|
62
60
|
|
|
63
61
|
calls = []
|
|
64
62
|
for s in self.services:
|
|
65
|
-
calls.append(call(s.binary, ignore_missing=False))
|
|
63
|
+
calls.append(mock.call(s.binary, ignore_missing=False))
|
|
66
64
|
self.compute_sdk_client.delete_service.assert_has_calls(calls)
|
|
67
65
|
self.assertIsNone(result)
|
|
68
66
|
|
|
@@ -123,7 +121,7 @@ class TestServiceList(compute_fakes.TestComputev2):
|
|
|
123
121
|
data_long = [data[0] + (service.disabled_reason,)]
|
|
124
122
|
|
|
125
123
|
def setUp(self):
|
|
126
|
-
super(
|
|
124
|
+
super().setUp()
|
|
127
125
|
|
|
128
126
|
self.compute_sdk_client.services.return_value = [self.service]
|
|
129
127
|
|
|
@@ -156,10 +154,7 @@ class TestServiceList(compute_fakes.TestComputev2):
|
|
|
156
154
|
self.assertEqual(self.columns, columns)
|
|
157
155
|
self.assertEqual(self.data, list(data))
|
|
158
156
|
|
|
159
|
-
|
|
160
|
-
def test_service_list_with_long_option(self, sm_mock):
|
|
161
|
-
sm_mock.return_value = False
|
|
162
|
-
|
|
157
|
+
def test_service_list_with_long_option(self):
|
|
163
158
|
arglist = [
|
|
164
159
|
'--host',
|
|
165
160
|
self.service.host,
|
|
@@ -187,9 +182,8 @@ class TestServiceList(compute_fakes.TestComputev2):
|
|
|
187
182
|
self.assertEqual(self.columns_long, columns)
|
|
188
183
|
self.assertEqual(self.data_long, list(data))
|
|
189
184
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
sm_mock.return_value = True
|
|
185
|
+
def test_service_list_with_long_option_2_11(self):
|
|
186
|
+
self.set_compute_api_version('2.11')
|
|
193
187
|
|
|
194
188
|
arglist = [
|
|
195
189
|
'--host',
|
|
@@ -225,7 +219,7 @@ class TestServiceList(compute_fakes.TestComputev2):
|
|
|
225
219
|
|
|
226
220
|
class TestServiceSet(compute_fakes.TestComputev2):
|
|
227
221
|
def setUp(self):
|
|
228
|
-
super(
|
|
222
|
+
super().setUp()
|
|
229
223
|
|
|
230
224
|
self.service = compute_fakes.create_one_service()
|
|
231
225
|
|
|
@@ -234,9 +228,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
234
228
|
|
|
235
229
|
self.cmd = service.SetService(self.app, None)
|
|
236
230
|
|
|
237
|
-
|
|
238
|
-
def test_set_nothing(self, sm_mock):
|
|
239
|
-
sm_mock.return_value = False
|
|
231
|
+
def test_set_nothing(self):
|
|
240
232
|
arglist = [
|
|
241
233
|
self.service.host,
|
|
242
234
|
self.service.binary,
|
|
@@ -252,9 +244,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
252
244
|
self.compute_sdk_client.disable_service.assert_not_called()
|
|
253
245
|
self.assertIsNone(result)
|
|
254
246
|
|
|
255
|
-
|
|
256
|
-
def test_service_set_enable(self, sm_mock):
|
|
257
|
-
sm_mock.return_value = False
|
|
247
|
+
def test_service_set_enable(self):
|
|
258
248
|
arglist = [
|
|
259
249
|
'--enable',
|
|
260
250
|
self.service.host,
|
|
@@ -274,9 +264,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
274
264
|
)
|
|
275
265
|
self.assertIsNone(result)
|
|
276
266
|
|
|
277
|
-
|
|
278
|
-
def test_service_set_disable(self, sm_mock):
|
|
279
|
-
sm_mock.return_value = False
|
|
267
|
+
def test_service_set_disable(self):
|
|
280
268
|
arglist = [
|
|
281
269
|
'--disable',
|
|
282
270
|
self.service.host,
|
|
@@ -296,9 +284,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
296
284
|
)
|
|
297
285
|
self.assertIsNone(result)
|
|
298
286
|
|
|
299
|
-
|
|
300
|
-
def test_service_set_disable_with_reason(self, sm_mock):
|
|
301
|
-
sm_mock.return_value = False
|
|
287
|
+
def test_service_set_disable_with_reason(self):
|
|
302
288
|
reason = 'earthquake'
|
|
303
289
|
arglist = [
|
|
304
290
|
'--disable',
|
|
@@ -322,9 +308,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
322
308
|
)
|
|
323
309
|
self.assertIsNone(result)
|
|
324
310
|
|
|
325
|
-
|
|
326
|
-
def test_service_set_only_with_disable_reason(self, sm_mock):
|
|
327
|
-
sm_mock.return_value = False
|
|
311
|
+
def test_service_set_only_with_disable_reason(self):
|
|
328
312
|
reason = 'earthquake'
|
|
329
313
|
arglist = [
|
|
330
314
|
'--disable-reason',
|
|
@@ -348,9 +332,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
348
332
|
str(e),
|
|
349
333
|
)
|
|
350
334
|
|
|
351
|
-
|
|
352
|
-
def test_service_set_enable_with_disable_reason(self, sm_mock):
|
|
353
|
-
sm_mock.return_value = False
|
|
335
|
+
def test_service_set_enable_with_disable_reason(self):
|
|
354
336
|
reason = 'earthquake'
|
|
355
337
|
arglist = [
|
|
356
338
|
'--enable',
|
|
@@ -376,9 +358,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
376
358
|
str(e),
|
|
377
359
|
)
|
|
378
360
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
361
|
+
def test_service_set_state_up(self):
|
|
362
|
+
self.set_compute_api_version('2.11')
|
|
363
|
+
|
|
382
364
|
arglist = [
|
|
383
365
|
'--up',
|
|
384
366
|
self.service.host,
|
|
@@ -398,9 +380,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
398
380
|
self.assertNotCalled(self.compute_sdk_client.disable_service)
|
|
399
381
|
self.assertIsNone(result)
|
|
400
382
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
383
|
+
def test_service_set_state_down(self):
|
|
384
|
+
self.set_compute_api_version('2.11')
|
|
385
|
+
|
|
404
386
|
arglist = [
|
|
405
387
|
'--down',
|
|
406
388
|
self.service.host,
|
|
@@ -420,9 +402,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
420
402
|
self.assertNotCalled(self.compute_sdk_client.disable_service)
|
|
421
403
|
self.assertIsNone(result)
|
|
422
404
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
405
|
+
def test_service_set_enable_and_state_down(self):
|
|
406
|
+
self.set_compute_api_version('2.11')
|
|
407
|
+
|
|
426
408
|
arglist = [
|
|
427
409
|
'--enable',
|
|
428
410
|
'--down',
|
|
@@ -445,9 +427,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
445
427
|
)
|
|
446
428
|
self.assertIsNone(result)
|
|
447
429
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
430
|
+
def test_service_set_enable_and_state_down_with_exception(self):
|
|
431
|
+
self.set_compute_api_version('2.11')
|
|
432
|
+
|
|
451
433
|
arglist = [
|
|
452
434
|
'--enable',
|
|
453
435
|
'--down',
|
|
@@ -472,11 +454,11 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
472
454
|
None, self.service.host, self.service.binary, True
|
|
473
455
|
)
|
|
474
456
|
|
|
475
|
-
|
|
476
|
-
def test_service_set_2_53_disable_down(self, sm_mock):
|
|
457
|
+
def test_service_set_disable_down(self):
|
|
477
458
|
# Tests disabling and forcing down a compute service with microversion
|
|
478
459
|
# 2.53 which requires looking up the service by host and binary.
|
|
479
|
-
|
|
460
|
+
self.set_compute_api_version('2.53')
|
|
461
|
+
|
|
480
462
|
arglist = [
|
|
481
463
|
'--disable',
|
|
482
464
|
'--down',
|
|
@@ -503,11 +485,11 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
503
485
|
)
|
|
504
486
|
self.assertIsNone(result)
|
|
505
487
|
|
|
506
|
-
|
|
507
|
-
def test_service_set_2_53_disable_reason(self, sm_mock):
|
|
488
|
+
def test_service_set_disable_reason(self):
|
|
508
489
|
# Tests disabling with reason a compute service with microversion
|
|
509
490
|
# 2.53 which requires looking up the service by host and binary.
|
|
510
|
-
|
|
491
|
+
self.set_compute_api_version('2.53')
|
|
492
|
+
|
|
511
493
|
reason = 'earthquake'
|
|
512
494
|
arglist = [
|
|
513
495
|
'--disable',
|
|
@@ -533,11 +515,11 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
|
|
533
515
|
)
|
|
534
516
|
self.assertIsNone(result)
|
|
535
517
|
|
|
536
|
-
|
|
537
|
-
def test_service_set_2_53_enable_up(self, sm_mock):
|
|
518
|
+
def test_service_set_enable_up(self):
|
|
538
519
|
# Tests enabling and bringing up a compute service with microversion
|
|
539
520
|
# 2.53 which requires looking up the service by host and binary.
|
|
540
|
-
|
|
521
|
+
self.set_compute_api_version('2.53')
|
|
522
|
+
|
|
541
523
|
arglist = [
|
|
542
524
|
'--enable',
|
|
543
525
|
'--up',
|
|
@@ -21,9 +21,9 @@ from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
|
|
|
21
21
|
|
|
22
22
|
class TestUsage(compute_fakes.TestComputev2):
|
|
23
23
|
def setUp(self):
|
|
24
|
-
super(
|
|
24
|
+
super().setUp()
|
|
25
25
|
|
|
26
|
-
self.projects_mock = self.
|
|
26
|
+
self.projects_mock = self.identity_client.projects
|
|
27
27
|
self.projects_mock.reset_mock()
|
|
28
28
|
|
|
29
29
|
|
|
@@ -53,7 +53,7 @@ class TestUsageList(TestUsage):
|
|
|
53
53
|
]
|
|
54
54
|
|
|
55
55
|
def setUp(self):
|
|
56
|
-
super(
|
|
56
|
+
super().setUp()
|
|
57
57
|
|
|
58
58
|
self.compute_sdk_client.usages.return_value = self.usages
|
|
59
59
|
|
|
@@ -144,7 +144,7 @@ class TestUsageShow(TestUsage):
|
|
|
144
144
|
)
|
|
145
145
|
|
|
146
146
|
def setUp(self):
|
|
147
|
-
super(
|
|
147
|
+
super().setUp()
|
|
148
148
|
|
|
149
149
|
self.compute_sdk_client.get_usage.return_value = self.usage
|
|
150
150
|
|
|
@@ -47,7 +47,7 @@ TEST_RESPONSE_DICT_V3.set_project_scope()
|
|
|
47
47
|
TEST_VERSIONS = fixture.DiscoveryList(href=AUTH_URL)
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
class FakeStdout
|
|
50
|
+
class FakeStdout:
|
|
51
51
|
def __init__(self):
|
|
52
52
|
self.content = []
|
|
53
53
|
|
|
@@ -61,7 +61,7 @@ class FakeStdout(object):
|
|
|
61
61
|
return result
|
|
62
62
|
|
|
63
63
|
|
|
64
|
-
class FakeLog
|
|
64
|
+
class FakeLog:
|
|
65
65
|
def __init__(self):
|
|
66
66
|
self.messages = {}
|
|
67
67
|
|
|
@@ -81,7 +81,7 @@ class FakeLog(object):
|
|
|
81
81
|
self.messages['critical'] = msg
|
|
82
82
|
|
|
83
83
|
|
|
84
|
-
class FakeApp
|
|
84
|
+
class FakeApp:
|
|
85
85
|
def __init__(self, _stdout, _log):
|
|
86
86
|
self.stdout = _stdout
|
|
87
87
|
self.client_manager = None
|
|
@@ -92,18 +92,18 @@ class FakeApp(object):
|
|
|
92
92
|
self.log = _log
|
|
93
93
|
|
|
94
94
|
|
|
95
|
-
class FakeOptions
|
|
95
|
+
class FakeOptions:
|
|
96
96
|
def __init__(self, **kwargs):
|
|
97
97
|
self.os_beta_command = False
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
class FakeClient
|
|
100
|
+
class FakeClient:
|
|
101
101
|
def __init__(self, **kwargs):
|
|
102
102
|
self.endpoint = kwargs['endpoint']
|
|
103
103
|
self.token = kwargs['token']
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
class FakeClientManager
|
|
106
|
+
class FakeClientManager:
|
|
107
107
|
_api_version = {
|
|
108
108
|
'image': '2',
|
|
109
109
|
}
|
|
@@ -158,7 +158,7 @@ class FakeClientManager(object):
|
|
|
158
158
|
return self.volume_endpoint_enabled
|
|
159
159
|
|
|
160
160
|
|
|
161
|
-
class FakeModule
|
|
161
|
+
class FakeModule:
|
|
162
162
|
def __init__(self, name, version):
|
|
163
163
|
self.name = name
|
|
164
164
|
self.__version__ = version
|
|
@@ -167,7 +167,7 @@ class FakeModule(object):
|
|
|
167
167
|
self.version.__version__ = version
|
|
168
168
|
|
|
169
169
|
|
|
170
|
-
class FakeResource
|
|
170
|
+
class FakeResource:
|
|
171
171
|
def __init__(self, manager=None, info=None, loaded=False, methods=None):
|
|
172
172
|
"""Set attributes and methods for a resource.
|
|
173
173
|
|
|
@@ -210,8 +210,8 @@ class FakeResource(object):
|
|
|
210
210
|
reprkeys = sorted(
|
|
211
211
|
k for k in self.__dict__.keys() if k[0] != '_' and k != 'manager'
|
|
212
212
|
)
|
|
213
|
-
info = ", ".join("
|
|
214
|
-
return "
|
|
213
|
+
info = ", ".join(f"{k}={getattr(self, k)}" for k in reprkeys)
|
|
214
|
+
return f"<{self.__class__.__name__} {info}>"
|
|
215
215
|
|
|
216
216
|
def keys(self):
|
|
217
217
|
return self._info.keys()
|
|
@@ -237,7 +237,7 @@ class FakeResponse(requests.Response):
|
|
|
237
237
|
def __init__(
|
|
238
238
|
self, headers=None, status_code=200, data=None, encoding=None
|
|
239
239
|
):
|
|
240
|
-
super(
|
|
240
|
+
super().__init__()
|
|
241
241
|
|
|
242
242
|
headers = headers or {}
|
|
243
243
|
|
|
@@ -19,6 +19,7 @@ import uuid
|
|
|
19
19
|
|
|
20
20
|
from keystoneauth1 import access
|
|
21
21
|
from keystoneauth1 import fixture
|
|
22
|
+
from openstack.identity.v2 import _proxy
|
|
22
23
|
|
|
23
24
|
from openstackclient.tests.unit import fakes
|
|
24
25
|
from openstackclient.tests.unit import utils
|
|
@@ -154,7 +155,7 @@ def fake_auth_ref(fake_token, fake_service=None):
|
|
|
154
155
|
return auth_ref
|
|
155
156
|
|
|
156
157
|
|
|
157
|
-
class FakeIdentityv2Client
|
|
158
|
+
class FakeIdentityv2Client:
|
|
158
159
|
def __init__(self, **kwargs):
|
|
159
160
|
self.roles = mock.Mock()
|
|
160
161
|
self.roles.resource_class = fakes.FakeResource(None, {})
|
|
@@ -183,17 +184,33 @@ class FakeIdentityv2Client(object):
|
|
|
183
184
|
raise AttributeError(name)
|
|
184
185
|
|
|
185
186
|
|
|
186
|
-
class
|
|
187
|
+
class FakeClientMixin:
|
|
187
188
|
def setUp(self):
|
|
188
|
-
super(
|
|
189
|
+
super().setUp()
|
|
189
190
|
|
|
190
191
|
self.app.client_manager.identity = FakeIdentityv2Client(
|
|
191
192
|
endpoint=fakes.AUTH_URL,
|
|
192
193
|
token=fakes.AUTH_TOKEN,
|
|
193
194
|
)
|
|
195
|
+
self.identity_client = self.app.client_manager.identity
|
|
196
|
+
|
|
197
|
+
# TODO(stephenfin): Rename to 'identity_client' once all commands are
|
|
198
|
+
# migrated to SDK
|
|
199
|
+
self.app.client_manager.sdk_connection.identity = mock.Mock(
|
|
200
|
+
_proxy.Proxy
|
|
201
|
+
)
|
|
202
|
+
self.identity_sdk_client = (
|
|
203
|
+
self.app.client_manager.sdk_connection.identity
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
class TestIdentityv2(
|
|
208
|
+
FakeClientMixin,
|
|
209
|
+
utils.TestCommand,
|
|
210
|
+
): ...
|
|
194
211
|
|
|
195
212
|
|
|
196
|
-
class FakeExtension
|
|
213
|
+
class FakeExtension:
|
|
197
214
|
"""Fake one or more extension."""
|
|
198
215
|
|
|
199
216
|
@staticmethod
|
|
@@ -232,7 +249,7 @@ class FakeExtension(object):
|
|
|
232
249
|
return extension
|
|
233
250
|
|
|
234
251
|
|
|
235
|
-
class FakeCatalog
|
|
252
|
+
class FakeCatalog:
|
|
236
253
|
"""Fake one or more catalog."""
|
|
237
254
|
|
|
238
255
|
@staticmethod
|
|
@@ -282,7 +299,7 @@ class FakeCatalog(object):
|
|
|
282
299
|
return catalog
|
|
283
300
|
|
|
284
301
|
|
|
285
|
-
class FakeProject
|
|
302
|
+
class FakeProject:
|
|
286
303
|
"""Fake one or more project."""
|
|
287
304
|
|
|
288
305
|
@staticmethod
|
|
@@ -329,7 +346,7 @@ class FakeProject(object):
|
|
|
329
346
|
return projects
|
|
330
347
|
|
|
331
348
|
|
|
332
|
-
class FakeEndpoint
|
|
349
|
+
class FakeEndpoint:
|
|
333
350
|
"""Fake one or more endpoint."""
|
|
334
351
|
|
|
335
352
|
@staticmethod
|
|
@@ -380,7 +397,7 @@ class FakeEndpoint(object):
|
|
|
380
397
|
return endpoints
|
|
381
398
|
|
|
382
399
|
|
|
383
|
-
class FakeService
|
|
400
|
+
class FakeService:
|
|
384
401
|
"""Fake one or more service."""
|
|
385
402
|
|
|
386
403
|
@staticmethod
|
|
@@ -427,7 +444,7 @@ class FakeService(object):
|
|
|
427
444
|
return services
|
|
428
445
|
|
|
429
446
|
|
|
430
|
-
class FakeRole
|
|
447
|
+
class FakeRole:
|
|
431
448
|
"""Fake one or more role."""
|
|
432
449
|
|
|
433
450
|
@staticmethod
|
|
@@ -470,7 +487,7 @@ class FakeRole(object):
|
|
|
470
487
|
return roles
|
|
471
488
|
|
|
472
489
|
|
|
473
|
-
class FakeUser
|
|
490
|
+
class FakeUser:
|
|
474
491
|
"""Fake one or more user."""
|
|
475
492
|
|
|
476
493
|
@staticmethod
|
|
@@ -22,7 +22,7 @@ class TestCatalog(utils.TestCommand):
|
|
|
22
22
|
service_catalog = identity_fakes.FakeCatalog.create_catalog()
|
|
23
23
|
|
|
24
24
|
def setUp(self):
|
|
25
|
-
super(
|
|
25
|
+
super().setUp()
|
|
26
26
|
|
|
27
27
|
self.sc_mock = mock.Mock()
|
|
28
28
|
self.sc_mock.service_catalog.catalog.return_value = [
|
|
@@ -43,7 +43,7 @@ class TestCatalogList(TestCatalog):
|
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
def setUp(self):
|
|
46
|
-
super(
|
|
46
|
+
super().setUp()
|
|
47
47
|
|
|
48
48
|
# Get the command object to test
|
|
49
49
|
self.cmd = catalog.ListCatalog(self.app, None)
|
|
@@ -126,7 +126,7 @@ class TestCatalogList(TestCatalog):
|
|
|
126
126
|
|
|
127
127
|
class TestCatalogShow(TestCatalog):
|
|
128
128
|
def setUp(self):
|
|
129
|
-
super(
|
|
129
|
+
super().setUp()
|
|
130
130
|
|
|
131
131
|
# Get the command object to test
|
|
132
132
|
self.cmd = catalog.ShowCatalog(self.app, None)
|
|
@@ -24,20 +24,20 @@ class TestEndpoint(identity_fakes.TestIdentityv2):
|
|
|
24
24
|
fake_endpoint = identity_fakes.FakeEndpoint.create_one_endpoint(attr)
|
|
25
25
|
|
|
26
26
|
def setUp(self):
|
|
27
|
-
super(
|
|
27
|
+
super().setUp()
|
|
28
28
|
|
|
29
29
|
# Get a shortcut to the EndpointManager Mock
|
|
30
|
-
self.endpoints_mock = self.
|
|
30
|
+
self.endpoints_mock = self.identity_client.endpoints
|
|
31
31
|
self.endpoints_mock.reset_mock()
|
|
32
32
|
|
|
33
33
|
# Get a shortcut to the ServiceManager Mock
|
|
34
|
-
self.services_mock = self.
|
|
34
|
+
self.services_mock = self.identity_client.services
|
|
35
35
|
self.services_mock.reset_mock()
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
class TestEndpointCreate(TestEndpoint):
|
|
39
39
|
def setUp(self):
|
|
40
|
-
super(
|
|
40
|
+
super().setUp()
|
|
41
41
|
|
|
42
42
|
self.endpoints_mock.create.return_value = self.fake_endpoint
|
|
43
43
|
|
|
@@ -109,7 +109,7 @@ class TestEndpointCreate(TestEndpoint):
|
|
|
109
109
|
|
|
110
110
|
class TestEndpointDelete(TestEndpoint):
|
|
111
111
|
def setUp(self):
|
|
112
|
-
super(
|
|
112
|
+
super().setUp()
|
|
113
113
|
|
|
114
114
|
self.endpoints_mock.get.return_value = self.fake_endpoint
|
|
115
115
|
self.endpoints_mock.delete.return_value = None
|
|
@@ -136,7 +136,7 @@ class TestEndpointDelete(TestEndpoint):
|
|
|
136
136
|
|
|
137
137
|
class TestEndpointList(TestEndpoint):
|
|
138
138
|
def setUp(self):
|
|
139
|
-
super(
|
|
139
|
+
super().setUp()
|
|
140
140
|
|
|
141
141
|
self.endpoints_mock.list.return_value = [self.fake_endpoint]
|
|
142
142
|
|
|
@@ -211,7 +211,7 @@ class TestEndpointList(TestEndpoint):
|
|
|
211
211
|
|
|
212
212
|
class TestEndpointShow(TestEndpoint):
|
|
213
213
|
def setUp(self):
|
|
214
|
-
super(
|
|
214
|
+
super().setUp()
|
|
215
215
|
|
|
216
216
|
self.endpoints_mock.list.return_value = [self.fake_endpoint]
|
|
217
217
|
|