Merge "Fix mutable default arguments in tests"
This commit is contained in:
commit
e78113a5fc
@ -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 = {
|
||||
|
@ -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)
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user