summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-04-20 20:22:55 +0000
committerGerrit Code Review <review@openstack.org>2016-04-20 20:22:55 +0000
commite78113a5fcc924eaed8f331b42b314949fc64b12 (patch)
tree767356866045cbab860496cd744e70ff68b35187 /openstackclient
parent98a0fba3c1fc8e5fa231d07349cb38102b015cc4 (diff)
parent09c20b2b5c53024c47da8828095ea95dc63810f6 (diff)
downloadpython-openstackclient-e78113a5fcc924eaed8f331b42b314949fc64b12.tar.gz
Merge "Fix mutable default arguments in tests"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/tests/compute/v2/fakes.py59
-rw-r--r--openstackclient/tests/fakes.py10
-rw-r--r--openstackclient/tests/image/v2/fakes.py6
-rw-r--r--openstackclient/tests/network/v2/fakes.py54
-rw-r--r--openstackclient/tests/volume/v2/fakes.py12
5 files changed, 85 insertions, 56 deletions
diff --git a/openstackclient/tests/compute/v2/fakes.py b/openstackclient/tests/compute/v2/fakes.py
index 7f38b32b..948d9e97 100644
--- a/openstackclient/tests/compute/v2/fakes.py
+++ b/openstackclient/tests/compute/v2/fakes.py
@@ -100,8 +100,7 @@ class FakeAggregate(object):
:return:
A FakeResource object, with id and other attributes
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attribute
aggregate_info = {
@@ -220,7 +219,7 @@ class FakeHypervisor(object):
"""Fake one or more hypervisor."""
@staticmethod
- def create_one_hypervisor(attrs={}):
+ def create_one_hypervisor(attrs=None):
"""Create a fake hypervisor.
:param Dictionary attrs:
@@ -228,6 +227,8 @@ class FakeHypervisor(object):
:return:
A FakeResource object, with id, hypervisor_hostname, and so on
"""
+ attrs = attrs or {}
+
# Set default attributes.
hypervisor_info = {
'id': 'hypervisor-id-' + uuid.uuid4().hex,
@@ -266,7 +267,7 @@ class FakeHypervisor(object):
return hypervisor
@staticmethod
- def create_hypervisors(attrs={}, count=2):
+ def create_hypervisors(attrs=None, count=2):
"""Create multiple fake hypervisors.
:param Dictionary attrs:
@@ -287,7 +288,7 @@ class FakeHypervisorStats(object):
"""Fake one or more hypervisor stats."""
@staticmethod
- def create_one_hypervisor_stats(attrs={}):
+ def create_one_hypervisor_stats(attrs=None):
"""Create a fake hypervisor stats.
:param Dictionary attrs:
@@ -295,6 +296,8 @@ class FakeHypervisorStats(object):
:return:
A FakeResource object, with id, hypervisor_hostname, and so on
"""
+ attrs = attrs or {}
+
# Set default attributes.
stats_info = {
'count': 2,
@@ -322,7 +325,7 @@ class FakeHypervisorStats(object):
return hypervisor_stats
@staticmethod
- def create_hypervisors_stats(attrs={}, count=2):
+ def create_hypervisors_stats(attrs=None, count=2):
"""Create multiple fake hypervisors stats.
:param Dictionary attrs:
@@ -352,8 +355,7 @@ class FakeSecurityGroup(object):
:return:
A FakeResource object, with id, name, etc.
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attributes.
security_group_attrs = {
@@ -403,8 +405,7 @@ class FakeSecurityGroupRule(object):
:return:
A FakeResource object, with id, etc.
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attributes.
security_group_rule_attrs = {
@@ -448,7 +449,7 @@ class FakeServer(object):
"""Fake one or more compute servers."""
@staticmethod
- def create_one_server(attrs={}, methods={}):
+ def create_one_server(attrs=None, methods=None):
"""Create a fake server.
:param Dictionary attrs:
@@ -458,6 +459,9 @@ class FakeServer(object):
:return:
A FakeResource object, with id, name, metadata
"""
+ attrs = attrs or {}
+ methods = methods or {}
+
# Set default attributes.
server_info = {
'id': 'server-id-' + uuid.uuid4().hex,
@@ -480,7 +484,7 @@ class FakeServer(object):
return server
@staticmethod
- def create_servers(attrs={}, methods={}, count=2):
+ def create_servers(attrs=None, methods=None, count=2):
"""Create multiple fake servers.
:param Dictionary attrs:
@@ -530,8 +534,7 @@ class FakeFlavor(object):
:return:
A FakeResource object, with id, name, ram, vcpus, properties
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attributes.
flavor_info = {
@@ -569,7 +572,7 @@ class FakeFlavor(object):
return flavor
@staticmethod
- def create_flavors(attrs={}, count=2):
+ def create_flavors(attrs=None, count=2):
"""Create multiple fake flavors.
:param Dictionary attrs:
@@ -617,10 +620,9 @@ class FakeKeypair(object):
:return:
A FakeResource
"""
- # Set default attributes.
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
+ # Set default attributes.
keypair_info = {
'name': 'keypair-name-' + uuid.uuid4().hex,
'fingerprint': 'dummy',
@@ -661,7 +663,7 @@ class FakeAvailabilityZone(object):
"""Fake one or more compute availability zones (AZs)."""
@staticmethod
- def create_one_availability_zone(attrs={}):
+ def create_one_availability_zone(attrs=None):
"""Create a fake AZ.
:param Dictionary attrs:
@@ -669,6 +671,8 @@ class FakeAvailabilityZone(object):
:return:
A FakeResource object with zoneName, zoneState, etc.
"""
+ attrs = attrs or {}
+
# Set default attributes.
host_name = uuid.uuid4().hex
service_name = uuid.uuid4().hex
@@ -692,7 +696,7 @@ class FakeAvailabilityZone(object):
return availability_zone
@staticmethod
- def create_availability_zones(attrs={}, count=2):
+ def create_availability_zones(attrs=None, count=2):
"""Create multiple fake AZs.
:param Dictionary attrs:
@@ -715,7 +719,7 @@ class FakeFloatingIP(object):
"""Fake one or more floating ip."""
@staticmethod
- def create_one_floating_ip(attrs={}):
+ def create_one_floating_ip(attrs=None):
"""Create a fake floating ip.
:param Dictionary attrs:
@@ -723,6 +727,8 @@ class FakeFloatingIP(object):
:return:
A FakeResource object, with id, ip, and so on
"""
+ attrs = attrs or {}
+
# Set default attributes.
floating_ip_attrs = {
'id': 'floating-ip-id-' + uuid.uuid4().hex,
@@ -742,7 +748,7 @@ class FakeFloatingIP(object):
return floating_ip
@staticmethod
- def create_floating_ips(attrs={}, count=2):
+ def create_floating_ips(attrs=None, count=2):
"""Create multiple fake floating ips.
:param Dictionary attrs:
@@ -781,7 +787,7 @@ class FakeNetwork(object):
"""Fake one or more networks."""
@staticmethod
- def create_one_network(attrs={}):
+ def create_one_network(attrs=None):
"""Create a fake network.
:param Dictionary attrs:
@@ -789,6 +795,8 @@ class FakeNetwork(object):
:return:
A FakeResource object, with id, label, cidr and so on
"""
+ attrs = attrs or {}
+
# Set default attributes.
network_attrs = {
'bridge': 'br100',
@@ -834,7 +842,7 @@ class FakeNetwork(object):
return network
@staticmethod
- def create_networks(attrs={}, count=2):
+ def create_networks(attrs=None, count=2):
"""Create multiple fake networks.
:param Dictionary attrs:
@@ -863,8 +871,7 @@ class FakeHost(object):
:return:
A FakeResource object, with id and other attributes
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attributes.
host_info = {
diff --git a/openstackclient/tests/fakes.py b/openstackclient/tests/fakes.py
index f0cebb06..46f983dc 100644
--- a/openstackclient/tests/fakes.py
+++ b/openstackclient/tests/fakes.py
@@ -142,7 +142,7 @@ class FakeModule(object):
class FakeResource(object):
- def __init__(self, manager=None, info={}, loaded=False, methods={}):
+ def __init__(self, manager=None, info=None, loaded=False, methods=None):
"""Set attributes and methods for a resource.
:param manager:
@@ -154,6 +154,9 @@ class FakeResource(object):
:param Dictionary methods:
A dictionary with all methods
"""
+ info = info or {}
+ methods = methods or {}
+
self.__name__ = type(self).__name__
self.manager = manager
self._info = info
@@ -189,9 +192,12 @@ class FakeResource(object):
class FakeResponse(requests.Response):
- def __init__(self, headers={}, status_code=200, data=None, encoding=None):
+ def __init__(self, headers=None, status_code=200,
+ data=None, encoding=None):
super(FakeResponse, self).__init__()
+ headers = headers or {}
+
self.status_code = status_code
self.headers.update(headers)
diff --git a/openstackclient/tests/image/v2/fakes.py b/openstackclient/tests/image/v2/fakes.py
index 3555d2d4..f90d846d 100644
--- a/openstackclient/tests/image/v2/fakes.py
+++ b/openstackclient/tests/image/v2/fakes.py
@@ -181,7 +181,7 @@ class FakeImage(object):
"""
@staticmethod
- def create_one_image(attrs={}):
+ def create_one_image(attrs=None):
"""Create a fake image.
:param Dictionary attrs:
@@ -190,6 +190,8 @@ class FakeImage(object):
A FakeResource object with id, name, owner, protected,
visibility and tags attrs
"""
+ attrs = attrs or {}
+
# Set default attribute
image_info = {
'id': 'image-id' + uuid.uuid4().hex,
@@ -210,7 +212,7 @@ class FakeImage(object):
return image
@staticmethod
- def create_images(attrs={}, count=2):
+ def create_images(attrs=None, count=2):
"""Create multiple fake images.
:param Dictionary attrs:
diff --git a/openstackclient/tests/network/v2/fakes.py b/openstackclient/tests/network/v2/fakes.py
index 5fd7ea3b..1989b515 100644
--- a/openstackclient/tests/network/v2/fakes.py
+++ b/openstackclient/tests/network/v2/fakes.py
@@ -83,8 +83,7 @@ class FakeAddressScope(object):
:return:
A FakeResource object with name, id, etc.
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attributes.
address_scope_attrs = {
@@ -112,7 +111,7 @@ class FakeAvailabilityZone(object):
"""Fake one or more network availability zones (AZs)."""
@staticmethod
- def create_one_availability_zone(attrs={}):
+ def create_one_availability_zone(attrs=None):
"""Create a fake AZ.
:param Dictionary attrs:
@@ -120,6 +119,8 @@ class FakeAvailabilityZone(object):
:return:
A FakeResource object with name, state, etc.
"""
+ attrs = attrs or {}
+
# Set default attributes.
availability_zone = {
'name': uuid.uuid4().hex,
@@ -136,7 +137,7 @@ class FakeAvailabilityZone(object):
return availability_zone
@staticmethod
- def create_availability_zones(attrs={}, count=2):
+ def create_availability_zones(attrs=None, count=2):
"""Create multiple fake AZs.
:param Dictionary attrs:
@@ -159,7 +160,7 @@ class FakeNetwork(object):
"""Fake one or more networks."""
@staticmethod
- def create_one_network(attrs={}):
+ def create_one_network(attrs=None):
"""Create a fake network.
:param Dictionary attrs:
@@ -168,6 +169,8 @@ class FakeNetwork(object):
A FakeResource object, with id, name, admin_state_up,
router_external, status, subnets, tenant_id
"""
+ attrs = attrs or {}
+
# Set default attributes.
network_attrs = {
'id': 'network-id-' + uuid.uuid4().hex,
@@ -196,7 +199,7 @@ class FakeNetwork(object):
return network
@staticmethod
- def create_networks(attrs={}, count=2):
+ def create_networks(attrs=None, count=2):
"""Create multiple fake networks.
:param Dictionary attrs:
@@ -236,16 +239,16 @@ class FakePort(object):
"""Fake one or more ports."""
@staticmethod
- def create_one_port(attrs={}):
+ def create_one_port(attrs=None):
"""Create a fake port.
:param Dictionary attrs:
A dictionary with all attributes
- :param Dictionary methods:
- A dictionary with all methods
:return:
A FakeResource object, with id, name, etc.
"""
+ attrs = attrs or {}
+
# Set default attributes.
port_attrs = {
'admin_state_up': True,
@@ -288,7 +291,7 @@ class FakePort(object):
return port
@staticmethod
- def create_ports(attrs={}, count=2):
+ def create_ports(attrs=None, count=2):
"""Create multiple fake ports.
:param Dictionary attrs:
@@ -328,7 +331,7 @@ class FakeRouter(object):
"""Fake one or more routers."""
@staticmethod
- def create_one_router(attrs={}):
+ def create_one_router(attrs=None):
"""Create a fake router.
:param Dictionary attrs:
@@ -337,6 +340,8 @@ class FakeRouter(object):
A FakeResource object, with id, name, admin_state_up,
status, tenant_id
"""
+ attrs = attrs or {}
+
# Set default attributes.
router_attrs = {
'id': 'router-id-' + uuid.uuid4().hex,
@@ -364,7 +369,7 @@ class FakeRouter(object):
return router
@staticmethod
- def create_routers(attrs={}, count=2):
+ def create_routers(attrs=None, count=2):
"""Create multiple fake routers.
:param Dictionary attrs:
@@ -412,8 +417,7 @@ class FakeSecurityGroup(object):
:return:
A FakeResource object, with id, name, etc.
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attributes.
security_group_attrs = {
@@ -467,8 +471,7 @@ class FakeSecurityGroupRule(object):
:return:
A FakeResource object, with id, etc.
"""
- if attrs is None:
- attrs = {}
+ attrs = attrs or {}
# Set default attributes.
security_group_rule_attrs = {
@@ -519,7 +522,7 @@ class FakeSubnet(object):
"""Fake one or more subnets."""
@staticmethod
- def create_one_subnet(attrs={}):
+ def create_one_subnet(attrs=None):
"""Create a fake subnet.
:param Dictionary attrs:
@@ -527,6 +530,8 @@ class FakeSubnet(object):
:return:
A FakeResource object faking the subnet
"""
+ attrs = attrs or {}
+
# Set default attributes.
project_id = 'project-id-' + uuid.uuid4().hex
subnet_attrs = {
@@ -551,13 +556,14 @@ class FakeSubnet(object):
subnet = fakes.FakeResource(info=copy.deepcopy(subnet_attrs),
loaded=True)
+
# Set attributes with special mappings in OpenStack SDK.
subnet.project_id = subnet_attrs['tenant_id']
return subnet
@staticmethod
- def create_subnets(attrs={}, count=2):
+ def create_subnets(attrs=None, count=2):
"""Create multiple fake subnets.
:param Dictionary attrs:
@@ -578,7 +584,7 @@ class FakeFloatingIP(object):
"""Fake one or more floating ip."""
@staticmethod
- def create_one_floating_ip(attrs={}):
+ def create_one_floating_ip(attrs=None):
"""Create a fake floating ip.
:param Dictionary attrs:
@@ -586,6 +592,8 @@ class FakeFloatingIP(object):
:return:
A FakeResource object, with id, ip, and so on
"""
+ attrs = attrs or {}
+
# Set default attributes.
floating_ip_attrs = {
'id': 'floating-ip-id-' + uuid.uuid4().hex,
@@ -614,7 +622,7 @@ class FakeFloatingIP(object):
return floating_ip
@staticmethod
- def create_floating_ips(attrs={}, count=2):
+ def create_floating_ips(attrs=None, count=2):
"""Create multiple fake floating ips.
:param Dictionary attrs:
@@ -653,7 +661,7 @@ class FakeSubnetPool(object):
"""Fake one or more subnet pools."""
@staticmethod
- def create_one_subnet_pool(attrs={}):
+ def create_one_subnet_pool(attrs=None):
"""Create a fake subnet pool.
:param Dictionary attrs:
@@ -661,6 +669,8 @@ class FakeSubnetPool(object):
:return:
A FakeResource object faking the subnet pool
"""
+ attrs = attrs or {}
+
# Set default attributes.
subnet_pool_attrs = {
'id': 'subnet-pool-id-' + uuid.uuid4().hex,
@@ -691,7 +701,7 @@ class FakeSubnetPool(object):
return subnet_pool
@staticmethod
- def create_subnet_pools(attrs={}, count=2):
+ def create_subnet_pools(attrs=None, count=2):
"""Create multiple fake subnet pools.
:param Dictionary attrs:
diff --git a/openstackclient/tests/volume/v2/fakes.py b/openstackclient/tests/volume/v2/fakes.py
index 6e631c41..b7994b5f 100644
--- a/openstackclient/tests/volume/v2/fakes.py
+++ b/openstackclient/tests/volume/v2/fakes.py
@@ -281,7 +281,7 @@ class FakeVolume(object):
"""
@staticmethod
- def create_one_volume(attrs={}):
+ def create_one_volume(attrs=None):
"""Create a fake volume.
:param Dictionary attrs:
@@ -289,6 +289,8 @@ class FakeVolume(object):
:retrun:
A FakeResource object with id, name, status, etc.
"""
+ attrs = attrs or {}
+
# Set default attribute
volume_info = {
'id': 'volume-id' + uuid.uuid4().hex,
@@ -320,7 +322,7 @@ class FakeVolume(object):
return volume
@staticmethod
- def create_volumes(attrs={}, count=2):
+ def create_volumes(attrs=None, count=2):
"""Create multiple fake volumes.
:param Dictionary attrs:
@@ -361,7 +363,7 @@ class FakeAvailabilityZone(object):
"""Fake one or more volume availability zones (AZs)."""
@staticmethod
- def create_one_availability_zone(attrs={}):
+ def create_one_availability_zone(attrs=None):
"""Create a fake AZ.
:param Dictionary attrs:
@@ -369,6 +371,8 @@ class FakeAvailabilityZone(object):
:return:
A FakeResource object with zoneName, zoneState, etc.
"""
+ attrs = attrs or {}
+
# Set default attributes.
availability_zone = {
'zoneName': uuid.uuid4().hex,
@@ -384,7 +388,7 @@ class FakeAvailabilityZone(object):
return availability_zone
@staticmethod
- def create_availability_zones(attrs={}, count=2):
+ def create_availability_zones(attrs=None, count=2):
"""Create multiple fake AZs.
:param Dictionary attrs: