diff --git a/examples/connect.py b/examples/connect.py index 50de0fde2..4446fe729 100644 --- a/examples/connect.py +++ b/examples/connect.py @@ -60,7 +60,7 @@ SSH_DIR = _get_resource_value( ) PRIVATE_KEYPAIR_FILE = _get_resource_value( 'private_keypair_file', - '{ssh_dir}/id_rsa.{key}'.format(ssh_dir=SSH_DIR, key=KEYPAIR_NAME), + f'{SSH_DIR}/id_rsa.{KEYPAIR_NAME}', ) EXAMPLE_IMAGE_NAME = 'openstacksdk-example-public-image' diff --git a/openstack/accelerator/v2/accelerator_request.py b/openstack/accelerator/v2/accelerator_request.py index 543f7234a..71f6b099b 100644 --- a/openstack/accelerator/v2/accelerator_request.py +++ b/openstack/accelerator/v2/accelerator_request.py @@ -52,7 +52,7 @@ class AcceleratorRequest(resource.Resource): # and its value is an ordinary JSON patch. spec: # https://specs.openstack.org/openstack/cyborg-specs/specs/train/implemented/cyborg-api - converted = super(AcceleratorRequest, self)._convert_patch(patch) + converted = super()._convert_patch(patch) converted = {self.id: converted} return converted @@ -102,11 +102,9 @@ class AcceleratorRequest(resource.Resource): if isinstance(self, AcceleratorRequest): if self.resources_key in attrs: attrs = attrs[self.resources_key][0] - return super(AcceleratorRequest, self)._consume_attrs(mapping, attrs) + return super()._consume_attrs(mapping, attrs) def create(self, session, base_path=None): # This overrides the default behavior of resource creation because # cyborg doesn't accept resource_key in its request. - return super(AcceleratorRequest, self).create( - session, prepend_key=False, base_path=base_path - ) + return super().create(session, prepend_key=False, base_path=base_path) diff --git a/openstack/accelerator/v2/device_profile.py b/openstack/accelerator/v2/device_profile.py index 15034d395..67d289564 100644 --- a/openstack/accelerator/v2/device_profile.py +++ b/openstack/accelerator/v2/device_profile.py @@ -39,14 +39,10 @@ class DeviceProfile(resource.Resource): # TODO(s_shogo): This implementation only treat [ DeviceProfile ], and # cannot treat multiple DeviceProfiles in list. def _prepare_request_body(self, patch, prepend_key): - body = super(DeviceProfile, self)._prepare_request_body( - patch, prepend_key - ) + body = super()._prepare_request_body(patch, prepend_key) return [body] def create(self, session, base_path=None): # This overrides the default behavior of resource creation because # cyborg doesn't accept resource_key in its request. - return super(DeviceProfile, self).create( - session, prepend_key=False, base_path=base_path - ) + return super().create(session, prepend_key=False, base_path=base_path) diff --git a/openstack/baremetal/v1/driver.py b/openstack/baremetal/v1/driver.py index 4f457f9e7..cea8f73de 100644 --- a/openstack/baremetal/v1/driver.py +++ b/openstack/baremetal/v1/driver.py @@ -173,7 +173,7 @@ class Driver(resource.Resource): :returns: response of method call. """ if verb.upper() not in ['GET', 'PUT', 'POST', 'DELETE']: - raise ValueError('Invalid verb: {}'.format(verb)) + raise ValueError(f'Invalid verb: {verb}') session = self._get_session(session) request = self._prepare_request() diff --git a/openstack/baremetal/v1/node.py b/openstack/baremetal/v1/node.py index 3f7bf9914..052358400 100644 --- a/openstack/baremetal/v1/node.py +++ b/openstack/baremetal/v1/node.py @@ -275,7 +275,7 @@ class Node(_common.Resource): # API version 1.1 uses None instead of "available". Make it # consistent. attrs['provision_state'] = 'available' - return super(Node, self)._consume_body_attrs(attrs) + return super()._consume_body_attrs(attrs) def create(self, session, *args, **kwargs): """Create a remote resource based on this instance. @@ -346,9 +346,7 @@ class Node(_common.Resource): # Ironic cannot set provision_state itself, so marking it as unchanged self._clean_body_attrs({'provision_state'}) - super(Node, self).create( - session, *args, microversion=microversion, **kwargs - ) + super().create(session, *args, microversion=microversion, **kwargs) if ( expected_provision_state == 'manageable' @@ -395,7 +393,7 @@ class Node(_common.Resource): # the new status. return self.fetch(session) - return super(Node, self).commit(session, *args, **kwargs) + return super().commit(session, *args, **kwargs) def set_provision_state( self, @@ -724,7 +722,7 @@ class Node(_common.Resource): retriable_status_codes=_common.RETRIABLE_STATUS_CODES, ) - msg = "Failed to inject NMI to node {node}".format(node=self.id) + msg = f"Failed to inject NMI to node {self.id}" exceptions.raise_from_response(response, error_message=msg) def set_power_state(self, session, target, wait=False, timeout=None): @@ -934,13 +932,13 @@ class Node(_common.Resource): request.url, headers=request.headers, microversion=version ) - msg = "Failed to validate node {node}".format(node=self.id) + msg = f"Failed to validate node {self.id}" exceptions.raise_from_response(response, error_message=msg) result = response.json() if required: failed = [ - '%s (%s)' % (key, value.get('reason', 'no reason')) + '{} ({})'.format(key, value.get('reason', 'no reason')) for key, value in result.items() if key in required and not value.get('result') ] @@ -1044,7 +1042,7 @@ class Node(_common.Resource): retriable_status_codes=_common.RETRIABLE_STATUS_CODES, ) - msg = "Failed to set boot device for node {node}".format(node=self.id) + msg = f"Failed to set boot device for node {self.id}" exceptions.raise_from_response(response, error_message=msg) def get_supported_boot_devices(self, session): @@ -1109,7 +1107,7 @@ class Node(_common.Resource): retriable_status_codes=_common.RETRIABLE_STATUS_CODES, ) - msg = "Failed to change boot mode for node {node}".format(node=self.id) + msg = f"Failed to change boot mode for node {self.id}" exceptions.raise_from_response(response, error_message=msg) def set_secure_boot(self, session, target): @@ -1243,7 +1241,7 @@ class Node(_common.Resource): retriable_status_codes=_common.RETRIABLE_STATUS_CODES, ) - msg = "Failed to set traits for node {node}".format(node=self.id) + msg = f"Failed to set traits for node {self.id}" exceptions.raise_from_response(response, error_message=msg) self.traits = traits @@ -1261,7 +1259,7 @@ class Node(_common.Resource): version = self._get_microversion(session, action='commit') request = self._prepare_request(requires_id=True) request.url = utils.urljoin( - request.url, 'vendor_passthru?method={}'.format(method) + request.url, f'vendor_passthru?method={method}' ) call = getattr(session, verb.lower()) @@ -1439,7 +1437,7 @@ class Node(_common.Resource): ) else: - return super(Node, self).patch( + return super().patch( session, patch=patch, retry_on_conflict=retry_on_conflict ) diff --git a/openstack/baremetal_introspection/v1/introspection.py b/openstack/baremetal_introspection/v1/introspection.py index 906b257b2..db9eda0c5 100644 --- a/openstack/baremetal_introspection/v1/introspection.py +++ b/openstack/baremetal_introspection/v1/introspection.py @@ -71,7 +71,7 @@ class Introspection(resource.Resource): microversion=version, retriable_status_codes=_common.RETRIABLE_STATUS_CODES, ) - msg = "Failed to abort introspection for node {id}".format(id=self.id) + msg = f"Failed to abort introspection for node {self.id}" exceptions.raise_from_response(response, error_message=msg) def get_data(self, session, processed=True): diff --git a/openstack/block_storage/_base_proxy.py b/openstack/block_storage/_base_proxy.py index 43df38161..cba07da93 100644 --- a/openstack/block_storage/_base_proxy.py +++ b/openstack/block_storage/_base_proxy.py @@ -43,7 +43,7 @@ class BaseBlockStorageProxy(proxy.Proxy, metaclass=abc.ABCMeta): ) volume_id = volume_obj['id'] data = self.post( - '/volumes/{id}/action'.format(id=volume_id), + f'/volumes/{volume_id}/action', json={ 'os-volume_upload_image': { 'force': allow_duplicates, diff --git a/openstack/block_storage/v3/service.py b/openstack/block_storage/v3/service.py index fe78f1f72..a0c229da7 100644 --- a/openstack/block_storage/v3/service.py +++ b/openstack/block_storage/v3/service.py @@ -87,7 +87,7 @@ class Service(resource.Resource): if ignore_missing: return None raise exceptions.ResourceNotFound( - "No %s found for %s" % (cls.__name__, name_or_id) + f"No {cls.__name__} found for {name_or_id}" ) def commit(self, session, prepend_key=False, **kwargs): diff --git a/openstack/block_storage/v3/type.py b/openstack/block_storage/v3/type.py index 565e555b1..488fd4a97 100644 --- a/openstack/block_storage/v3/type.py +++ b/openstack/block_storage/v3/type.py @@ -51,7 +51,7 @@ class Type(resource.Resource): for k, v in extra_specs.items(): if not isinstance(v, str): raise ValueError( - "The value for %s (%s) must be a text string" % (k, v) + f"The value for {k} ({v}) must be a text string" ) if key is not None: diff --git a/openstack/cloud/_compute.py b/openstack/cloud/_compute.py index 1e0906b10..7848e46ab 100644 --- a/openstack/cloud/_compute.py +++ b/openstack/cloud/_compute.py @@ -117,7 +117,7 @@ class ComputeCloudMixin: ) def _nova_extensions(self): - extensions = set([e.alias for e in self.compute.extensions()]) + extensions = {e.alias for e in self.compute.extensions()} return extensions def _has_nova_extension(self, extension_name): @@ -1229,7 +1229,7 @@ class ComputeCloudMixin: raise exceptions.SDKException( 'Server reached ACTIVE state without being' ' allocated an IP address AND then could not' - ' be deleted: {0}'.format(e), + ' be deleted: {}'.format(e), extra_data=dict(server=server), ) raise exceptions.SDKException( @@ -1291,9 +1291,7 @@ class ComputeCloudMixin: """ server = self.get_server(name_or_id, bare=True) if not server: - raise exceptions.SDKException( - 'Invalid Server {server}'.format(server=name_or_id) - ) + raise exceptions.SDKException(f'Invalid Server {name_or_id}') self.compute.set_server_metadata(server=server.id, **metadata) @@ -1311,9 +1309,7 @@ class ComputeCloudMixin: """ server = self.get_server(name_or_id, bare=True) if not server: - raise exceptions.SDKException( - 'Invalid Server {server}'.format(server=name_or_id) - ) + raise exceptions.SDKException(f'Invalid Server {name_or_id}') self.compute.delete_server_metadata( server=server.id, keys=metadata_keys @@ -1545,7 +1541,7 @@ class ComputeCloudMixin: return True except exceptions.SDKException: raise exceptions.SDKException( - "Unable to delete flavor {name}".format(name=name_or_id) + f"Unable to delete flavor {name_or_id}" ) def set_flavor_specs(self, flavor_id, extra_specs): diff --git a/openstack/cloud/_dns.py b/openstack/cloud/_dns.py index 5c5ca80b3..c0bca9102 100644 --- a/openstack/cloud/_dns.py +++ b/openstack/cloud/_dns.py @@ -104,9 +104,7 @@ class DnsCloudMixin: try: return self.dns.create_zone(**zone) except exceptions.SDKException: - raise exceptions.SDKException( - "Unable to create zone {name}".format(name=name) - ) + raise exceptions.SDKException(f"Unable to create zone {name}") @_utils.valid_kwargs('email', 'description', 'ttl', 'masters') def update_zone(self, name_or_id, **kwargs): diff --git a/openstack/cloud/_floating_ip.py b/openstack/cloud/_floating_ip.py index 06eb81ff0..60ed7c9e1 100644 --- a/openstack/cloud/_floating_ip.py +++ b/openstack/cloud/_floating_ip.py @@ -180,14 +180,14 @@ class FloatingIPCloudMixin: :returns: A floating ip `:class:`~openstack.network.v2.floating_ip.FloatingIP`. """ - error_message = "Error getting floating ip with ID {id}".format(id=id) + error_message = f"Error getting floating ip with ID {id}" if self._use_neutron_floating(): fip = self.network.get_ip(id) return fip else: data = proxy._json_response( - self.compute.get('/os-floating-ips/{id}'.format(id=id)), + self.compute.get(f'/os-floating-ips/{id}'), error_message=error_message, ) return self._normalize_floating_ip( @@ -230,7 +230,7 @@ class FloatingIPCloudMixin: if floating_network_id is None: raise exceptions.NotFoundException( - "unable to find external network {net}".format(net=network) + f"unable to find external network {network}" ) else: floating_network_id = self._get_floating_network_id() @@ -270,7 +270,7 @@ class FloatingIPCloudMixin: """ with _utils.openstacksdk_exceptions( - "Unable to create floating IP in pool {pool}".format(pool=pool) + f"Unable to create floating IP in pool {pool}" ): if pool is None: pools = self.list_floating_ip_pools() @@ -442,7 +442,7 @@ class FloatingIPCloudMixin: except exceptions.ResourceNotFound: raise exceptions.NotFoundException( "unable to find network for floating ips with ID " - "{0}".format(network_name_or_id) + "{}".format(network_name_or_id) ) network_id = network['id'] else: @@ -516,7 +516,7 @@ class FloatingIPCloudMixin: def _nova_create_floating_ip(self, pool=None): with _utils.openstacksdk_exceptions( - "Unable to create floating IP in pool {pool}".format(pool=pool) + f"Unable to create floating IP in pool {pool}" ): if pool is None: pools = self.list_floating_ip_pools() @@ -599,9 +599,7 @@ class FloatingIPCloudMixin: def _nova_delete_floating_ip(self, floating_ip_id): try: proxy._json_response( - self.compute.delete( - '/os-floating-ips/{id}'.format(id=floating_ip_id) - ), + self.compute.delete(f'/os-floating-ips/{floating_ip_id}'), error_message='Unable to delete floating IP {fip_id}'.format( fip_id=floating_ip_id ), @@ -738,7 +736,7 @@ class FloatingIPCloudMixin: ) if not port: raise exceptions.SDKException( - "unable to find a port for server {0}".format(server['id']) + "unable to find a port for server {}".format(server['id']) ) floating_ip_args = {'port_id': port['id']} @@ -753,7 +751,7 @@ class FloatingIPCloudMixin: f_ip = self.get_floating_ip(id=floating_ip_id) if f_ip is None: raise exceptions.SDKException( - "unable to find floating IP {0}".format(floating_ip_id) + f"unable to find floating IP {floating_ip_id}" ) error_message = "Error attaching IP {ip} to instance {id}".format( ip=floating_ip_id, id=server_id @@ -763,7 +761,7 @@ class FloatingIPCloudMixin: body['fixed_address'] = fixed_address return proxy._json_response( self.compute.post( - '/servers/{server_id}/action'.format(server_id=server_id), + f'/servers/{server_id}/action', json=dict(addFloatingIp=body), ), error_message=error_message, @@ -806,11 +804,9 @@ class FloatingIPCloudMixin: self.network.update_ip(floating_ip_id, port_id=None) except exceptions.SDKException: raise exceptions.SDKException( - ( - "Error detaching IP {ip} from " - "server {server_id}".format( - ip=floating_ip_id, server_id=server_id - ) + "Error detaching IP {ip} from " + "server {server_id}".format( + ip=floating_ip_id, server_id=server_id ) ) @@ -820,14 +816,14 @@ class FloatingIPCloudMixin: f_ip = self.get_floating_ip(id=floating_ip_id) if f_ip is None: raise exceptions.SDKException( - "unable to find floating IP {0}".format(floating_ip_id) + f"unable to find floating IP {floating_ip_id}" ) error_message = "Error detaching IP {ip} from instance {id}".format( ip=floating_ip_id, id=server_id ) return proxy._json_response( self.compute.post( - '/servers/{server_id}/action'.format(server_id=server_id), + f'/servers/{server_id}/action', json=dict( removeFloatingIp=dict(address=f_ip['floating_ip_address']) ), @@ -1222,7 +1218,7 @@ class FloatingIPCloudMixin: return port, fixed_address raise exceptions.SDKException( "unable to find a free fixed IPv4 address for server " - "{0}".format(server['id']) + "{}".format(server['id']) ) # unfortunately a port can have more than one fixed IP: # we can't use the search_ports filtering for fixed_address as diff --git a/openstack/cloud/_identity.py b/openstack/cloud/_identity.py index 5ee0e6aca..31089a917 100644 --- a/openstack/cloud/_identity.py +++ b/openstack/cloud/_identity.py @@ -384,31 +384,25 @@ class IdentityCloudMixin: try: user = self.get_user(name_or_id, **kwargs) if not user: - self.log.debug( - "User {0} not found for deleting".format(name_or_id) - ) + self.log.debug(f"User {name_or_id} not found for deleting") return False self.identity.delete_user(user) return True except exceptions.SDKException: - self.log.exception( - "Error in deleting user {user}".format(user=name_or_id) - ) + self.log.exception(f"Error in deleting user {name_or_id}") return False def _get_user_and_group(self, user_name_or_id, group_name_or_id): user = self.get_user(user_name_or_id) if not user: - raise exceptions.SDKException( - 'User {user} not found'.format(user=user_name_or_id) - ) + raise exceptions.SDKException(f'User {user_name_or_id} not found') group = self.get_group(group_name_or_id) if not group: raise exceptions.SDKException( - 'Group {user} not found'.format(user=group_name_or_id) + f'Group {group_name_or_id} not found' ) return (user, group) @@ -731,7 +725,7 @@ class IdentityCloudMixin: self.identity.delete_endpoint(id) return True except exceptions.SDKException: - self.log.exception("Failed to delete endpoint {id}".format(id=id)) + self.log.exception(f"Failed to delete endpoint {id}") return False def create_domain(self, name, description=None, enabled=True): @@ -778,7 +772,7 @@ class IdentityCloudMixin: dom = self.get_domain(None, name_or_id) if dom is None: raise exceptions.SDKException( - "Domain {0} not found for updating".format(name_or_id) + f"Domain {name_or_id} not found for updating" ) domain_id = dom['id'] @@ -1006,7 +1000,7 @@ class IdentityCloudMixin: group = self.identity.find_group(name_or_id, **kwargs) if group is None: raise exceptions.SDKException( - "Group {0} not found for updating".format(name_or_id) + f"Group {name_or_id} not found for updating" ) group_ref = {} @@ -1039,9 +1033,7 @@ class IdentityCloudMixin: return True except exceptions.SDKException: - self.log.exception( - "Unable to delete group {name}".format(name=name_or_id) - ) + self.log.exception(f"Unable to delete group {name_or_id}") return False def list_roles(self, **kwargs): @@ -1235,9 +1227,7 @@ class IdentityCloudMixin: self.identity.delete_role(role) return True except exceptions.SDKExceptions: - self.log.exception( - "Unable to delete role {name}".format(name=name_or_id) - ) + self.log.exception(f"Unable to delete role {name_or_id}") raise def _get_grant_revoke_params( @@ -1261,7 +1251,7 @@ class IdentityCloudMixin: data['role'] = self.identity.find_role(name_or_id=role) if not data['role']: - raise exceptions.SDKException('Role {0} not found.'.format(role)) + raise exceptions.SDKException(f'Role {role} not found.') if user: # use cloud.get_user to save us from bad searching by name diff --git a/openstack/cloud/_image.py b/openstack/cloud/_image.py index 960f985be..685dce2f4 100644 --- a/openstack/cloud/_image.py +++ b/openstack/cloud/_image.py @@ -170,7 +170,7 @@ class ImageCloudMixin: return image elif image['status'] == 'error': raise exceptions.SDKException( - 'Image {image} hit error state'.format(image=image_id) + f'Image {image_id} hit error state' ) def delete_image( diff --git a/openstack/cloud/_network.py b/openstack/cloud/_network.py index ce35669b5..b88bec504 100644 --- a/openstack/cloud/_network.py +++ b/openstack/cloud/_network.py @@ -2772,7 +2772,7 @@ class NetworkCloudMixin: port = self.get_port(name_or_id=name_or_id) if port is None: raise exceptions.SDKException( - "failed to find port '{port}'".format(port=name_or_id) + f"failed to find port '{name_or_id}'" ) return self.network.update_port(port, **kwargs) @@ -2813,7 +2813,7 @@ class NetworkCloudMixin: port = self.get_port(name_or_id, filters) if not port: raise exceptions.ResourceNotFound( - 'Port {id} not found'.format(id=name_or_id) + f'Port {name_or_id} not found' ) ids_list.append(port['id']) return ids_list diff --git a/openstack/cloud/_object_store.py b/openstack/cloud/_object_store.py index c704c0fc1..f918d3235 100644 --- a/openstack/cloud/_object_store.py +++ b/openstack/cloud/_object_store.py @@ -453,10 +453,9 @@ class ObjectStoreCloudMixin: error. """ try: - for ret in self.object_store.stream_object( + yield from self.object_store.stream_object( obj, container, chunk_size=resp_chunk_size - ): - yield ret + ) except exceptions.ResourceNotFound: return diff --git a/openstack/cloud/_security_group.py b/openstack/cloud/_security_group.py index c7b641ebe..d1af47a54 100644 --- a/openstack/cloud/_security_group.py +++ b/openstack/cloud/_security_group.py @@ -419,9 +419,7 @@ class SecurityGroupCloudMixin: else: try: exceptions.raise_from_response( - self.compute.delete( - '/os-security-group-rules/{id}'.format(id=rule_id) - ) + self.compute.delete(f'/os-security-group-rules/{rule_id}') ) except exceptions.NotFoundException: return False diff --git a/openstack/cloud/_utils.py b/openstack/cloud/_utils.py index 232a12bfe..57830f771 100644 --- a/openstack/cloud/_utils.py +++ b/openstack/cloud/_utils.py @@ -389,9 +389,7 @@ def range_filter(data, key, range_exp): # If parsing the range fails, it must be a bad value. if val_range is None: - raise exceptions.SDKException( - "Invalid range value: {value}".format(value=range_exp) - ) + raise exceptions.SDKException(f"Invalid range value: {range_exp}") op = val_range[0] if op: diff --git a/openstack/cloud/exc.py b/openstack/cloud/exc.py index b104653a0..2c9e6be87 100644 --- a/openstack/cloud/exc.py +++ b/openstack/cloud/exc.py @@ -28,7 +28,7 @@ class OpenStackCloudUnavailableFeature(OpenStackCloudException): # Backwards compat. These are deprecated and should not be used in new code. class OpenStackCloudCreateException(OpenStackCloudException): def __init__(self, resource, resource_id, extra_data=None, **kwargs): - super(OpenStackCloudCreateException, self).__init__( + super().__init__( message="Error creating {resource}: {resource_id}".format( resource=resource, resource_id=resource_id ), diff --git a/openstack/cloud/meta.py b/openstack/cloud/meta.py index 184c1b984..5b1571ab0 100644 --- a/openstack/cloud/meta.py +++ b/openstack/cloud/meta.py @@ -265,7 +265,7 @@ def find_best_address(addresses, public=False, cloud_public=True): connect_socket.settimeout(1) connect_socket.connect(sa) return address - except socket.error: + except OSError: # Sometimes a "no route to address" type error # will fail fast, but can often come alive # when retried. @@ -370,7 +370,7 @@ def get_groups_from_server(cloud, server, server_vars): groups.append(region) # And one by cloud_region - groups.append("%s_%s" % (cloud_name, region)) + groups.append(f"{cloud_name}_{region}") # Check if group metadata key in servers' metadata group = server['metadata'].get('group') @@ -385,17 +385,17 @@ def get_groups_from_server(cloud, server, server_vars): for key in ('flavor', 'image'): if 'name' in server_vars[key]: - groups.append('%s-%s' % (key, server_vars[key]['name'])) + groups.append('{}-{}'.format(key, server_vars[key]['name'])) for key, value in iter(server['metadata'].items()): - groups.append('meta-%s_%s' % (key, value)) + groups.append(f'meta-{key}_{value}') az = server_vars.get('az', None) if az: # Make groups for az, region_az and cloud_region_az groups.append(az) - groups.append('%s_%s' % (region, az)) - groups.append('%s_%s_%s' % (cloud.name, region, az)) + groups.append(f'{region}_{az}') + groups.append(f'{cloud.name}_{region}_{az}') return groups diff --git a/openstack/cloud/openstackcloud.py b/openstack/cloud/openstackcloud.py index b0cccf45e..81abdb436 100644 --- a/openstack/cloud/openstackcloud.py +++ b/openstack/cloud/openstackcloud.py @@ -64,7 +64,7 @@ class _OpenStackCloudMixin: _SHADE_OBJECT_AUTOCREATE_KEY = 'x-object-meta-x-shade-autocreated' def __init__(self): - super(_OpenStackCloudMixin, self).__init__() + super().__init__() self.log = _log.setup_logging('openstack') @@ -172,10 +172,10 @@ class _OpenStackCloudMixin: name_key = 'username' else: name_key = 'project_name' - id_key = '{prefix}_id'.format(prefix=prefix) + id_key = f'{prefix}_id' pop_keys(params, kwargs, name_key, id_key) - id_key = '{prefix}_domain_id'.format(prefix=prefix) - name_key = '{prefix}_domain_name'.format(prefix=prefix) + id_key = f'{prefix}_domain_id' + name_key = f'{prefix}_domain_name' pop_keys(params, kwargs, name_key, id_key) for key, value in kwargs.items(): @@ -282,14 +282,14 @@ class _OpenStackCloudMixin: if namespace is None: name_key = self.name else: - name_key = '%s:%s' % (self.name, namespace) + name_key = f'{self.name}:{namespace}' def generate_key(*args, **kwargs): # TODO(frickler): make handling arg keys actually work arg_key = '' kw_keys = sorted(kwargs.keys()) kwargs_key = ','.join( - ['%s:%s' % (k, kwargs[k]) for k in kw_keys if k != 'cache'] + [f'{k}:{kwargs[k]}' for k in kw_keys if k != 'cache'] ) ans = "_".join([str(name_key), fname, arg_key, kwargs_key]) return ans diff --git a/openstack/common/quota_set.py b/openstack/common/quota_set.py index f5afd7c04..1c7a147af 100644 --- a/openstack/common/quota_set.py +++ b/openstack/common/quota_set.py @@ -57,7 +57,7 @@ class QuotaSet(resource.Resource): error_message=None, **params ): - return super(QuotaSet, self).fetch( + return super().fetch( session, requires_id=False, base_path=base_path, diff --git a/openstack/compute/v2/flavor.py b/openstack/compute/v2/flavor.py index dd0c39300..e6d1390b3 100644 --- a/openstack/compute/v2/flavor.py +++ b/openstack/compute/v2/flavor.py @@ -103,7 +103,7 @@ class Flavor(resource.Resource): # is_public is ternary - None means give all flavors. # Force it to string to avoid requests skipping it. params['is_public'] = 'None' - return super(Flavor, cls).list( + return super().list( session, paginated=paginated, base_path=base_path, **params ) diff --git a/openstack/compute/v2/keypair.py b/openstack/compute/v2/keypair.py index 17567b52f..3a7bb958e 100644 --- a/openstack/compute/v2/keypair.py +++ b/openstack/compute/v2/keypair.py @@ -60,7 +60,7 @@ class Keypair(resource.Resource): # it **SOMETIMES** keypair picks up id and not name. This is a hammer. if 'id' in attrs: attrs.setdefault('name', attrs.pop('id')) - return super(Keypair, self)._consume_attrs(mapping, attrs) + return super()._consume_attrs(mapping, attrs) @classmethod def existing(cls, connection=None, **kwargs): diff --git a/openstack/compute/v2/limits.py b/openstack/compute/v2/limits.py index 5c17a2976..897e86403 100644 --- a/openstack/compute/v2/limits.py +++ b/openstack/compute/v2/limits.py @@ -113,7 +113,7 @@ class Limits(resource.Resource): """ # TODO(mordred) We shouldn't have to subclass just to declare # requires_id = False. - return super(Limits, self).fetch( + return super().fetch( session=session, requires_id=requires_id, error_message=error_message, diff --git a/openstack/compute/v2/server.py b/openstack/compute/v2/server.py index 3c0376b4c..078d75d8b 100644 --- a/openstack/compute/v2/server.py +++ b/openstack/compute/v2/server.py @@ -268,7 +268,7 @@ class Server(resource.Resource, metadata.MetadataMixin, tag.TagMixin): base_path=None, **kwargs, ): - request = super(Server, self)._prepare_request( + request = super()._prepare_request( requires_id=requires_id, prepend_key=prepend_key, base_path=base_path, diff --git a/openstack/compute/v2/server_remote_console.py b/openstack/compute/v2/server_remote_console.py index cfa24a1a2..7a845b6ab 100644 --- a/openstack/compute/v2/server_remote_console.py +++ b/openstack/compute/v2/server_remote_console.py @@ -55,6 +55,6 @@ class ServerRemoteConsole(resource.Resource): raise ValueError( 'Console type webmks is not supported on server side' ) - return super(ServerRemoteConsole, self).create( + return super().create( session, prepend_key=prepend_key, base_path=base_path, **params ) diff --git a/openstack/compute/v2/service.py b/openstack/compute/v2/service.py index e35526582..e4dce2ee6 100644 --- a/openstack/compute/v2/service.py +++ b/openstack/compute/v2/service.py @@ -84,12 +84,12 @@ class Service(resource.Resource): if ignore_missing: return None raise exceptions.ResourceNotFound( - "No %s found for %s" % (cls.__name__, name_or_id) + f"No {cls.__name__} found for {name_or_id}" ) def commit(self, session, prepend_key=False, **kwargs): # we need to set prepend_key to false - return super(Service, self).commit( + return super().commit( session, prepend_key=prepend_key, **kwargs, diff --git a/openstack/config/cloud_config.py b/openstack/config/cloud_config.py index 7ce2bff3d..fdb4925b8 100644 --- a/openstack/config/cloud_config.py +++ b/openstack/config/cloud_config.py @@ -19,5 +19,5 @@ from openstack.config import cloud_region class CloudConfig(cloud_region.CloudRegion): def __init__(self, name, region, config, **kwargs): - super(CloudConfig, self).__init__(name, region, config, **kwargs) + super().__init__(name, region, config, **kwargs) self.region = region diff --git a/openstack/config/cloud_region.py b/openstack/config/cloud_region.py index e50bf08a8..83f7b4eb4 100644 --- a/openstack/config/cloud_region.py +++ b/openstack/config/cloud_region.py @@ -76,7 +76,7 @@ def _make_key(key, service_type): def _disable_service(config, service_type, reason=None): service_type = service_type.lower().replace('-', '_') - key = 'has_{service_type}'.format(service_type=service_type) + key = f'has_{service_type}' config[key] = False if reason: d_key = _make_key('disabled_reason', service_type) @@ -1217,7 +1217,7 @@ class CloudRegion: def has_service(self, service_type): service_type = service_type.lower().replace('-', '_') - key = 'has_{service_type}'.format(service_type=service_type) + key = f'has_{service_type}' return self.config.get( key, self._service_type_manager.is_official(service_type) ) @@ -1227,7 +1227,7 @@ class CloudRegion: def enable_service(self, service_type): service_type = service_type.lower().replace('-', '_') - key = 'has_{service_type}'.format(service_type=service_type) + key = f'has_{service_type}' self.config[key] = True def get_disabled_reason(self, service_type): diff --git a/openstack/config/defaults.py b/openstack/config/defaults.py index 4fa5637e4..a4fc6f05d 100644 --- a/openstack/config/defaults.py +++ b/openstack/config/defaults.py @@ -46,7 +46,7 @@ def get_defaults(json_path=_json_path): cert=None, key=None, ) - with open(json_path, 'r') as json_file: + with open(json_path) as json_file: updates = json.load(json_file) if updates is not None: tmp_defaults.update(updates) diff --git a/openstack/config/loader.py b/openstack/config/loader.py index 2d9cf19e8..ad4055fa4 100644 --- a/openstack/config/loader.py +++ b/openstack/config/loader.py @@ -411,15 +411,13 @@ class OpenStackConfig: ret[newkey] = os.environ[k] # If the only environ keys are selectors or behavior modification, # don't return anything - selectors = set( - [ - 'OS_CLOUD', - 'OS_REGION_NAME', - 'OS_CLIENT_CONFIG_FILE', - 'OS_CLIENT_SECURE_FILE', - 'OS_CLOUD_NAME', - ] - ) + selectors = { + 'OS_CLOUD', + 'OS_REGION_NAME', + 'OS_CLIENT_CONFIG_FILE', + 'OS_CLIENT_SECURE_FILE', + 'OS_CLOUD_NAME', + } if set(environkeys) - selectors: return ret return None @@ -456,12 +454,12 @@ class OpenStackConfig: for path in filelist: if os.path.exists(path): try: - with open(path, 'r') as f: + with open(path) as f: if path.endswith('json'): return path, json.load(f) else: return path, yaml.safe_load(f) - except IOError as e: + except OSError as e: if e.errno == errno.EACCES: # Can't access file so let's continue to the next # file @@ -560,9 +558,7 @@ class OpenStackConfig: # Only validate cloud name if one was given if name and name not in self.cloud_config['clouds']: - raise exceptions.ConfigException( - "Cloud {name} was not found.".format(name=name) - ) + raise exceptions.ConfigException(f"Cloud {name} was not found.") our_cloud = self.cloud_config['clouds'].get(name, dict()) if profile: @@ -1440,7 +1436,7 @@ class OpenStackConfig: try: with open(config_file) as fh: cur_config = yaml.safe_load(fh) - except IOError as e: + except OSError as e: # Not no such file if e.errno != 2: raise diff --git a/openstack/config/vendors/__init__.py b/openstack/config/vendors/__init__.py index 189d3744a..68d68b74e 100644 --- a/openstack/config/vendors/__init__.py +++ b/openstack/config/vendors/__init__.py @@ -33,11 +33,11 @@ def _get_vendor_defaults(): global _VENDOR_DEFAULTS if not _VENDOR_DEFAULTS: for vendor in glob.glob(os.path.join(_VENDORS_PATH, '*.yaml')): - with open(vendor, 'r') as f: + with open(vendor) as f: vendor_data = yaml.safe_load(f) _VENDOR_DEFAULTS[vendor_data['name']] = vendor_data['profile'] for vendor in glob.glob(os.path.join(_VENDORS_PATH, '*.json')): - with open(vendor, 'r') as f: + with open(vendor) as f: vendor_data = json.load(f) _VENDOR_DEFAULTS[vendor_data['name']] = vendor_data['profile'] return _VENDOR_DEFAULTS diff --git a/openstack/dns/v2/_base.py b/openstack/dns/v2/_base.py index 0cac1eac5..7efdbfed0 100644 --- a/openstack/dns/v2/_base.py +++ b/openstack/dns/v2/_base.py @@ -69,7 +69,7 @@ class Resource(resource.Resource): if ignore_missing: return None raise exceptions.ResourceNotFound( - "No %s found for %s" % (cls.__name__, name_or_id) + f"No {cls.__name__} found for {name_or_id}" ) @classmethod diff --git a/openstack/exceptions.py b/openstack/exceptions.py index 53dc0a6a3..aa2f92296 100644 --- a/openstack/exceptions.py +++ b/openstack/exceptions.py @@ -29,21 +29,21 @@ class SDKException(Exception): def __init__(self, message=None, extra_data=None): self.message = self.__class__.__name__ if message is None else message self.extra_data = extra_data - super(SDKException, self).__init__(self.message) + super().__init__(self.message) class EndpointNotFound(SDKException): """A mismatch occurred between what the client and server expect.""" def __init__(self, message=None): - super(EndpointNotFound, self).__init__(message) + super().__init__(message) class InvalidResponse(SDKException): """The response from the server is not valid for this request.""" def __init__(self, response): - super(InvalidResponse, self).__init__() + super().__init__() self.response = response @@ -51,7 +51,7 @@ class InvalidRequest(SDKException): """The request to the server is not valid.""" def __init__(self, message=None): - super(InvalidRequest, self).__init__(message) + super().__init__(message) class HttpException(SDKException, _rex.HTTPError): @@ -111,7 +111,7 @@ class HttpException(SDKException, _rex.HTTPError): remote_error += str(self.details) return "{message}: {remote_error}".format( - message=super(HttpException, self).__str__(), + message=super().__str__(), remote_error=remote_error, ) @@ -142,12 +142,12 @@ class MethodNotSupported(SDKException): except AttributeError: name = resource.__class__.__name__ - message = 'The %s method is not supported for %s.%s' % ( + message = 'The {} method is not supported for {}.{}'.format( method, resource.__module__, name, ) - super(MethodNotSupported, self).__init__(message=message) + super().__init__(message=message) class DuplicateResource(SDKException): diff --git a/openstack/fixture/connection.py b/openstack/fixture/connection.py index 80195602d..d9a68614c 100644 --- a/openstack/fixture/connection.py +++ b/openstack/fixture/connection.py @@ -46,7 +46,7 @@ class ConnectionFixture(fixtures.Fixture): } def __init__(self, suburl=False, project_id=None, *args, **kwargs): - super(ConnectionFixture, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self._endpoint_templates = _ENDPOINT_TEMPLATES if suburl: self.use_suburl() diff --git a/openstack/image/_download.py b/openstack/image/_download.py index fc4145cbf..1203b5579 100644 --- a/openstack/image/_download.py +++ b/openstack/image/_download.py @@ -22,7 +22,7 @@ def _verify_checksum(md5, checksum): digest = md5.hexdigest() if digest != checksum: raise exceptions.InvalidResponse( - "checksum mismatch: %s != %s" % (checksum, digest) + f"checksum mismatch: {checksum} != {digest}" ) diff --git a/openstack/image/v1/_proxy.py b/openstack/image/v1/_proxy.py index b32e7a2fd..bdcf35cf7 100644 --- a/openstack/image/v1/_proxy.py +++ b/openstack/image/v1/_proxy.py @@ -295,7 +295,7 @@ class Proxy(proxy.Proxy): image = self._connection._get_and_munchify( 'image', self.put( - '/images/{id}'.format(id=image.id), + f'/images/{image.id}', headers=headers, data=image_data, ), @@ -303,7 +303,7 @@ class Proxy(proxy.Proxy): except exc.HttpException: self.log.debug("Deleting failed upload of image %s", name) try: - self.delete('/images/{id}'.format(id=image.id)) + self.delete(f'/images/{image.id}') except exc.HttpException: # We're just trying to clean up - if it doesn't work - shrug self.log.warning( @@ -434,10 +434,10 @@ class Proxy(proxy.Proxy): img_props = {} for k, v in iter(properties.items()): if image.properties.get(k, None) != v: - img_props['x-image-meta-{key}'.format(key=k)] = v + img_props[f'x-image-meta-{k}'] = v if not img_props: return False - self.put('/images/{id}'.format(id=image.id), headers=img_props) + self.put(f'/images/{image.id}', headers=img_props) return True def update_image_properties( @@ -469,7 +469,7 @@ class Proxy(proxy.Proxy): for k, v in iter(kwargs.items()): if v and k in ['ramdisk', 'kernel']: v = self._connection.get_image_id(v) - k = '{0}_id'.format(k) + k = f'{k}_id' img_props[k] = v return self._update_image_properties(image, meta, img_props) diff --git a/openstack/image/v1/image.py b/openstack/image/v1/image.py index c53941224..7e1283b1d 100644 --- a/openstack/image/v1/image.py +++ b/openstack/image/v1/image.py @@ -135,5 +135,5 @@ class Image(resource.Resource, _download.DownloadMixin): if ignore_missing: return None raise exceptions.ResourceNotFound( - "No %s found for %s" % (cls.__name__, name_or_id) + f"No {cls.__name__} found for {name_or_id}" ) diff --git a/openstack/image/v2/_proxy.py b/openstack/image/v2/_proxy.py index ca004d50e..e704d46ae 100644 --- a/openstack/image/v2/_proxy.py +++ b/openstack/image/v2/_proxy.py @@ -598,9 +598,7 @@ class Proxy(proxy.Proxy): self.log.debug("Image creation failed", exc_info=True) raise except Exception as e: - raise exceptions.SDKException( - "Image creation failed: {message}".format(message=str(e)) - ) + raise exceptions.SDKException(f"Image creation failed: {str(e)}") def _make_v2_image_params(self, meta, properties): ret: ty.Dict = {} @@ -949,7 +947,7 @@ class Proxy(proxy.Proxy): for k, v in iter(kwargs.items()): if v and k in ['ramdisk', 'kernel']: v = self._connection.get_image_id(v) - k = '{0}_id'.format(k) + k = f'{k}_id' properties[k] = v img_props = image.properties.copy() @@ -1840,7 +1838,7 @@ class Proxy(proxy.Proxy): if task.status.lower() == status.lower(): return task - name = "{res}:{id}".format(res=task.__class__.__name__, id=task.id) + name = f"{task.__class__.__name__}:{task.id}" msg = "Timeout waiting for {name} to transition to {status}".format( name=name, status=status ) diff --git a/openstack/image/v2/image.py b/openstack/image/v2/image.py index b42d05314..ec1da5e5f 100644 --- a/openstack/image/v2/image.py +++ b/openstack/image/v2/image.py @@ -385,7 +385,7 @@ class Image(resource.Resource, tag.TagMixin, _download.DownloadMixin): base_path=None, **kwargs, ): - request = super(Image, self)._prepare_request( + request = super()._prepare_request( requires_id=requires_id, prepend_key=prepend_key, patch=patch, @@ -403,7 +403,7 @@ class Image(resource.Resource, tag.TagMixin, _download.DownloadMixin): @classmethod def find(cls, session, name_or_id, ignore_missing=True, **params): # Do a regular search first (ignoring missing) - result = super(Image, cls).find(session, name_or_id, True, **params) + result = super().find(session, name_or_id, True, **params) if result: return result @@ -419,5 +419,5 @@ class Image(resource.Resource, tag.TagMixin, _download.DownloadMixin): if ignore_missing: return None raise exceptions.ResourceNotFound( - "No %s found for %s" % (cls.__name__, name_or_id) + f"No {cls.__name__} found for {name_or_id}" ) diff --git a/openstack/load_balancer/v2/amphora.py b/openstack/load_balancer/v2/amphora.py index 955404877..b33a4a603 100644 --- a/openstack/load_balancer/v2/amphora.py +++ b/openstack/load_balancer/v2/amphora.py @@ -114,9 +114,7 @@ class AmphoraConfig(resource.Resource): # The default _update code path also has no # way to pass has_body into this function, so overriding the method here. def commit(self, session, base_path=None): - return super(AmphoraConfig, self).commit( - session, base_path=base_path, has_body=False - ) + return super().commit(session, base_path=base_path, has_body=False) class AmphoraFailover(resource.Resource): @@ -139,6 +137,4 @@ class AmphoraFailover(resource.Resource): # The default _update code path also has no # way to pass has_body into this function, so overriding the method here. def commit(self, session, base_path=None): - return super(AmphoraFailover, self).commit( - session, base_path=base_path, has_body=False - ) + return super().commit(session, base_path=base_path, has_body=False) diff --git a/openstack/load_balancer/v2/load_balancer.py b/openstack/load_balancer/v2/load_balancer.py index 34cc39be8..0fddea5fa 100644 --- a/openstack/load_balancer/v2/load_balancer.py +++ b/openstack/load_balancer/v2/load_balancer.py @@ -146,6 +146,4 @@ class LoadBalancerFailover(resource.Resource): # The default _update code path also has no # way to pass has_body into this function, so overriding the method here. def commit(self, session, base_path=None): - return super(LoadBalancerFailover, self).commit( - session, base_path=base_path, has_body=False - ) + return super().commit(session, base_path=base_path, has_body=False) diff --git a/openstack/load_balancer/v2/quota.py b/openstack/load_balancer/v2/quota.py index 8b46c5475..ddab05746 100644 --- a/openstack/load_balancer/v2/quota.py +++ b/openstack/load_balancer/v2/quota.py @@ -44,7 +44,7 @@ class Quota(resource.Resource): def _prepare_request( self, requires_id=True, base_path=None, prepend_key=False, **kwargs ): - _request = super(Quota, self)._prepare_request( + _request = super()._prepare_request( requires_id, prepend_key, base_path=base_path ) if self.resource_key in _request.body: diff --git a/openstack/message/v2/claim.py b/openstack/message/v2/claim.py index 1ce0544ce..d4fb9bb30 100644 --- a/openstack/message/v2/claim.py +++ b/openstack/message/v2/claim.py @@ -56,7 +56,7 @@ class Claim(resource.Resource): project_id = resource.Header("X-PROJECT-ID") def _translate_response(self, response, has_body=True): - super(Claim, self)._translate_response(response, has_body=has_body) + super()._translate_response(response, has_body=has_body) if has_body and self.location: # Extract claim ID from location self.id = self.location.split("claims/")[1] diff --git a/openstack/network/v2/_base.py b/openstack/network/v2/_base.py index e151e8144..f0ef10e46 100644 --- a/openstack/network/v2/_base.py +++ b/openstack/network/v2/_base.py @@ -28,7 +28,7 @@ class NetworkResource(resource.Resource): if_revision=None, **kwargs ): - req = super(NetworkResource, self)._prepare_request( + req = super()._prepare_request( requires_id=requires_id, prepend_key=prepend_key, patch=patch, diff --git a/openstack/network/v2/quota.py b/openstack/network/v2/quota.py index f3b79743a..8c5bc7eb8 100644 --- a/openstack/network/v2/quota.py +++ b/openstack/network/v2/quota.py @@ -63,9 +63,7 @@ class Quota(resource.Resource): def _prepare_request( self, requires_id=True, prepend_key=False, base_path=None, **kwargs ): - _request = super(Quota, self)._prepare_request( - requires_id, prepend_key - ) + _request = super()._prepare_request(requires_id, prepend_key) if self.resource_key in _request.body: _body = _request.body[self.resource_key] else: diff --git a/openstack/network/v2/security_group_rule.py b/openstack/network/v2/security_group_rule.py index 369a70de2..d4e7b0d6d 100644 --- a/openstack/network/v2/security_group_rule.py +++ b/openstack/network/v2/security_group_rule.py @@ -96,9 +96,7 @@ class SecurityGroupRule(_base.NetworkResource, tag.TagMixin): updated_at = resource.Body('updated_at') def _prepare_request(self, *args, **kwargs): - _request = super(SecurityGroupRule, self)._prepare_request( - *args, **kwargs - ) + _request = super()._prepare_request(*args, **kwargs) # Old versions of Neutron do not handle being passed a # remote_address_group_id and raise and error. Remove it from # the body if it is blank. diff --git a/openstack/object_store/v1/_base.py b/openstack/object_store/v1/_base.py index 0b1c4dfed..0f910d0cf 100644 --- a/openstack/object_store/v1/_base.py +++ b/openstack/object_store/v1/_base.py @@ -97,7 +97,7 @@ class BaseResource(resource.Resource): # This must happen before invoking parent _translate_response, cause it # pops known headers. self._last_headers = response.headers.copy() - super(BaseResource, self)._translate_response( + super()._translate_response( response, has_body=has_body, error_message=error_message ) self._set_metadata(response.headers) diff --git a/openstack/object_store/v1/_proxy.py b/openstack/object_store/v1/_proxy.py index e28f0b0b7..708c9d5e5 100644 --- a/openstack/object_store/v1/_proxy.py +++ b/openstack/object_store/v1/_proxy.py @@ -652,7 +652,7 @@ class Proxy(proxy.Proxy): # While Object Storage usually expects the name to be # urlencoded in most requests, the SLO manifest requires # plain object names instead. - path='/{name}'.format(name=parse.unquote(name)), + path=f'/{parse.unquote(name)}', size_bytes=segment.length, ) ) @@ -808,7 +808,7 @@ class Proxy(proxy.Proxy): continue name = self._object_name_from_url(result.url) for entry in manifest: - if entry['path'] == '/{name}'.format(name=parse.unquote(name)): + if entry['path'] == f'/{parse.unquote(name)}': entry['etag'] = result.headers['Etag'] def get_info(self): @@ -931,7 +931,7 @@ class Proxy(proxy.Proxy): endpoint = parse.urlparse(self.get_endpoint()) path = '/'.join([endpoint.path, res.name, object_prefix]) - data = '%s\n%s\n%s\n%s\n%s' % ( + data = '{}\n{}\n{}\n{}\n{}'.format( path, redirect_url, max_file_size, @@ -1067,7 +1067,7 @@ class Proxy(proxy.Proxy): raise ValueError('ip_range must be representable as UTF-8') hmac_parts.insert(0, "ip=%s" % ip_range) - hmac_body = u'\n'.join(hmac_parts) + hmac_body = '\n'.join(hmac_parts) temp_url_key = self._check_temp_url_key(temp_url_key=temp_url_key) @@ -1082,17 +1082,17 @@ class Proxy(proxy.Proxy): else: exp = str(expiration) - temp_url = u'{path}?temp_url_sig={sig}&temp_url_expires={exp}'.format( + temp_url = '{path}?temp_url_sig={sig}&temp_url_expires={exp}'.format( path=path_for_body, sig=sig, exp=exp, ) if ip_range: - temp_url += u'&temp_url_ip_range={}'.format(ip_range) + temp_url += f'&temp_url_ip_range={ip_range}' if prefix: - temp_url += u'&temp_url_prefix={}'.format(parts[4]) + temp_url += f'&temp_url_prefix={parts[4]}' # Have return type match path from caller if isinstance(path, bytes): return temp_url.encode('utf-8') diff --git a/openstack/orchestration/util/event_utils.py b/openstack/orchestration/util/event_utils.py index 99d61deda..c84a550c3 100644 --- a/openstack/orchestration/util/event_utils.py +++ b/openstack/orchestration/util/event_utils.py @@ -72,10 +72,10 @@ def poll_for_events( return False phys_id = event.get('physical_resource_id', '') - links = dict( - (link.get('rel'), link.get('href')) + links = { + link.get('rel'): link.get('href') for link in event.get('links', []) - ) + } stack_id = links.get('stack', phys_id).rsplit('/', 1)[-1] return stack_id == phys_id diff --git a/openstack/orchestration/util/template_format.py b/openstack/orchestration/util/template_format.py index 426a22c66..ab1844444 100644 --- a/openstack/orchestration/util/template_format.py +++ b/openstack/orchestration/util/template_format.py @@ -30,13 +30,13 @@ def _construct_yaml_str(self, node): return self.construct_scalar(node) -HeatYamlLoader.add_constructor(u'tag:yaml.org,2002:str', _construct_yaml_str) +HeatYamlLoader.add_constructor('tag:yaml.org,2002:str', _construct_yaml_str) # Unquoted dates like 2013-05-23 in yaml files get loaded as objects of type # datetime.data which causes problems in API layer when being processed by # openstack.common.jsonutils. Therefore, make unicode string out of timestamps # until jsonutils can handle dates. HeatYamlLoader.add_constructor( - u'tag:yaml.org,2002:timestamp', _construct_yaml_str + 'tag:yaml.org,2002:timestamp', _construct_yaml_str ) diff --git a/openstack/orchestration/v1/_proxy.py b/openstack/orchestration/v1/_proxy.py index d68cee8e1..685f59ba2 100644 --- a/openstack/orchestration/v1/_proxy.py +++ b/openstack/orchestration/v1/_proxy.py @@ -58,7 +58,7 @@ class Proxy(proxy.Proxy): # (/stacks/name/id/everything_else), so if on third position we # have not a known part - discard it, not to brake further logic del url_parts[2] - return super(Proxy, self)._extract_name_consume_url_parts(url_parts) + return super()._extract_name_consume_url_parts(url_parts) def read_env_and_templates( self, diff --git a/openstack/orchestration/v1/software_config.py b/openstack/orchestration/v1/software_config.py index 21a9c9750..cbd053fba 100644 --- a/openstack/orchestration/v1/software_config.py +++ b/openstack/orchestration/v1/software_config.py @@ -48,6 +48,4 @@ class SoftwareConfig(resource.Resource): def create(self, session, base_path=None): # This overrides the default behavior of resource creation because # heat doesn't accept resource_key in its request. - return super(SoftwareConfig, self).create( - session, prepend_key=False, base_path=base_path - ) + return super().create(session, prepend_key=False, base_path=base_path) diff --git a/openstack/orchestration/v1/software_deployment.py b/openstack/orchestration/v1/software_deployment.py index 9a2cbf6d8..12178fc06 100644 --- a/openstack/orchestration/v1/software_deployment.py +++ b/openstack/orchestration/v1/software_deployment.py @@ -52,13 +52,9 @@ class SoftwareDeployment(resource.Resource): def create(self, session, base_path=None): # This overrides the default behavior of resource creation because # heat doesn't accept resource_key in its request. - return super(SoftwareDeployment, self).create( - session, prepend_key=False, base_path=base_path - ) + return super().create(session, prepend_key=False, base_path=base_path) def commit(self, session, base_path=None): # This overrides the default behavior of resource creation because # heat doesn't accept resource_key in its request. - return super(SoftwareDeployment, self).commit( - session, prepend_key=False, base_path=base_path - ) + return super().commit(session, prepend_key=False, base_path=base_path) diff --git a/openstack/orchestration/v1/stack.py b/openstack/orchestration/v1/stack.py index d7871e53c..ef7230a17 100644 --- a/openstack/orchestration/v1/stack.py +++ b/openstack/orchestration/v1/stack.py @@ -36,7 +36,7 @@ class Stack(resource.Resource): 'owner_id', 'username', project_id='tenant_id', - **tag.TagMixin._tag_query_parameters + **tag.TagMixin._tag_query_parameters, ) # Properties @@ -115,14 +115,12 @@ class Stack(resource.Resource): def create(self, session, base_path=None): # This overrides the default behavior of resource creation because # heat doesn't accept resource_key in its request. - return super(Stack, self).create( - session, prepend_key=False, base_path=base_path - ) + return super().create(session, prepend_key=False, base_path=base_path) def commit(self, session, base_path=None): # This overrides the default behavior of resource creation because # heat doesn't accept resource_key in its request. - return super(Stack, self).commit( + return super().commit( session, prepend_key=False, has_body=False, base_path=None ) @@ -131,16 +129,16 @@ class Stack(resource.Resource): # we need to use other endpoint for update preview. base_path = None if self.name and self.id: - base_path = '/stacks/%(stack_name)s/%(stack_id)s' % { - 'stack_name': self.name, - 'stack_id': self.id, - } + base_path = '/stacks/{stack_name}/{stack_id}'.format( + stack_name=self.name, + stack_id=self.id, + ) elif self.name or self.id: # We have only one of name/id. Do not try to build a stacks/NAME/ID # path - base_path = '/stacks/%(stack_identity)s' % { - 'stack_identity': self.name or self.id - } + base_path = '/stacks/{stack_identity}'.format( + stack_identity=self.name or self.id + ) request = self._prepare_request( prepend_key=False, requires_id=False, base_path=base_path ) @@ -290,7 +288,7 @@ class Stack(resource.Resource): if ignore_missing: return None raise exceptions.ResourceNotFound( - "No %s found for %s" % (cls.__name__, name_or_id) + f"No {cls.__name__} found for {name_or_id}" ) diff --git a/openstack/proxy.py b/openstack/proxy.py index 5026cf2c9..2971824e0 100644 --- a/openstack/proxy.py +++ b/openstack/proxy.py @@ -112,7 +112,7 @@ class Proxy(adapter.Adapter): self._influxdb_client = influxdb_client self._influxdb_config = influxdb_config if self.service_type: - log_name = 'openstack.{0}'.format(self.service_type) + log_name = f'openstack.{self.service_type}' else: log_name = 'openstack' self.log = _log.setup_logging(log_name) @@ -333,7 +333,9 @@ class Proxy(adapter.Adapter): with self._statsd_client.pipeline() as pipe: if response is not None: duration = int(response.elapsed.total_seconds() * 1000) - metric_name = '%s.%s' % (key, str(response.status_code)) + metric_name = '{}.{}'.format( + key, str(response.status_code) + ) pipe.timing(metric_name, duration) pipe.incr(metric_name) if duration > 1000: @@ -396,7 +398,7 @@ class Proxy(adapter.Adapter): tags['status_code'] = str(response.status_code) # Note(gtema): emit also status_code as a value (counter) fields[str(response.status_code)] = 1 - fields['%s.%s' % (method, response.status_code)] = 1 + fields[f'{method}.{response.status_code}'] = 1 # Note(gtema): status_code field itself is also very helpful on the # graphs to show what was the code, instead of counting its # occurences @@ -411,7 +413,7 @@ class Proxy(adapter.Adapter): else 'openstack_api' ) # Note(gtema) append service name into the measurement name - measurement = '%s.%s' % (measurement, self.service_type) + measurement = f'{measurement}.{self.service_type}' data = [dict(measurement=measurement, tags=tags, fields=fields)] try: self._influxdb_client.write_points(data) diff --git a/openstack/resource.py b/openstack/resource.py index 76293f216..a8c7a9970 100644 --- a/openstack/resource.py +++ b/openstack/resource.py @@ -306,9 +306,7 @@ class _ComponentManager(collections.abc.MutableMapping): @property def dirty(self): """Return a dict of modified attributes""" - return dict( - (key, self.attributes.get(key, None)) for key in self._dirty - ) + return {key: self.attributes.get(key, None) for key in self._dirty} def clean(self, only=None): """Signal that the resource no longer has modified attributes. @@ -610,7 +608,7 @@ class Resource(dict): def __repr__(self): pairs = [ - "%s=%s" % (k, v if v is not None else 'None') + "{}={}".format(k, v if v is not None else 'None') for k, v in dict( itertools.chain( self._body.attributes.items(), @@ -622,7 +620,9 @@ class Resource(dict): ] args = ", ".join(pairs) - return "%s.%s(%s)" % (self.__module__, self.__class__.__name__, args) + return "{}.{}({})".format( + self.__module__, self.__class__.__name__, args + ) def __eq__(self, comparand): """Return True if another resource has the same contents""" @@ -1406,7 +1406,7 @@ class Resource(dict): def _raise(message): if error_message: error_message.rstrip('.') - message = '%s. %s' % (error_message, message) + message = f'{error_message}. {message}' raise exceptions.NotSupported(message) @@ -1868,7 +1868,7 @@ class Resource(dict): server_field = component.name if len(parts) > 1: - new_path = '/%s/%s' % (server_field, parts[1]) + new_path = f'/{server_field}/{parts[1]}' else: new_path = '/%s' % server_field converted.append(dict(item, path=new_path)) @@ -2172,7 +2172,7 @@ class Resource(dict): if not pagination_key and cls.resources_key: # Nova has a {key}_links dict in the main body - pagination_key = '{key}_links'.format(key=cls.resources_key) + pagination_key = f'{cls.resources_key}_links' if pagination_key: links = data.get(pagination_key, {}) @@ -2371,7 +2371,7 @@ class Resource(dict): return None raise exceptions.ResourceNotFound( - "No %s found for %s" % (cls.__name__, name_or_id) + f"No {cls.__name__} found for {name_or_id}" ) @@ -2427,7 +2427,7 @@ def wait_for_status( failures = ['ERROR'] failures = [f.lower() for f in failures] - name = "{res}:{id}".format(res=resource.__class__.__name__, id=resource.id) + name = f"{resource.__class__.__name__}:{resource.id}" msg = "Timeout waiting for {name} to transition to {status}".format( name=name, status=status ) diff --git a/openstack/shared_file_system/v2/_proxy.py b/openstack/shared_file_system/v2/_proxy.py index 0293a405f..aa97fd5ee 100644 --- a/openstack/shared_file_system/v2/_proxy.py +++ b/openstack/shared_file_system/v2/_proxy.py @@ -596,7 +596,7 @@ class Proxy(proxy.Proxy): return self._create( _share_network_subnet.ShareNetworkSubnet, **attrs, - share_network_id=share_network_id + share_network_id=share_network_id, ) def delete_share_network_subnet( @@ -656,7 +656,7 @@ class Proxy(proxy.Proxy): return self._list( _share_snapshot_instance.ShareSnapshotInstance, base_path=base_path, - **query + **query, ) def get_share_snapshot_instance(self, snapshot_instance_id): @@ -859,7 +859,7 @@ class Proxy(proxy.Proxy): :rtype: :class:`~openstack.shared_file_system.v2. share_access_rules.ShareAccessRules` """ - base_path = "/shares/%s/action" % (share_id,) + base_path = f"/shares/{share_id}/action" return self._create( _share_access_rule.ShareAccessRule, base_path=base_path, **attrs ) @@ -913,7 +913,7 @@ class Proxy(proxy.Proxy): return self._list( _share_group_snapshot.ShareGroupSnapshot, base_path=base_path, - **query + **query, ) def share_group_snapshot_members(self, group_snapshot_id): @@ -958,7 +958,7 @@ class Proxy(proxy.Proxy): return self._create( _share_group_snapshot.ShareGroupSnapshot, share_group_id=share_group_id, - **attrs + **attrs, ) def reset_share_group_snapshot_status(self, group_snapshot_id, status): @@ -987,7 +987,7 @@ class Proxy(proxy.Proxy): return self._update( _share_group_snapshot.ShareGroupSnapshot, group_snapshot_id, - **attrs + **attrs, ) def delete_share_group_snapshot( diff --git a/openstack/test/fakes.py b/openstack/test/fakes.py index 7ce55f372..63315b1b7 100644 --- a/openstack/test/fakes.py +++ b/openstack/test/fakes.py @@ -103,7 +103,7 @@ def generate_fake_resource( base_attrs[name] = [uuid.uuid4().hex] else: # Everything else - msg = "Fake value for %s.%s can not be generated" % ( + msg = "Fake value for {}.{} can not be generated".format( resource_type.__name__, name, ) @@ -130,7 +130,7 @@ def generate_fake_resource( base_attrs[name] = dict() else: # Everything else - msg = "Fake value for %s.%s can not be generated" % ( + msg = "Fake value for {}.{} can not be generated".format( resource_type.__name__, name, ) diff --git a/openstack/tests/base.py b/openstack/tests/base.py index 0882899b1..be5bbb06d 100644 --- a/openstack/tests/base.py +++ b/openstack/tests/base.py @@ -96,9 +96,7 @@ class TestCase(base.BaseTestCase): first = first.toDict() if isinstance(second, utils.Munch): second = second.toDict() - return super(TestCase, self).assertEqual( - first, second, *args, **kwargs - ) + return super().assertEqual(first, second, *args, **kwargs) def printLogs(self, *args): self._log_stream.seek(0) @@ -135,7 +133,9 @@ class TestCase(base.BaseTestCase): missing_keys.append(key) if missing_keys: self.fail( - "Keys %s are in %s but not in %s" % (missing_keys, part, whole) + "Keys {} are in {} but not in {}".format( + missing_keys, part, whole + ) ) wrong_values = [ (key, part[key], whole[key]) diff --git a/openstack/tests/fakes.py b/openstack/tests/fakes.py index 1bf0bd705..e3f48c453 100644 --- a/openstack/tests/fakes.py +++ b/openstack/tests/fakes.py @@ -27,9 +27,9 @@ from openstack.orchestration.util import template_format from openstack import utils PROJECT_ID = '1c36b64c840a42cd9e9b931a369337f0' -FLAVOR_ID = u'0c1d9008-f546-4608-9e8f-f8bdaec8dddd' -CHOCOLATE_FLAVOR_ID = u'0c1d9008-f546-4608-9e8f-f8bdaec8ddde' -STRAWBERRY_FLAVOR_ID = u'0c1d9008-f546-4608-9e8f-f8bdaec8dddf' +FLAVOR_ID = '0c1d9008-f546-4608-9e8f-f8bdaec8dddd' +CHOCOLATE_FLAVOR_ID = '0c1d9008-f546-4608-9e8f-f8bdaec8ddde' +STRAWBERRY_FLAVOR_ID = '0c1d9008-f546-4608-9e8f-f8bdaec8dddf' COMPUTE_ENDPOINT = 'https://compute.example.com/v2.1' ORCHESTRATION_ENDPOINT = 'https://orchestration.example.com/v1/{p}'.format( p=PROJECT_ID @@ -48,30 +48,30 @@ FAKE_PUBLIC_KEY = ( def make_fake_flavor(flavor_id, name, ram=100, disk=1600, vcpus=24): return { - u'OS-FLV-DISABLED:disabled': False, - u'OS-FLV-EXT-DATA:ephemeral': 0, - u'disk': disk, - u'id': flavor_id, - u'links': [ + 'OS-FLV-DISABLED:disabled': False, + 'OS-FLV-EXT-DATA:ephemeral': 0, + 'disk': disk, + 'id': flavor_id, + 'links': [ { - u'href': u'{endpoint}/flavors/{id}'.format( + 'href': '{endpoint}/flavors/{id}'.format( endpoint=COMPUTE_ENDPOINT, id=flavor_id ), - u'rel': u'self', + 'rel': 'self', }, { - u'href': u'{endpoint}/flavors/{id}'.format( + 'href': '{endpoint}/flavors/{id}'.format( endpoint=COMPUTE_ENDPOINT, id=flavor_id ), - u'rel': u'bookmark', + 'rel': 'bookmark', }, ], - u'name': name, - u'os-flavor-access:is_public': True, - u'ram': ram, - u'rxtx_factor': 1.0, - u'swap': 0, - u'vcpus': vcpus, + 'name': name, + 'os-flavor-access:is_public': True, + 'ram': ram, + 'rxtx_factor': 1.0, + 'swap': 0, + 'vcpus': vcpus, } @@ -251,9 +251,9 @@ def make_fake_image( md5=NO_MD5, sha256=NO_SHA256, status='active', - image_name=u'fake_image', + image_name='fake_image', data=None, - checksum=u'ee36e35a297980dee1b514de9803ec6d', + checksum='ee36e35a297980dee1b514de9803ec6d', ): if data: md5 = utils.md5(usedforsecurity=False) @@ -265,34 +265,34 @@ def make_fake_image( md5 = md5.hexdigest() sha256 = sha256.hexdigest() return { - u'image_state': u'available', - u'container_format': u'bare', - u'min_ram': 0, - u'ramdisk_id': 'fake_ramdisk_id', - u'updated_at': u'2016-02-10T05:05:02Z', - u'file': '/v2/images/' + image_id + '/file', - u'size': 3402170368, - u'image_type': u'snapshot', - u'disk_format': u'qcow2', - u'id': image_id, - u'schema': u'/v2/schemas/image', - u'status': status, - u'tags': [], - u'visibility': u'private', - u'locations': [ - {u'url': u'http://127.0.0.1/images/' + image_id, u'metadata': {}} + 'image_state': 'available', + 'container_format': 'bare', + 'min_ram': 0, + 'ramdisk_id': 'fake_ramdisk_id', + 'updated_at': '2016-02-10T05:05:02Z', + 'file': '/v2/images/' + image_id + '/file', + 'size': 3402170368, + 'image_type': 'snapshot', + 'disk_format': 'qcow2', + 'id': image_id, + 'schema': '/v2/schemas/image', + 'status': status, + 'tags': [], + 'visibility': 'private', + 'locations': [ + {'url': 'http://127.0.0.1/images/' + image_id, 'metadata': {}} ], - u'min_disk': 40, - u'virtual_size': None, - u'name': image_name, - u'checksum': md5 or checksum, - u'created_at': u'2016-02-10T05:03:11Z', - u'owner_specified.openstack.md5': md5 or NO_MD5, - u'owner_specified.openstack.sha256': sha256 or NO_SHA256, - u'owner_specified.openstack.object': 'images/{name}'.format( + 'min_disk': 40, + 'virtual_size': None, + 'name': image_name, + 'checksum': md5 or checksum, + 'created_at': '2016-02-10T05:03:11Z', + 'owner_specified.openstack.md5': md5 or NO_MD5, + 'owner_specified.openstack.sha256': sha256 or NO_SHA256, + 'owner_specified.openstack.object': 'images/{name}'.format( name=image_name ), - u'protected': False, + 'protected': False, } diff --git a/openstack/tests/functional/baremetal/base.py b/openstack/tests/functional/baremetal/base.py index cb22f73e1..2f08576ef 100644 --- a/openstack/tests/functional/baremetal/base.py +++ b/openstack/tests/functional/baremetal/base.py @@ -18,7 +18,7 @@ class BaseBaremetalTest(base.BaseFunctionalTest): node_id = None def setUp(self): - super(BaseBaremetalTest, self).setUp() + super().setUp() self.require_service( 'baremetal', min_microversion=self.min_microversion ) diff --git a/openstack/tests/functional/baremetal/test_baremetal_allocation.py b/openstack/tests/functional/baremetal/test_baremetal_allocation.py index aea6d381f..a74db925c 100644 --- a/openstack/tests/functional/baremetal/test_baremetal_allocation.py +++ b/openstack/tests/functional/baremetal/test_baremetal_allocation.py @@ -18,7 +18,7 @@ from openstack.tests.functional.baremetal import base class Base(base.BaseBaremetalTest): def setUp(self): - super(Base, self).setUp() + super().setUp() # NOTE(dtantsur): generate a unique resource class to prevent parallel # tests from clashing. self.resource_class = 'baremetal-%d' % random.randrange(1024) diff --git a/openstack/tests/functional/baremetal/test_baremetal_deploy_templates.py b/openstack/tests/functional/baremetal/test_baremetal_deploy_templates.py index 565a10bb2..bf40c4b4e 100644 --- a/openstack/tests/functional/baremetal/test_baremetal_deploy_templates.py +++ b/openstack/tests/functional/baremetal/test_baremetal_deploy_templates.py @@ -18,7 +18,7 @@ class TestBareMetalDeployTemplate(base.BaseBaremetalTest): min_microversion = '1.55' def setUp(self): - super(TestBareMetalDeployTemplate, self).setUp() + super().setUp() def test_baremetal_deploy_create_get_delete(self): steps = [ diff --git a/openstack/tests/functional/baremetal/test_baremetal_node.py b/openstack/tests/functional/baremetal/test_baremetal_node.py index e6d2269ef..78d06e2ce 100644 --- a/openstack/tests/functional/baremetal/test_baremetal_node.py +++ b/openstack/tests/functional/baremetal/test_baremetal_node.py @@ -405,7 +405,7 @@ class TestBareMetalVif(base.BaseBaremetalTest): min_microversion = '1.28' def setUp(self): - super(TestBareMetalVif, self).setUp() + super().setUp() self.node = self.create_node(network_interface='noop') self.vif_id = "200712fc-fdfb-47da-89a6-2d19f76c7618" @@ -445,7 +445,7 @@ class TestTraits(base.BaseBaremetalTest): min_microversion = '1.37' def setUp(self): - super(TestTraits, self).setUp() + super().setUp() self.node = self.create_node() def test_add_remove_node_trait(self): diff --git a/openstack/tests/functional/baremetal/test_baremetal_port.py b/openstack/tests/functional/baremetal/test_baremetal_port.py index cf7831378..e704146c7 100644 --- a/openstack/tests/functional/baremetal/test_baremetal_port.py +++ b/openstack/tests/functional/baremetal/test_baremetal_port.py @@ -17,7 +17,7 @@ from openstack.tests.functional.baremetal import base class TestBareMetalPort(base.BaseBaremetalTest): def setUp(self): - super(TestBareMetalPort, self).setUp() + super().setUp() self.node = self.create_node() def test_port_create_get_delete(self): diff --git a/openstack/tests/functional/baremetal/test_baremetal_port_group.py b/openstack/tests/functional/baremetal/test_baremetal_port_group.py index b3a60b98e..752f27202 100644 --- a/openstack/tests/functional/baremetal/test_baremetal_port_group.py +++ b/openstack/tests/functional/baremetal/test_baremetal_port_group.py @@ -19,7 +19,7 @@ class TestBareMetalPortGroup(base.BaseBaremetalTest): min_microversion = '1.23' def setUp(self): - super(TestBareMetalPortGroup, self).setUp() + super().setUp() self.node = self.create_node() def test_port_group_create_get_delete(self): diff --git a/openstack/tests/functional/baremetal/test_baremetal_volume_connector.py b/openstack/tests/functional/baremetal/test_baremetal_volume_connector.py index f8cd86597..bf3e70bfb 100644 --- a/openstack/tests/functional/baremetal/test_baremetal_volume_connector.py +++ b/openstack/tests/functional/baremetal/test_baremetal_volume_connector.py @@ -19,7 +19,7 @@ class TestBareMetalVolumeconnector(base.BaseBaremetalTest): min_microversion = '1.32' def setUp(self): - super(TestBareMetalVolumeconnector, self).setUp() + super().setUp() self.node = self.create_node(provision_state='enroll') def test_volume_connector_create_get_delete(self): diff --git a/openstack/tests/functional/baremetal/test_baremetal_volume_target.py b/openstack/tests/functional/baremetal/test_baremetal_volume_target.py index 77dc24ee7..d6e9d8f0f 100644 --- a/openstack/tests/functional/baremetal/test_baremetal_volume_target.py +++ b/openstack/tests/functional/baremetal/test_baremetal_volume_target.py @@ -19,7 +19,7 @@ class TestBareMetalVolumetarget(base.BaseBaremetalTest): min_microversion = '1.32' def setUp(self): - super(TestBareMetalVolumetarget, self).setUp() + super().setUp() self.node = self.create_node(provision_state='enroll') def test_volume_target_create_get_delete(self): diff --git a/openstack/tests/functional/base.py b/openstack/tests/functional/base.py index 3bc4b41aa..6d6f80bac 100644 --- a/openstack/tests/functional/base.py +++ b/openstack/tests/functional/base.py @@ -44,7 +44,7 @@ class BaseFunctionalTest(base.TestCase): _wait_for_timeout_key = '' def setUp(self): - super(BaseFunctionalTest, self).setUp() + super().setUp() self.conn = connection.Connection(config=TEST_CLOUD_REGION) _disable_keep_alive(self.conn) @@ -249,7 +249,7 @@ class BaseFunctionalTest(base.TestCase): class KeystoneBaseFunctionalTest(BaseFunctionalTest): def setUp(self): - super(KeystoneBaseFunctionalTest, self).setUp() + super().setUp() use_keystone_v2 = os.environ.get('OPENSTACKSDK_USE_KEYSTONE_V2', False) if use_keystone_v2: diff --git a/openstack/tests/functional/block_storage/v2/base.py b/openstack/tests/functional/block_storage/v2/base.py index e69bd4d62..4bdcd2454 100644 --- a/openstack/tests/functional/block_storage/v2/base.py +++ b/openstack/tests/functional/block_storage/v2/base.py @@ -17,7 +17,7 @@ class BaseBlockStorageTest(base.BaseFunctionalTest): _wait_for_timeout_key = 'OPENSTACKSDK_FUNC_TEST_TIMEOUT_BLOCK_STORAGE' def setUp(self): - super(BaseBlockStorageTest, self).setUp() + super().setUp() self._set_user_cloud(block_storage_api_version='2') self._set_operator_cloud(block_storage_api_version='2') diff --git a/openstack/tests/functional/block_storage/v2/test_backup.py b/openstack/tests/functional/block_storage/v2/test_backup.py index 6eb52c767..9b2fe7944 100644 --- a/openstack/tests/functional/block_storage/v2/test_backup.py +++ b/openstack/tests/functional/block_storage/v2/test_backup.py @@ -17,7 +17,7 @@ from openstack.tests.functional.block_storage.v2 import base class TestBackup(base.BaseBlockStorageTest): def setUp(self): - super(TestBackup, self).setUp() + super().setUp() if not self.user_cloud.has_service('object-store'): self.skipTest('Object service is requred, but not available') @@ -62,7 +62,7 @@ class TestBackup(base.BaseBlockStorageTest): self.VOLUME_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestBackup, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.block_storage.get_backup(self.BACKUP_ID) diff --git a/openstack/tests/functional/block_storage/v2/test_snapshot.py b/openstack/tests/functional/block_storage/v2/test_snapshot.py index 600fe773d..42c4bcc42 100644 --- a/openstack/tests/functional/block_storage/v2/test_snapshot.py +++ b/openstack/tests/functional/block_storage/v2/test_snapshot.py @@ -18,7 +18,7 @@ from openstack.tests.functional.block_storage.v2 import base class TestSnapshot(base.BaseBlockStorageTest): def setUp(self): - super(TestSnapshot, self).setUp() + super().setUp() self.SNAPSHOT_NAME = self.getUniqueString() self.SNAPSHOT_ID = None @@ -65,7 +65,7 @@ class TestSnapshot(base.BaseBlockStorageTest): self.VOLUME_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestSnapshot, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.block_storage.get_snapshot(self.SNAPSHOT_ID) diff --git a/openstack/tests/functional/block_storage/v2/test_stats.py b/openstack/tests/functional/block_storage/v2/test_stats.py index 5c8abf3b7..a76db0416 100644 --- a/openstack/tests/functional/block_storage/v2/test_stats.py +++ b/openstack/tests/functional/block_storage/v2/test_stats.py @@ -17,7 +17,7 @@ from openstack.tests.functional.block_storage.v2 import base class TestStats(base.BaseBlockStorageTest): def setUp(self): - super(TestStats, self).setUp() + super().setUp() sot = self.operator_cloud.block_storage.backend_pools() for pool in sot: diff --git a/openstack/tests/functional/block_storage/v2/test_type.py b/openstack/tests/functional/block_storage/v2/test_type.py index a15cede3a..f1e54ebf3 100644 --- a/openstack/tests/functional/block_storage/v2/test_type.py +++ b/openstack/tests/functional/block_storage/v2/test_type.py @@ -17,7 +17,7 @@ from openstack.tests.functional.block_storage.v2 import base class TestType(base.BaseBlockStorageTest): def setUp(self): - super(TestType, self).setUp() + super().setUp() self.TYPE_NAME = self.getUniqueString() self.TYPE_ID = None @@ -34,7 +34,7 @@ class TestType(base.BaseBlockStorageTest): self.TYPE_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestType, self).tearDown() + super().tearDown() def test_get(self): sot = self.operator_cloud.block_storage.get_type(self.TYPE_ID) diff --git a/openstack/tests/functional/block_storage/v2/test_volume.py b/openstack/tests/functional/block_storage/v2/test_volume.py index 13f76592a..9cb3e13d6 100644 --- a/openstack/tests/functional/block_storage/v2/test_volume.py +++ b/openstack/tests/functional/block_storage/v2/test_volume.py @@ -16,7 +16,7 @@ from openstack.tests.functional.block_storage.v2 import base class TestVolume(base.BaseBlockStorageTest): def setUp(self): - super(TestVolume, self).setUp() + super().setUp() if not self.user_cloud.has_service('block-storage'): self.skipTest('block-storage service not supported by cloud') @@ -43,7 +43,7 @@ class TestVolume(base.BaseBlockStorageTest): self.VOLUME_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestVolume, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.block_storage.get_volume(self.VOLUME_ID) diff --git a/openstack/tests/functional/block_storage/v3/base.py b/openstack/tests/functional/block_storage/v3/base.py index 39543c247..d53a68792 100644 --- a/openstack/tests/functional/block_storage/v3/base.py +++ b/openstack/tests/functional/block_storage/v3/base.py @@ -17,7 +17,7 @@ class BaseBlockStorageTest(base.BaseFunctionalTest): _wait_for_timeout_key = 'OPENSTACKSDK_FUNC_TEST_TIMEOUT_BLOCK_STORAGE' def setUp(self): - super(BaseBlockStorageTest, self).setUp() + super().setUp() self._set_user_cloud(block_storage_api_version='3') if not self.user_cloud.has_service('block-storage', '3'): self.skipTest('block-storage service not supported by cloud') diff --git a/openstack/tests/functional/block_storage/v3/test_backup.py b/openstack/tests/functional/block_storage/v3/test_backup.py index d791bfb42..6dcde68cc 100644 --- a/openstack/tests/functional/block_storage/v3/test_backup.py +++ b/openstack/tests/functional/block_storage/v3/test_backup.py @@ -17,7 +17,7 @@ from openstack.tests.functional.block_storage.v3 import base class TestBackup(base.BaseBlockStorageTest): def setUp(self): - super(TestBackup, self).setUp() + super().setUp() if not self.user_cloud.has_service('object-store'): self.skipTest('Object service is requred, but not available') @@ -62,7 +62,7 @@ class TestBackup(base.BaseBlockStorageTest): self.VOLUME_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestBackup, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.block_storage.get_backup(self.BACKUP_ID) diff --git a/openstack/tests/functional/block_storage/v3/test_snapshot.py b/openstack/tests/functional/block_storage/v3/test_snapshot.py index 1c96ea26e..a20816d77 100644 --- a/openstack/tests/functional/block_storage/v3/test_snapshot.py +++ b/openstack/tests/functional/block_storage/v3/test_snapshot.py @@ -18,7 +18,7 @@ from openstack.tests.functional.block_storage.v3 import base class TestSnapshot(base.BaseBlockStorageTest): def setUp(self): - super(TestSnapshot, self).setUp() + super().setUp() self.SNAPSHOT_NAME = self.getUniqueString() self.SNAPSHOT_ID = None @@ -65,7 +65,7 @@ class TestSnapshot(base.BaseBlockStorageTest): self.VOLUME_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestSnapshot, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.block_storage.get_snapshot(self.SNAPSHOT_ID) diff --git a/openstack/tests/functional/block_storage/v3/test_type.py b/openstack/tests/functional/block_storage/v3/test_type.py index 97156f3c1..1bce5096e 100644 --- a/openstack/tests/functional/block_storage/v3/test_type.py +++ b/openstack/tests/functional/block_storage/v3/test_type.py @@ -17,7 +17,7 @@ from openstack.tests.functional.block_storage.v3 import base class TestType(base.BaseBlockStorageTest): def setUp(self): - super(TestType, self).setUp() + super().setUp() self.TYPE_NAME = self.getUniqueString() self.TYPE_ID = None @@ -36,7 +36,7 @@ class TestType(base.BaseBlockStorageTest): self.TYPE_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestType, self).tearDown() + super().tearDown() def test_get(self): sot = self.operator_cloud.block_storage.get_type(self.TYPE_ID) diff --git a/openstack/tests/functional/cloud/test_cluster_templates.py b/openstack/tests/functional/cloud/test_cluster_templates.py index 897950a22..a52f3283a 100644 --- a/openstack/tests/functional/cloud/test_cluster_templates.py +++ b/openstack/tests/functional/cloud/test_cluster_templates.py @@ -27,7 +27,7 @@ from openstack.tests.functional import base class TestClusterTemplate(base.BaseFunctionalTest): def setUp(self): - super(TestClusterTemplate, self).setUp() + super().setUp() if not self.user_cloud.has_service( 'container-infrastructure-management' ): diff --git a/openstack/tests/functional/cloud/test_clustering.py b/openstack/tests/functional/cloud/test_clustering.py index dcb273535..c609fa7ac 100644 --- a/openstack/tests/functional/cloud/test_clustering.py +++ b/openstack/tests/functional/cloud/test_clustering.py @@ -108,7 +108,7 @@ def wait_for_delete(client, client_args, check_interval=1, timeout=60): class TestClustering(base.BaseFunctionalTest): def setUp(self): - super(TestClustering, self).setUp() + super().setUp() self.skipTest('clustering service not supported by cloud') def test_create_profile(self): diff --git a/openstack/tests/functional/cloud/test_compute.py b/openstack/tests/functional/cloud/test_compute.py index 48930528e..c7e270f4a 100644 --- a/openstack/tests/functional/cloud/test_compute.py +++ b/openstack/tests/functional/cloud/test_compute.py @@ -32,7 +32,7 @@ class TestCompute(base.BaseFunctionalTest): # but on a bad day, test_attach_detach_volume can take more time. self.TIMEOUT_SCALING_FACTOR = 1.5 - super(TestCompute, self).setUp() + super().setUp() self.server_name = self.getUniqueString() def _cleanup_servers_and_volumes(self, server_name): @@ -522,7 +522,7 @@ class TestCompute(base.BaseFunctionalTest): self.user_cloud.delete_server_metadata(self.server_name, ['key1']) updated_server = self.user_cloud.get_server(self.server_name) - self.assertEqual(set(updated_server.metadata.items()), set([])) + self.assertEqual(set(updated_server.metadata.items()), set()) self.assertRaises( exceptions.NotFoundException, diff --git a/openstack/tests/functional/cloud/test_devstack.py b/openstack/tests/functional/cloud/test_devstack.py index e5251e942..7170adfe1 100644 --- a/openstack/tests/functional/cloud/test_devstack.py +++ b/openstack/tests/functional/cloud/test_devstack.py @@ -39,8 +39,5 @@ class TestDevstack(base.BaseFunctionalTest): ] def test_has_service(self): - if ( - os.environ.get('OPENSTACKSDK_HAS_{env}'.format(env=self.env), '0') - == '1' - ): + if os.environ.get(f'OPENSTACKSDK_HAS_{self.env}', '0') == '1': self.assertTrue(self.user_cloud.has_service(self.service)) diff --git a/openstack/tests/functional/cloud/test_domain.py b/openstack/tests/functional/cloud/test_domain.py index b56943202..7cbd4b828 100644 --- a/openstack/tests/functional/cloud/test_domain.py +++ b/openstack/tests/functional/cloud/test_domain.py @@ -23,7 +23,7 @@ from openstack.tests.functional import base class TestDomain(base.BaseFunctionalTest): def setUp(self): - super(TestDomain, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") i_ver = self.operator_cloud.config.get_api_version('identity') diff --git a/openstack/tests/functional/cloud/test_endpoints.py b/openstack/tests/functional/cloud/test_endpoints.py index e53fc7df7..b21bd8d27 100644 --- a/openstack/tests/functional/cloud/test_endpoints.py +++ b/openstack/tests/functional/cloud/test_endpoints.py @@ -38,7 +38,7 @@ class TestEndpoints(base.KeystoneBaseFunctionalTest): ] def setUp(self): - super(TestEndpoints, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") diff --git a/openstack/tests/functional/cloud/test_flavor.py b/openstack/tests/functional/cloud/test_flavor.py index 29d2fd555..6181c9727 100644 --- a/openstack/tests/functional/cloud/test_flavor.py +++ b/openstack/tests/functional/cloud/test_flavor.py @@ -25,7 +25,7 @@ from openstack.tests.functional import base class TestFlavor(base.BaseFunctionalTest): def setUp(self): - super(TestFlavor, self).setUp() + super().setUp() # Generate a random name for flavors in this test self.new_item_name = self.getUniqueString('flavor') diff --git a/openstack/tests/functional/cloud/test_floating_ip_pool.py b/openstack/tests/functional/cloud/test_floating_ip_pool.py index 30e84fc3a..c963aa7b0 100644 --- a/openstack/tests/functional/cloud/test_floating_ip_pool.py +++ b/openstack/tests/functional/cloud/test_floating_ip_pool.py @@ -33,7 +33,7 @@ from openstack.tests.functional import base class TestFloatingIPPool(base.BaseFunctionalTest): def setUp(self): - super(TestFloatingIPPool, self).setUp() + super().setUp() if not self.user_cloud._has_nova_extension('os-floating-ip-pools'): # Skipping this test is floating-ip-pool extension is not diff --git a/openstack/tests/functional/cloud/test_groups.py b/openstack/tests/functional/cloud/test_groups.py index 1e4219d49..6a9dd0ab4 100644 --- a/openstack/tests/functional/cloud/test_groups.py +++ b/openstack/tests/functional/cloud/test_groups.py @@ -23,7 +23,7 @@ from openstack.tests.functional import base class TestGroup(base.BaseFunctionalTest): def setUp(self): - super(TestGroup, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") diff --git a/openstack/tests/functional/cloud/test_identity.py b/openstack/tests/functional/cloud/test_identity.py index b8a8df251..ae8b8ce3e 100644 --- a/openstack/tests/functional/cloud/test_identity.py +++ b/openstack/tests/functional/cloud/test_identity.py @@ -26,7 +26,7 @@ from openstack.tests.functional import base class TestIdentity(base.KeystoneBaseFunctionalTest): def setUp(self): - super(TestIdentity, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") self.role_prefix = 'test_role' + ''.join( diff --git a/openstack/tests/functional/cloud/test_magnum_services.py b/openstack/tests/functional/cloud/test_magnum_services.py index c3a526f72..63ef86bde 100644 --- a/openstack/tests/functional/cloud/test_magnum_services.py +++ b/openstack/tests/functional/cloud/test_magnum_services.py @@ -22,7 +22,7 @@ from openstack.tests.functional import base class TestMagnumServices(base.BaseFunctionalTest): def setUp(self): - super(TestMagnumServices, self).setUp() + super().setUp() if not self.user_cloud.has_service( 'container-infrastructure-management' ): diff --git a/openstack/tests/functional/cloud/test_network.py b/openstack/tests/functional/cloud/test_network.py index 9e170afe5..1c596d769 100644 --- a/openstack/tests/functional/cloud/test_network.py +++ b/openstack/tests/functional/cloud/test_network.py @@ -23,7 +23,7 @@ from openstack.tests.functional import base class TestNetwork(base.BaseFunctionalTest): def setUp(self): - super(TestNetwork, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") diff --git a/openstack/tests/functional/cloud/test_object.py b/openstack/tests/functional/cloud/test_object.py index 88e373d4c..8edd4e965 100644 --- a/openstack/tests/functional/cloud/test_object.py +++ b/openstack/tests/functional/cloud/test_object.py @@ -29,7 +29,7 @@ from openstack.tests.functional import base class TestObject(base.BaseFunctionalTest): def setUp(self): - super(TestObject, self).setUp() + super().setUp() if not self.user_cloud.has_service('object-store'): self.skipTest('Object service not supported by cloud') diff --git a/openstack/tests/functional/cloud/test_port.py b/openstack/tests/functional/cloud/test_port.py index ea407d453..3d46e8d31 100644 --- a/openstack/tests/functional/cloud/test_port.py +++ b/openstack/tests/functional/cloud/test_port.py @@ -28,7 +28,7 @@ from openstack.tests.functional import base class TestPort(base.BaseFunctionalTest): def setUp(self): - super(TestPort, self).setUp() + super().setUp() # Skip Neutron tests if neutron is not present if not self.user_cloud.has_service('network'): self.skipTest('Network service not supported by cloud') @@ -118,13 +118,13 @@ class TestPort(base.BaseFunctionalTest): updated_port = self.user_cloud.get_port(name_or_id=port['id']) self.assertEqual(port.get('name'), new_port_name) port.pop('revision_number', None) - port.pop(u'revision_number', None) + port.pop('revision_number', None) + port.pop('updated_at', None) port.pop('updated_at', None) - port.pop(u'updated_at', None) updated_port.pop('revision_number', None) - updated_port.pop(u'revision_number', None) + updated_port.pop('revision_number', None) + updated_port.pop('updated_at', None) updated_port.pop('updated_at', None) - updated_port.pop(u'updated_at', None) self.assertEqual(port, updated_port) diff --git a/openstack/tests/functional/cloud/test_project.py b/openstack/tests/functional/cloud/test_project.py index 421c5a7d5..d92abdb1d 100644 --- a/openstack/tests/functional/cloud/test_project.py +++ b/openstack/tests/functional/cloud/test_project.py @@ -26,7 +26,7 @@ from openstack.tests.functional import base class TestProject(base.KeystoneBaseFunctionalTest): def setUp(self): - super(TestProject, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") diff --git a/openstack/tests/functional/cloud/test_project_cleanup.py b/openstack/tests/functional/cloud/test_project_cleanup.py index b5a9a8c28..13d9a38ef 100644 --- a/openstack/tests/functional/cloud/test_project_cleanup.py +++ b/openstack/tests/functional/cloud/test_project_cleanup.py @@ -25,7 +25,7 @@ class TestProjectCleanup(base.BaseFunctionalTest): _wait_for_timeout_key = 'OPENSTACKSDK_FUNC_TEST_TIMEOUT_CLEANUP' def setUp(self): - super(TestProjectCleanup, self).setUp() + super().setUp() if not self.user_cloud_alt: self.skipTest("Alternate demo cloud is required for this test") diff --git a/openstack/tests/functional/cloud/test_qos_bandwidth_limit_rule.py b/openstack/tests/functional/cloud/test_qos_bandwidth_limit_rule.py index 2d729e7b5..09334afad 100644 --- a/openstack/tests/functional/cloud/test_qos_bandwidth_limit_rule.py +++ b/openstack/tests/functional/cloud/test_qos_bandwidth_limit_rule.py @@ -24,7 +24,7 @@ from openstack.tests.functional import base class TestQosBandwidthLimitRule(base.BaseFunctionalTest): def setUp(self): - super(TestQosBandwidthLimitRule, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") if not self.operator_cloud.has_service('network'): diff --git a/openstack/tests/functional/cloud/test_qos_dscp_marking_rule.py b/openstack/tests/functional/cloud/test_qos_dscp_marking_rule.py index 0ce43e896..ee6fba631 100644 --- a/openstack/tests/functional/cloud/test_qos_dscp_marking_rule.py +++ b/openstack/tests/functional/cloud/test_qos_dscp_marking_rule.py @@ -24,7 +24,7 @@ from openstack.tests.functional import base class TestQosDscpMarkingRule(base.BaseFunctionalTest): def setUp(self): - super(TestQosDscpMarkingRule, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") if not self.operator_cloud.has_service('network'): diff --git a/openstack/tests/functional/cloud/test_qos_minimum_bandwidth_rule.py b/openstack/tests/functional/cloud/test_qos_minimum_bandwidth_rule.py index 2810f67aa..8da1ff651 100644 --- a/openstack/tests/functional/cloud/test_qos_minimum_bandwidth_rule.py +++ b/openstack/tests/functional/cloud/test_qos_minimum_bandwidth_rule.py @@ -24,7 +24,7 @@ from openstack.tests.functional import base class TestQosMinimumBandwidthRule(base.BaseFunctionalTest): def setUp(self): - super(TestQosMinimumBandwidthRule, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") if not self.operator_cloud.has_service('network'): diff --git a/openstack/tests/functional/cloud/test_qos_policy.py b/openstack/tests/functional/cloud/test_qos_policy.py index 002f49757..03a2f3c3c 100644 --- a/openstack/tests/functional/cloud/test_qos_policy.py +++ b/openstack/tests/functional/cloud/test_qos_policy.py @@ -24,7 +24,7 @@ from openstack.tests.functional import base class TestQosPolicy(base.BaseFunctionalTest): def setUp(self): - super(TestQosPolicy, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") if not self.operator_cloud.has_service('network'): diff --git a/openstack/tests/functional/cloud/test_quotas.py b/openstack/tests/functional/cloud/test_quotas.py index 87e96b5fd..0db5878bd 100644 --- a/openstack/tests/functional/cloud/test_quotas.py +++ b/openstack/tests/functional/cloud/test_quotas.py @@ -44,7 +44,7 @@ class TestComputeQuotas(base.BaseFunctionalTest): class TestVolumeQuotas(base.BaseFunctionalTest): def setUp(self): - super(TestVolumeQuotas, self).setUp() + super().setUp() if not self.user_cloud.has_service('volume'): self.skipTest('volume service not supported by cloud') diff --git a/openstack/tests/functional/cloud/test_recordset.py b/openstack/tests/functional/cloud/test_recordset.py index 15574238e..98f8d6564 100644 --- a/openstack/tests/functional/cloud/test_recordset.py +++ b/openstack/tests/functional/cloud/test_recordset.py @@ -26,7 +26,7 @@ from openstack.tests.functional import base class TestRecordset(base.BaseFunctionalTest): def setUp(self): - super(TestRecordset, self).setUp() + super().setUp() if not self.user_cloud.has_service('dns'): self.skipTest('dns service not supported by cloud') diff --git a/openstack/tests/functional/cloud/test_router.py b/openstack/tests/functional/cloud/test_router.py index 1968492a3..a805df895 100644 --- a/openstack/tests/functional/cloud/test_router.py +++ b/openstack/tests/functional/cloud/test_router.py @@ -38,7 +38,7 @@ EXPECTED_GW_INFO_FIELDS = ('network_id', 'enable_snat', 'external_fixed_ips') class TestRouter(base.BaseFunctionalTest): def setUp(self): - super(TestRouter, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud required for this test") if not self.operator_cloud.has_service('network'): @@ -200,11 +200,11 @@ class TestRouter(base.BaseFunctionalTest): return router def test_create_router_advanced(self): - self._create_and_verify_advanced_router(external_cidr=u'10.2.2.0/24') + self._create_and_verify_advanced_router(external_cidr='10.2.2.0/24') def test_add_remove_router_interface(self): router = self._create_and_verify_advanced_router( - external_cidr=u'10.3.3.0/24' + external_cidr='10.3.3.0/24' ) net_name = self.network_prefix + '_intnet1' sub_name = self.subnet_prefix + '_intsub1' @@ -235,7 +235,7 @@ class TestRouter(base.BaseFunctionalTest): def test_list_router_interfaces(self): router = self._create_and_verify_advanced_router( - external_cidr=u'10.5.5.0/24' + external_cidr='10.5.5.0/24' ) net_name = self.network_prefix + '_intnet1' sub_name = self.subnet_prefix + '_intsub1' @@ -279,7 +279,7 @@ class TestRouter(base.BaseFunctionalTest): def test_update_router_name(self): router = self._create_and_verify_advanced_router( - external_cidr=u'10.7.7.0/24' + external_cidr='10.7.7.0/24' ) new_name = self.router_prefix + '_update_name' @@ -303,7 +303,7 @@ class TestRouter(base.BaseFunctionalTest): def test_update_router_routes(self): router = self._create_and_verify_advanced_router( - external_cidr=u'10.7.7.0/24' + external_cidr='10.7.7.0/24' ) routes = [{"destination": "10.7.7.0/24", "nexthop": "10.7.7.99"}] @@ -328,7 +328,7 @@ class TestRouter(base.BaseFunctionalTest): def test_update_router_admin_state(self): router = self._create_and_verify_advanced_router( - external_cidr=u'10.8.8.0/24' + external_cidr='10.8.8.0/24' ) updated = self.operator_cloud.update_router( @@ -354,7 +354,7 @@ class TestRouter(base.BaseFunctionalTest): def test_update_router_ext_gw_info(self): router = self._create_and_verify_advanced_router( - external_cidr=u'10.9.9.0/24' + external_cidr='10.9.9.0/24' ) # create a new subnet diff --git a/openstack/tests/functional/cloud/test_services.py b/openstack/tests/functional/cloud/test_services.py index c7639af2a..df311d3dc 100644 --- a/openstack/tests/functional/cloud/test_services.py +++ b/openstack/tests/functional/cloud/test_services.py @@ -31,7 +31,7 @@ class TestServices(base.KeystoneBaseFunctionalTest): service_attributes = ['id', 'name', 'type', 'description'] def setUp(self): - super(TestServices, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") diff --git a/openstack/tests/functional/cloud/test_stack.py b/openstack/tests/functional/cloud/test_stack.py index 81190a384..1a3a17bdc 100644 --- a/openstack/tests/functional/cloud/test_stack.py +++ b/openstack/tests/functional/cloud/test_stack.py @@ -74,7 +74,7 @@ validate_template = '''heat_template_version: asdf-no-such-version ''' class TestStack(base.BaseFunctionalTest): def setUp(self): - super(TestStack, self).setUp() + super().setUp() if not self.user_cloud.has_service('orchestration'): self.skipTest('Orchestration service not supported by cloud') diff --git a/openstack/tests/functional/cloud/test_users.py b/openstack/tests/functional/cloud/test_users.py index 08c02ee7d..cdce80bdb 100644 --- a/openstack/tests/functional/cloud/test_users.py +++ b/openstack/tests/functional/cloud/test_users.py @@ -23,7 +23,7 @@ from openstack.tests.functional import base class TestUsers(base.KeystoneBaseFunctionalTest): def setUp(self): - super(TestUsers, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") diff --git a/openstack/tests/functional/cloud/test_volume.py b/openstack/tests/functional/cloud/test_volume.py index d8c7df283..9e6326b6d 100644 --- a/openstack/tests/functional/cloud/test_volume.py +++ b/openstack/tests/functional/cloud/test_volume.py @@ -30,7 +30,7 @@ class TestVolume(base.BaseFunctionalTest): TIMEOUT_SCALING_FACTOR = 1.5 def setUp(self): - super(TestVolume, self).setUp() + super().setUp() self.skipTest('Volume functional tests temporarily disabled') if not self.user_cloud.has_service('volume'): self.skipTest('volume service not supported by cloud') diff --git a/openstack/tests/functional/cloud/test_volume_backup.py b/openstack/tests/functional/cloud/test_volume_backup.py index ce3c89e1c..d4bd03252 100644 --- a/openstack/tests/functional/cloud/test_volume_backup.py +++ b/openstack/tests/functional/cloud/test_volume_backup.py @@ -17,7 +17,7 @@ class TestVolume(base.BaseFunctionalTest): TIMEOUT_SCALING_FACTOR = 1.5 def setUp(self): - super(TestVolume, self).setUp() + super().setUp() self.skipTest('Volume functional tests temporarily disabled') if not self.user_cloud.has_service('volume'): self.skipTest('volume service not supported by cloud') diff --git a/openstack/tests/functional/cloud/test_volume_type.py b/openstack/tests/functional/cloud/test_volume_type.py index 1e527cba0..52f4fe29d 100644 --- a/openstack/tests/functional/cloud/test_volume_type.py +++ b/openstack/tests/functional/cloud/test_volume_type.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -31,7 +29,7 @@ class TestVolumeType(base.BaseFunctionalTest): self.assertEqual(allowed, project_id in allowed_projects) def setUp(self): - super(TestVolumeType, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") if not self.user_cloud.has_service('volume'): @@ -48,10 +46,8 @@ class TestVolumeType(base.BaseFunctionalTest): def tearDown(self): ret = self.operator_cloud.get_volume_type('test-volume-type') if ret.get('id'): - self.operator_cloud.block_storage.delete( - '/types/{volume_type_id}'.format(volume_type_id=ret.id) - ) - super(TestVolumeType, self).tearDown() + self.operator_cloud.block_storage.delete(f'/types/{ret.id}') + super().tearDown() def test_list_volume_types(self): volume_types = self.operator_cloud.list_volume_types() diff --git a/openstack/tests/functional/cloud/test_zone.py b/openstack/tests/functional/cloud/test_zone.py index a0b971b48..0542da694 100644 --- a/openstack/tests/functional/cloud/test_zone.py +++ b/openstack/tests/functional/cloud/test_zone.py @@ -24,7 +24,7 @@ from openstack.tests.functional import base class TestZone(base.BaseFunctionalTest): def setUp(self): - super(TestZone, self).setUp() + super().setUp() if not self.user_cloud.has_service('dns'): self.skipTest('dns service not supported by cloud') diff --git a/openstack/tests/functional/clustering/test_cluster.py b/openstack/tests/functional/clustering/test_cluster.py index 38d2ed144..47739c6cd 100644 --- a/openstack/tests/functional/clustering/test_cluster.py +++ b/openstack/tests/functional/clustering/test_cluster.py @@ -21,7 +21,7 @@ class TestCluster(base.BaseFunctionalTest): _wait_for_timeout_key = 'OPENSTACKSDK_FUNC_TEST_TIMEOUT_CLUSTER' def setUp(self): - super(TestCluster, self).setUp() + super().setUp() self.require_service('clustering') self.cidr = '10.99.99.0/16' @@ -74,7 +74,7 @@ class TestCluster(base.BaseFunctionalTest): self.conn.clustering.delete_profile(self.profile) - super(TestCluster, self).tearDown() + super().tearDown() def test_find(self): sot = self.conn.clustering.find_cluster(self.cluster.id) diff --git a/openstack/tests/functional/compute/v2/test_flavor.py b/openstack/tests/functional/compute/v2/test_flavor.py index 8b72657f8..ca680ffec 100644 --- a/openstack/tests/functional/compute/v2/test_flavor.py +++ b/openstack/tests/functional/compute/v2/test_flavor.py @@ -17,7 +17,7 @@ from openstack.tests.functional import base class TestFlavor(base.BaseFunctionalTest): def setUp(self): - super(TestFlavor, self).setUp() + super().setUp() self.new_item_name = self.getUniqueString('flavor') self.one_flavor = list(self.conn.compute.flavors())[0] diff --git a/openstack/tests/functional/compute/v2/test_hypervisor.py b/openstack/tests/functional/compute/v2/test_hypervisor.py index 2edeffc20..150ee83a5 100644 --- a/openstack/tests/functional/compute/v2/test_hypervisor.py +++ b/openstack/tests/functional/compute/v2/test_hypervisor.py @@ -15,7 +15,7 @@ from openstack.tests.functional import base class TestHypervisor(base.BaseFunctionalTest): def setUp(self): - super(TestHypervisor, self).setUp() + super().setUp() def test_list_hypervisors(self): rslt = list(self.conn.compute.hypervisors()) diff --git a/openstack/tests/functional/compute/v2/test_keypair.py b/openstack/tests/functional/compute/v2/test_keypair.py index d642ca74d..5fba46cc0 100644 --- a/openstack/tests/functional/compute/v2/test_keypair.py +++ b/openstack/tests/functional/compute/v2/test_keypair.py @@ -17,7 +17,7 @@ from openstack.tests.functional import base class TestKeypair(base.BaseFunctionalTest): def setUp(self): - super(TestKeypair, self).setUp() + super().setUp() # Keypairs can't have .'s in the name. Because why? self.NAME = self.getUniqueString().split('.')[-1] @@ -30,7 +30,7 @@ class TestKeypair(base.BaseFunctionalTest): def tearDown(self): sot = self.conn.compute.delete_keypair(self._keypair) self.assertIsNone(sot) - super(TestKeypair, self).tearDown() + super().tearDown() def test_find(self): sot = self.conn.compute.find_keypair(self.NAME) @@ -50,7 +50,7 @@ class TestKeypair(base.BaseFunctionalTest): class TestKeypairAdmin(base.BaseFunctionalTest): def setUp(self): - super(TestKeypairAdmin, self).setUp() + super().setUp() self._set_operator_cloud(interface='admin') self.NAME = self.getUniqueString().split('.')[-1] @@ -67,7 +67,7 @@ class TestKeypairAdmin(base.BaseFunctionalTest): def tearDown(self): sot = self.conn.compute.delete_keypair(self._keypair) self.assertIsNone(sot) - super(TestKeypairAdmin, self).tearDown() + super().tearDown() def test_get(self): sot = self.conn.compute.get_keypair(self.NAME) diff --git a/openstack/tests/functional/compute/v2/test_server.py b/openstack/tests/functional/compute/v2/test_server.py index c19566edb..34174a2ed 100644 --- a/openstack/tests/functional/compute/v2/test_server.py +++ b/openstack/tests/functional/compute/v2/test_server.py @@ -17,7 +17,7 @@ from openstack.tests.functional.network.v2 import test_network class TestServerAdmin(ft_base.BaseComputeTest): def setUp(self): - super(TestServerAdmin, self).setUp() + super().setUp() self._set_operator_cloud(interface='admin') self.NAME = 'needstobeshortandlowercase' self.USERDATA = 'SSdtIGFjdHVhbGx5IGEgZ29hdC4=' @@ -50,7 +50,7 @@ class TestServerAdmin(ft_base.BaseComputeTest): self.server, wait=self._wait_for_timeout ) self.assertIsNone(sot) - super(TestServerAdmin, self).tearDown() + super().tearDown() def test_get(self): sot = self.conn.compute.get_server(self.server.id) @@ -66,7 +66,7 @@ class TestServerAdmin(ft_base.BaseComputeTest): class TestServer(ft_base.BaseComputeTest): def setUp(self): - super(TestServer, self).setUp() + super().setUp() self.NAME = self.getUniqueString() self.server = None self.network = None @@ -97,7 +97,7 @@ class TestServer(ft_base.BaseComputeTest): self.server, wait=self._wait_for_timeout ) test_network.delete_network(self.conn, self.network, self.subnet) - super(TestServer, self).tearDown() + super().tearDown() def test_find(self): sot = self.conn.compute.find_server(self.NAME) diff --git a/openstack/tests/functional/compute/v2/test_service.py b/openstack/tests/functional/compute/v2/test_service.py index 2403aaf0e..271d21cf4 100644 --- a/openstack/tests/functional/compute/v2/test_service.py +++ b/openstack/tests/functional/compute/v2/test_service.py @@ -15,7 +15,7 @@ from openstack.tests.functional import base class TestService(base.BaseFunctionalTest): def setUp(self): - super(TestService, self).setUp() + super().setUp() self._set_operator_cloud(interface='admin') def test_list(self): diff --git a/openstack/tests/functional/dns/v2/test_zone.py b/openstack/tests/functional/dns/v2/test_zone.py index f57fe48d8..417897516 100644 --- a/openstack/tests/functional/dns/v2/test_zone.py +++ b/openstack/tests/functional/dns/v2/test_zone.py @@ -19,7 +19,7 @@ from openstack import utils class TestZone(base.BaseFunctionalTest): def setUp(self): - super(TestZone, self).setUp() + super().setUp() self.require_service('dns') self.conn = connection.from_config(cloud_name=base.TEST_CLOUD_NAME) @@ -28,7 +28,7 @@ class TestZone(base.BaseFunctionalTest): # chose a new zone name for a test # getUniqueString is not guaranteed to return unique string between # different tests of the same class. - self.ZONE_NAME = 'example-{0}.org.'.format(random.randint(1, 10000)) + self.ZONE_NAME = f'example-{random.randint(1, 10000)}.org.' self.zone = self.conn.dns.create_zone( name=self.ZONE_NAME, @@ -64,7 +64,7 @@ class TestZone(base.BaseFunctionalTest): self.assertIsNotNone( self.conn.dns.create_recordset( zone=zone, - name='www.{zone}'.format(zone=zone.name), + name=f'www.{zone.name}', type='A', description='Example zone rec', ttl=3600, @@ -79,7 +79,7 @@ class TestZone(base.BaseFunctionalTest): 'Designate API version does not support shared zones.' ) - zone_name = 'example-{0}.org.'.format(random.randint(1, 10000)) + zone_name = f'example-{random.randint(1, 10000)}.org.' zone = self.conn.dns.create_zone( name=zone_name, email='joe@example.org', diff --git a/openstack/tests/functional/dns/v2/test_zone_share.py b/openstack/tests/functional/dns/v2/test_zone_share.py index 01870988e..53a9c766f 100644 --- a/openstack/tests/functional/dns/v2/test_zone_share.py +++ b/openstack/tests/functional/dns/v2/test_zone_share.py @@ -19,7 +19,7 @@ from openstack import utils class TestZoneShare(base.BaseFunctionalTest): def setUp(self): - super(TestZoneShare, self).setUp() + super().setUp() self.require_service('dns') if not self.user_cloud: self.skipTest("The demo cloud is required for this test") @@ -28,7 +28,7 @@ class TestZoneShare(base.BaseFunctionalTest): # chose a new zone name for a test # getUniqueString is not guaranteed to return unique string between # different tests of the same class. - self.ZONE_NAME = 'example-{0}.org.'.format(uuid.uuid4().hex) + self.ZONE_NAME = f'example-{uuid.uuid4().hex}.org.' # Make sure the API under test has shared zones support if not utils.supports_version(self.conn.dns, '2.1'): diff --git a/openstack/tests/functional/examples/test_compute.py b/openstack/tests/functional/examples/test_compute.py index 888348ef9..2b0ba6b7b 100644 --- a/openstack/tests/functional/examples/test_compute.py +++ b/openstack/tests/functional/examples/test_compute.py @@ -29,7 +29,7 @@ class TestCompute(base.BaseFunctionalTest): """ def setUp(self): - super(TestCompute, self).setUp() + super().setUp() self.conn = connect.create_connection_from_config() def test_compute(self): diff --git a/openstack/tests/functional/examples/test_identity.py b/openstack/tests/functional/examples/test_identity.py index 5ee731771..a779eb912 100644 --- a/openstack/tests/functional/examples/test_identity.py +++ b/openstack/tests/functional/examples/test_identity.py @@ -24,7 +24,7 @@ class TestIdentity(base.BaseFunctionalTest): """ def setUp(self): - super(TestIdentity, self).setUp() + super().setUp() self.conn = connect.create_connection_from_config() def test_identity(self): diff --git a/openstack/tests/functional/examples/test_image.py b/openstack/tests/functional/examples/test_image.py index c10054b41..5dfd6c7bb 100644 --- a/openstack/tests/functional/examples/test_image.py +++ b/openstack/tests/functional/examples/test_image.py @@ -26,7 +26,7 @@ class TestImage(base.BaseFunctionalTest): """ def setUp(self): - super(TestImage, self).setUp() + super().setUp() self.conn = connect.create_connection_from_config() def test_image(self): diff --git a/openstack/tests/functional/examples/test_network.py b/openstack/tests/functional/examples/test_network.py index 7143c447c..e6064b919 100644 --- a/openstack/tests/functional/examples/test_network.py +++ b/openstack/tests/functional/examples/test_network.py @@ -27,7 +27,7 @@ class TestNetwork(base.BaseFunctionalTest): """ def setUp(self): - super(TestNetwork, self).setUp() + super().setUp() self.conn = connect.create_connection_from_config() def test_network(self): diff --git a/openstack/tests/functional/identity/v3/test_application_credential.py b/openstack/tests/functional/identity/v3/test_application_credential.py index cce6670bf..f05db4b4e 100644 --- a/openstack/tests/functional/identity/v3/test_application_credential.py +++ b/openstack/tests/functional/identity/v3/test_application_credential.py @@ -16,7 +16,7 @@ from openstack.tests.functional import base class TestApplicationCredentials(base.BaseFunctionalTest): def setUp(self): - super(TestApplicationCredentials, self).setUp() + super().setUp() self.user_id = self.operator_cloud.current_user_id def _create_application_credentials(self): diff --git a/openstack/tests/functional/image/v2/test_image.py b/openstack/tests/functional/image/v2/test_image.py index 7b7829c8d..6590bddd1 100644 --- a/openstack/tests/functional/image/v2/test_image.py +++ b/openstack/tests/functional/image/v2/test_image.py @@ -30,7 +30,7 @@ class TestImage(base.BaseImageTest): properties={ 'description': 'This is not an image', }, - data=open('CONTRIBUTING.rst', 'r'), + data=open('CONTRIBUTING.rst'), ) self.assertIsInstance(self.image, _image.Image) self.assertEqual(TEST_IMAGE_NAME, self.image.name) diff --git a/openstack/tests/functional/instance_ha/test_host.py b/openstack/tests/functional/instance_ha/test_host.py index bd6f0f4b2..f307c74cf 100644 --- a/openstack/tests/functional/instance_ha/test_host.py +++ b/openstack/tests/functional/instance_ha/test_host.py @@ -32,7 +32,7 @@ def hypervisors(): class TestHost(base.BaseFunctionalTest): def setUp(self): - super(TestHost, self).setUp() + super().setUp() self.require_service('instance-ha') self.NAME = self.getUniqueString() diff --git a/openstack/tests/functional/instance_ha/test_segment.py b/openstack/tests/functional/instance_ha/test_segment.py index a99d616e2..1f8611562 100644 --- a/openstack/tests/functional/instance_ha/test_segment.py +++ b/openstack/tests/functional/instance_ha/test_segment.py @@ -18,7 +18,7 @@ from openstack.tests.functional import base class TestSegment(base.BaseFunctionalTest): def setUp(self): - super(TestSegment, self).setUp() + super().setUp() self.require_service('instance-ha') self.NAME = self.getUniqueString() diff --git a/openstack/tests/functional/load_balancer/v2/test_load_balancer.py b/openstack/tests/functional/load_balancer/v2/test_load_balancer.py index efa87058a..f158e6008 100644 --- a/openstack/tests/functional/load_balancer/v2/test_load_balancer.py +++ b/openstack/tests/functional/load_balancer/v2/test_load_balancer.py @@ -64,7 +64,7 @@ class TestLoadBalancer(base.BaseFunctionalTest): # use setUpClass, but that's a whole other pile of bad, so # we may need to engineer something pleasing here. def setUp(self): - super(TestLoadBalancer, self).setUp() + super().setUp() self.require_service('load-balancer') self.HM_NAME = self.getUniqueString() @@ -290,7 +290,7 @@ class TestLoadBalancer(base.BaseFunctionalTest): self.conn.load_balancer.delete_load_balancer( self.LB_ID, ignore_missing=False ) - super(TestLoadBalancer, self).tearDown() + super().tearDown() self.conn.load_balancer.delete_flavor( self.FLAVOR_ID, ignore_missing=False diff --git a/openstack/tests/functional/network/v2/test_address_group.py b/openstack/tests/functional/network/v2/test_address_group.py index 5b50ec250..7938930d2 100644 --- a/openstack/tests/functional/network/v2/test_address_group.py +++ b/openstack/tests/functional/network/v2/test_address_group.py @@ -20,7 +20,7 @@ class TestAddressGroup(base.BaseFunctionalTest): ADDRESSES = ["10.0.0.1/32", "2001:db8::/32"] def setUp(self): - super(TestAddressGroup, self).setUp() + super().setUp() # Skip the tests if address group extension is not enabled. if not self.user_cloud.network.find_extension("address-group"): @@ -48,7 +48,7 @@ class TestAddressGroup(base.BaseFunctionalTest): self.ADDRESS_GROUP_ID ) self.assertIsNone(sot) - super(TestAddressGroup, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_address_group( diff --git a/openstack/tests/functional/network/v2/test_address_scope.py b/openstack/tests/functional/network/v2/test_address_scope.py index 9b9340382..766a5fa97 100644 --- a/openstack/tests/functional/network/v2/test_address_scope.py +++ b/openstack/tests/functional/network/v2/test_address_scope.py @@ -21,7 +21,7 @@ class TestAddressScope(base.BaseFunctionalTest): IP_VERSION = 4 def setUp(self): - super(TestAddressScope, self).setUp() + super().setUp() self.ADDRESS_SCOPE_NAME = self.getUniqueString() self.ADDRESS_SCOPE_NAME_UPDATED = self.getUniqueString() address_scope = self.user_cloud.network.create_address_scope( @@ -38,7 +38,7 @@ class TestAddressScope(base.BaseFunctionalTest): self.ADDRESS_SCOPE_ID ) self.assertIsNone(sot) - super(TestAddressScope, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_address_scope( diff --git a/openstack/tests/functional/network/v2/test_agent.py b/openstack/tests/functional/network/v2/test_agent.py index dcb8523ec..e23198c74 100644 --- a/openstack/tests/functional/network/v2/test_agent.py +++ b/openstack/tests/functional/network/v2/test_agent.py @@ -28,7 +28,7 @@ class TestAgent(base.BaseFunctionalTest): return True def setUp(self): - super(TestAgent, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("agent"): self.skipTest("Neutron agent extension is required for this test") diff --git a/openstack/tests/functional/network/v2/test_agent_add_remove_network.py b/openstack/tests/functional/network/v2/test_agent_add_remove_network.py index 8cd6d901a..221518116 100644 --- a/openstack/tests/functional/network/v2/test_agent_add_remove_network.py +++ b/openstack/tests/functional/network/v2/test_agent_add_remove_network.py @@ -21,7 +21,7 @@ class TestAgentNetworks(base.BaseFunctionalTest): AGENT_ID = None def setUp(self): - super(TestAgentNetworks, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("agent"): self.skipTest("Neutron agent extension is required for this test") diff --git a/openstack/tests/functional/network/v2/test_agent_add_remove_router.py b/openstack/tests/functional/network/v2/test_agent_add_remove_router.py index 7a3b305b4..b583f7f01 100644 --- a/openstack/tests/functional/network/v2/test_agent_add_remove_router.py +++ b/openstack/tests/functional/network/v2/test_agent_add_remove_router.py @@ -20,7 +20,7 @@ class TestAgentRouters(base.BaseFunctionalTest): AGENT = None def setUp(self): - super(TestAgentRouters, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("agent"): self.skipTest("Neutron agent extension is required for this test") diff --git a/openstack/tests/functional/network/v2/test_auto_allocated_topology.py b/openstack/tests/functional/network/v2/test_auto_allocated_topology.py index cb386ef1c..5941374f5 100644 --- a/openstack/tests/functional/network/v2/test_auto_allocated_topology.py +++ b/openstack/tests/functional/network/v2/test_auto_allocated_topology.py @@ -19,7 +19,7 @@ class TestAutoAllocatedTopology(base.BaseFunctionalTest): PROJECT_ID = None def setUp(self): - super(TestAutoAllocatedTopology, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") if not self.operator_cloud._has_neutron_extension( @@ -38,7 +38,7 @@ class TestAutoAllocatedTopology(base.BaseFunctionalTest): self.PROJECT_ID ) self.assertIsNone(res) - super(TestAutoAllocatedTopology, self).tearDown() + super().tearDown() def test_dry_run_option_pass(self): # Dry run will only pass if there is a public network diff --git a/openstack/tests/functional/network/v2/test_default_security_group_rule.py b/openstack/tests/functional/network/v2/test_default_security_group_rule.py index 11bf5cf50..3391fa77a 100644 --- a/openstack/tests/functional/network/v2/test_default_security_group_rule.py +++ b/openstack/tests/functional/network/v2/test_default_security_group_rule.py @@ -53,7 +53,7 @@ class TestDefaultSecurityGroupRule(base.BaseFunctionalTest): self.RULE_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestDefaultSecurityGroupRule, self).tearDown() + super().tearDown() def test_find(self): sot = self.operator_cloud.network.find_default_security_group_rule( diff --git a/openstack/tests/functional/network/v2/test_dvr_router.py b/openstack/tests/functional/network/v2/test_dvr_router.py index 81a1a3585..899b93967 100644 --- a/openstack/tests/functional/network/v2/test_dvr_router.py +++ b/openstack/tests/functional/network/v2/test_dvr_router.py @@ -19,7 +19,7 @@ class TestDVRRouter(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestDVRRouter, self).setUp() + super().setUp() if not self.operator_cloud: # Current policies forbid regular user use it self.skipTest("Operator cloud is required for this test") @@ -41,7 +41,7 @@ class TestDVRRouter(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestDVRRouter, self).tearDown() + super().tearDown() def test_find(self): sot = self.operator_cloud.network.find_router(self.NAME) diff --git a/openstack/tests/functional/network/v2/test_firewall_group.py b/openstack/tests/functional/network/v2/test_firewall_group.py index 83f314999..8592149d1 100644 --- a/openstack/tests/functional/network/v2/test_firewall_group.py +++ b/openstack/tests/functional/network/v2/test_firewall_group.py @@ -22,7 +22,7 @@ class TestFirewallGroup(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestFirewallGroup, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("fwaas_v2"): self.skipTest("fwaas_v2 service not supported by cloud") self.NAME = self.getUniqueString() @@ -36,7 +36,7 @@ class TestFirewallGroup(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIs(None, sot) - super(TestFirewallGroup, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_firewall_group(self.NAME) diff --git a/openstack/tests/functional/network/v2/test_firewall_policy.py b/openstack/tests/functional/network/v2/test_firewall_policy.py index efb6670c7..c1520d162 100644 --- a/openstack/tests/functional/network/v2/test_firewall_policy.py +++ b/openstack/tests/functional/network/v2/test_firewall_policy.py @@ -22,7 +22,7 @@ class TestFirewallPolicy(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestFirewallPolicy, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("fwaas_v2"): self.skipTest("fwaas_v2 service not supported by cloud") self.NAME = self.getUniqueString() @@ -36,7 +36,7 @@ class TestFirewallPolicy(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIs(None, sot) - super(TestFirewallPolicy, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_firewall_policy(self.NAME) diff --git a/openstack/tests/functional/network/v2/test_firewall_rule.py b/openstack/tests/functional/network/v2/test_firewall_rule.py index 477233d1b..8c06d1726 100644 --- a/openstack/tests/functional/network/v2/test_firewall_rule.py +++ b/openstack/tests/functional/network/v2/test_firewall_rule.py @@ -29,7 +29,7 @@ class TestFirewallRule(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestFirewallRule, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("fwaas_v2"): self.skipTest("fwaas_v2 service not supported by cloud") self.NAME = self.getUniqueString() @@ -52,7 +52,7 @@ class TestFirewallRule(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIs(None, sot) - super(TestFirewallRule, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_firewall_rule(self.NAME) diff --git a/openstack/tests/functional/network/v2/test_firewall_rule_insert_remove_policy.py b/openstack/tests/functional/network/v2/test_firewall_rule_insert_remove_policy.py index 22b8bfdd7..72bef3b3c 100644 --- a/openstack/tests/functional/network/v2/test_firewall_rule_insert_remove_policy.py +++ b/openstack/tests/functional/network/v2/test_firewall_rule_insert_remove_policy.py @@ -29,7 +29,7 @@ class TestFirewallPolicyRuleAssociations(base.BaseFunctionalTest): RULE2_ID = None def setUp(self): - super(TestFirewallPolicyRuleAssociations, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("fwaas_v2"): self.skipTest("fwaas_v2 service not supported by cloud") rul1 = self.user_cloud.network.create_firewall_rule( @@ -64,7 +64,7 @@ class TestFirewallPolicyRuleAssociations(base.BaseFunctionalTest): self.RULE2_ID, ignore_missing=False ) self.assertIs(None, sot) - super(TestFirewallPolicyRuleAssociations, self).tearDown() + super().tearDown() def test_insert_rule_into_policy(self): policy = self.user_cloud.network.insert_rule_into_policy( diff --git a/openstack/tests/functional/network/v2/test_flavor.py b/openstack/tests/functional/network/v2/test_flavor.py index f67f082a4..f366c85db 100644 --- a/openstack/tests/functional/network/v2/test_flavor.py +++ b/openstack/tests/functional/network/v2/test_flavor.py @@ -23,7 +23,7 @@ class TestFlavor(base.BaseFunctionalTest): METAINFO = "FlAVOR_PROFILE_METAINFO" def setUp(self): - super(TestFlavor, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("flavors"): self.skipTest("Neutron flavor extension is required for this test") @@ -56,7 +56,7 @@ class TestFlavor(base.BaseFunctionalTest): self.ID, ignore_missing=True ) self.assertIsNone(service_profiles) - super(TestFlavor, self).tearDown() + super().tearDown() def test_find(self): if self.ID: diff --git a/openstack/tests/functional/network/v2/test_floating_ip.py b/openstack/tests/functional/network/v2/test_floating_ip.py index e090e7c0f..eb78f432a 100644 --- a/openstack/tests/functional/network/v2/test_floating_ip.py +++ b/openstack/tests/functional/network/v2/test_floating_ip.py @@ -34,7 +34,7 @@ class TestFloatingIP(base.BaseFunctionalTest): DNS_NAME = "fip1" def setUp(self): - super(TestFloatingIP, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("external-net"): self.skipTest( "Neutron external-net extension is required for this test" @@ -130,7 +130,7 @@ class TestFloatingIP(base.BaseFunctionalTest): self.INT_NET_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestFloatingIP, self).tearDown() + super().tearDown() def _create_network(self, name, **args): self.name = name diff --git a/openstack/tests/functional/network/v2/test_l3_conntrack_helper.py b/openstack/tests/functional/network/v2/test_l3_conntrack_helper.py index 66bc90217..bf8022c04 100644 --- a/openstack/tests/functional/network/v2/test_l3_conntrack_helper.py +++ b/openstack/tests/functional/network/v2/test_l3_conntrack_helper.py @@ -24,7 +24,7 @@ class TestL3ConntrackHelper(base.BaseFunctionalTest): ROT_ID = None def setUp(self): - super(TestL3ConntrackHelper, self).setUp() + super().setUp() if not self.user_cloud.network.find_extension("l3-conntrack-helper"): self.skipTest("L3 conntrack helper extension disabled") @@ -52,7 +52,7 @@ class TestL3ConntrackHelper(base.BaseFunctionalTest): self.ROT_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestL3ConntrackHelper, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.network.get_conntrack_helper( diff --git a/openstack/tests/functional/network/v2/test_local_ip.py b/openstack/tests/functional/network/v2/test_local_ip.py index 085bff320..47ac357ab 100644 --- a/openstack/tests/functional/network/v2/test_local_ip.py +++ b/openstack/tests/functional/network/v2/test_local_ip.py @@ -21,7 +21,7 @@ class TestLocalIP(base.BaseFunctionalTest): LOCAL_IP_ID = None def setUp(self): - super(TestLocalIP, self).setUp() + super().setUp() if not self.user_cloud.network.find_extension("local_ip"): self.skipTest("Local IP extension disabled") @@ -42,7 +42,7 @@ class TestLocalIP(base.BaseFunctionalTest): def tearDown(self): sot = self.user_cloud.network.delete_local_ip(self.LOCAL_IP_ID) self.assertIsNone(sot) - super(TestLocalIP, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_local_ip(self.LOCAL_IP_NAME) diff --git a/openstack/tests/functional/network/v2/test_local_ip_association.py b/openstack/tests/functional/network/v2/test_local_ip_association.py index 4976fc43c..9911ee767 100644 --- a/openstack/tests/functional/network/v2/test_local_ip_association.py +++ b/openstack/tests/functional/network/v2/test_local_ip_association.py @@ -23,7 +23,7 @@ class TestLocalIPAssociation(base.BaseFunctionalTest): FIXED_IP = None def setUp(self): - super(TestLocalIPAssociation, self).setUp() + super().setUp() if not self.user_cloud.network.find_extension("local_ip"): self.skipTest("Local IP extension disabled") @@ -52,7 +52,7 @@ class TestLocalIPAssociation(base.BaseFunctionalTest): self.LOCAL_IP_ID, self.FIXED_PORT_ID ) self.assertIsNone(sot) - super(TestLocalIPAssociation, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_local_ip_association( diff --git a/openstack/tests/functional/network/v2/test_ndp_proxy.py b/openstack/tests/functional/network/v2/test_ndp_proxy.py index 35e78d968..ccfd93037 100644 --- a/openstack/tests/functional/network/v2/test_ndp_proxy.py +++ b/openstack/tests/functional/network/v2/test_ndp_proxy.py @@ -30,7 +30,7 @@ class TestNDPProxy(base.BaseFunctionalTest): INTERNAL_PORT_ID = None def setUp(self): - super(TestNDPProxy, self).setUp() + super().setUp() if not self.user_cloud.network.find_extension("l3-ndp-proxy"): self.skipTest("L3 ndp proxy extension disabled") @@ -112,7 +112,7 @@ class TestNDPProxy(base.BaseFunctionalTest): self.INT_NET_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestNDPProxy, self).tearDown() + super().tearDown() def _create_network(self, name, **args): self.name = name diff --git a/openstack/tests/functional/network/v2/test_network.py b/openstack/tests/functional/network/v2/test_network.py index d857fa33d..f48cf16d2 100644 --- a/openstack/tests/functional/network/v2/test_network.py +++ b/openstack/tests/functional/network/v2/test_network.py @@ -39,7 +39,7 @@ class TestNetwork(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestNetwork, self).setUp() + super().setUp() self.NAME = self.getUniqueString() sot = self.user_cloud.network.create_network(name=self.NAME) assert isinstance(sot, network.Network) @@ -51,7 +51,7 @@ class TestNetwork(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestNetwork, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_network(self.NAME) diff --git a/openstack/tests/functional/network/v2/test_network_ip_availability.py b/openstack/tests/functional/network/v2/test_network_ip_availability.py index 3f8bc21d6..7ae4b0226 100644 --- a/openstack/tests/functional/network/v2/test_network_ip_availability.py +++ b/openstack/tests/functional/network/v2/test_network_ip_availability.py @@ -25,7 +25,7 @@ class TestNetworkIPAvailability(base.BaseFunctionalTest): PORT_ID = None def setUp(self): - super(TestNetworkIPAvailability, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud required for this test") if not self.operator_cloud._has_neutron_extension( @@ -67,7 +67,7 @@ class TestNetworkIPAvailability(base.BaseFunctionalTest): self.assertIsNone(sot) sot = self.operator_cloud.network.delete_network(self.NET_ID) self.assertIsNone(sot) - super(TestNetworkIPAvailability, self).tearDown() + super().tearDown() def test_find(self): sot = self.operator_cloud.network.find_network_ip_availability( diff --git a/openstack/tests/functional/network/v2/test_network_segment_range.py b/openstack/tests/functional/network/v2/test_network_segment_range.py index 69212797a..c7c4791bf 100644 --- a/openstack/tests/functional/network/v2/test_network_segment_range.py +++ b/openstack/tests/functional/network/v2/test_network_segment_range.py @@ -29,7 +29,7 @@ class TestNetworkSegmentRange(base.BaseFunctionalTest): MAXIMUM = 200 def setUp(self): - super(TestNetworkSegmentRange, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud required for this test") @@ -69,7 +69,7 @@ class TestNetworkSegmentRange(base.BaseFunctionalTest): self.assertEqual(self.MAXIMUM, test_seg_range.maximum) def tearDown(self): - super(TestNetworkSegmentRange, self).tearDown() + super().tearDown() def test_create_delete(self): del_test_seg_range = ( diff --git a/openstack/tests/functional/network/v2/test_port.py b/openstack/tests/functional/network/v2/test_port.py index a0028ae25..5a57686e0 100644 --- a/openstack/tests/functional/network/v2/test_port.py +++ b/openstack/tests/functional/network/v2/test_port.py @@ -25,7 +25,7 @@ class TestPort(base.BaseFunctionalTest): PORT_ID = None def setUp(self): - super(TestPort, self).setUp() + super().setUp() self.NET_NAME = self.getUniqueString() self.SUB_NAME = self.getUniqueString() self.PORT_NAME = self.getUniqueString() @@ -63,7 +63,7 @@ class TestPort(base.BaseFunctionalTest): self.NET_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestPort, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_port(self.PORT_NAME) diff --git a/openstack/tests/functional/network/v2/test_port_forwarding.py b/openstack/tests/functional/network/v2/test_port_forwarding.py index dbeaaeafe..362338231 100644 --- a/openstack/tests/functional/network/v2/test_port_forwarding.py +++ b/openstack/tests/functional/network/v2/test_port_forwarding.py @@ -39,7 +39,7 @@ class TestPortForwarding(base.BaseFunctionalTest): DESCRIPTION = "description" def setUp(self): - super(TestPortForwarding, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("external-net"): self.skipTest( @@ -147,7 +147,7 @@ class TestPortForwarding(base.BaseFunctionalTest): self.INT_NET_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestPortForwarding, self).tearDown() + super().tearDown() def _create_network(self, name, **args): self.name = name diff --git a/openstack/tests/functional/network/v2/test_qos_bandwidth_limit_rule.py b/openstack/tests/functional/network/v2/test_qos_bandwidth_limit_rule.py index ce7c8150b..47037062c 100644 --- a/openstack/tests/functional/network/v2/test_qos_bandwidth_limit_rule.py +++ b/openstack/tests/functional/network/v2/test_qos_bandwidth_limit_rule.py @@ -29,7 +29,7 @@ class TestQoSBandwidthLimitRule(base.BaseFunctionalTest): RULE_DIRECTION_NEW = "ingress" def setUp(self): - super(TestQoSBandwidthLimitRule, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud required for this test") @@ -71,7 +71,7 @@ class TestQoSBandwidthLimitRule(base.BaseFunctionalTest): ) self.assertIsNone(rule) self.assertIsNone(qos_policy) - super(TestQoSBandwidthLimitRule, self).tearDown() + super().tearDown() def test_find(self): sot = self.operator_cloud.network.find_qos_bandwidth_limit_rule( diff --git a/openstack/tests/functional/network/v2/test_qos_dscp_marking_rule.py b/openstack/tests/functional/network/v2/test_qos_dscp_marking_rule.py index f9f21a2d4..7849c3020 100644 --- a/openstack/tests/functional/network/v2/test_qos_dscp_marking_rule.py +++ b/openstack/tests/functional/network/v2/test_qos_dscp_marking_rule.py @@ -25,7 +25,7 @@ class TestQoSDSCPMarkingRule(base.BaseFunctionalTest): RULE_DSCP_MARK_NEW = 40 def setUp(self): - super(TestQoSDSCPMarkingRule, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") @@ -57,7 +57,7 @@ class TestQoSDSCPMarkingRule(base.BaseFunctionalTest): qos_policy = self.conn.network.delete_qos_policy(self.QOS_POLICY_ID) self.assertIsNone(rule) self.assertIsNone(qos_policy) - super(TestQoSDSCPMarkingRule, self).tearDown() + super().tearDown() def test_find(self): sot = self.conn.network.find_qos_dscp_marking_rule( diff --git a/openstack/tests/functional/network/v2/test_qos_minimum_bandwidth_rule.py b/openstack/tests/functional/network/v2/test_qos_minimum_bandwidth_rule.py index 4e3278292..eb0898cb9 100644 --- a/openstack/tests/functional/network/v2/test_qos_minimum_bandwidth_rule.py +++ b/openstack/tests/functional/network/v2/test_qos_minimum_bandwidth_rule.py @@ -27,7 +27,7 @@ class TestQoSMinimumBandwidthRule(base.BaseFunctionalTest): RULE_DIRECTION = "egress" def setUp(self): - super(TestQoSMinimumBandwidthRule, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") @@ -69,7 +69,7 @@ class TestQoSMinimumBandwidthRule(base.BaseFunctionalTest): ) self.assertIsNone(rule) self.assertIsNone(qos_policy) - super(TestQoSMinimumBandwidthRule, self).tearDown() + super().tearDown() def test_find(self): sot = self.operator_cloud.network.find_qos_minimum_bandwidth_rule( diff --git a/openstack/tests/functional/network/v2/test_qos_minimum_packet_rate_rule.py b/openstack/tests/functional/network/v2/test_qos_minimum_packet_rate_rule.py index 40088152b..2329c77bc 100644 --- a/openstack/tests/functional/network/v2/test_qos_minimum_packet_rate_rule.py +++ b/openstack/tests/functional/network/v2/test_qos_minimum_packet_rate_rule.py @@ -28,7 +28,7 @@ class TestQoSMinimumPacketRateRule(base.BaseFunctionalTest): RULE_DIRECTION_NEW = "ingress" def setUp(self): - super(TestQoSMinimumPacketRateRule, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") @@ -68,7 +68,7 @@ class TestQoSMinimumPacketRateRule(base.BaseFunctionalTest): ) self.assertIsNone(rule) self.assertIsNone(qos_policy) - super(TestQoSMinimumPacketRateRule, self).tearDown() + super().tearDown() def test_find(self): sot = self.operator_cloud.network.find_qos_minimum_packet_rate_rule( diff --git a/openstack/tests/functional/network/v2/test_qos_policy.py b/openstack/tests/functional/network/v2/test_qos_policy.py index acd9c4cf1..8395566fc 100644 --- a/openstack/tests/functional/network/v2/test_qos_policy.py +++ b/openstack/tests/functional/network/v2/test_qos_policy.py @@ -23,7 +23,7 @@ class TestQoSPolicy(base.BaseFunctionalTest): QOS_POLICY_DESCRIPTION = "QoS policy description" def setUp(self): - super(TestQoSPolicy, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") @@ -47,7 +47,7 @@ class TestQoSPolicy(base.BaseFunctionalTest): def tearDown(self): sot = self.operator_cloud.network.delete_qos_policy(self.QOS_POLICY_ID) self.assertIsNone(sot) - super(TestQoSPolicy, self).tearDown() + super().tearDown() def test_find(self): sot = self.operator_cloud.network.find_qos_policy(self.QOS_POLICY_NAME) diff --git a/openstack/tests/functional/network/v2/test_qos_rule_type.py b/openstack/tests/functional/network/v2/test_qos_rule_type.py index 162b0e728..6491bc19e 100644 --- a/openstack/tests/functional/network/v2/test_qos_rule_type.py +++ b/openstack/tests/functional/network/v2/test_qos_rule_type.py @@ -18,7 +18,7 @@ class TestQoSRuleType(base.BaseFunctionalTest): QOS_RULE_TYPE = "bandwidth_limit" def setUp(self): - super(TestQoSRuleType, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud is required for this test") diff --git a/openstack/tests/functional/network/v2/test_quota.py b/openstack/tests/functional/network/v2/test_quota.py index ae582488b..fdab400ab 100644 --- a/openstack/tests/functional/network/v2/test_quota.py +++ b/openstack/tests/functional/network/v2/test_quota.py @@ -15,7 +15,7 @@ from openstack.tests.functional import base class TestQuota(base.BaseFunctionalTest): def setUp(self): - super(TestQuota, self).setUp() + super().setUp() if not self.operator_cloud: self.skipTest("Operator cloud required for this test") diff --git a/openstack/tests/functional/network/v2/test_rbac_policy.py b/openstack/tests/functional/network/v2/test_rbac_policy.py index b96ca7b30..ba4c2fb80 100644 --- a/openstack/tests/functional/network/v2/test_rbac_policy.py +++ b/openstack/tests/functional/network/v2/test_rbac_policy.py @@ -24,7 +24,7 @@ class TestRBACPolicy(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestRBACPolicy, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("rbac-policies"): self.skipTest( "Neutron rbac-policies extension is required for this test" @@ -68,7 +68,7 @@ class TestRBACPolicy(base.BaseFunctionalTest): self.NET_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestRBACPolicy, self).tearDown() + super().tearDown() def test_find(self): if self.operator_cloud: diff --git a/openstack/tests/functional/network/v2/test_router.py b/openstack/tests/functional/network/v2/test_router.py index 5657edddd..cd55c8417 100644 --- a/openstack/tests/functional/network/v2/test_router.py +++ b/openstack/tests/functional/network/v2/test_router.py @@ -19,7 +19,7 @@ class TestRouter(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestRouter, self).setUp() + super().setUp() self.NAME = self.getUniqueString() self.UPDATE_NAME = self.getUniqueString() sot = self.user_cloud.network.create_router(name=self.NAME) @@ -32,7 +32,7 @@ class TestRouter(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestRouter, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_router(self.NAME) diff --git a/openstack/tests/functional/network/v2/test_router_add_remove_interface.py b/openstack/tests/functional/network/v2/test_router_add_remove_interface.py index c59cc0e8d..6557b1ac7 100644 --- a/openstack/tests/functional/network/v2/test_router_add_remove_interface.py +++ b/openstack/tests/functional/network/v2/test_router_add_remove_interface.py @@ -26,7 +26,7 @@ class TestRouterInterface(base.BaseFunctionalTest): ROT = None def setUp(self): - super(TestRouterInterface, self).setUp() + super().setUp() self.ROUTER_NAME = self.getUniqueString() self.NET_NAME = self.getUniqueString() self.SUB_NAME = self.getUniqueString() @@ -62,7 +62,7 @@ class TestRouterInterface(base.BaseFunctionalTest): self.NET_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestRouterInterface, self).tearDown() + super().tearDown() def test_router_add_remove_interface(self): iface = self.ROT.add_interface( diff --git a/openstack/tests/functional/network/v2/test_security_group.py b/openstack/tests/functional/network/v2/test_security_group.py index ddc1d08e0..023accfe9 100644 --- a/openstack/tests/functional/network/v2/test_security_group.py +++ b/openstack/tests/functional/network/v2/test_security_group.py @@ -19,7 +19,7 @@ class TestSecurityGroup(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestSecurityGroup, self).setUp() + super().setUp() self.NAME = self.getUniqueString() sot = self.user_cloud.network.create_security_group(name=self.NAME) assert isinstance(sot, security_group.SecurityGroup) @@ -31,7 +31,7 @@ class TestSecurityGroup(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestSecurityGroup, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_security_group(self.NAME) diff --git a/openstack/tests/functional/network/v2/test_security_group_rule.py b/openstack/tests/functional/network/v2/test_security_group_rule.py index e5bd4a953..27d91cf84 100644 --- a/openstack/tests/functional/network/v2/test_security_group_rule.py +++ b/openstack/tests/functional/network/v2/test_security_group_rule.py @@ -25,7 +25,7 @@ class TestSecurityGroupRule(base.BaseFunctionalTest): RULE_ID = None def setUp(self): - super(TestSecurityGroupRule, self).setUp() + super().setUp() self.NAME = self.getUniqueString() sot = self.user_cloud.network.create_security_group(name=self.NAME) assert isinstance(sot, security_group.SecurityGroup) @@ -52,7 +52,7 @@ class TestSecurityGroupRule(base.BaseFunctionalTest): self.ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestSecurityGroupRule, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_security_group_rule(self.RULE_ID) diff --git a/openstack/tests/functional/network/v2/test_segment.py b/openstack/tests/functional/network/v2/test_segment.py index 07d9f6edc..43ba82008 100644 --- a/openstack/tests/functional/network/v2/test_segment.py +++ b/openstack/tests/functional/network/v2/test_segment.py @@ -25,7 +25,7 @@ class TestSegment(base.BaseFunctionalTest): SEGMENT_EXTENSION = None def setUp(self): - super(TestSegment, self).setUp() + super().setUp() self.NETWORK_NAME = self.getUniqueString() if not self.operator_cloud: @@ -60,7 +60,7 @@ class TestSegment(base.BaseFunctionalTest): self.NETWORK_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestSegment, self).tearDown() + super().tearDown() def test_create_delete(self): sot = self.operator_cloud.network.create_segment( diff --git a/openstack/tests/functional/network/v2/test_service_profile.py b/openstack/tests/functional/network/v2/test_service_profile.py index d8c50c124..6bee7f47d 100644 --- a/openstack/tests/functional/network/v2/test_service_profile.py +++ b/openstack/tests/functional/network/v2/test_service_profile.py @@ -21,7 +21,7 @@ class TestServiceProfile(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestServiceProfile, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("flavors"): self.skipTest("Neutron flavor extension is required for this test") @@ -50,7 +50,7 @@ class TestServiceProfile(base.BaseFunctionalTest): ) ) self.assertIsNone(service_profiles) - super(TestServiceProfile, self).tearDown() + super().tearDown() def test_find(self): self.user_cloud.network.find_service_profile( diff --git a/openstack/tests/functional/network/v2/test_subnet.py b/openstack/tests/functional/network/v2/test_subnet.py index 1fe35a5ba..23c8744de 100644 --- a/openstack/tests/functional/network/v2/test_subnet.py +++ b/openstack/tests/functional/network/v2/test_subnet.py @@ -26,7 +26,7 @@ class TestSubnet(base.BaseFunctionalTest): SUB_ID = None def setUp(self): - super(TestSubnet, self).setUp() + super().setUp() self.NET_NAME = self.getUniqueString() self.SUB_NAME = self.getUniqueString() self.UPDATE_NAME = self.getUniqueString() @@ -54,7 +54,7 @@ class TestSubnet(base.BaseFunctionalTest): self.NET_ID, ignore_missing=False ) self.assertIsNone(sot) - super(TestSubnet, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_subnet(self.SUB_NAME) diff --git a/openstack/tests/functional/network/v2/test_subnet_from_subnet_pool.py b/openstack/tests/functional/network/v2/test_subnet_from_subnet_pool.py index c31dfdbcf..175fe2740 100644 --- a/openstack/tests/functional/network/v2/test_subnet_from_subnet_pool.py +++ b/openstack/tests/functional/network/v2/test_subnet_from_subnet_pool.py @@ -31,7 +31,7 @@ class TestSubnetFromSubnetPool(base.BaseFunctionalTest): SUB_POOL_ID = None def setUp(self): - super(TestSubnetFromSubnetPool, self).setUp() + super().setUp() self.NET_NAME = self.getUniqueString() self.SUB_NAME = self.getUniqueString() self.SUB_POOL_NAME = self.getUniqueString() @@ -70,7 +70,7 @@ class TestSubnetFromSubnetPool(base.BaseFunctionalTest): self.assertIsNone(sot) sot = self.user_cloud.network.delete_subnet_pool(self.SUB_POOL_ID) self.assertIsNone(sot) - super(TestSubnetFromSubnetPool, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.network.get_subnet(self.SUB_ID) diff --git a/openstack/tests/functional/network/v2/test_subnet_pool.py b/openstack/tests/functional/network/v2/test_subnet_pool.py index 8daa8db9b..a453c6095 100644 --- a/openstack/tests/functional/network/v2/test_subnet_pool.py +++ b/openstack/tests/functional/network/v2/test_subnet_pool.py @@ -26,7 +26,7 @@ class TestSubnetPool(base.BaseFunctionalTest): PREFIXES = ["10.100.0.0/24", "10.101.0.0/24"] def setUp(self): - super(TestSubnetPool, self).setUp() + super().setUp() self.SUBNET_POOL_NAME = self.getUniqueString() self.SUBNET_POOL_NAME_UPDATED = self.getUniqueString() subnet_pool = self.user_cloud.network.create_subnet_pool( @@ -45,7 +45,7 @@ class TestSubnetPool(base.BaseFunctionalTest): def tearDown(self): sot = self.user_cloud.network.delete_subnet_pool(self.SUBNET_POOL_ID) self.assertIsNone(sot) - super(TestSubnetPool, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_subnet_pool(self.SUBNET_POOL_NAME) diff --git a/openstack/tests/functional/network/v2/test_trunk.py b/openstack/tests/functional/network/v2/test_trunk.py index 7107e1ddf..4f60d3e22 100644 --- a/openstack/tests/functional/network/v2/test_trunk.py +++ b/openstack/tests/functional/network/v2/test_trunk.py @@ -21,7 +21,7 @@ class TestTrunk(base.BaseFunctionalTest): TIMEOUT_SCALING_FACTOR = 2.0 def setUp(self): - super(TestTrunk, self).setUp() + super().setUp() # Skip the tests if trunk extension is not enabled. if not self.user_cloud.network.find_extension("trunk"): @@ -51,7 +51,7 @@ class TestTrunk(base.BaseFunctionalTest): self.user_cloud.network.delete_network( self.NET_ID, ignore_missing=False ) - super(TestTrunk, self).tearDown() + super().tearDown() def test_find(self): sot = self.user_cloud.network.find_trunk(self.TRUNK_NAME) diff --git a/openstack/tests/functional/network/v2/test_vpnaas.py b/openstack/tests/functional/network/v2/test_vpnaas.py index 53be0bbfc..0fdd2b86c 100644 --- a/openstack/tests/functional/network/v2/test_vpnaas.py +++ b/openstack/tests/functional/network/v2/test_vpnaas.py @@ -18,7 +18,7 @@ class TestVpnIkePolicy(base.BaseFunctionalTest): ID = None def setUp(self): - super(TestVpnIkePolicy, self).setUp() + super().setUp() if not self.user_cloud._has_neutron_extension("vpnaas"): self.skipTest("vpnaas service not supported by cloud") self.IKEPOLICY_NAME = self.getUniqueString("ikepolicy") @@ -35,7 +35,7 @@ class TestVpnIkePolicy(base.BaseFunctionalTest): self.ID, ignore_missing=True ) self.assertIsNone(ikepolicy) - super(TestVpnIkePolicy, self).tearDown() + super().tearDown() def test_list(self): policies = [f.name for f in self.user_cloud.network.vpn_ike_policies()] diff --git a/openstack/tests/functional/object_store/v1/test_account.py b/openstack/tests/functional/object_store/v1/test_account.py index abdf821e7..ac518bc2c 100644 --- a/openstack/tests/functional/object_store/v1/test_account.py +++ b/openstack/tests/functional/object_store/v1/test_account.py @@ -15,13 +15,13 @@ from openstack.tests.functional import base class TestAccount(base.BaseFunctionalTest): def setUp(self): - super(TestAccount, self).setUp() + super().setUp() self.require_service('object-store') def tearDown(self): account = self.conn.object_store.get_account_metadata() self.conn.object_store.delete_account_metadata(account.metadata.keys()) - super(TestAccount, self).tearDown() + super().tearDown() def test_system_metadata(self): account = self.conn.object_store.get_account_metadata() diff --git a/openstack/tests/functional/object_store/v1/test_container.py b/openstack/tests/functional/object_store/v1/test_container.py index d0211497b..00b81bb1d 100644 --- a/openstack/tests/functional/object_store/v1/test_container.py +++ b/openstack/tests/functional/object_store/v1/test_container.py @@ -16,7 +16,7 @@ from openstack.tests.functional import base class TestContainer(base.BaseFunctionalTest): def setUp(self): - super(TestContainer, self).setUp() + super().setUp() self.require_service('object-store') self.NAME = self.getUniqueString() diff --git a/openstack/tests/functional/object_store/v1/test_obj.py b/openstack/tests/functional/object_store/v1/test_obj.py index a8d48c356..b74f45154 100644 --- a/openstack/tests/functional/object_store/v1/test_obj.py +++ b/openstack/tests/functional/object_store/v1/test_obj.py @@ -17,7 +17,7 @@ class TestObject(base.BaseFunctionalTest): DATA = b'abc' def setUp(self): - super(TestObject, self).setUp() + super().setUp() self.require_service('object-store') self.FOLDER = self.getUniqueString() diff --git a/openstack/tests/functional/orchestration/v1/test_stack.py b/openstack/tests/functional/orchestration/v1/test_stack.py index bc561da35..33492925c 100644 --- a/openstack/tests/functional/orchestration/v1/test_stack.py +++ b/openstack/tests/functional/orchestration/v1/test_stack.py @@ -28,7 +28,7 @@ class TestStack(base.BaseFunctionalTest): _wait_for_timeout_key = 'OPENSTACKSDK_FUNC_TEST_TIMEOUT_ORCHESTRATION' def setUp(self): - super(TestStack, self).setUp() + super().setUp() self.require_service('orchestration') if self.conn.compute.find_keypair(self.NAME) is None: @@ -75,7 +75,7 @@ class TestStack(base.BaseFunctionalTest): except exceptions.ResourceNotFound: pass test_network.delete_network(self.conn, self.network, self.subnet) - super(TestStack, self).tearDown() + super().tearDown() def test_list(self): names = [o.name for o in self.conn.orchestration.stacks()] diff --git a/openstack/tests/functional/shared_file_system/base.py b/openstack/tests/functional/shared_file_system/base.py index 4a1d5a295..b57ce9a66 100644 --- a/openstack/tests/functional/shared_file_system/base.py +++ b/openstack/tests/functional/shared_file_system/base.py @@ -18,7 +18,7 @@ class BaseSharedFileSystemTest(base.BaseFunctionalTest): min_microversion = None def setUp(self): - super(BaseSharedFileSystemTest, self).setUp() + super().setUp() self.require_service( 'shared-file-system', min_microversion=self.min_microversion ) diff --git a/openstack/tests/functional/shared_file_system/test_resource_lock.py b/openstack/tests/functional/shared_file_system/test_resource_lock.py index e4f2b0351..42198fb54 100644 --- a/openstack/tests/functional/shared_file_system/test_resource_lock.py +++ b/openstack/tests/functional/shared_file_system/test_resource_lock.py @@ -16,7 +16,7 @@ from openstack.tests.functional.shared_file_system import base class ResourceLocksTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ResourceLocksTest, self).setUp() + super().setUp() self.SHARE_NAME = self.getUniqueString() share = self.user_cloud.shared_file_system.create_share( diff --git a/openstack/tests/functional/shared_file_system/test_share.py b/openstack/tests/functional/shared_file_system/test_share.py index 1ff645de6..86b91b98a 100644 --- a/openstack/tests/functional/shared_file_system/test_share.py +++ b/openstack/tests/functional/shared_file_system/test_share.py @@ -17,7 +17,7 @@ from openstack.tests.functional.shared_file_system import base class ShareTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ShareTest, self).setUp() + super().setUp() self.SHARE_NAME = self.getUniqueString() my_share = self.create_share( @@ -164,7 +164,7 @@ class ShareTest(base.BaseSharedFileSystemTest): class ManageUnmanageShareTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ManageUnmanageShareTest, self).setUp() + super().setUp() self.NEW_SHARE = self.create_share( share_proto="NFS", diff --git a/openstack/tests/functional/shared_file_system/test_share_access_rule.py b/openstack/tests/functional/shared_file_system/test_share_access_rule.py index 7fc7817a5..b242cc52f 100644 --- a/openstack/tests/functional/shared_file_system/test_share_access_rule.py +++ b/openstack/tests/functional/shared_file_system/test_share_access_rule.py @@ -15,7 +15,7 @@ from openstack.tests.functional.shared_file_system import base class ShareAccessRuleTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ShareAccessRuleTest, self).setUp() + super().setUp() self.SHARE_NAME = self.getUniqueString() mys = self.create_share( @@ -49,7 +49,7 @@ class ShareAccessRuleTest(base.BaseSharedFileSystemTest): self.user_cloud.share.delete_access_rule( self.ACCESS_ID, self.SHARE_ID, ignore_missing=True ) - super(ShareAccessRuleTest, self).tearDown() + super().tearDown() def test_get_access_rule(self): sot = self.user_cloud.shared_file_system.get_access_rule( diff --git a/openstack/tests/functional/shared_file_system/test_share_group.py b/openstack/tests/functional/shared_file_system/test_share_group.py index cfd0bd9bb..376ff5ee0 100644 --- a/openstack/tests/functional/shared_file_system/test_share_group.py +++ b/openstack/tests/functional/shared_file_system/test_share_group.py @@ -16,7 +16,7 @@ from openstack.tests.functional.shared_file_system import base class ShareGroupTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ShareGroupTest, self).setUp() + super().setUp() self.SHARE_GROUP_NAME = self.getUniqueString() share_grp = self.user_cloud.shared_file_system.create_share_group( diff --git a/openstack/tests/functional/shared_file_system/test_share_group_snapshot.py b/openstack/tests/functional/shared_file_system/test_share_group_snapshot.py index 662173cfb..0ba40a263 100644 --- a/openstack/tests/functional/shared_file_system/test_share_group_snapshot.py +++ b/openstack/tests/functional/shared_file_system/test_share_group_snapshot.py @@ -21,7 +21,7 @@ class ShareGroupSnapshotTest(base.BaseSharedFileSystemTest): min_microversion = '2.55' def setUp(self): - super(ShareGroupSnapshotTest, self).setUp() + super().setUp() self.SHARE_GROUP_NAME = self.getUniqueString() share_grp = self.user_cloud.shared_file_system.create_share_group( @@ -68,7 +68,7 @@ class ShareGroupSnapshotTest(base.BaseSharedFileSystemTest): self.user_cloud.shared_file_system.delete_share_group( self.SHARE_GROUP_ID, ignore_missing=False ) - super(ShareGroupSnapshotTest, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.shared_file_system.get_share_group_snapshot( diff --git a/openstack/tests/functional/shared_file_system/test_share_instance.py b/openstack/tests/functional/shared_file_system/test_share_instance.py index 7ecf37cd0..ece9db913 100644 --- a/openstack/tests/functional/shared_file_system/test_share_instance.py +++ b/openstack/tests/functional/shared_file_system/test_share_instance.py @@ -20,7 +20,7 @@ class ShareInstanceTest(base.BaseSharedFileSystemTest): min_microversion = '2.7' def setUp(self): - super(ShareInstanceTest, self).setUp() + super().setUp() self.SHARE_NAME = self.getUniqueString() my_share = self.create_share( diff --git a/openstack/tests/functional/shared_file_system/test_share_network.py b/openstack/tests/functional/shared_file_system/test_share_network.py index 1f365d6f4..5497ac1f9 100644 --- a/openstack/tests/functional/shared_file_system/test_share_network.py +++ b/openstack/tests/functional/shared_file_system/test_share_network.py @@ -16,7 +16,7 @@ from openstack.tests.functional.shared_file_system import base class ShareNetworkTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ShareNetworkTest, self).setUp() + super().setUp() self.NETWORK_NAME = self.getUniqueString() net = self.user_cloud.network.create_network(name=self.NETWORK_NAME) @@ -50,7 +50,7 @@ class ShareNetworkTest(base.BaseSharedFileSystemTest): ) self.assertIsNone(sot) self.user_cloud.network.delete_network(self.NETWORK_ID) - super(ShareNetworkTest, self).tearDown() + super().tearDown() def test_get(self): sot = self.user_cloud.shared_file_system.get_share_network( diff --git a/openstack/tests/functional/shared_file_system/test_share_snapshot.py b/openstack/tests/functional/shared_file_system/test_share_snapshot.py index 8134ea9ac..aed32fa5f 100644 --- a/openstack/tests/functional/shared_file_system/test_share_snapshot.py +++ b/openstack/tests/functional/shared_file_system/test_share_snapshot.py @@ -15,7 +15,7 @@ from openstack.tests.functional.shared_file_system import base class ShareSnapshotTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ShareSnapshotTest, self).setUp() + super().setUp() self.SHARE_NAME = self.getUniqueString() self.SNAPSHOT_NAME = self.getUniqueString() @@ -65,7 +65,7 @@ class ShareSnapshotTest(base.BaseSharedFileSystemTest): self.SHARE_ID, ignore_missing=False ) self.assertIsNone(sot) - super(ShareSnapshotTest, self).tearDown() + super().tearDown() def test_get(self): sot = self.operator_cloud.shared_file_system.get_share_snapshot( diff --git a/openstack/tests/functional/shared_file_system/test_share_snapshot_instance.py b/openstack/tests/functional/shared_file_system/test_share_snapshot_instance.py index 8eae2ee1b..f426895ff 100644 --- a/openstack/tests/functional/shared_file_system/test_share_snapshot_instance.py +++ b/openstack/tests/functional/shared_file_system/test_share_snapshot_instance.py @@ -15,7 +15,7 @@ from openstack.tests.functional.shared_file_system import base class ShareSnapshotInstanceTest(base.BaseSharedFileSystemTest): def setUp(self): - super(ShareSnapshotInstanceTest, self).setUp() + super().setUp() self.SHARE_NAME = self.getUniqueString() my_share = self.create_share( diff --git a/openstack/tests/unit/accelerator/v2/test_device_profile.py b/openstack/tests/unit/accelerator/v2/test_device_profile.py index f686acc20..ce50241d7 100644 --- a/openstack/tests/unit/accelerator/v2/test_device_profile.py +++ b/openstack/tests/unit/accelerator/v2/test_device_profile.py @@ -16,8 +16,8 @@ from openstack.tests.unit import base FAKE = { "id": 1, - "uuid": u"a95e10ae-b3e3-4eab-a513-1afae6f17c51", - "name": u'afaas_example_1', + "uuid": "a95e10ae-b3e3-4eab-a513-1afae6f17c51", + "name": 'afaas_example_1', "groups": [ { "resources:ACCELERATOR_FPGA": "1", diff --git a/openstack/tests/unit/accelerator/v2/test_proxy.py b/openstack/tests/unit/accelerator/v2/test_proxy.py index 848e75cff..bd2bbdd43 100644 --- a/openstack/tests/unit/accelerator/v2/test_proxy.py +++ b/openstack/tests/unit/accelerator/v2/test_proxy.py @@ -19,7 +19,7 @@ from openstack.tests.unit import test_proxy_base as test_proxy_base class TestAcceleratorProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestAcceleratorProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/baremetal/test_configdrive.py b/openstack/tests/unit/baremetal/test_configdrive.py index a2ba7d9a8..e560dd2d9 100644 --- a/openstack/tests/unit/baremetal/test_configdrive.py +++ b/openstack/tests/unit/baremetal/test_configdrive.py @@ -79,7 +79,7 @@ class TestPopulateDirectory(testtools.TestCase): self._check({'foo': 42}, b'I am user data') def test_with_user_data_as_string(self): - self._check({'foo': 42}, u'I am user data') + self._check({'foo': 42}, 'I am user data') def test_with_network_data(self): self._check({'foo': 42}, network_data={'networks': {}}) diff --git a/openstack/tests/unit/baremetal/v1/test_allocation.py b/openstack/tests/unit/baremetal/v1/test_allocation.py index 5d6bd3087..48b782563 100644 --- a/openstack/tests/unit/baremetal/v1/test_allocation.py +++ b/openstack/tests/unit/baremetal/v1/test_allocation.py @@ -77,7 +77,7 @@ class TestAllocation(base.TestCase): @mock.patch.object(allocation.Allocation, 'fetch', autospec=True) class TestWaitForAllocation(base.TestCase): def setUp(self): - super(TestWaitForAllocation, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.session.default_microversion = '1.52' self.session.log = mock.Mock() diff --git a/openstack/tests/unit/baremetal/v1/test_node.py b/openstack/tests/unit/baremetal/v1/test_node.py index 51ebc2e7c..022f99466 100644 --- a/openstack/tests/unit/baremetal/v1/test_node.py +++ b/openstack/tests/unit/baremetal/v1/test_node.py @@ -206,7 +206,7 @@ class TestNode(base.TestCase): @mock.patch.object(node.Node, 'fetch', autospec=True) class TestNodeWaitForProvisionState(base.TestCase): def setUp(self): - super(TestNodeWaitForProvisionState, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock() @@ -297,7 +297,7 @@ class TestNodeWaitForProvisionState(base.TestCase): @mock.patch.object(exceptions, 'raise_from_response', mock.Mock()) class TestNodeSetProvisionState(base.TestCase): def setUp(self): - super(TestNodeSetProvisionState, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock( spec=adapter.Adapter, default_microversion=None @@ -429,7 +429,7 @@ class TestNodeSetProvisionState(base.TestCase): @mock.patch.object(node.Node, 'set_provision_state', autospec=True) class TestNodeCreate(base.TestCase): def setUp(self): - super(TestNodeCreate, self).setUp() + super().setUp() self.new_state = None self.session = mock.Mock(spec=adapter.Adapter) self.session.default_microversion = '1.1' @@ -541,7 +541,7 @@ class TestNodeCreate(base.TestCase): @mock.patch.object(node.Node, '_get_session', lambda self, x: x) class TestNodeVif(base.TestCase): def setUp(self): - super(TestNodeVif, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.session.default_microversion = '1.28' self.session.log = mock.Mock() @@ -577,7 +577,7 @@ class TestNodeVif(base.TestCase): def test_detach_vif_existing(self): self.assertTrue(self.node.detach_vif(self.session, self.vif_id)) self.session.delete.assert_called_once_with( - 'nodes/%s/vifs/%s' % (self.node.id, self.vif_id), + f'nodes/{self.node.id}/vifs/{self.vif_id}', headers=mock.ANY, microversion='1.28', retriable_status_codes=_common.RETRIABLE_STATUS_CODES, @@ -587,7 +587,7 @@ class TestNodeVif(base.TestCase): self.session.delete.return_value.status_code = 400 self.assertFalse(self.node.detach_vif(self.session, self.vif_id)) self.session.delete.assert_called_once_with( - 'nodes/%s/vifs/%s' % (self.node.id, self.vif_id), + f'nodes/{self.node.id}/vifs/{self.vif_id}', headers=mock.ANY, microversion='1.28', retriable_status_codes=_common.RETRIABLE_STATUS_CODES, @@ -631,7 +631,7 @@ class TestNodeVif(base.TestCase): @mock.patch.object(node.Node, '_get_session', lambda self, x: x) class TestNodeValidate(base.TestCase): def setUp(self): - super(TestNodeValidate, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.session.default_microversion = '1.28' self.node = node.Node(**FAKE) @@ -690,7 +690,7 @@ class TestNodeValidate(base.TestCase): @mock.patch.object(node.Node, 'fetch', autospec=True) class TestNodeWaitForReservation(base.TestCase): def setUp(self): - super(TestNodeWaitForReservation, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.session.default_microversion = '1.6' self.session.log = mock.Mock() @@ -760,7 +760,7 @@ class TestNodeInjectNMI(base.TestCase): @mock.patch.object(exceptions, 'raise_from_response', mock.Mock()) class TestNodeSetPowerState(base.TestCase): def setUp(self): - super(TestNodeSetPowerState, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock( spec=adapter.Adapter, default_microversion=None @@ -792,7 +792,7 @@ class TestNodeSetPowerState(base.TestCase): @mock.patch.object(node.Node, '_get_session', lambda self, x: x) class TestNodeMaintenance(base.TestCase): def setUp(self): - super(TestNodeMaintenance, self).setUp() + super().setUp() self.node = node.Node.existing(**FAKE) self.session = mock.Mock( spec=adapter.Adapter, @@ -962,7 +962,7 @@ class TestNodeBootDevice(base.TestCase): @mock.patch.object(exceptions, 'raise_from_response', mock.Mock()) class TestNodeSetBootMode(base.TestCase): def setUp(self): - super(TestNodeSetBootMode, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock( spec=adapter.Adapter, default_microversion='1.1' @@ -989,7 +989,7 @@ class TestNodeSetBootMode(base.TestCase): @mock.patch.object(exceptions, 'raise_from_response', mock.Mock()) class TestNodeSetSecureBoot(base.TestCase): def setUp(self): - super(TestNodeSetSecureBoot, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock( spec=adapter.Adapter, default_microversion='1.1' @@ -1016,7 +1016,7 @@ class TestNodeSetSecureBoot(base.TestCase): @mock.patch.object(exceptions, 'raise_from_response', mock.Mock()) class TestNodeTraits(base.TestCase): def setUp(self): - super(TestNodeTraits, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock( spec=adapter.Adapter, default_microversion='1.37' @@ -1026,7 +1026,7 @@ class TestNodeTraits(base.TestCase): def test_node_add_trait(self): self.node.add_trait(self.session, 'CUSTOM_FAKE') self.session.put.assert_called_once_with( - 'nodes/%s/traits/%s' % (self.node.id, 'CUSTOM_FAKE'), + 'nodes/{}/traits/{}'.format(self.node.id, 'CUSTOM_FAKE'), json=None, headers=mock.ANY, microversion='1.37', @@ -1036,7 +1036,7 @@ class TestNodeTraits(base.TestCase): def test_remove_trait(self): self.assertTrue(self.node.remove_trait(self.session, 'CUSTOM_FAKE')) self.session.delete.assert_called_once_with( - 'nodes/%s/traits/%s' % (self.node.id, 'CUSTOM_FAKE'), + 'nodes/{}/traits/{}'.format(self.node.id, 'CUSTOM_FAKE'), headers=mock.ANY, microversion='1.37', retriable_status_codes=_common.RETRIABLE_STATUS_CODES, @@ -1048,7 +1048,7 @@ class TestNodeTraits(base.TestCase): self.node.remove_trait(self.session, 'CUSTOM_MISSING') ) self.session.delete.assert_called_once_with( - 'nodes/%s/traits/%s' % (self.node.id, 'CUSTOM_MISSING'), + 'nodes/{}/traits/{}'.format(self.node.id, 'CUSTOM_MISSING'), headers=mock.ANY, microversion='1.37', retriable_status_codes=_common.RETRIABLE_STATUS_CODES, @@ -1070,7 +1070,7 @@ class TestNodeTraits(base.TestCase): @mock.patch.object(resource.Resource, 'patch', autospec=True) class TestNodePatch(base.TestCase): def setUp(self): - super(TestNodePatch, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock( spec=adapter.Adapter, default_microversion=None @@ -1113,7 +1113,7 @@ class TestNodePatch(base.TestCase): @mock.patch.object(node.Node, 'fetch', autospec=True) class TestNodeWaitForPowerState(base.TestCase): def setUp(self): - super(TestNodeWaitForPowerState, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = mock.Mock() @@ -1143,9 +1143,9 @@ class TestNodeWaitForPowerState(base.TestCase): @mock.patch.object(utils, 'pick_microversion', lambda session, v: v) @mock.patch.object(node.Node, 'fetch', lambda self, session: self) @mock.patch.object(exceptions, 'raise_from_response', mock.Mock()) -class TestNodePassthru(object): +class TestNodePassthru: def setUp(self): - super(TestNodePassthru, self).setUp() + super().setUp() self.node = node.Node(**FAKE) self.session = node.Mock( spec=adapter.Adapter, default_microversion='1.37' diff --git a/openstack/tests/unit/baremetal/v1/test_proxy.py b/openstack/tests/unit/baremetal/v1/test_proxy.py index 834b29a77..5d14bb312 100644 --- a/openstack/tests/unit/baremetal/v1/test_proxy.py +++ b/openstack/tests/unit/baremetal/v1/test_proxy.py @@ -31,7 +31,7 @@ _MOCK_METHOD = 'openstack.baremetal.v1._proxy.Proxy._get_with_fields' class TestBaremetalProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestBaremetalProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) @@ -349,7 +349,7 @@ class TestMisc(TestBaremetalProxy): @mock.patch.object(_proxy.Proxy, 'get_node', autospec=True) class TestWaitForNodesProvisionState(base.TestCase): def setUp(self): - super(TestWaitForNodesProvisionState, self).setUp() + super().setUp() self.session = mock.Mock() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py b/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py index 19975aca6..3419ce6fd 100644 --- a/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py +++ b/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py @@ -26,7 +26,7 @@ from openstack.tests.unit import test_proxy_base @mock.patch.object(introspection.Introspection, 'create', autospec=True) class TestStartIntrospection(base.TestCase): def setUp(self): - super(TestStartIntrospection, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.proxy = _proxy.Proxy(self.session) @@ -53,7 +53,7 @@ class TestStartIntrospection(base.TestCase): class TestBaremetalIntrospectionProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestBaremetalIntrospectionProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_get_introspection(self): @@ -66,7 +66,7 @@ class TestBaremetalIntrospectionProxy(test_proxy_base.TestProxyBase): @mock.patch.object(introspection.Introspection, 'fetch', autospec=True) class TestWaitForIntrospection(base.TestCase): def setUp(self): - super(TestWaitForIntrospection, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.proxy = _proxy.Proxy(self.session) self.fake = {'state': 'waiting', 'error': None, 'finished': False} @@ -136,7 +136,7 @@ class TestWaitForIntrospection(base.TestCase): @mock.patch.object(_proxy.Proxy, 'request', autospec=True) class TestAbortIntrospection(base.TestCase): def setUp(self): - super(TestAbortIntrospection, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.proxy = _proxy.Proxy(self.session) self.fake = {'id': '1234', 'finished': False} @@ -158,7 +158,7 @@ class TestAbortIntrospection(base.TestCase): @mock.patch.object(_proxy.Proxy, 'request', autospec=True) class TestGetData(base.TestCase): def setUp(self): - super(TestGetData, self).setUp() + super().setUp() self.session = mock.Mock(spec=adapter.Adapter) self.proxy = _proxy.Proxy(self.session) self.fake = {'id': '1234', 'finished': False} diff --git a/openstack/tests/unit/base.py b/openstack/tests/unit/base.py index b3b40a62c..b1d609ce8 100644 --- a/openstack/tests/unit/base.py +++ b/openstack/tests/unit/base.py @@ -88,7 +88,7 @@ class TestCase(base.TestCase): def setUp(self, cloud_config_fixture='clouds.yaml'): """Run before each test method to initialize test environment.""" - super(TestCase, self).setUp() + super().setUp() # Sleeps are for real testing, but unit tests shouldn't need them realsleep = time.sleep @@ -204,7 +204,7 @@ class TestCase(base.TestCase): to_join.extend([urllib.parse.quote(i) for i in append]) if qs_elements is not None: qs = '?%s' % '&'.join(qs_elements) - return '%(uri)s%(qs)s' % {'uri': '/'.join(to_join), 'qs': qs} + return '{uri}{qs}'.format(uri='/'.join(to_join), qs=qs) def mock_for_keystone_projects( self, @@ -481,7 +481,7 @@ class TestCase(base.TestCase): dict( method='GET', uri='https://identity.example.com/', - text=open(self.discovery_json, 'r').read(), + text=open(self.discovery_json).read(), ), dict( method='POST', @@ -532,7 +532,7 @@ class TestCase(base.TestCase): ) def get_keystone_discovery(self): - with open(self.discovery_json, 'r') as discovery_file: + with open(self.discovery_json) as discovery_file: return dict( method='GET', uri='https://identity.example.com/', @@ -591,7 +591,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri=block_storage_discovery_url, - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def get_glance_discovery_mock_dict( @@ -606,7 +606,7 @@ class TestCase(base.TestCase): method='GET', uri=image_discovery_url, status_code=300, - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def get_nova_discovery_mock_dict( @@ -620,7 +620,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri=compute_discovery_url, - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def get_placement_discovery_mock_dict( @@ -632,7 +632,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri="https://placement.example.com/", - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def get_designate_discovery_mock_dict(self): @@ -640,7 +640,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri="https://dns.example.com/", - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def get_ironic_discovery_mock_dict(self): @@ -650,7 +650,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri="https://baremetal.example.com/", - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def get_senlin_discovery_mock_dict(self): @@ -660,7 +660,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri="https://clustering.example.com/", - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def use_compute_discovery( @@ -683,7 +683,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri="https://accelerator.example.com/", - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def get_manila_discovery_mock_dict(self): @@ -693,7 +693,7 @@ class TestCase(base.TestCase): return dict( method='GET', uri="https://shared-file-system.example.com/", - text=open(discovery_fixture, 'r').read(), + text=open(discovery_fixture).read(), ) def use_glance( @@ -815,7 +815,7 @@ class TestCase(base.TestCase): method=method, uri=uri, params=kw_params ) validate = to_mock.pop('validate', {}) - valid_keys = set(['json', 'headers', 'params', 'data']) + valid_keys = {'json', 'headers', 'params', 'data'} invalid_keys = set(validate.keys()) - valid_keys if invalid_keys: raise TypeError( @@ -827,7 +827,7 @@ class TestCase(base.TestCase): to_mock.pop('headers', {}) ) if 'content-type' not in headers: - headers[u'content-type'] = 'application/json' + headers['content-type'] = 'application/json' if 'exc' not in to_mock: to_mock['headers'] = headers @@ -855,7 +855,7 @@ class TestCase(base.TestCase): mock_method, mock_uri, params['response_list'], - **params['kw_params'] + **params['kw_params'], ) def assert_no_calls(self): @@ -910,7 +910,7 @@ class TestCase(base.TestCase): self.assertEqual( call['json'], history.json(), - 'json content mismatch in call {index}'.format(index=x), + f'json content mismatch in call {x}', ) # headers in a call isn't exhaustive - it's checking to make sure # a specific header or headers are there, not that they are the @@ -920,7 +920,7 @@ class TestCase(base.TestCase): self.assertEqual( value, history.headers[key], - 'header mismatch in call {index}'.format(index=x), + f'header mismatch in call {x}', ) if do_count: self.assertEqual( @@ -964,7 +964,7 @@ class TestCase(base.TestCase): class IronicTestCase(TestCase): def setUp(self): - super(IronicTestCase, self).setUp() + super().setUp() self.use_ironic() self.uuid = str(uuid.uuid4()) self.name = self.getUniqueString('name') @@ -973,4 +973,4 @@ class IronicTestCase(TestCase): kwargs.setdefault('service_type', 'baremetal') kwargs.setdefault('interface', 'public') kwargs.setdefault('base_url_append', 'v1') - return super(IronicTestCase, self).get_mock_url(**kwargs) + return super().get_mock_url(**kwargs) diff --git a/openstack/tests/unit/block_storage/v2/test_backup.py b/openstack/tests/unit/block_storage/v2/test_backup.py index 7de7902a5..040063024 100644 --- a/openstack/tests/unit/block_storage/v2/test_backup.py +++ b/openstack/tests/unit/block_storage/v2/test_backup.py @@ -41,7 +41,7 @@ BACKUP = { class TestBackup(base.TestCase): def setUp(self): - super(TestBackup, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/block_storage/v2/test_snapshot.py b/openstack/tests/unit/block_storage/v2/test_snapshot.py index f81522f4d..0c2909404 100644 --- a/openstack/tests/unit/block_storage/v2/test_snapshot.py +++ b/openstack/tests/unit/block_storage/v2/test_snapshot.py @@ -80,7 +80,7 @@ class TestSnapshot(base.TestCase): class TestSnapshotActions(base.TestCase): def setUp(self): - super(TestSnapshotActions, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/block_storage/v2/test_stats.py b/openstack/tests/unit/block_storage/v2/test_stats.py index 029fcaba2..0de797015 100644 --- a/openstack/tests/unit/block_storage/v2/test_stats.py +++ b/openstack/tests/unit/block_storage/v2/test_stats.py @@ -31,7 +31,7 @@ POOLS = { class TestBackendPools(base.TestCase): def setUp(self): - super(TestBackendPools, self).setUp() + super().setUp() def test_basic(self): sot = stats.Pools(POOLS) diff --git a/openstack/tests/unit/block_storage/v2/test_type.py b/openstack/tests/unit/block_storage/v2/test_type.py index 967b4e143..d67934d06 100644 --- a/openstack/tests/unit/block_storage/v2/test_type.py +++ b/openstack/tests/unit/block_storage/v2/test_type.py @@ -24,7 +24,7 @@ TYPE = {"extra_specs": {"capabilities": "gpu"}, "id": FAKE_ID, "name": "SSD"} class TestType(base.TestCase): def setUp(self): - super(TestType, self).setUp() + super().setUp() self.extra_specs_result = {"extra_specs": {"go": "cubs", "boo": "sox"}} self.resp = mock.Mock() self.resp.body = None diff --git a/openstack/tests/unit/block_storage/v2/test_volume.py b/openstack/tests/unit/block_storage/v2/test_volume.py index a8120f493..4e86bf155 100644 --- a/openstack/tests/unit/block_storage/v2/test_volume.py +++ b/openstack/tests/unit/block_storage/v2/test_volume.py @@ -22,12 +22,12 @@ FAKE_ID = "6685584b-1eac-4da6-b5c3-555430cf68ff" IMAGE_METADATA = { 'container_format': 'bare', 'min_ram': '64', - 'disk_format': u'qcow2', + 'disk_format': 'qcow2', 'image_name': 'TestVM', 'image_id': '625d4f2c-cf67-4af3-afb6-c7220f766947', 'checksum': '64d7c1cd2b6f60c92c14662941cb7913', 'min_disk': '0', - u'size': '13167616', + 'size': '13167616', } VOLUME = { @@ -139,7 +139,7 @@ class TestVolume(base.TestCase): class TestVolumeActions(TestVolume): def setUp(self): - super(TestVolumeActions, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.status_code = 200 diff --git a/openstack/tests/unit/block_storage/v3/test_attachment.py b/openstack/tests/unit/block_storage/v3/test_attachment.py index af05a64ea..af725a0ae 100644 --- a/openstack/tests/unit/block_storage/v3/test_attachment.py +++ b/openstack/tests/unit/block_storage/v3/test_attachment.py @@ -69,7 +69,7 @@ ATTACHMENT = { class TestAttachment(base.TestCase): def setUp(self): - super(TestAttachment, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/block_storage/v3/test_backup.py b/openstack/tests/unit/block_storage/v3/test_backup.py index 5e73d61c9..a80b97d46 100644 --- a/openstack/tests/unit/block_storage/v3/test_backup.py +++ b/openstack/tests/unit/block_storage/v3/test_backup.py @@ -45,7 +45,7 @@ BACKUP = { class TestBackup(base.TestCase): def setUp(self): - super(TestBackup, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/block_storage/v3/test_proxy.py b/openstack/tests/unit/block_storage/v3/test_proxy.py index 5545118a9..cc581bf9d 100644 --- a/openstack/tests/unit/block_storage/v3/test_proxy.py +++ b/openstack/tests/unit/block_storage/v3/test_proxy.py @@ -33,7 +33,7 @@ from openstack.tests.unit import test_proxy_base class TestVolumeProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestVolumeProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/block_storage/v3/test_snapshot.py b/openstack/tests/unit/block_storage/v3/test_snapshot.py index 6f5498fc9..b377d5fca 100644 --- a/openstack/tests/unit/block_storage/v3/test_snapshot.py +++ b/openstack/tests/unit/block_storage/v3/test_snapshot.py @@ -88,7 +88,7 @@ class TestSnapshot(base.TestCase): class TestSnapshotActions(base.TestCase): def setUp(self): - super(TestSnapshotActions, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/block_storage/v3/test_type.py b/openstack/tests/unit/block_storage/v3/test_type.py index b1817c418..7386a5fd6 100644 --- a/openstack/tests/unit/block_storage/v3/test_type.py +++ b/openstack/tests/unit/block_storage/v3/test_type.py @@ -30,7 +30,7 @@ TYPE = { class TestType(base.TestCase): def setUp(self): - super(TestType, self).setUp() + super().setUp() self.extra_specs_result = {"extra_specs": {"go": "cubs", "boo": "sox"}} self.resp = mock.Mock() self.resp.body = None diff --git a/openstack/tests/unit/block_storage/v3/test_volume.py b/openstack/tests/unit/block_storage/v3/test_volume.py index df2e234d8..03d06351d 100644 --- a/openstack/tests/unit/block_storage/v3/test_volume.py +++ b/openstack/tests/unit/block_storage/v3/test_volume.py @@ -23,12 +23,12 @@ FAKE_ID = "6685584b-1eac-4da6-b5c3-555430cf68ff" IMAGE_METADATA = { 'container_format': 'bare', 'min_ram': '64', - 'disk_format': u'qcow2', + 'disk_format': 'qcow2', 'image_name': 'TestVM', 'image_id': '625d4f2c-cf67-4af3-afb6-c7220f766947', 'checksum': '64d7c1cd2b6f60c92c14662941cb7913', 'min_disk': '0', - u'size': '13167616', + 'size': '13167616', } FAKE_HOST = "fake_host@fake_backend#fake_pool" @@ -145,7 +145,7 @@ class TestVolume(base.TestCase): class TestVolumeActions(TestVolume): def setUp(self): - super(TestVolumeActions, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.status_code = 200 diff --git a/openstack/tests/unit/cloud/test__utils.py b/openstack/tests/unit/cloud/test__utils.py index 273a3f6e2..6aac3f834 100644 --- a/openstack/tests/unit/cloud/test__utils.py +++ b/openstack/tests/unit/cloud/test__utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -86,13 +84,13 @@ class TestUtils(base.TestCase): def test__filter_list_unicode(self): el1 = dict( id=100, - name=u'中文', + name='中文', last='duck', other=dict(category='duck', financial=dict(status='poor')), ) el2 = dict( id=200, - name=u'中文', + name='中文', last='trump', other=dict(category='human', financial=dict(status='rich')), ) @@ -104,7 +102,7 @@ class TestUtils(base.TestCase): ) data = [el1, el2, el3] ret = _utils._filter_list( - data, u'中文', {'other': {'financial': {'status': 'rich'}}} + data, '中文', {'other': {'financial': {'status': 'rich'}}} ) self.assertEqual([el2], ret) diff --git a/openstack/tests/unit/cloud/test_accelerator.py b/openstack/tests/unit/cloud/test_accelerator.py index 5afe6f3f6..2fdb4e2eb 100644 --- a/openstack/tests/unit/cloud/test_accelerator.py +++ b/openstack/tests/unit/cloud/test_accelerator.py @@ -82,7 +82,7 @@ NEW_ARQ_DICT = copy.copy(ARQ_DICT) class TestAccelerator(base.TestCase): def setUp(self): - super(TestAccelerator, self).setUp() + super().setUp() self.use_cyborg() def test_list_deployables(self): diff --git a/openstack/tests/unit/cloud/test_aggregate.py b/openstack/tests/unit/cloud/test_aggregate.py index d5c265513..d0d8f8453 100644 --- a/openstack/tests/unit/cloud/test_aggregate.py +++ b/openstack/tests/unit/cloud/test_aggregate.py @@ -16,7 +16,7 @@ from openstack.tests.unit import base class TestAggregate(base.TestCase): def setUp(self): - super(TestAggregate, self).setUp() + super().setUp() self.aggregate_name = self.getUniqueString('aggregate') self.fake_aggregate = fakes.make_fake_aggregate(1, self.aggregate_name) self.use_compute_discovery() diff --git a/openstack/tests/unit/cloud/test_baremetal_node.py b/openstack/tests/unit/cloud/test_baremetal_node.py index c768d2378..f81fdd3e0 100644 --- a/openstack/tests/unit/cloud/test_baremetal_node.py +++ b/openstack/tests/unit/cloud/test_baremetal_node.py @@ -29,7 +29,7 @@ from openstack.tests.unit import base class TestBaremetalNode(base.IronicTestCase): def setUp(self): - super(TestBaremetalNode, self).setUp() + super().setUp() self.fake_baremetal_node = fakes.make_fake_machine( self.name, self.uuid ) @@ -2367,7 +2367,7 @@ class TestUpdateMachinePatch(base.IronicTestCase): # variables that need to be tested. def setUp(self): - super(TestUpdateMachinePatch, self).setUp() + super().setUp() self.fake_baremetal_node = fakes.make_fake_machine( self.name, self.uuid ) diff --git a/openstack/tests/unit/cloud/test_baremetal_ports.py b/openstack/tests/unit/cloud/test_baremetal_ports.py index 19c5cff54..3cd4c043d 100644 --- a/openstack/tests/unit/cloud/test_baremetal_ports.py +++ b/openstack/tests/unit/cloud/test_baremetal_ports.py @@ -26,7 +26,7 @@ from openstack.tests.unit import base class TestBaremetalPort(base.IronicTestCase): def setUp(self): - super(TestBaremetalPort, self).setUp() + super().setUp() self.fake_baremetal_node = fakes.make_fake_machine( self.name, self.uuid ) diff --git a/openstack/tests/unit/cloud/test_cluster_templates.py b/openstack/tests/unit/cloud/test_cluster_templates.py index 75dd40b49..e25105e71 100644 --- a/openstack/tests/unit/cloud/test_cluster_templates.py +++ b/openstack/tests/unit/cloud/test_cluster_templates.py @@ -62,7 +62,7 @@ class TestClusterTemplates(base.TestCase): append=None, resource=None, ): - return super(TestClusterTemplates, self).get_mock_url( + return super().get_mock_url( service_type=service_type, resource=resource, append=append, diff --git a/openstack/tests/unit/cloud/test_clustering.py b/openstack/tests/unit/cloud/test_clustering.py index 7c0d1dc4a..7a5da7f3a 100644 --- a/openstack/tests/unit/cloud/test_clustering.py +++ b/openstack/tests/unit/cloud/test_clustering.py @@ -64,7 +64,7 @@ class TestClustering(base.TestCase): ) def setUp(self): - super(TestClustering, self).setUp() + super().setUp() self.use_senlin() diff --git a/openstack/tests/unit/cloud/test_coe_clusters.py b/openstack/tests/unit/cloud/test_coe_clusters.py index 833b86584..97e864e09 100644 --- a/openstack/tests/unit/cloud/test_coe_clusters.py +++ b/openstack/tests/unit/cloud/test_coe_clusters.py @@ -51,7 +51,7 @@ class TestCOEClusters(base.TestCase): append=None, resource=None, ): - return super(TestCOEClusters, self).get_mock_url( + return super().get_mock_url( service_type=service_type, resource=resource, append=append, diff --git a/openstack/tests/unit/cloud/test_coe_clusters_certificate.py b/openstack/tests/unit/cloud/test_coe_clusters_certificate.py index 57aabe7f4..f1e56e8ca 100644 --- a/openstack/tests/unit/cloud/test_coe_clusters_certificate.py +++ b/openstack/tests/unit/cloud/test_coe_clusters_certificate.py @@ -51,7 +51,7 @@ class TestCOEClusters(base.TestCase): append=None, resource=None, ): - return super(TestCOEClusters, self).get_mock_url( + return super().get_mock_url( service_type=service_type, resource=resource, append=append, diff --git a/openstack/tests/unit/cloud/test_compute.py b/openstack/tests/unit/cloud/test_compute.py index 90f984505..f032b1709 100644 --- a/openstack/tests/unit/cloud/test_compute.py +++ b/openstack/tests/unit/cloud/test_compute.py @@ -49,7 +49,7 @@ class TestNovaExtensions(base.TestCase): ] ) extensions = self.cloud._nova_extensions() - self.assertEqual(set(['NMN', 'OS-DCF']), extensions) + self.assertEqual({'NMN', 'OS-DCF'}, extensions) self.assert_calls() diff --git a/openstack/tests/unit/cloud/test_create_volume_snapshot.py b/openstack/tests/unit/cloud/test_create_volume_snapshot.py index 12ca3aeaf..f19211ba4 100644 --- a/openstack/tests/unit/cloud/test_create_volume_snapshot.py +++ b/openstack/tests/unit/cloud/test_create_volume_snapshot.py @@ -26,7 +26,7 @@ from openstack.tests.unit import base class TestCreateVolumeSnapshot(base.TestCase): def setUp(self): - super(TestCreateVolumeSnapshot, self).setUp() + super().setUp() self.use_cinder() def _compare_snapshots(self, exp, real): diff --git a/openstack/tests/unit/cloud/test_delete_volume_snapshot.py b/openstack/tests/unit/cloud/test_delete_volume_snapshot.py index 77314b42d..6e1c543a8 100644 --- a/openstack/tests/unit/cloud/test_delete_volume_snapshot.py +++ b/openstack/tests/unit/cloud/test_delete_volume_snapshot.py @@ -25,7 +25,7 @@ from openstack.tests.unit import base class TestDeleteVolumeSnapshot(base.TestCase): def setUp(self): - super(TestDeleteVolumeSnapshot, self).setUp() + super().setUp() self.use_cinder() def test_delete_volume_snapshot(self): diff --git a/openstack/tests/unit/cloud/test_domains.py b/openstack/tests/unit/cloud/test_domains.py index 761e7ced5..0150d23e2 100644 --- a/openstack/tests/unit/cloud/test_domains.py +++ b/openstack/tests/unit/cloud/test_domains.py @@ -31,7 +31,7 @@ class TestDomains(base.TestCase): base_url_append='v3', qs_elements=None, ): - return super(TestDomains, self).get_mock_url( + return super().get_mock_url( service_type=service_type, resource=resource, append=append, diff --git a/openstack/tests/unit/cloud/test_endpoints.py b/openstack/tests/unit/cloud/test_endpoints.py index 6077464b5..d992e1555 100644 --- a/openstack/tests/unit/cloud/test_endpoints.py +++ b/openstack/tests/unit/cloud/test_endpoints.py @@ -35,7 +35,7 @@ class TestCloudEndpoints(base.TestCase): append=None, base_url_append='v3', ): - return super(TestCloudEndpoints, self).get_mock_url( + return super().get_mock_url( service_type, interface, resource, append, base_url_append ) diff --git a/openstack/tests/unit/cloud/test_flavors.py b/openstack/tests/unit/cloud/test_flavors.py index 3f9230f59..f65dab2cd 100644 --- a/openstack/tests/unit/cloud/test_flavors.py +++ b/openstack/tests/unit/cloud/test_flavors.py @@ -17,7 +17,7 @@ from openstack.tests.unit import base class TestFlavors(base.TestCase): def setUp(self): - super(TestFlavors, self).setUp() + super().setUp() # self.use_compute_discovery() def test_create_flavor(self): diff --git a/openstack/tests/unit/cloud/test_floating_ip_common.py b/openstack/tests/unit/cloud/test_floating_ip_common.py index 420af74de..d61a93181 100644 --- a/openstack/tests/unit/cloud/test_floating_ip_common.py +++ b/openstack/tests/unit/cloud/test_floating_ip_common.py @@ -106,8 +106,8 @@ class TestFloatingIP(base.TestCase): 'private': [{'addr': "10.223.160.141", 'version': 4}], 'public': [ { - u'OS-EXT-IPS-MAC:mac_addr': u'fa:16:3e:ae:7d:42', - u'OS-EXT-IPS:type': u'fixed', + 'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:ae:7d:42', + 'OS-EXT-IPS:type': 'fixed', 'addr': "2001:4800:7819:103:be76:4eff:fe05:8525", 'version': 6, } diff --git a/openstack/tests/unit/cloud/test_floating_ip_neutron.py b/openstack/tests/unit/cloud/test_floating_ip_neutron.py index e23337581..ad821cb67 100644 --- a/openstack/tests/unit/cloud/test_floating_ip_neutron.py +++ b/openstack/tests/unit/cloud/test_floating_ip_neutron.py @@ -131,7 +131,7 @@ class TestFloatingIP(base.TestCase): self.assertIsInstance(e, elem_type) def setUp(self): - super(TestFloatingIP, self).setUp() + super().setUp() self.fake_server = fakes.make_fake_server( 'server-id', @@ -741,7 +741,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -757,7 +757,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -773,7 +773,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -811,7 +811,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -827,7 +827,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -860,7 +860,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -876,7 +876,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -892,7 +892,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip_id)], + append=['v2.0', f'floatingips/{fip_id}'], ), json={}, ), @@ -945,7 +945,7 @@ class TestFloatingIP(base.TestCase): 'network', 'public', append=['v2.0', 'ports'], - qs_elements=["device_id={0}".format(device_id)], + qs_elements=[f"device_id={device_id}"], ), json={'ports': self.mock_search_ports_rep}, ), @@ -954,7 +954,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip['id'])], + append=['v2.0', 'floatingips/{}'.format(fip['id'])], ), json={ 'floatingip': self.mock_floating_ip_list_rep[ @@ -999,7 +999,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip['id'])], + append=['v2.0', 'floatingips/{}'.format(fip['id'])], ), json={'floatingip': fip}, validate=dict(json={'floatingip': {'port_id': None}}), @@ -1060,7 +1060,7 @@ class TestFloatingIP(base.TestCase): 'public', append=['v2.0', 'ports'], qs_elements=[ - "device_id={0}".format(self.fake_server['id']) + "device_id={}".format(self.fake_server['id']) ], ), json={'ports': self.mock_search_ports_rep}, @@ -1070,7 +1070,7 @@ class TestFloatingIP(base.TestCase): uri=self.get_mock_url( 'network', 'public', - append=['v2.0', 'floatingips/{0}'.format(fip['id'])], + append=['v2.0', 'floatingips/{}'.format(fip['id'])], ), json={'floatingip': fip}, validate=dict( @@ -1141,7 +1141,7 @@ class TestFloatingIP(base.TestCase): 'public', append=[ 'v2.0', - 'floatingips/{0}'.format(floating_ips[0]['id']), + 'floatingips/{}'.format(floating_ips[0]['id']), ], ), json={}, @@ -1161,7 +1161,7 @@ class TestFloatingIP(base.TestCase): 'public', append=[ 'v2.0', - 'floatingips/{0}'.format(floating_ips[1]['id']), + 'floatingips/{}'.format(floating_ips[1]['id']), ], ), json={}, diff --git a/openstack/tests/unit/cloud/test_floating_ip_nova.py b/openstack/tests/unit/cloud/test_floating_ip_nova.py index 9bd9ade49..a1a1d390a 100644 --- a/openstack/tests/unit/cloud/test_floating_ip_nova.py +++ b/openstack/tests/unit/cloud/test_floating_ip_nova.py @@ -67,19 +67,19 @@ class TestFloatingIP(base.TestCase): self.assertIsInstance(e, elem_type) def setUp(self): - super(TestFloatingIP, self).setUp() + super().setUp() self.fake_server = fakes.make_fake_server( 'server-id', '', 'ACTIVE', addresses={ - u'test_pnztt_net': [ + 'test_pnztt_net': [ { - u'OS-EXT-IPS:type': u'fixed', - u'addr': '192.0.2.129', - u'version': 4, - u'OS-EXT-IPS-MAC:mac_addr': u'fa:16:3e:ae:7d:42', + 'OS-EXT-IPS:type': 'fixed', + 'addr': '192.0.2.129', + 'version': 4, + 'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:ae:7d:42', } ] }, diff --git a/openstack/tests/unit/cloud/test_fwaas.py b/openstack/tests/unit/cloud/test_fwaas.py index 708e12d27..599509ce3 100644 --- a/openstack/tests/unit/cloud/test_fwaas.py +++ b/openstack/tests/unit/cloud/test_fwaas.py @@ -52,7 +52,7 @@ class TestFirewallRule(FirewallTestCase): mock_firewall_rule = None def setUp(self, cloud_config_fixture='clouds.yaml'): - super(TestFirewallRule, self).setUp() + super().setUp() self.mock_firewall_rule = FirewallRule( connection=self.cloud, **self._mock_firewall_rule_attrs ).to_dict() @@ -367,7 +367,7 @@ class TestFirewallPolicy(FirewallTestCase): mock_firewall_policy = None def setUp(self, cloud_config_fixture='clouds.yaml'): - super(TestFirewallPolicy, self).setUp() + super().setUp() self.mock_firewall_policy = FirewallPolicy( connection=self.cloud, **self._mock_firewall_policy_attrs ).to_dict() @@ -1206,7 +1206,7 @@ class TestFirewallGroup(FirewallTestCase): mock_returned_firewall_rule = None def setUp(self, cloud_config_fixture='clouds.yaml'): - super(TestFirewallGroup, self).setUp() + super().setUp() self.mock_egress_policy = FirewallPolicy( connection=self.cloud, **self._mock_egress_policy_attrs ).to_dict() diff --git a/openstack/tests/unit/cloud/test_groups.py b/openstack/tests/unit/cloud/test_groups.py index dab4bc3e6..273852dd3 100644 --- a/openstack/tests/unit/cloud/test_groups.py +++ b/openstack/tests/unit/cloud/test_groups.py @@ -16,9 +16,7 @@ from openstack.tests.unit import base class TestGroups(base.TestCase): def setUp(self, cloud_config_fixture='clouds.yaml'): - super(TestGroups, self).setUp( - cloud_config_fixture=cloud_config_fixture - ) + super().setUp(cloud_config_fixture=cloud_config_fixture) self.addCleanup(self.assert_calls) def get_mock_url( @@ -29,7 +27,7 @@ class TestGroups(base.TestCase): append=None, base_url_append='v3', ): - return super(TestGroups, self).get_mock_url( + return super().get_mock_url( service_type='identity', interface=interface, resource=resource, diff --git a/openstack/tests/unit/cloud/test_identity_roles.py b/openstack/tests/unit/cloud/test_identity_roles.py index c89562834..1349d7ec2 100644 --- a/openstack/tests/unit/cloud/test_identity_roles.py +++ b/openstack/tests/unit/cloud/test_identity_roles.py @@ -44,7 +44,7 @@ class TestIdentityRoles(base.TestCase): base_url_append='v3', qs_elements=None, ): - return super(TestIdentityRoles, self).get_mock_url( + return super().get_mock_url( service_type, interface, resource, @@ -75,7 +75,7 @@ class TestIdentityRoles(base.TestCase): dict( method='GET', uri=self.get_mock_url( - qs_elements=['name={0}'.format(role_data.role_name)] + qs_elements=[f'name={role_data.role_name}'] ), status_code=200, json={'roles': [role_data.json_response['role']]}, diff --git a/openstack/tests/unit/cloud/test_identity_users.py b/openstack/tests/unit/cloud/test_identity_users.py index 93b85500a..97e6ca433 100644 --- a/openstack/tests/unit/cloud/test_identity_users.py +++ b/openstack/tests/unit/cloud/test_identity_users.py @@ -25,7 +25,7 @@ class TestIdentityUsers(base.TestCase): base_url_append='v3', qs_elements=None, ): - return super(TestIdentityUsers, self).get_mock_url( + return super().get_mock_url( service_type, interface, resource, diff --git a/openstack/tests/unit/cloud/test_image.py b/openstack/tests/unit/cloud/test_image.py index 8204895cf..18fc33853 100644 --- a/openstack/tests/unit/cloud/test_image.py +++ b/openstack/tests/unit/cloud/test_image.py @@ -32,10 +32,10 @@ IMPORT_METHODS = 'glance-direct,web-download' class BaseTestImage(base.TestCase): def setUp(self): - super(BaseTestImage, self).setUp() + super().setUp() self.image_id = str(uuid.uuid4()) self.image_name = self.getUniqueString('image') - self.object_name = 'images/{name}'.format(name=self.image_name) + self.object_name = f'images/{self.image_name}' self.imagefile = tempfile.NamedTemporaryFile(delete=False) data = b'\2\0' self.imagefile.write(data) @@ -64,7 +64,7 @@ class BaseTestImage(base.TestCase): class TestImage(BaseTestImage): def setUp(self): - super(TestImage, self).setUp() + super().setUp() self.use_glance() def test_download_image_no_output(self): @@ -428,7 +428,7 @@ class TestImage(BaseTestImage): 'image', append=['images'], base_url_append='v2', - qs_elements=['marker={marker}'.format(marker=marker)], + qs_elements=[f'marker={marker}'], ), json=self.fake_search_return, ), @@ -1217,7 +1217,7 @@ class TestImage(BaseTestImage): timeout=1, is_public=False, validate_checksum=True, - **kwargs + **kwargs, ) def test_create_image_put_v1(self): @@ -1385,7 +1385,7 @@ class TestImage(BaseTestImage): 'owner_specified.openstack.object': 'images/{name}'.format( name=self.image_name ) - } + }, ) self.assert_calls() @@ -1854,7 +1854,7 @@ class TestImage(BaseTestImage): class TestImageSuburl(BaseTestImage): def setUp(self): - super(TestImageSuburl, self).setUp() + super().setUp() self.os_fixture.use_suburl() self.os_fixture.build_tokens() self.use_keystone_v3() @@ -1903,7 +1903,7 @@ class TestImageSuburl(BaseTestImage): 'image', append=['images'], base_url_append='v2', - qs_elements=['marker={marker}'.format(marker=marker)], + qs_elements=[f'marker={marker}'], ), json=self.fake_search_return, ), @@ -1921,7 +1921,7 @@ class TestImageSuburl(BaseTestImage): class TestImageVolume(BaseTestImage): def setUp(self): - super(TestImageVolume, self).setUp() + super().setUp() self.volume_id = str(uuid.uuid4()) def test_create_image_volume(self): diff --git a/openstack/tests/unit/cloud/test_image_snapshot.py b/openstack/tests/unit/cloud/test_image_snapshot.py index 71006b611..bf497f794 100644 --- a/openstack/tests/unit/cloud/test_image_snapshot.py +++ b/openstack/tests/unit/cloud/test_image_snapshot.py @@ -21,7 +21,7 @@ from openstack.tests.unit import base class TestImageSnapshot(base.TestCase): def setUp(self): - super(TestImageSnapshot, self).setUp() + super().setUp() self.server_id = str(uuid.uuid4()) self.image_id = str(uuid.uuid4()) self.server_name = self.getUniqueString('name') diff --git a/openstack/tests/unit/cloud/test_inventory.py b/openstack/tests/unit/cloud/test_inventory.py index c6520897e..b2c65a5e2 100644 --- a/openstack/tests/unit/cloud/test_inventory.py +++ b/openstack/tests/unit/cloud/test_inventory.py @@ -20,7 +20,7 @@ from openstack.tests.unit import base class TestInventory(base.TestCase): def setUp(self): - super(TestInventory, self).setUp() + super().setUp() @mock.patch("openstack.config.loader.OpenStackConfig") @mock.patch("openstack.connection.Connection") diff --git a/openstack/tests/unit/cloud/test_keypair.py b/openstack/tests/unit/cloud/test_keypair.py index 433cf13c3..79694f404 100644 --- a/openstack/tests/unit/cloud/test_keypair.py +++ b/openstack/tests/unit/cloud/test_keypair.py @@ -20,7 +20,7 @@ from openstack.tests.unit import base class TestKeypair(base.TestCase): def setUp(self): - super(TestKeypair, self).setUp() + super().setUp() self.keyname = self.getUniqueString('key') self.key = fakes.make_fake_keypair(self.keyname) self.useFixture( diff --git a/openstack/tests/unit/cloud/test_limits.py b/openstack/tests/unit/cloud/test_limits.py index ed67290fd..6fbf8a531 100644 --- a/openstack/tests/unit/cloud/test_limits.py +++ b/openstack/tests/unit/cloud/test_limits.py @@ -68,9 +68,7 @@ class TestLimits(base.TestCase): 'compute', 'public', append=['limits'], - qs_elements=[ - 'tenant_id={id}'.format(id=project.project_id) - ], + qs_elements=[f'tenant_id={project.project_id}'], ), json={ "limits": { diff --git a/openstack/tests/unit/cloud/test_meta.py b/openstack/tests/unit/cloud/test_meta.py index 7a03c3a4c..7b40371d5 100644 --- a/openstack/tests/unit/cloud/test_meta.py +++ b/openstack/tests/unit/cloud/test_meta.py @@ -103,136 +103,132 @@ standard_fake_server['metadata'] = {'group': 'test-group'} SUBNETS_WITH_NAT = [ { - u'name': u'', - u'enable_dhcp': True, - u'network_id': u'5ef0358f-9403-4f7b-9151-376ca112abf7', - u'tenant_id': u'29c79f394b2946f1a0f8446d715dc301', - u'dns_nameservers': [], - u'ipv6_ra_mode': None, - u'allocation_pools': [ - {u'start': u'10.10.10.2', u'end': u'10.10.10.254'} - ], - u'gateway_ip': u'10.10.10.1', - u'ipv6_address_mode': None, - u'ip_version': 4, - u'host_routes': [], - u'cidr': u'10.10.10.0/24', - u'id': u'14025a85-436e-4418-b0ee-f5b12a50f9b4', + 'name': '', + 'enable_dhcp': True, + 'network_id': '5ef0358f-9403-4f7b-9151-376ca112abf7', + 'tenant_id': '29c79f394b2946f1a0f8446d715dc301', + 'dns_nameservers': [], + 'ipv6_ra_mode': None, + 'allocation_pools': [{'start': '10.10.10.2', 'end': '10.10.10.254'}], + 'gateway_ip': '10.10.10.1', + 'ipv6_address_mode': None, + 'ip_version': 4, + 'host_routes': [], + 'cidr': '10.10.10.0/24', + 'id': '14025a85-436e-4418-b0ee-f5b12a50f9b4', }, ] OSIC_NETWORKS = [ { - u'admin_state_up': True, - u'id': u'7004a83a-13d3-4dcd-8cf5-52af1ace4cae', - u'mtu': 0, - u'name': u'GATEWAY_NET', - u'router:external': True, - u'shared': True, - u'status': u'ACTIVE', - u'subnets': [u'cf785ee0-6cc9-4712-be3d-0bf6c86cf455'], - u'tenant_id': u'7a1ca9f7cc4e4b13ac0ed2957f1e8c32', + 'admin_state_up': True, + 'id': '7004a83a-13d3-4dcd-8cf5-52af1ace4cae', + 'mtu': 0, + 'name': 'GATEWAY_NET', + 'router:external': True, + 'shared': True, + 'status': 'ACTIVE', + 'subnets': ['cf785ee0-6cc9-4712-be3d-0bf6c86cf455'], + 'tenant_id': '7a1ca9f7cc4e4b13ac0ed2957f1e8c32', }, { - u'admin_state_up': True, - u'id': u'405abfcc-77dc-49b2-a271-139619ac9b26', - u'mtu': 0, - u'name': u'openstackjenkins-network1', - u'router:external': False, - u'shared': False, - u'status': u'ACTIVE', - u'subnets': [u'a47910bc-f649-45db-98ec-e2421c413f4e'], - u'tenant_id': u'7e9c4d5842b3451d94417bd0af03a0f4', + 'admin_state_up': True, + 'id': '405abfcc-77dc-49b2-a271-139619ac9b26', + 'mtu': 0, + 'name': 'openstackjenkins-network1', + 'router:external': False, + 'shared': False, + 'status': 'ACTIVE', + 'subnets': ['a47910bc-f649-45db-98ec-e2421c413f4e'], + 'tenant_id': '7e9c4d5842b3451d94417bd0af03a0f4', }, { - u'admin_state_up': True, - u'id': u'54753d2c-0a58-4928-9b32-084c59dd20a6', - u'mtu': 0, - u'name': u'GATEWAY_NET_V6', - u'router:external': True, - u'shared': True, - u'status': u'ACTIVE', - u'subnets': [ - u'9c21d704-a8b9-409a-b56d-501cb518d380', - u'7cb0ce07-64c3-4a3d-92d3-6f11419b45b9', + 'admin_state_up': True, + 'id': '54753d2c-0a58-4928-9b32-084c59dd20a6', + 'mtu': 0, + 'name': 'GATEWAY_NET_V6', + 'router:external': True, + 'shared': True, + 'status': 'ACTIVE', + 'subnets': [ + '9c21d704-a8b9-409a-b56d-501cb518d380', + '7cb0ce07-64c3-4a3d-92d3-6f11419b45b9', ], - u'tenant_id': u'7a1ca9f7cc4e4b13ac0ed2957f1e8c32', + 'tenant_id': '7a1ca9f7cc4e4b13ac0ed2957f1e8c32', }, ] OSIC_SUBNETS = [ { - u'allocation_pools': [ - {u'end': u'172.99.106.254', u'start': u'172.99.106.5'} + 'allocation_pools': [ + {'end': '172.99.106.254', 'start': '172.99.106.5'} ], - u'cidr': u'172.99.106.0/24', - u'dns_nameservers': [u'69.20.0.164', u'69.20.0.196'], - u'enable_dhcp': True, - u'gateway_ip': u'172.99.106.1', - u'host_routes': [], - u'id': u'cf785ee0-6cc9-4712-be3d-0bf6c86cf455', - u'ip_version': 4, - u'ipv6_address_mode': None, - u'ipv6_ra_mode': None, - u'name': u'GATEWAY_NET', - u'network_id': u'7004a83a-13d3-4dcd-8cf5-52af1ace4cae', - u'subnetpool_id': None, - u'tenant_id': u'7a1ca9f7cc4e4b13ac0ed2957f1e8c32', + 'cidr': '172.99.106.0/24', + 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], + 'enable_dhcp': True, + 'gateway_ip': '172.99.106.1', + 'host_routes': [], + 'id': 'cf785ee0-6cc9-4712-be3d-0bf6c86cf455', + 'ip_version': 4, + 'ipv6_address_mode': None, + 'ipv6_ra_mode': None, + 'name': 'GATEWAY_NET', + 'network_id': '7004a83a-13d3-4dcd-8cf5-52af1ace4cae', + 'subnetpool_id': None, + 'tenant_id': '7a1ca9f7cc4e4b13ac0ed2957f1e8c32', }, { - u'allocation_pools': [{u'end': u'10.0.1.254', u'start': u'10.0.1.2'}], - u'cidr': u'10.0.1.0/24', - u'dns_nameservers': [u'8.8.8.8', u'8.8.4.4'], - u'enable_dhcp': True, - u'gateway_ip': u'10.0.1.1', - u'host_routes': [], - u'id': u'a47910bc-f649-45db-98ec-e2421c413f4e', - u'ip_version': 4, - u'ipv6_address_mode': None, - u'ipv6_ra_mode': None, - u'name': u'openstackjenkins-subnet1', - u'network_id': u'405abfcc-77dc-49b2-a271-139619ac9b26', - u'subnetpool_id': None, - u'tenant_id': u'7e9c4d5842b3451d94417bd0af03a0f4', + 'allocation_pools': [{'end': '10.0.1.254', 'start': '10.0.1.2'}], + 'cidr': '10.0.1.0/24', + 'dns_nameservers': ['8.8.8.8', '8.8.4.4'], + 'enable_dhcp': True, + 'gateway_ip': '10.0.1.1', + 'host_routes': [], + 'id': 'a47910bc-f649-45db-98ec-e2421c413f4e', + 'ip_version': 4, + 'ipv6_address_mode': None, + 'ipv6_ra_mode': None, + 'name': 'openstackjenkins-subnet1', + 'network_id': '405abfcc-77dc-49b2-a271-139619ac9b26', + 'subnetpool_id': None, + 'tenant_id': '7e9c4d5842b3451d94417bd0af03a0f4', }, { - u'allocation_pools': [ - {u'end': u'10.255.255.254', u'start': u'10.0.0.2'} - ], - u'cidr': u'10.0.0.0/8', - u'dns_nameservers': [u'8.8.8.8', u'8.8.4.4'], - u'enable_dhcp': True, - u'gateway_ip': u'10.0.0.1', - u'host_routes': [], - u'id': u'9c21d704-a8b9-409a-b56d-501cb518d380', - u'ip_version': 4, - u'ipv6_address_mode': None, - u'ipv6_ra_mode': None, - u'name': u'GATEWAY_SUBNET_V6V4', - u'network_id': u'54753d2c-0a58-4928-9b32-084c59dd20a6', - u'subnetpool_id': None, - u'tenant_id': u'7a1ca9f7cc4e4b13ac0ed2957f1e8c32', + 'allocation_pools': [{'end': '10.255.255.254', 'start': '10.0.0.2'}], + 'cidr': '10.0.0.0/8', + 'dns_nameservers': ['8.8.8.8', '8.8.4.4'], + 'enable_dhcp': True, + 'gateway_ip': '10.0.0.1', + 'host_routes': [], + 'id': '9c21d704-a8b9-409a-b56d-501cb518d380', + 'ip_version': 4, + 'ipv6_address_mode': None, + 'ipv6_ra_mode': None, + 'name': 'GATEWAY_SUBNET_V6V4', + 'network_id': '54753d2c-0a58-4928-9b32-084c59dd20a6', + 'subnetpool_id': None, + 'tenant_id': '7a1ca9f7cc4e4b13ac0ed2957f1e8c32', }, { - u'allocation_pools': [ + 'allocation_pools': [ { - u'end': u'2001:4800:1ae1:18:ffff:ffff:ffff:ffff', - u'start': u'2001:4800:1ae1:18::2', + 'end': '2001:4800:1ae1:18:ffff:ffff:ffff:ffff', + 'start': '2001:4800:1ae1:18::2', } ], - u'cidr': u'2001:4800:1ae1:18::/64', - u'dns_nameservers': [u'2001:4860:4860::8888'], - u'enable_dhcp': True, - u'gateway_ip': u'2001:4800:1ae1:18::1', - u'host_routes': [], - u'id': u'7cb0ce07-64c3-4a3d-92d3-6f11419b45b9', - u'ip_version': 6, - u'ipv6_address_mode': u'dhcpv6-stateless', - u'ipv6_ra_mode': None, - u'name': u'GATEWAY_SUBNET_V6V6', - u'network_id': u'54753d2c-0a58-4928-9b32-084c59dd20a6', - u'subnetpool_id': None, - u'tenant_id': u'7a1ca9f7cc4e4b13ac0ed2957f1e8c32', + 'cidr': '2001:4800:1ae1:18::/64', + 'dns_nameservers': ['2001:4860:4860::8888'], + 'enable_dhcp': True, + 'gateway_ip': '2001:4800:1ae1:18::1', + 'host_routes': [], + 'id': '7cb0ce07-64c3-4a3d-92d3-6f11419b45b9', + 'ip_version': 6, + 'ipv6_address_mode': 'dhcpv6-stateless', + 'ipv6_ra_mode': None, + 'name': 'GATEWAY_SUBNET_V6V6', + 'network_id': '54753d2c-0a58-4928-9b32-084c59dd20a6', + 'subnetpool_id': None, + 'tenant_id': '7a1ca9f7cc4e4b13ac0ed2957f1e8c32', }, ] @@ -460,18 +456,18 @@ class TestMeta(base.TestCase): server_id='test-id', name='test-name', status='ACTIVE', - flavor={u'id': u'1'}, + flavor={'id': '1'}, image={ - 'name': u'cirros-0.3.4-x86_64-uec', - u'id': u'f93d000b-7c29-4489-b375-3641a1758fe1', + 'name': 'cirros-0.3.4-x86_64-uec', + 'id': 'f93d000b-7c29-4489-b375-3641a1758fe1', }, addresses={ - u'test_pnztt_net': [ + 'test_pnztt_net': [ { - u'OS-EXT-IPS:type': u'fixed', - u'addr': PRIVATE_V4, - u'version': 4, - u'OS-EXT-IPS-MAC:mac_addr': u'fa:16:3e:ae:7d:42', + 'OS-EXT-IPS:type': 'fixed', + 'addr': PRIVATE_V4, + 'version': 4, + 'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:ae:7d:42', } ] }, @@ -563,18 +559,18 @@ class TestMeta(base.TestCase): server_id='test-id', name='test-name', status='ACTIVE', - flavor={u'id': u'1'}, + flavor={'id': '1'}, image={ - 'name': u'cirros-0.3.4-x86_64-uec', - u'id': u'f93d000b-7c29-4489-b375-3641a1758fe1', + 'name': 'cirros-0.3.4-x86_64-uec', + 'id': 'f93d000b-7c29-4489-b375-3641a1758fe1', }, addresses={ - u'test_pnztt_net': [ + 'test_pnztt_net': [ { - u'OS-EXT-IPS:type': u'fixed', - u'addr': PRIVATE_V4, - u'version': 4, - u'OS-EXT-IPS-MAC:mac_addr': u'fa:16:3e:ae:7d:42', + 'OS-EXT-IPS:type': 'fixed', + 'addr': PRIVATE_V4, + 'version': 4, + 'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:ae:7d:42', } ] }, @@ -641,16 +637,16 @@ class TestMeta(base.TestCase): server_id='test-id', name='test-name', status='ACTIVE', - flavor={u'id': u'1'}, + flavor={'id': '1'}, image={ - 'name': u'cirros-0.3.4-x86_64-uec', - u'id': u'f93d000b-7c29-4489-b375-3641a1758fe1', + 'name': 'cirros-0.3.4-x86_64-uec', + 'id': 'f93d000b-7c29-4489-b375-3641a1758fe1', }, addresses={ - u'test_pnztt_net': [ + 'test_pnztt_net': [ { - u'addr': PRIVATE_V4, - u'version': 4, + 'addr': PRIVATE_V4, + 'version': 4, } ] }, @@ -722,16 +718,16 @@ class TestMeta(base.TestCase): server_id='test-id', name='test-name', status='ACTIVE', - flavor={u'id': u'1'}, + flavor={'id': '1'}, image={ - 'name': u'cirros-0.3.4-x86_64-uec', - u'id': u'f93d000b-7c29-4489-b375-3641a1758fe1', + 'name': 'cirros-0.3.4-x86_64-uec', + 'id': 'f93d000b-7c29-4489-b375-3641a1758fe1', }, addresses={ - u'test_pnztt_net': [ + 'test_pnztt_net': [ { - u'addr': PRIVATE_V4, - u'version': 4, + 'addr': PRIVATE_V4, + 'version': 4, 'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:ae:7d:42', } ] @@ -838,10 +834,10 @@ class TestMeta(base.TestCase): server_id='test-id', name='test-name', status='ACTIVE', - flavor={u'id': u'1'}, + flavor={'id': '1'}, image={ - 'name': u'cirros-0.3.4-x86_64-uec', - u'id': u'f93d000b-7c29-4489-b375-3641a1758fe1', + 'name': 'cirros-0.3.4-x86_64-uec', + 'id': 'f93d000b-7c29-4489-b375-3641a1758fe1', }, addresses={ 'private': [{'addr': "10.223.160.141", 'version': 4}], @@ -910,10 +906,10 @@ class TestMeta(base.TestCase): server_id='test-id', name='test-name', status='ACTIVE', - flavor={u'id': u'1'}, + flavor={'id': '1'}, image={ - 'name': u'cirros-0.3.4-x86_64-uec', - u'id': u'f93d000b-7c29-4489-b375-3641a1758fe1', + 'name': 'cirros-0.3.4-x86_64-uec', + 'id': 'f93d000b-7c29-4489-b375-3641a1758fe1', }, addresses={ 'private': [{'addr': "10.223.160.141", 'version': 4}], @@ -1354,7 +1350,7 @@ class TestMeta(base.TestCase): 'domain_id': None, 'domain_name': 'default', }, - 'region_name': u'RegionOne', + 'region_name': 'RegionOne', 'zone': None, }, self.cloud.current_location, diff --git a/openstack/tests/unit/cloud/test_network.py b/openstack/tests/unit/cloud/test_network.py index 1490799c0..e7ae1da97 100644 --- a/openstack/tests/unit/cloud/test_network.py +++ b/openstack/tests/unit/cloud/test_network.py @@ -50,7 +50,7 @@ class TestNeutronExtensions(base.TestCase): ] ) extensions = self.cloud._neutron_extensions() - self.assertEqual(set(['dvr', 'allowed-address-pairs']), extensions) + self.assertEqual({'dvr', 'allowed-address-pairs'}, extensions) self.assert_calls() diff --git a/openstack/tests/unit/cloud/test_object.py b/openstack/tests/unit/cloud/test_object.py index 643b41d6e..fc7a1f4c3 100644 --- a/openstack/tests/unit/cloud/test_object.py +++ b/openstack/tests/unit/cloud/test_object.py @@ -28,7 +28,7 @@ from openstack import utils class BaseTestObject(base.TestCase): def setUp(self): - super(BaseTestObject, self).setUp() + super().setUp() self.container = self.getUniqueString() self.object = self.getUniqueString() @@ -333,8 +333,8 @@ class TestObject(BaseTestObject): self.cloud.get_container_access(self.container) def test_list_containers(self): - endpoint = '{endpoint}/'.format(endpoint=self.endpoint) - containers = [{u'count': 0, u'bytes': 0, u'name': self.container}] + endpoint = f'{self.endpoint}/' + containers = [{'count': 0, 'bytes': 0, 'name': self.container}] self.register_uris( [ @@ -354,7 +354,7 @@ class TestObject(BaseTestObject): self._compare_containers(a, b) def test_list_containers_exception(self): - endpoint = '{endpoint}/'.format(endpoint=self.endpoint) + endpoint = f'{self.endpoint}/' self.register_uris( [ dict( @@ -598,11 +598,11 @@ class TestObject(BaseTestObject): objects = [ { - u'bytes': 20304400896, - u'last_modified': u'2016-12-15T13:34:13.650090', - u'hash': u'daaf9ed2106d09bba96cf193d866445e', - u'name': self.object, - u'content_type': u'application/octet-stream', + 'bytes': 20304400896, + 'last_modified': '2016-12-15T13:34:13.650090', + 'hash': 'daaf9ed2106d09bba96cf193d866445e', + 'name': self.object, + 'content_type': 'application/octet-stream', } ] @@ -623,11 +623,11 @@ class TestObject(BaseTestObject): objects = [ { - u'bytes': 20304400896, - u'last_modified': u'2016-12-15T13:34:13.650090', - u'hash': u'daaf9ed2106d09bba96cf193d866445e', - u'name': self.object, - u'content_type': u'application/octet-stream', + 'bytes': 20304400896, + 'last_modified': '2016-12-15T13:34:13.650090', + 'hash': 'daaf9ed2106d09bba96cf193d866445e', + 'name': self.object, + 'content_type': 'application/octet-stream', } ] @@ -879,7 +879,7 @@ class TestObject(BaseTestObject): class TestObjectUploads(BaseTestObject): def setUp(self): - super(TestObjectUploads, self).setUp() + super().setUp() self.content = self.getUniqueString().encode('latin-1') self.object_file = tempfile.NamedTemporaryFile(delete=False) @@ -1106,7 +1106,7 @@ class TestObjectUploads(BaseTestObject): index=index, ), status_code=201, - headers=dict(Etag='etag{index}'.format(index=index)), + headers=dict(Etag=f'etag{index}'), ) for index, offset in enumerate( range(0, len(self.content), max_file_size) @@ -1228,7 +1228,7 @@ class TestObjectUploads(BaseTestObject): index=index, ), status_code=201, - headers=dict(Etag='etag{index}'.format(index=index)), + headers=dict(Etag=f'etag{index}'), ) for index, offset in enumerate( range(0, len(self.content), max_file_size) @@ -1387,7 +1387,7 @@ class TestObjectUploads(BaseTestObject): index=index, ), status_code=201, - headers=dict(Etag='etag{index}'.format(index=index)), + headers=dict(Etag=f'etag{index}'), ) for index, offset in enumerate( range(0, len(self.content), max_file_size) diff --git a/openstack/tests/unit/cloud/test_openstackcloud.py b/openstack/tests/unit/cloud/test_openstackcloud.py index d2a9e33b3..8f69c069f 100644 --- a/openstack/tests/unit/cloud/test_openstackcloud.py +++ b/openstack/tests/unit/cloud/test_openstackcloud.py @@ -26,7 +26,7 @@ class TestSearch(base.TestCase): foo = resource.Body("foo") def setUp(self): - super(TestSearch, self).setUp() + super().setUp() self.session = proxy.Proxy(self.cloud) self.session._sdk_connection = self.cloud diff --git a/openstack/tests/unit/cloud/test_operator_noauth.py b/openstack/tests/unit/cloud/test_operator_noauth.py index 1dacd43ac..c3b83b652 100644 --- a/openstack/tests/unit/cloud/test_operator_noauth.py +++ b/openstack/tests/unit/cloud/test_operator_noauth.py @@ -28,7 +28,7 @@ class TestOpenStackCloudOperatorNoAuth(base.TestCase): Uses base.TestCase instead of IronicTestCase because we need to do completely different things with discovery. """ - super(TestOpenStackCloudOperatorNoAuth, self).setUp() + super().setUp() # By clearing the URI registry, we remove all calls to a keystone # catalog or getting a token self._uri_registry.clear() @@ -129,7 +129,7 @@ class TestOpenStackCloudOperatorNoAuthUnversioned(base.TestCase): Uses base.TestCase instead of IronicTestCase because we need to do completely different things with discovery. """ - super(TestOpenStackCloudOperatorNoAuthUnversioned, self).setUp() + super().setUp() # By clearing the URI registry, we remove all calls to a keystone # catalog or getting a token self._uri_registry.clear() diff --git a/openstack/tests/unit/cloud/test_project.py b/openstack/tests/unit/cloud/test_project.py index 244c9d115..dfbf4b05b 100644 --- a/openstack/tests/unit/cloud/test_project.py +++ b/openstack/tests/unit/cloud/test_project.py @@ -36,7 +36,7 @@ class TestProject(base.TestCase): resource = 'tenants' if base_url_append is None and v3: base_url_append = 'v3' - return super(TestProject, self).get_mock_url( + return super().get_mock_url( service_type=service_type, interface=interface, resource=resource, diff --git a/openstack/tests/unit/cloud/test_qos_rule_type.py b/openstack/tests/unit/cloud/test_qos_rule_type.py index 374ad831d..21d85f32c 100644 --- a/openstack/tests/unit/cloud/test_qos_rule_type.py +++ b/openstack/tests/unit/cloud/test_qos_rule_type.py @@ -54,12 +54,12 @@ class TestQosRuleType(base.TestCase): { 'parameter_values': {'start': 0, 'end': 2147483647}, 'parameter_type': 'range', - 'parameter_name': u'max_kbps', + 'parameter_name': 'max_kbps', }, { 'parameter_values': ['ingress', 'egress'], 'parameter_type': 'choices', - 'parameter_name': u'direction', + 'parameter_name': 'direction', }, { 'parameter_values': {'start': 0, 'end': 2147483647}, diff --git a/openstack/tests/unit/cloud/test_quotas.py b/openstack/tests/unit/cloud/test_quotas.py index 35d61fb18..50dbe7f41 100644 --- a/openstack/tests/unit/cloud/test_quotas.py +++ b/openstack/tests/unit/cloud/test_quotas.py @@ -34,9 +34,7 @@ fake_quota_set = { class TestQuotas(base.TestCase): def setUp(self, cloud_config_fixture='clouds.yaml'): - super(TestQuotas, self).setUp( - cloud_config_fixture=cloud_config_fixture - ) + super().setUp(cloud_config_fixture=cloud_config_fixture) def test_update_quotas(self): project = self._get_project_data() diff --git a/openstack/tests/unit/cloud/test_rebuild_server.py b/openstack/tests/unit/cloud/test_rebuild_server.py index cc96d91b7..b187fd037 100644 --- a/openstack/tests/unit/cloud/test_rebuild_server.py +++ b/openstack/tests/unit/cloud/test_rebuild_server.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -28,7 +26,7 @@ from openstack.tests.unit import base class TestRebuildServer(base.TestCase): def setUp(self): - super(TestRebuildServer, self).setUp() + super().setUp() self.server_id = str(uuid.uuid4()) self.server_name = self.getUniqueString('name') self.fake_server = fakes.make_fake_server( diff --git a/openstack/tests/unit/cloud/test_recordset.py b/openstack/tests/unit/cloud/test_recordset.py index b5e376030..181d5b41a 100644 --- a/openstack/tests/unit/cloud/test_recordset.py +++ b/openstack/tests/unit/cloud/test_recordset.py @@ -35,7 +35,7 @@ class RecordsetTestWrapper(test_zone.ZoneTestWrapper): class TestRecordset(base.TestCase): def setUp(self): - super(TestRecordset, self).setUp() + super().setUp() self.use_designate() def test_create_recordset_zoneid(self): diff --git a/openstack/tests/unit/cloud/test_role_assignment.py b/openstack/tests/unit/cloud/test_role_assignment.py index 45d213c7f..7a0c2452e 100644 --- a/openstack/tests/unit/cloud/test_role_assignment.py +++ b/openstack/tests/unit/cloud/test_role_assignment.py @@ -48,7 +48,7 @@ class TestRoleAssignment(base.TestCase): ] def setUp(self, cloud_config_fixture='clouds.yaml'): - super(TestRoleAssignment, self).setUp(cloud_config_fixture) + super().setUp(cloud_config_fixture) self.role_data = self._get_role_data() self.domain_data = self._get_domain_data() self.user_data = self._get_user_data( @@ -120,7 +120,7 @@ class TestRoleAssignment(base.TestCase): base_url_append='v3', qs_elements=None, ): - return super(TestRoleAssignment, self).get_mock_url( + return super().get_mock_url( service_type, interface, resource, @@ -1744,7 +1744,7 @@ class TestRoleAssignment(base.TestCase): with testtools.ExpectedException( exceptions.SDKException, - 'Role {0} not found'.format(self.role_data.role_name), + f'Role {self.role_data.role_name} not found', ): self.cloud.grant_role( self.role_data.role_name, @@ -1784,7 +1784,7 @@ class TestRoleAssignment(base.TestCase): with testtools.ExpectedException( exceptions.SDKException, - 'Role {0} not found'.format(self.role_data.role_name), + f'Role {self.role_data.role_name} not found', ): self.cloud.revoke_role( self.role_data.role_name, diff --git a/openstack/tests/unit/cloud/test_router.py b/openstack/tests/unit/cloud/test_router.py index 2d3dd6955..ab67ac385 100644 --- a/openstack/tests/unit/cloud/test_router.py +++ b/openstack/tests/unit/cloud/test_router.py @@ -32,17 +32,17 @@ class TestRouter(base.TestCase): 'admin_state_up': True, 'availability_zone_hints': [], 'availability_zones': [], - 'description': u'', + 'description': '', 'distributed': False, 'external_gateway_info': None, 'flavor_id': None, 'ha': False, 'id': router_id, 'name': router_name, - 'project_id': u'861808a93da0484ea1767967c4df8a23', + 'project_id': '861808a93da0484ea1767967c4df8a23', 'routes': [{"destination": "179.24.1.0/24", "nexthop": "172.24.3.99"}], - 'status': u'ACTIVE', - 'tenant_id': u'861808a93da0484ea1767967c4df8a23', + 'status': 'ACTIVE', + 'tenant_id': '861808a93da0484ea1767967c4df8a23', } mock_router_interface_rep = { diff --git a/openstack/tests/unit/cloud/test_security_groups.py b/openstack/tests/unit/cloud/test_security_groups.py index cee8b52a1..9ccb8a593 100644 --- a/openstack/tests/unit/cloud/test_security_groups.py +++ b/openstack/tests/unit/cloud/test_security_groups.py @@ -55,7 +55,7 @@ nova_grp_dict = fakes.make_fake_nova_security_group( class TestSecurityGroups(base.TestCase): def setUp(self): - super(TestSecurityGroups, self).setUp() + super().setUp() self.has_neutron = True def fake_has_service(*args, **kwargs): diff --git a/openstack/tests/unit/cloud/test_server_console.py b/openstack/tests/unit/cloud/test_server_console.py index abfb52e6a..872fe27d8 100644 --- a/openstack/tests/unit/cloud/test_server_console.py +++ b/openstack/tests/unit/cloud/test_server_console.py @@ -18,7 +18,7 @@ from openstack.tests.unit import base class TestServerConsole(base.TestCase): def setUp(self): - super(TestServerConsole, self).setUp() + super().setUp() self.server_id = str(uuid.uuid4()) self.server_name = self.getUniqueString('name') diff --git a/openstack/tests/unit/cloud/test_server_delete_metadata.py b/openstack/tests/unit/cloud/test_server_delete_metadata.py index 3e98bfdde..94f912433 100644 --- a/openstack/tests/unit/cloud/test_server_delete_metadata.py +++ b/openstack/tests/unit/cloud/test_server_delete_metadata.py @@ -26,7 +26,7 @@ from openstack.tests.unit import base class TestServerDeleteMetadata(base.TestCase): def setUp(self): - super(TestServerDeleteMetadata, self).setUp() + super().setUp() self.server_id = str(uuid.uuid4()) self.server_name = self.getUniqueString('name') self.fake_server = fakes.make_fake_server( diff --git a/openstack/tests/unit/cloud/test_server_group.py b/openstack/tests/unit/cloud/test_server_group.py index fc1443221..14c10d23c 100644 --- a/openstack/tests/unit/cloud/test_server_group.py +++ b/openstack/tests/unit/cloud/test_server_group.py @@ -19,7 +19,7 @@ from openstack.tests.unit import base class TestServerGroup(base.TestCase): def setUp(self): - super(TestServerGroup, self).setUp() + super().setUp() self.group_id = uuid.uuid4().hex self.group_name = self.getUniqueString('server-group') self.policies = ['affinity'] diff --git a/openstack/tests/unit/cloud/test_server_set_metadata.py b/openstack/tests/unit/cloud/test_server_set_metadata.py index 974509949..d27724a27 100644 --- a/openstack/tests/unit/cloud/test_server_set_metadata.py +++ b/openstack/tests/unit/cloud/test_server_set_metadata.py @@ -26,7 +26,7 @@ from openstack.tests.unit import base class TestServerSetMetadata(base.TestCase): def setUp(self): - super(TestServerSetMetadata, self).setUp() + super().setUp() self.server_id = str(uuid.uuid4()) self.server_name = self.getUniqueString('name') self.fake_server = fakes.make_fake_server( diff --git a/openstack/tests/unit/cloud/test_services.py b/openstack/tests/unit/cloud/test_services.py index d9d2e94e8..3ea0d619b 100644 --- a/openstack/tests/unit/cloud/test_services.py +++ b/openstack/tests/unit/cloud/test_services.py @@ -27,7 +27,7 @@ from openstack.tests.unit import base class CloudServices(base.TestCase): def setUp(self, cloud_config_fixture='clouds.yaml'): - super(CloudServices, self).setUp(cloud_config_fixture) + super().setUp(cloud_config_fixture) def get_mock_url( self, @@ -37,7 +37,7 @@ class CloudServices(base.TestCase): append=None, base_url_append='v3', ): - return super(CloudServices, self).get_mock_url( + return super().get_mock_url( service_type, interface, resource, append, base_url_append ) diff --git a/openstack/tests/unit/cloud/test_shared_file_system.py b/openstack/tests/unit/cloud/test_shared_file_system.py index 2463b5fe8..f87fc3132 100644 --- a/openstack/tests/unit/cloud/test_shared_file_system.py +++ b/openstack/tests/unit/cloud/test_shared_file_system.py @@ -26,7 +26,7 @@ MANILA_AZ_DICT = { class TestSharedFileSystem(base.TestCase): def setUp(self): - super(TestSharedFileSystem, self).setUp() + super().setUp() self.use_manila() def test_list_availability_zones(self): diff --git a/openstack/tests/unit/cloud/test_stack.py b/openstack/tests/unit/cloud/test_stack.py index 0246124f1..91b7acce1 100644 --- a/openstack/tests/unit/cloud/test_stack.py +++ b/openstack/tests/unit/cloud/test_stack.py @@ -22,7 +22,7 @@ from openstack.tests.unit import base class TestStack(base.TestCase): def setUp(self): - super(TestStack, self).setUp() + super().setUp() self.stack_id = self.getUniqueString('id') self.stack_name = self.getUniqueString('name') self.stack_tag = self.getUniqueString('tag') diff --git a/openstack/tests/unit/cloud/test_update_server.py b/openstack/tests/unit/cloud/test_update_server.py index 7f800b4ab..275c0f65a 100644 --- a/openstack/tests/unit/cloud/test_update_server.py +++ b/openstack/tests/unit/cloud/test_update_server.py @@ -26,7 +26,7 @@ from openstack.tests.unit import base class TestUpdateServer(base.TestCase): def setUp(self): - super(TestUpdateServer, self).setUp() + super().setUp() self.server_id = str(uuid.uuid4()) self.server_name = self.getUniqueString('name') self.updated_server_name = self.getUniqueString('name2') diff --git a/openstack/tests/unit/cloud/test_usage.py b/openstack/tests/unit/cloud/test_usage.py index e5c34e5d7..910682bf9 100644 --- a/openstack/tests/unit/cloud/test_usage.py +++ b/openstack/tests/unit/cloud/test_usage.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -34,8 +32,8 @@ class TestUsage(base.TestCase): 'public', append=['os-simple-tenant-usage', project.project_id], qs_elements=[ - 'start={now}'.format(now=start.isoformat()), - 'end={now}'.format(now=end.isoformat()), + f'start={start.isoformat()}', + f'end={end.isoformat()}', ], ), json={ diff --git a/openstack/tests/unit/cloud/test_volume_access.py b/openstack/tests/unit/cloud/test_volume_access.py index 6c33842e3..035291b7a 100644 --- a/openstack/tests/unit/cloud/test_volume_access.py +++ b/openstack/tests/unit/cloud/test_volume_access.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -20,7 +18,7 @@ from openstack.tests.unit import base class TestVolumeAccess(base.TestCase): def setUp(self): - super(TestVolumeAccess, self).setUp() + super().setUp() self.use_cinder() def test_list_volume_types(self): diff --git a/openstack/tests/unit/cloud/test_volume_backups.py b/openstack/tests/unit/cloud/test_volume_backups.py index 7e2e53479..8419f0e7f 100644 --- a/openstack/tests/unit/cloud/test_volume_backups.py +++ b/openstack/tests/unit/cloud/test_volume_backups.py @@ -15,7 +15,7 @@ from openstack.tests.unit import base class TestVolumeBackups(base.TestCase): def setUp(self): - super(TestVolumeBackups, self).setUp() + super().setUp() self.use_cinder() def _compare_backups(self, exp, real): diff --git a/openstack/tests/unit/cloud/test_zone.py b/openstack/tests/unit/cloud/test_zone.py index 81a1713c4..d23a3f3ef 100644 --- a/openstack/tests/unit/cloud/test_zone.py +++ b/openstack/tests/unit/cloud/test_zone.py @@ -53,7 +53,7 @@ class ZoneTestWrapper: class TestZone(base.TestCase): def setUp(self): - super(TestZone, self).setUp() + super().setUp() self.use_designate() def test_create_zone(self): diff --git a/openstack/tests/unit/clustering/v1/test_action.py b/openstack/tests/unit/clustering/v1/test_action.py index aeceb4317..464c3ac14 100644 --- a/openstack/tests/unit/clustering/v1/test_action.py +++ b/openstack/tests/unit/clustering/v1/test_action.py @@ -46,7 +46,7 @@ FAKE = { class TestAction(base.TestCase): def setUp(self): - super(TestAction, self).setUp() + super().setUp() def test_basic(self): sot = action.Action() diff --git a/openstack/tests/unit/clustering/v1/test_build_info.py b/openstack/tests/unit/clustering/v1/test_build_info.py index 490dc3dd4..a80f8608c 100644 --- a/openstack/tests/unit/clustering/v1/test_build_info.py +++ b/openstack/tests/unit/clustering/v1/test_build_info.py @@ -26,7 +26,7 @@ FAKE = { class TestBuildInfo(base.TestCase): def setUp(self): - super(TestBuildInfo, self).setUp() + super().setUp() def test_basic(self): sot = build_info.BuildInfo() diff --git a/openstack/tests/unit/clustering/v1/test_cluster.py b/openstack/tests/unit/clustering/v1/test_cluster.py index dc06ff43b..a359150c6 100644 --- a/openstack/tests/unit/clustering/v1/test_cluster.py +++ b/openstack/tests/unit/clustering/v1/test_cluster.py @@ -66,7 +66,7 @@ FAKE_CREATE_RESP = { class TestCluster(base.TestCase): def setUp(self): - super(TestCluster, self).setUp() + super().setUp() def test_basic(self): sot = cluster.Cluster() diff --git a/openstack/tests/unit/clustering/v1/test_cluster_attr.py b/openstack/tests/unit/clustering/v1/test_cluster_attr.py index c0d8bd570..bdbaf56c9 100644 --- a/openstack/tests/unit/clustering/v1/test_cluster_attr.py +++ b/openstack/tests/unit/clustering/v1/test_cluster_attr.py @@ -24,7 +24,7 @@ FAKE = { class TestClusterAttr(base.TestCase): def setUp(self): - super(TestClusterAttr, self).setUp() + super().setUp() def test_basic(self): sot = ca.ClusterAttr() diff --git a/openstack/tests/unit/clustering/v1/test_cluster_policy.py b/openstack/tests/unit/clustering/v1/test_cluster_policy.py index c218b238b..d544664cb 100644 --- a/openstack/tests/unit/clustering/v1/test_cluster_policy.py +++ b/openstack/tests/unit/clustering/v1/test_cluster_policy.py @@ -27,7 +27,7 @@ FAKE = { class TestClusterPolicy(base.TestCase): def setUp(self): - super(TestClusterPolicy, self).setUp() + super().setUp() def test_basic(self): sot = cluster_policy.ClusterPolicy() diff --git a/openstack/tests/unit/clustering/v1/test_event.py b/openstack/tests/unit/clustering/v1/test_event.py index cad15ca78..598931247 100644 --- a/openstack/tests/unit/clustering/v1/test_event.py +++ b/openstack/tests/unit/clustering/v1/test_event.py @@ -35,7 +35,7 @@ FAKE = { class TestEvent(base.TestCase): def setUp(self): - super(TestEvent, self).setUp() + super().setUp() def test_basic(self): sot = event.Event() diff --git a/openstack/tests/unit/clustering/v1/test_policy.py b/openstack/tests/unit/clustering/v1/test_policy.py index f2fa94e41..4cbcd78c2 100644 --- a/openstack/tests/unit/clustering/v1/test_policy.py +++ b/openstack/tests/unit/clustering/v1/test_policy.py @@ -42,7 +42,7 @@ FAKE = { class TestPolicy(base.TestCase): def setUp(self): - super(TestPolicy, self).setUp() + super().setUp() def test_basic(self): sot = policy.Policy() @@ -70,7 +70,7 @@ class TestPolicy(base.TestCase): class TestPolicyValidate(base.TestCase): def setUp(self): - super(TestPolicyValidate, self).setUp() + super().setUp() def test_basic(self): sot = policy.PolicyValidate() diff --git a/openstack/tests/unit/clustering/v1/test_profile.py b/openstack/tests/unit/clustering/v1/test_profile.py index de6d3bf7f..7a2e7ea6f 100644 --- a/openstack/tests/unit/clustering/v1/test_profile.py +++ b/openstack/tests/unit/clustering/v1/test_profile.py @@ -42,7 +42,7 @@ FAKE = { class TestProfile(base.TestCase): def setUp(self): - super(TestProfile, self).setUp() + super().setUp() def test_basic(self): sot = profile.Profile() @@ -72,7 +72,7 @@ class TestProfile(base.TestCase): class TestProfileValidate(base.TestCase): def setUp(self): - super(TestProfileValidate, self).setUp() + super().setUp() def test_basic(self): sot = profile.ProfileValidate() diff --git a/openstack/tests/unit/clustering/v1/test_proxy.py b/openstack/tests/unit/clustering/v1/test_proxy.py index 1b4eb4c3a..e25d90290 100644 --- a/openstack/tests/unit/clustering/v1/test_proxy.py +++ b/openstack/tests/unit/clustering/v1/test_proxy.py @@ -32,7 +32,7 @@ from openstack.tests.unit import test_proxy_base class TestClusterProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestClusterProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_build_info_get(self): diff --git a/openstack/tests/unit/clustering/v1/test_receiver.py b/openstack/tests/unit/clustering/v1/test_receiver.py index 73b33bb0d..43c61b6d9 100644 --- a/openstack/tests/unit/clustering/v1/test_receiver.py +++ b/openstack/tests/unit/clustering/v1/test_receiver.py @@ -38,7 +38,7 @@ FAKE = { class TestReceiver(base.TestCase): def setUp(self): - super(TestReceiver, self).setUp() + super().setUp() def test_basic(self): sot = receiver.Receiver() diff --git a/openstack/tests/unit/clustering/v1/test_service.py b/openstack/tests/unit/clustering/v1/test_service.py index 4d62202f1..303603465 100644 --- a/openstack/tests/unit/clustering/v1/test_service.py +++ b/openstack/tests/unit/clustering/v1/test_service.py @@ -28,7 +28,7 @@ EXAMPLE = { class TestService(base.TestCase): def setUp(self): - super(TestService, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/common/test_metadata.py b/openstack/tests/unit/common/test_metadata.py index bc1909675..839bbd3cf 100644 --- a/openstack/tests/unit/common/test_metadata.py +++ b/openstack/tests/unit/common/test_metadata.py @@ -24,7 +24,7 @@ IDENTIFIER = 'IDENTIFIER' class TestMetadata(base.TestCase): def setUp(self): - super(TestMetadata, self).setUp() + super().setUp() self.service_name = "service" self.base_path = "base_path" diff --git a/openstack/tests/unit/common/test_quota_set.py b/openstack/tests/unit/common/test_quota_set.py index 8fdc9a3d6..c686e7bba 100644 --- a/openstack/tests/unit/common/test_quota_set.py +++ b/openstack/tests/unit/common/test_quota_set.py @@ -33,7 +33,7 @@ USAGE_EXAMPLE = { class TestQuotaSet(base.TestCase): def setUp(self): - super(TestQuotaSet, self).setUp() + super().setUp() self.sess = mock.Mock(spec=adapter.Adapter) self.sess.default_microversion = 1 self.sess._get_connection = mock.Mock(return_value=self.cloud) diff --git a/openstack/tests/unit/common/test_tag.py b/openstack/tests/unit/common/test_tag.py index e4483e047..390ef8999 100644 --- a/openstack/tests/unit/common/test_tag.py +++ b/openstack/tests/unit/common/test_tag.py @@ -22,7 +22,7 @@ from openstack.tests.unit.test_resource import FakeResponse class TestTagMixin(base.TestCase): def setUp(self): - super(TestTagMixin, self).setUp() + super().setUp() self.service_name = "service" self.base_path = "base_path" diff --git a/openstack/tests/unit/compute/v2/test_aggregate.py b/openstack/tests/unit/compute/v2/test_aggregate.py index 9bc0f6b3c..dec21ca90 100644 --- a/openstack/tests/unit/compute/v2/test_aggregate.py +++ b/openstack/tests/unit/compute/v2/test_aggregate.py @@ -35,7 +35,7 @@ EXAMPLE = { class TestAggregate(base.TestCase): def setUp(self): - super(TestAggregate, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = EXAMPLE.copy() self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/compute/v2/test_flavor.py b/openstack/tests/unit/compute/v2/test_flavor.py index 35dcdff4b..8b5d2dc21 100644 --- a/openstack/tests/unit/compute/v2/test_flavor.py +++ b/openstack/tests/unit/compute/v2/test_flavor.py @@ -42,7 +42,7 @@ DEFAULTS_EXAMPLE = { class TestFlavor(base.TestCase): def setUp(self): - super(TestFlavor, self).setUp() + super().setUp() self.sess = mock.Mock(spec=adapter.Adapter) self.sess.default_microversion = 1 self.sess._get_connection = mock.Mock(return_value=self.cloud) diff --git a/openstack/tests/unit/compute/v2/test_hypervisor.py b/openstack/tests/unit/compute/v2/test_hypervisor.py index 7c63f0a9a..88f4a88c7 100644 --- a/openstack/tests/unit/compute/v2/test_hypervisor.py +++ b/openstack/tests/unit/compute/v2/test_hypervisor.py @@ -71,7 +71,7 @@ EXAMPLE = { class TestHypervisor(base.TestCase): def setUp(self): - super(TestHypervisor, self).setUp() + super().setUp() self.sess = mock.Mock(spec=adapter.Adapter) self.sess.default_microversion = 1 self.sess._get_connection = mock.Mock(return_value=self.cloud) @@ -147,7 +147,7 @@ class TestHypervisor(base.TestCase): hyp = sot.get_uptime(self.sess) self.sess.get.assert_called_with( - 'os-hypervisors/{id}/uptime'.format(id=sot.id), + f'os-hypervisors/{sot.id}/uptime', microversion=self.sess.default_microversion, ) self.assertEqual(rsp['hypervisor']['uptime'], hyp.uptime) diff --git a/openstack/tests/unit/compute/v2/test_proxy.py b/openstack/tests/unit/compute/v2/test_proxy.py index 02d0626fa..378935f84 100644 --- a/openstack/tests/unit/compute/v2/test_proxy.py +++ b/openstack/tests/unit/compute/v2/test_proxy.py @@ -44,7 +44,7 @@ from openstack import warnings as os_warnings class TestComputeProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestComputeProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/compute/v2/test_server.py b/openstack/tests/unit/compute/v2/test_server.py index 4eb29271a..d996638ef 100644 --- a/openstack/tests/unit/compute/v2/test_server.py +++ b/openstack/tests/unit/compute/v2/test_server.py @@ -112,7 +112,7 @@ EXAMPLE = { class TestServer(base.TestCase): def setUp(self): - super(TestServer, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/compute/v2/test_server_migration.py b/openstack/tests/unit/compute/v2/test_server_migration.py index 936a6ca9b..7fa486ffa 100644 --- a/openstack/tests/unit/compute/v2/test_server_migration.py +++ b/openstack/tests/unit/compute/v2/test_server_migration.py @@ -105,7 +105,7 @@ class TestServerMigration(base.TestCase): self.assertIsNone(sot.force_complete(self.sess)) - url = 'servers/%s/migrations/%s/action' % ( + url = 'servers/{}/migrations/{}/action'.format( EXAMPLE['server_id'], EXAMPLE['id'], ) diff --git a/openstack/tests/unit/compute/v2/test_server_remote_console.py b/openstack/tests/unit/compute/v2/test_server_remote_console.py index 96844eb3a..eac32b556 100644 --- a/openstack/tests/unit/compute/v2/test_server_remote_console.py +++ b/openstack/tests/unit/compute/v2/test_server_remote_console.py @@ -24,7 +24,7 @@ EXAMPLE = {'protocol': 'rdp', 'type': 'rdp', 'url': 'fake'} class TestServerRemoteConsole(base.TestCase): def setUp(self): - super(TestServerRemoteConsole, self).setUp() + super().setUp() self.sess = mock.Mock(spec=adapter.Adapter) self.sess.default_microversion = '2.9' self.resp = mock.Mock() diff --git a/openstack/tests/unit/compute/v2/test_service.py b/openstack/tests/unit/compute/v2/test_service.py index 65bd629cc..44665dd8f 100644 --- a/openstack/tests/unit/compute/v2/test_service.py +++ b/openstack/tests/unit/compute/v2/test_service.py @@ -29,7 +29,7 @@ EXAMPLE = { class TestService(base.TestCase): def setUp(self): - super(TestService, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = {'service': {}} self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/config/base.py b/openstack/tests/unit/config/base.py index 2ed642d5f..8f0f470f5 100644 --- a/openstack/tests/unit/config/base.py +++ b/openstack/tests/unit/config/base.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Copyright 2010-2011 OpenStack Foundation # Copyright (c) 2013 Hewlett-Packard Development Company, L.P. # @@ -242,7 +240,7 @@ class TestCase(base.TestCase): """Test case base class for all unit tests.""" def setUp(self): - super(TestCase, self).setUp() + super().setUp() conf = copy.deepcopy(USER_CONF) tdir = self.useFixture(fixtures.TempDir()) diff --git a/openstack/tests/unit/config/test_config.py b/openstack/tests/unit/config/test_config.py index 0d865e910..e6e9bcff8 100644 --- a/openstack/tests/unit/config/test_config.py +++ b/openstack/tests/unit/config/test_config.py @@ -719,7 +719,7 @@ class TestExcludedFormattedConfigValue(base.TestCase): # (e.g. 'foo{bar}') which raises a KeyError. def setUp(self): - super(TestExcludedFormattedConfigValue, self).setUp() + super().setUp() self.args = dict( auth_url='http://example.com/v2', @@ -772,7 +772,7 @@ class TestExcludedFormattedConfigValue(base.TestCase): class TestConfigArgparse(base.TestCase): def setUp(self): - super(TestConfigArgparse, self).setUp() + super().setUp() self.args = dict( auth_url='http://example.com/v2', @@ -1360,7 +1360,7 @@ class TestConfigArgparse(base.TestCase): class TestConfigPrompt(base.TestCase): def setUp(self): - super(TestConfigPrompt, self).setUp() + super().setUp() self.args = dict( auth_url='http://example.com/v2', @@ -1391,7 +1391,7 @@ class TestConfigPrompt(base.TestCase): class TestConfigDefault(base.TestCase): def setUp(self): - super(TestConfigDefault, self).setUp() + super().setUp() # Reset defaults after each test so that other tests are # not affected by any changes. diff --git a/openstack/tests/unit/config/test_environ.py b/openstack/tests/unit/config/test_environ.py index 82ed13eea..53e1bd7f2 100644 --- a/openstack/tests/unit/config/test_environ.py +++ b/openstack/tests/unit/config/test_environ.py @@ -22,7 +22,7 @@ from openstack.tests.unit.config import base class TestEnviron(base.TestCase): def setUp(self): - super(TestEnviron, self).setUp() + super().setUp() self.useFixture( fixtures.EnvironmentVariable('OS_AUTH_URL', 'https://example.com') ) diff --git a/openstack/tests/unit/config/test_json.py b/openstack/tests/unit/config/test_json.py index ef9ffd5c0..da3b9d2fb 100644 --- a/openstack/tests/unit/config/test_json.py +++ b/openstack/tests/unit/config/test_json.py @@ -33,7 +33,7 @@ class TestConfig(base.TestCase): _schema_path = os.path.join( os.path.dirname(os.path.realpath(defaults.__file__)), 'schema.json' ) - with open(_schema_path, 'r') as f: + with open(_schema_path) as f: schema = json.load(f) self.validator = jsonschema.Draft4Validator(schema) self.addOnException(self.json_diagnostics) @@ -42,7 +42,7 @@ class TestConfig(base.TestCase): os.path.dirname(os.path.realpath(defaults.__file__)), 'defaults.json', ) - with open(self.filename, 'r') as f: + with open(self.filename) as f: self.json_data = json.load(f) self.assertTrue(self.validator.is_valid(self.json_data)) @@ -52,7 +52,7 @@ class TestConfig(base.TestCase): os.path.dirname(os.path.realpath(defaults.__file__)), 'vendor-schema.json', ) - with open(_schema_path, 'r') as f: + with open(_schema_path) as f: schema = json.load(f) self.validator = jsonschema.Draft4Validator(schema) @@ -62,7 +62,7 @@ class TestConfig(base.TestCase): os.path.dirname(os.path.realpath(defaults.__file__)), 'vendors' ) for self.filename in glob.glob(os.path.join(_vendors_path, '*.json')): - with open(self.filename, 'r') as f: + with open(self.filename) as f: self.json_data = json.load(f) self.assertTrue(self.validator.is_valid(self.json_data)) diff --git a/openstack/tests/unit/config/test_loader.py b/openstack/tests/unit/config/test_loader.py index a21f3b286..30890c5b6 100644 --- a/openstack/tests/unit/config/test_loader.py +++ b/openstack/tests/unit/config/test_loader.py @@ -58,7 +58,7 @@ class TestLoader(base.TestCase): with tempfile.TemporaryDirectory() as tmpdir: tested_files = [] for key, value in FILES.items(): - fn = os.path.join(tmpdir, 'file.{ext}'.format(ext=key)) + fn = os.path.join(tmpdir, f'file.{key}') with open(fn, 'w+') as fp: fp.write(value) tested_files.append(fn) @@ -77,7 +77,7 @@ class TestLoader(base.TestCase): for key, value in FILES.items(): if key == 'json': continue - fn = os.path.join(tmpdir, 'file.{ext}'.format(ext=key)) + fn = os.path.join(tmpdir, f'file.{key}') with open(fn, 'w+') as fp: fp.write(value) tested_files.append(fn) diff --git a/openstack/tests/unit/database/v1/test_proxy.py b/openstack/tests/unit/database/v1/test_proxy.py index 98c641d5c..e624edfc7 100644 --- a/openstack/tests/unit/database/v1/test_proxy.py +++ b/openstack/tests/unit/database/v1/test_proxy.py @@ -20,7 +20,7 @@ from openstack.tests.unit import test_proxy_base class TestDatabaseProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestDatabaseProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_database_create_attrs(self): diff --git a/openstack/tests/unit/dns/v2/test_proxy.py b/openstack/tests/unit/dns/v2/test_proxy.py index c4dc9f1e1..035701ef8 100644 --- a/openstack/tests/unit/dns/v2/test_proxy.py +++ b/openstack/tests/unit/dns/v2/test_proxy.py @@ -23,7 +23,7 @@ from openstack.tests.unit import test_proxy_base class TestDnsProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestDnsProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/dns/v2/test_zone.py b/openstack/tests/unit/dns/v2/test_zone.py index b916a3ac4..673509efe 100644 --- a/openstack/tests/unit/dns/v2/test_zone.py +++ b/openstack/tests/unit/dns/v2/test_zone.py @@ -33,7 +33,7 @@ EXAMPLE = { class TestZone(base.TestCase): def setUp(self): - super(TestZone, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/dns/v2/test_zone_share.py b/openstack/tests/unit/dns/v2/test_zone_share.py index c9b76ad3b..45bc81ef6 100644 --- a/openstack/tests/unit/dns/v2/test_zone_share.py +++ b/openstack/tests/unit/dns/v2/test_zone_share.py @@ -20,7 +20,7 @@ from openstack.tests.unit import base class TestZoneShare(base.TestCase): def setUp(self): - super(TestZoneShare, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/fakes.py b/openstack/tests/unit/fakes.py index 835205035..535ef5505 100644 --- a/openstack/tests/unit/fakes.py +++ b/openstack/tests/unit/fakes.py @@ -20,7 +20,7 @@ class FakeTransport(mock.Mock): RESPONSE = mock.Mock('200 OK') def __init__(self): - super(FakeTransport, self).__init__() + super().__init__() self.request = mock.Mock() self.request.return_value = self.RESPONSE @@ -30,7 +30,7 @@ class FakeAuthenticator(mock.Mock): ENDPOINT = 'http://www.example.com/endpoint' def __init__(self): - super(FakeAuthenticator, self).__init__() + super().__init__() self.get_token = mock.Mock() self.get_token.return_value = self.TOKEN self.get_endpoint = mock.Mock() diff --git a/openstack/tests/unit/identity/v2/test_proxy.py b/openstack/tests/unit/identity/v2/test_proxy.py index 0a08fd641..57aebbe1a 100644 --- a/openstack/tests/unit/identity/v2/test_proxy.py +++ b/openstack/tests/unit/identity/v2/test_proxy.py @@ -19,7 +19,7 @@ from openstack.tests.unit import test_proxy_base as test_proxy_base class TestIdentityProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestIdentityProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_role_create_attrs(self): diff --git a/openstack/tests/unit/identity/v3/test_domain.py b/openstack/tests/unit/identity/v3/test_domain.py index bc8c5b100..baea9560c 100644 --- a/openstack/tests/unit/identity/v3/test_domain.py +++ b/openstack/tests/unit/identity/v3/test_domain.py @@ -33,7 +33,7 @@ EXAMPLE = { class TestDomain(base.TestCase): def setUp(self): - super(TestDomain, self).setUp() + super().setUp() self.sess = mock.Mock(spec=adapter.Adapter) self.sess.default_microversion = 1 self.sess._get_connection = mock.Mock(return_value=self.cloud) diff --git a/openstack/tests/unit/identity/v3/test_group.py b/openstack/tests/unit/identity/v3/test_group.py index 3f8d4e344..42955e6fa 100644 --- a/openstack/tests/unit/identity/v3/test_group.py +++ b/openstack/tests/unit/identity/v3/test_group.py @@ -30,7 +30,7 @@ EXAMPLE = { class TestGroup(base.TestCase): def setUp(self): - super(TestGroup, self).setUp() + super().setUp() self.sess = mock.Mock(spec=adapter.Adapter) self.sess.default_microversion = 1 self.sess._get_connection = mock.Mock(return_value=self.cloud) diff --git a/openstack/tests/unit/identity/v3/test_project.py b/openstack/tests/unit/identity/v3/test_project.py index 23577f638..965700951 100644 --- a/openstack/tests/unit/identity/v3/test_project.py +++ b/openstack/tests/unit/identity/v3/test_project.py @@ -36,7 +36,7 @@ EXAMPLE = { class TestProject(base.TestCase): def setUp(self): - super(TestProject, self).setUp() + super().setUp() self.sess = mock.Mock(spec=adapter.Adapter) self.sess.default_microversion = 1 self.sess._get_connection = mock.Mock(return_value=self.cloud) diff --git a/openstack/tests/unit/identity/v3/test_proxy.py b/openstack/tests/unit/identity/v3/test_proxy.py index dd12919d9..12350b5b8 100644 --- a/openstack/tests/unit/identity/v3/test_proxy.py +++ b/openstack/tests/unit/identity/v3/test_proxy.py @@ -39,7 +39,7 @@ USER_ID = 'user-id-' + uuid.uuid4().hex class TestIdentityProxyBase(test_proxy_base.TestProxyBase): def setUp(self): - super(TestIdentityProxyBase, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/image/v1/test_proxy.py b/openstack/tests/unit/image/v1/test_proxy.py index c5cc5419c..155fb579a 100644 --- a/openstack/tests/unit/image/v1/test_proxy.py +++ b/openstack/tests/unit/image/v1/test_proxy.py @@ -17,7 +17,7 @@ from openstack.tests.unit import test_proxy_base as test_proxy_base class TestImageProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestImageProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_image_upload_attrs(self): diff --git a/openstack/tests/unit/image/v2/test_image.py b/openstack/tests/unit/image/v2/test_image.py index 5f9e34066..8ff4cb2b7 100644 --- a/openstack/tests/unit/image/v2/test_image.py +++ b/openstack/tests/unit/image/v2/test_image.py @@ -118,7 +118,7 @@ class FakeResponse: class TestImage(base.TestCase): def setUp(self): - super(TestImage, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.json = mock.Mock(return_value=self.resp.body) diff --git a/openstack/tests/unit/image/v2/test_proxy.py b/openstack/tests/unit/image/v2/test_proxy.py index bd8dd043e..9bf464cfd 100644 --- a/openstack/tests/unit/image/v2/test_proxy.py +++ b/openstack/tests/unit/image/v2/test_proxy.py @@ -47,7 +47,7 @@ class FakeResponse: class TestImageProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestImageProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) self.proxy._connection = self.cloud diff --git a/openstack/tests/unit/instance_ha/v1/test_proxy.py b/openstack/tests/unit/instance_ha/v1/test_proxy.py index 4fa93520d..3d2727146 100644 --- a/openstack/tests/unit/instance_ha/v1/test_proxy.py +++ b/openstack/tests/unit/instance_ha/v1/test_proxy.py @@ -27,7 +27,7 @@ VMOVE_ID = "16a7c91f-8342-49a7-c731-3a632293f845" class TestInstanceHaProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestInstanceHaProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/key_manager/v1/test_proxy.py b/openstack/tests/unit/key_manager/v1/test_proxy.py index e5ec2bb9b..f770f11d6 100644 --- a/openstack/tests/unit/key_manager/v1/test_proxy.py +++ b/openstack/tests/unit/key_manager/v1/test_proxy.py @@ -19,7 +19,7 @@ from openstack.tests.unit import test_proxy_base class TestKeyManagerProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestKeyManagerProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/load_balancer/test_load_balancer.py b/openstack/tests/unit/load_balancer/test_load_balancer.py index db29ae883..607bc97b0 100644 --- a/openstack/tests/unit/load_balancer/test_load_balancer.py +++ b/openstack/tests/unit/load_balancer/test_load_balancer.py @@ -144,7 +144,7 @@ class TestLoadBalancer(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = 'lbaas/loadbalancers/%(lb)s' % {'lb': EXAMPLE['id']} + url = 'lbaas/loadbalancers/{lb}'.format(lb=EXAMPLE['id']) params = {} sess.delete.assert_called_with(url, params=params) sot._translate_response.assert_called_once_with( @@ -163,7 +163,7 @@ class TestLoadBalancer(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = 'lbaas/loadbalancers/%(lb)s' % {'lb': EXAMPLE['id']} + url = 'lbaas/loadbalancers/{lb}'.format(lb=EXAMPLE['id']) params = {'cascade': True} sess.delete.assert_called_with(url, params=params) sot._translate_response.assert_called_once_with( diff --git a/openstack/tests/unit/load_balancer/v2/test_proxy.py b/openstack/tests/unit/load_balancer/v2/test_proxy.py index 6fd813f2c..db7391218 100644 --- a/openstack/tests/unit/load_balancer/v2/test_proxy.py +++ b/openstack/tests/unit/load_balancer/v2/test_proxy.py @@ -41,7 +41,7 @@ class TestLoadBalancerProxy(test_proxy_base.TestProxyBase): AMPHORA_ID = uuid.uuid4() def setUp(self): - super(TestLoadBalancerProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_load_balancers(self): diff --git a/openstack/tests/unit/message/v2/test_claim.py b/openstack/tests/unit/message/v2/test_claim.py index f08c5aa30..2b108dcb3 100644 --- a/openstack/tests/unit/message/v2/test_claim.py +++ b/openstack/tests/unit/message/v2/test_claim.py @@ -76,7 +76,7 @@ class TestClaim(base.TestCase): sot = claim.Claim(**FAKE1) res = sot.create(sess) - url = "/queues/%(queue)s/claims" % {"queue": FAKE.pop("queue_name")} + url = "/queues/{queue}/claims".format(queue=FAKE.pop("queue_name")) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -99,7 +99,7 @@ class TestClaim(base.TestCase): sot._translate_response = mock.Mock() res = sot.create(sess) - url = "/queues/%(queue)s/claims" % {"queue": FAKE.pop("queue_name")} + url = "/queues/{queue}/claims".format(queue=FAKE.pop("queue_name")) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -120,7 +120,7 @@ class TestClaim(base.TestCase): sot._translate_response = mock.Mock() res = sot.create(sess) - url = "/queues/%(queue)s/claims" % {"queue": FAKE.pop("queue_name")} + url = "/queues/{queue}/claims".format(queue=FAKE.pop("queue_name")) headers = { "Client-ID": FAKE.pop("client_id"), "X-PROJECT-ID": FAKE.pop("project_id"), @@ -140,10 +140,10 @@ class TestClaim(base.TestCase): sot._translate_response = mock.Mock() res = sot.fetch(sess) - url = "queues/%(queue)s/claims/%(claim)s" % { - "queue": FAKE1["queue_name"], - "claim": FAKE1["id"], - } + url = "queues/{queue}/claims/{claim}".format( + queue=FAKE1["queue_name"], + claim=FAKE1["id"], + ) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -162,10 +162,10 @@ class TestClaim(base.TestCase): sot._translate_response = mock.Mock() res = sot.fetch(sess) - url = "queues/%(queue)s/claims/%(claim)s" % { - "queue": FAKE2["queue_name"], - "claim": FAKE2["id"], - } + url = "queues/{queue}/claims/{claim}".format( + queue=FAKE2["queue_name"], + claim=FAKE2["id"], + ) headers = { "Client-ID": "OLD_CLIENT_ID", "X-PROJECT-ID": "OLD_PROJECT_ID", @@ -186,10 +186,10 @@ class TestClaim(base.TestCase): sot = claim.Claim(**FAKE1) res = sot.commit(sess) - url = "queues/%(queue)s/claims/%(claim)s" % { - "queue": FAKE.pop("queue_name"), - "claim": FAKE["id"], - } + url = "queues/{queue}/claims/{claim}".format( + queue=FAKE.pop("queue_name"), + claim=FAKE["id"], + ) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -207,10 +207,10 @@ class TestClaim(base.TestCase): sot = claim.Claim(**FAKE2) res = sot.commit(sess) - url = "queues/%(queue)s/claims/%(claim)s" % { - "queue": FAKE.pop("queue_name"), - "claim": FAKE["id"], - } + url = "queues/{queue}/claims/{claim}".format( + queue=FAKE.pop("queue_name"), + claim=FAKE["id"], + ) headers = { "Client-ID": FAKE.pop("client_id"), "X-PROJECT-ID": FAKE.pop("project_id"), @@ -230,10 +230,10 @@ class TestClaim(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = "queues/%(queue)s/claims/%(claim)s" % { - "queue": FAKE1["queue_name"], - "claim": FAKE1["id"], - } + url = "queues/{queue}/claims/{claim}".format( + queue=FAKE1["queue_name"], + claim=FAKE1["id"], + ) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -251,10 +251,10 @@ class TestClaim(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = "queues/%(queue)s/claims/%(claim)s" % { - "queue": FAKE2["queue_name"], - "claim": FAKE2["id"], - } + url = "queues/{queue}/claims/{claim}".format( + queue=FAKE2["queue_name"], + claim=FAKE2["id"], + ) headers = { "Client-ID": "OLD_CLIENT_ID", "X-PROJECT-ID": "OLD_PROJECT_ID", diff --git a/openstack/tests/unit/message/v2/test_message.py b/openstack/tests/unit/message/v2/test_message.py index b42c44159..d7aa7de49 100644 --- a/openstack/tests/unit/message/v2/test_message.py +++ b/openstack/tests/unit/message/v2/test_message.py @@ -87,7 +87,7 @@ class TestMessage(base.TestCase): sot = message.Message(**FAKE1) res = sot.post(sess, messages) - url = '/queues/%(queue)s/messages' % {'queue': FAKE1['queue_name']} + url = '/queues/{queue}/messages'.format(queue=FAKE1['queue_name']) headers = { 'Client-ID': 'NEW_CLIENT_ID', 'X-PROJECT-ID': 'NEW_PROJECT_ID', @@ -116,7 +116,7 @@ class TestMessage(base.TestCase): sot = message.Message(**FAKE2) res = sot.post(sess, messages) - url = '/queues/%(queue)s/messages' % {'queue': FAKE2['queue_name']} + url = '/queues/{queue}/messages'.format(queue=FAKE2['queue_name']) headers = { 'Client-ID': 'OLD_CLIENT_ID', 'X-PROJECT-ID': 'OLD_PROJECT_ID', @@ -139,10 +139,10 @@ class TestMessage(base.TestCase): sot._translate_response = mock.Mock() res = sot.fetch(sess) - url = 'queues/%(queue)s/messages/%(message)s' % { - 'queue': FAKE1['queue_name'], - 'message': FAKE1['id'], - } + url = 'queues/{queue}/messages/{message}'.format( + queue=FAKE1['queue_name'], + message=FAKE1['id'], + ) headers = { 'Client-ID': 'NEW_CLIENT_ID', 'X-PROJECT-ID': 'NEW_PROJECT_ID', @@ -161,10 +161,10 @@ class TestMessage(base.TestCase): sot._translate_response = mock.Mock() res = sot.fetch(sess) - url = 'queues/%(queue)s/messages/%(message)s' % { - 'queue': FAKE2['queue_name'], - 'message': FAKE2['id'], - } + url = 'queues/{queue}/messages/{message}'.format( + queue=FAKE2['queue_name'], + message=FAKE2['id'], + ) sot = message.Message(**FAKE2) sot._translate_response = mock.Mock() res = sot.fetch(sess) @@ -189,10 +189,10 @@ class TestMessage(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = 'queues/%(queue)s/messages/%(message)s' % { - 'queue': FAKE1['queue_name'], - 'message': FAKE1['id'], - } + url = 'queues/{queue}/messages/{message}'.format( + queue=FAKE1['queue_name'], + message=FAKE1['id'], + ) headers = { 'Client-ID': 'NEW_CLIENT_ID', 'X-PROJECT-ID': 'NEW_PROJECT_ID', @@ -214,11 +214,11 @@ class TestMessage(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = 'queues/%(queue)s/messages/%(message)s?claim_id=%(cid)s' % { - 'queue': FAKE1['queue_name'], - 'message': FAKE1['id'], - 'cid': 'CLAIM_ID', - } + url = 'queues/{queue}/messages/{message}?claim_id={cid}'.format( + queue=FAKE1['queue_name'], + message=FAKE1['id'], + cid='CLAIM_ID', + ) headers = { 'Client-ID': 'NEW_CLIENT_ID', 'X-PROJECT-ID': 'NEW_PROJECT_ID', @@ -237,10 +237,10 @@ class TestMessage(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = 'queues/%(queue)s/messages/%(message)s' % { - 'queue': FAKE2['queue_name'], - 'message': FAKE2['id'], - } + url = 'queues/{queue}/messages/{message}'.format( + queue=FAKE2['queue_name'], + message=FAKE2['id'], + ) headers = { 'Client-ID': 'OLD_CLIENT_ID', 'X-PROJECT-ID': 'OLD_PROJECT_ID', diff --git a/openstack/tests/unit/message/v2/test_proxy.py b/openstack/tests/unit/message/v2/test_proxy.py index 19e3181de..9569b018c 100644 --- a/openstack/tests/unit/message/v2/test_proxy.py +++ b/openstack/tests/unit/message/v2/test_proxy.py @@ -25,7 +25,7 @@ QUEUE_NAME = 'test_queue' class TestMessageProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestMessageProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/message/v2/test_subscription.py b/openstack/tests/unit/message/v2/test_subscription.py index 1fb78a43d..57686f8c4 100644 --- a/openstack/tests/unit/message/v2/test_subscription.py +++ b/openstack/tests/unit/message/v2/test_subscription.py @@ -80,9 +80,9 @@ class TestSubscription(base.TestCase): sot._translate_response = mock.Mock() res = sot.create(sess) - url = "/queues/%(queue)s/subscriptions" % { - "queue": FAKE.pop("queue_name") - } + url = "/queues/{queue}/subscriptions".format( + queue=FAKE.pop("queue_name") + ) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -101,9 +101,9 @@ class TestSubscription(base.TestCase): sot._translate_response = mock.Mock() res = sot.create(sess) - url = "/queues/%(queue)s/subscriptions" % { - "queue": FAKE.pop("queue_name") - } + url = "/queues/{queue}/subscriptions".format( + queue=FAKE.pop("queue_name") + ) headers = { "Client-ID": FAKE.pop("client_id"), "X-PROJECT-ID": FAKE.pop("project_id"), @@ -123,10 +123,10 @@ class TestSubscription(base.TestCase): sot._translate_response = mock.Mock() res = sot.fetch(sess) - url = "queues/%(queue)s/subscriptions/%(subscription)s" % { - "queue": FAKE1["queue_name"], - "subscription": FAKE1["id"], - } + url = "queues/{queue}/subscriptions/{subscription}".format( + queue=FAKE1["queue_name"], + subscription=FAKE1["id"], + ) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -145,10 +145,10 @@ class TestSubscription(base.TestCase): sot._translate_response = mock.Mock() res = sot.fetch(sess) - url = "queues/%(queue)s/subscriptions/%(subscription)s" % { - "queue": FAKE2["queue_name"], - "subscription": FAKE2["id"], - } + url = "queues/{queue}/subscriptions/{subscription}".format( + queue=FAKE2["queue_name"], + subscription=FAKE2["id"], + ) headers = { "Client-ID": "OLD_CLIENT_ID", "X-PROJECT-ID": "OLD_PROJECT_ID", @@ -169,10 +169,10 @@ class TestSubscription(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = "queues/%(queue)s/subscriptions/%(subscription)s" % { - "queue": FAKE1["queue_name"], - "subscription": FAKE1["id"], - } + url = "queues/{queue}/subscriptions/{subscription}".format( + queue=FAKE1["queue_name"], + subscription=FAKE1["id"], + ) headers = { "Client-ID": "NEW_CLIENT_ID", "X-PROJECT-ID": "NEW_PROJECT_ID", @@ -190,10 +190,10 @@ class TestSubscription(base.TestCase): sot._translate_response = mock.Mock() sot.delete(sess) - url = "queues/%(queue)s/subscriptions/%(subscription)s" % { - "queue": FAKE2["queue_name"], - "subscription": FAKE2["id"], - } + url = "queues/{queue}/subscriptions/{subscription}".format( + queue=FAKE2["queue_name"], + subscription=FAKE2["id"], + ) headers = { "Client-ID": "OLD_CLIENT_ID", "X-PROJECT-ID": "OLD_PROJECT_ID", diff --git a/openstack/tests/unit/network/v2/test_bgp_speaker.py b/openstack/tests/unit/network/v2/test_bgp_speaker.py index 839efdd51..848aa590d 100644 --- a/openstack/tests/unit/network/v2/test_bgp_speaker.py +++ b/openstack/tests/unit/network/v2/test_bgp_speaker.py @@ -181,5 +181,5 @@ class TestBgpSpeaker(base.TestCase): sess.delete = mock.Mock(return_value=response) self.assertIsNone(sot.remove_bgp_speaker_from_dragent(sess, agent_id)) - url = 'agents/%s/bgp-drinstances/%s' % (agent_id, IDENTIFIER) + url = f'agents/{agent_id}/bgp-drinstances/{IDENTIFIER}' sess.delete.assert_called_with(url) diff --git a/openstack/tests/unit/network/v2/test_proxy.py b/openstack/tests/unit/network/v2/test_proxy.py index 45560a3eb..3b8265101 100644 --- a/openstack/tests/unit/network/v2/test_proxy.py +++ b/openstack/tests/unit/network/v2/test_proxy.py @@ -87,7 +87,7 @@ BGPVPN_ID = 'bgpvpn-id-' + uuid.uuid4().hex class TestNetworkProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestNetworkProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def verify_update( diff --git a/openstack/tests/unit/object_store/v1/test_account.py b/openstack/tests/unit/object_store/v1/test_account.py index d0ca018d5..f8d88f5e5 100644 --- a/openstack/tests/unit/object_store/v1/test_account.py +++ b/openstack/tests/unit/object_store/v1/test_account.py @@ -30,7 +30,7 @@ ACCOUNT_EXAMPLE = { class TestAccount(base.TestCase): def setUp(self): - super(TestAccount, self).setUp() + super().setUp() self.endpoint = self.cloud.object_store.get_endpoint() + '/' def test_basic(self): diff --git a/openstack/tests/unit/object_store/v1/test_container.py b/openstack/tests/unit/object_store/v1/test_container.py index dc1f2e539..d67e72dc3 100644 --- a/openstack/tests/unit/object_store/v1/test_container.py +++ b/openstack/tests/unit/object_store/v1/test_container.py @@ -18,7 +18,7 @@ from openstack.tests.unit import base class TestContainer(base.TestCase): def setUp(self): - super(TestContainer, self).setUp() + super().setUp() self.container = self.getUniqueString() self.endpoint = self.cloud.object_store.get_endpoint() + '/' self.container_endpoint = '{endpoint}{container}'.format( diff --git a/openstack/tests/unit/object_store/v1/test_info.py b/openstack/tests/unit/object_store/v1/test_info.py index 36f5e7e9f..9a6dbc583 100644 --- a/openstack/tests/unit/object_store/v1/test_info.py +++ b/openstack/tests/unit/object_store/v1/test_info.py @@ -16,7 +16,7 @@ from openstack.tests.unit import base class TestInfo(base.TestCase): def setUp(self): - super(TestInfo, self).setUp() + super().setUp() def test_get_info_url(self): sot = info.Info() diff --git a/openstack/tests/unit/object_store/v1/test_obj.py b/openstack/tests/unit/object_store/v1/test_obj.py index f3f6cb7c1..de30ba1c5 100644 --- a/openstack/tests/unit/object_store/v1/test_obj.py +++ b/openstack/tests/unit/object_store/v1/test_obj.py @@ -28,7 +28,7 @@ from openstack.tests.unit.cloud import test_object as base_test_object class TestObject(base_test_object.BaseTestObject): def setUp(self): - super(TestObject, self).setUp() + super().setUp() self.the_data = b'test body' self.the_data_length = len(self.the_data) # TODO(mordred) Make the_data be from getUniqueString and then diff --git a/openstack/tests/unit/object_store/v1/test_proxy.py b/openstack/tests/unit/object_store/v1/test_proxy.py index 3005dc17b..b30dde267 100644 --- a/openstack/tests/unit/object_store/v1/test_proxy.py +++ b/openstack/tests/unit/object_store/v1/test_proxy.py @@ -41,7 +41,7 @@ class TestObjectStoreProxy(test_proxy_base.TestProxyBase): kwargs_to_path_args = False def setUp(self): - super(TestObjectStoreProxy, self).setUp() + super().setUp() self.proxy = self.cloud.object_store self.container = self.getUniqueString() self.endpoint = self.cloud.object_store.get_endpoint() + '/' @@ -271,7 +271,7 @@ class TestObjectStoreProxy(test_proxy_base.TestProxyBase): segment_content = b'' for index, (name, segment) in enumerate(segments.items()): self.assertEqual( - 'test_container/test_image/{index:0>6}'.format(index=index), + f'test_container/test_image/{index:0>6}', name, ) segment_content += segment.read() @@ -280,7 +280,7 @@ class TestObjectStoreProxy(test_proxy_base.TestProxyBase): class TestDownloadObject(base_test_object.BaseTestObject): def setUp(self): - super(TestDownloadObject, self).setUp() + super().setUp() self.the_data = b'test body' self.register_uris( [ @@ -602,7 +602,7 @@ class TestTempURL(TestObjectStoreProxy): ) else: expected_url = self.expected_url.replace( - u'1400003600', u'2146636800' + '1400003600', '2146636800' ) url = self.proxy.generate_temp_url( self.url, @@ -654,38 +654,38 @@ class TestTempURL(TestObjectStoreProxy): class TestTempURLUnicodePathAndKey(TestTempURL): - url = u'/v1/\u00e4/c/\u00f3' - key = u'k\u00e9y' + url = '/v1/\u00e4/c/\u00f3' + key = 'k\u00e9y' expected_url = ( - u'%s?temp_url_sig=temp_url_signature' u'&temp_url_expires=1400003600' + '%s?temp_url_sig=temp_url_signature' '&temp_url_expires=1400003600' ) % url - expected_body = u'\n'.join( + expected_body = '\n'.join( [ - u'GET', - u'1400003600', + 'GET', + '1400003600', url, ] ).encode('utf-8') class TestTempURLUnicodePathBytesKey(TestTempURL): - url = u'/v1/\u00e4/c/\u00f3' - key = u'k\u00e9y'.encode('utf-8') + url = '/v1/\u00e4/c/\u00f3' + key = 'k\u00e9y'.encode() expected_url = ( - u'%s?temp_url_sig=temp_url_signature' u'&temp_url_expires=1400003600' + '%s?temp_url_sig=temp_url_signature' '&temp_url_expires=1400003600' ) % url expected_body = '\n'.join( [ - u'GET', - u'1400003600', + 'GET', + '1400003600', url, ] ).encode('utf-8') class TestTempURLBytesPathUnicodeKey(TestTempURL): - url = u'/v1/\u00e4/c/\u00f3'.encode('utf-8') - key = u'k\u00e9y' + url = '/v1/\u00e4/c/\u00f3'.encode() + key = 'k\u00e9y' expected_url = url + ( b'?temp_url_sig=temp_url_signature' b'&temp_url_expires=1400003600' ) @@ -699,8 +699,8 @@ class TestTempURLBytesPathUnicodeKey(TestTempURL): class TestTempURLBytesPathAndKey(TestTempURL): - url = u'/v1/\u00e4/c/\u00f3'.encode('utf-8') - key = u'k\u00e9y'.encode('utf-8') + url = '/v1/\u00e4/c/\u00f3'.encode() + key = 'k\u00e9y'.encode() expected_url = url + ( b'?temp_url_sig=temp_url_signature' b'&temp_url_expires=1400003600' ) @@ -714,7 +714,7 @@ class TestTempURLBytesPathAndKey(TestTempURL): class TestTempURLBytesPathAndNonUtf8Key(TestTempURL): - url = u'/v1/\u00e4/c/\u00f3'.encode('utf-8') + url = '/v1/\u00e4/c/\u00f3'.encode() key = b'k\xffy' expected_url = url + ( b'?temp_url_sig=temp_url_signature' b'&temp_url_expires=1400003600' diff --git a/openstack/tests/unit/orchestration/v1/test_proxy.py b/openstack/tests/unit/orchestration/v1/test_proxy.py index 0e8206085..794c5221d 100644 --- a/openstack/tests/unit/orchestration/v1/test_proxy.py +++ b/openstack/tests/unit/orchestration/v1/test_proxy.py @@ -31,7 +31,7 @@ from openstack.tests.unit import test_proxy_base class TestOrchestrationProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestOrchestrationProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) diff --git a/openstack/tests/unit/orchestration/v1/test_stack.py b/openstack/tests/unit/orchestration/v1/test_stack.py index a6b7bcb61..079c5c078 100644 --- a/openstack/tests/unit/orchestration/v1/test_stack.py +++ b/openstack/tests/unit/orchestration/v1/test_stack.py @@ -31,7 +31,7 @@ FAKE = { 'files': {'file1': 'content'}, 'files_container': 'dummy_container', 'id': FAKE_ID, - 'links': [{'href': 'stacks/%s/%s' % (FAKE_NAME, FAKE_ID), 'rel': 'self'}], + 'links': [{'href': f'stacks/{FAKE_NAME}/{FAKE_ID}', 'rel': 'self'}], 'notification_topics': '7', 'outputs': '8', 'parameters': {'OS::stack_id': '9'}, @@ -47,9 +47,7 @@ FAKE = { FAKE_CREATE_RESPONSE = { 'stack': { 'id': FAKE_ID, - 'links': [ - {'href': 'stacks/%s/%s' % (FAKE_NAME, FAKE_ID), 'rel': 'self'} - ], + 'links': [{'href': f'stacks/{FAKE_NAME}/{FAKE_ID}', 'rel': 'self'}], } } FAKE_UPDATE_PREVIEW_RESPONSE = { @@ -240,13 +238,13 @@ class TestStack(base.TestCase): self.assertEqual(sot, sot.fetch(sess)) sess.get.assert_called_with( - 'stacks/{id}'.format(id=sot.id), + f'stacks/{sot.id}', microversion=None, skip_cache=False, ) sot.fetch(sess, resolve_outputs=False) sess.get.assert_called_with( - 'stacks/{id}?resolve_outputs=False'.format(id=sot.id), + f'stacks/{sot.id}?resolve_outputs=False', microversion=None, skip_cache=False, ) @@ -269,7 +267,7 @@ class TestStack(base.TestCase): sot.abandon(sess) sess.delete.assert_called_with( - 'stacks/%s/%s/abandon' % (FAKE_NAME, FAKE_ID), + f'stacks/{FAKE_NAME}/{FAKE_ID}/abandon', ) def test_export(self): @@ -286,7 +284,7 @@ class TestStack(base.TestCase): sot.export(sess) sess.get.assert_called_with( - 'stacks/%s/%s/export' % (FAKE_NAME, FAKE_ID), + f'stacks/{FAKE_NAME}/{FAKE_ID}/export', ) def test_update(self): @@ -304,7 +302,7 @@ class TestStack(base.TestCase): sot.update(sess) sess.put.assert_called_with( - '/stacks/%s/%s' % (FAKE_NAME, FAKE_ID), + f'/stacks/{FAKE_NAME}/{FAKE_ID}', headers={}, microversion=None, json=body, @@ -325,7 +323,7 @@ class TestStack(base.TestCase): ret = sot.update(sess, preview=True) sess.put.assert_called_with( - 'stacks/%s/%s/preview' % (FAKE_NAME, FAKE_ID), + f'stacks/{FAKE_NAME}/{FAKE_ID}/preview', headers={}, microversion=None, json=body, diff --git a/openstack/tests/unit/orchestration/v1/test_stack_event.py b/openstack/tests/unit/orchestration/v1/test_stack_event.py index 5c5057287..913792fee 100644 --- a/openstack/tests/unit/orchestration/v1/test_stack_event.py +++ b/openstack/tests/unit/orchestration/v1/test_stack_event.py @@ -19,7 +19,7 @@ FAKE_NAME = 'test_stack' FAKE = { 'event_time': '2015-03-09T12:15:57.233772', 'id': FAKE_ID, - 'links': [{'href': 'stacks/%s/%s' % (FAKE_NAME, FAKE_ID), 'rel': 'self'}], + 'links': [{'href': f'stacks/{FAKE_NAME}/{FAKE_ID}', 'rel': 'self'}], 'logical_resource_id': 'my_test_group', 'physical_resource_id': 'my_test_group', 'resource_name': 'my_test_resource', diff --git a/openstack/tests/unit/orchestration/v1/test_stack_files.py b/openstack/tests/unit/orchestration/v1/test_stack_files.py index 1e6e5d729..6b4527f60 100644 --- a/openstack/tests/unit/orchestration/v1/test_stack_files.py +++ b/openstack/tests/unit/orchestration/v1/test_stack_files.py @@ -44,10 +44,10 @@ class TestStackFiles(base.TestCase): sot = sf.StackFiles(**FAKE) req = mock.MagicMock() - req.url = '/stacks/%(stack_name)s/%(stack_id)s/files' % { - 'stack_name': FAKE['stack_name'], - 'stack_id': FAKE['stack_id'], - } + req.url = '/stacks/{stack_name}/{stack_id}/files'.format( + stack_name=FAKE['stack_name'], + stack_id=FAKE['stack_id'], + ) mock_prepare_request.return_value = req files = sot.fetch(sess) diff --git a/openstack/tests/unit/shared_file_system/v2/test_proxy.py b/openstack/tests/unit/shared_file_system/v2/test_proxy.py index a562a450b..3534d8886 100644 --- a/openstack/tests/unit/shared_file_system/v2/test_proxy.py +++ b/openstack/tests/unit/shared_file_system/v2/test_proxy.py @@ -31,7 +31,7 @@ from openstack.tests.unit import test_proxy_base class TestSharedFileSystemProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestSharedFileSystemProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) @@ -215,7 +215,7 @@ class TestSharedFileSystemShareMetadata(TestSharedFileSystemProxy): class TestUserMessageProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestUserMessageProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_user_messages(self): @@ -248,7 +248,7 @@ class TestUserMessageProxy(test_proxy_base.TestProxyBase): class TestShareSnapshotResource(test_proxy_base.TestProxyBase): def setUp(self): - super(TestShareSnapshotResource, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_share_snapshots(self): @@ -313,7 +313,7 @@ class TestShareSnapshotResource(test_proxy_base.TestProxyBase): class TestShareSnapshotInstanceResource(test_proxy_base.TestProxyBase): def setUp(self): - super(TestShareSnapshotInstanceResource, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_share_snapshot_instances(self): @@ -347,7 +347,7 @@ class TestShareSnapshotInstanceResource(test_proxy_base.TestProxyBase): class TestShareNetworkResource(test_proxy_base.TestProxyBase): def setUp(self): - super(TestShareNetworkResource, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_share_networks(self): @@ -397,7 +397,7 @@ class TestShareNetworkResource(test_proxy_base.TestProxyBase): class TestShareNetworkSubnetResource(test_proxy_base.TestProxyBase): def setUp(self): - super(TestShareNetworkSubnetResource, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_share_network_subnets(self): @@ -444,7 +444,7 @@ class TestShareNetworkSubnetResource(test_proxy_base.TestProxyBase): class TestAccessRuleProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestAccessRuleProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_access_ruless(self): @@ -486,7 +486,7 @@ class TestAccessRuleProxy(test_proxy_base.TestProxyBase): class TestResourceLocksProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestResourceLocksProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_list_resource_locks(self): @@ -522,7 +522,7 @@ class TestResourceLocksProxy(test_proxy_base.TestProxyBase): class TestShareGroupResource(test_proxy_base.TestProxyBase): def setUp(self): - super(TestShareGroupResource, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_share_groups(self): diff --git a/openstack/tests/unit/shared_file_system/v2/test_share_instance.py b/openstack/tests/unit/shared_file_system/v2/test_share_instance.py index 6dbc0a921..6d9be78ef 100644 --- a/openstack/tests/unit/shared_file_system/v2/test_share_instance.py +++ b/openstack/tests/unit/shared_file_system/v2/test_share_instance.py @@ -84,7 +84,7 @@ class TestShareInstances(base.TestCase): class TestShareInstanceActions(TestShareInstances): def setUp(self): - super(TestShareInstanceActions, self).setUp() + super().setUp() self.resp = mock.Mock() self.resp.body = None self.resp.status_code = 200 diff --git a/openstack/tests/unit/test_connection.py b/openstack/tests/unit/test_connection.py index 4149be766..e2150a2a0 100644 --- a/openstack/tests/unit/test_connection.py +++ b/openstack/tests/unit/test_connection.py @@ -105,7 +105,7 @@ public-clouds: class _TestConnectionBase(base.TestCase): def setUp(self): - super(_TestConnectionBase, self).setUp() + super().setUp() # Create a temporary directory where our test config will live # and insert it into the search path via OS_CLIENT_CONFIG_FILE. config_dir = self.useFixture(fixtures.TempDir()).path @@ -384,7 +384,7 @@ class TestNewService(base.TestCase): svc.add_endpoint( interface='public', region='RegionOne', - url='https://fake.example.com/v1/{0}'.format(fakes.PROJECT_ID), + url=f'https://fake.example.com/v1/{fakes.PROJECT_ID}', ) self.use_keystone_v3() conn = self.cloud @@ -427,7 +427,7 @@ class TestNewService(base.TestCase): svc.add_endpoint( interface='public', region='RegionOne', - url='https://fake.example.com/v2/{0}'.format(fakes.PROJECT_ID), + url=f'https://fake.example.com/v2/{fakes.PROJECT_ID}', ) self.use_keystone_v3() conn = self.cloud @@ -467,7 +467,7 @@ class TestNewService(base.TestCase): svc.add_endpoint( interface='public', region='RegionOne', - url='https://fake.example.com/v2/{0}'.format(fakes.PROJECT_ID), + url=f'https://fake.example.com/v2/{fakes.PROJECT_ID}', ) self.use_keystone_v3() conn = self.cloud @@ -509,7 +509,7 @@ def vendor_hook(conn): class TestVendorProfile(base.TestCase): def setUp(self): - super(TestVendorProfile, self).setUp() + super().setUp() # Create a temporary directory where our test config will live # and insert it into the search path via OS_CLIENT_CONFIG_FILE. config_dir = self.useFixture(fixtures.TempDir()).path diff --git a/openstack/tests/unit/test_exceptions.py b/openstack/tests/unit/test_exceptions.py index b591150ed..86a2b62f6 100644 --- a/openstack/tests/unit/test_exceptions.py +++ b/openstack/tests/unit/test_exceptions.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -32,7 +30,7 @@ class Test_Exception(base.TestCase): class Test_HttpException(base.TestCase): def setUp(self): - super(Test_HttpException, self).setUp() + super().setUp() self.message = "mayday" def _do_raise(self, *args, **kwargs): @@ -72,7 +70,7 @@ class Test_HttpException(base.TestCase): class TestRaiseFromResponse(base.TestCase): def setUp(self): - super(TestRaiseFromResponse, self).setUp() + super().setUp() self.message = "Where is my kitty?" def _do_raise(self, *args, **kwargs): diff --git a/openstack/tests/unit/test_microversions.py b/openstack/tests/unit/test_microversions.py index 531f89bcf..e77646b3c 100644 --- a/openstack/tests/unit/test_microversions.py +++ b/openstack/tests/unit/test_microversions.py @@ -17,7 +17,7 @@ from openstack.tests.unit import base class TestMicroversions(base.TestCase): def setUp(self): - super(TestMicroversions, self).setUp() + super().setUp() self.use_compute_discovery() def test_get_bad_inferred_max_microversion(self): diff --git a/openstack/tests/unit/test_missing_version.py b/openstack/tests/unit/test_missing_version.py index c17569def..fd8e41099 100644 --- a/openstack/tests/unit/test_missing_version.py +++ b/openstack/tests/unit/test_missing_version.py @@ -21,7 +21,7 @@ from openstack.tests.unit import base class TestMissingVersion(base.TestCase): def setUp(self): - super(TestMissingVersion, self).setUp() + super().setUp() self.os_fixture.clear_tokens() svc = self.os_fixture.v3_token.add_service('image') svc.add_endpoint( diff --git a/openstack/tests/unit/test_placement_rest.py b/openstack/tests/unit/test_placement_rest.py index 713db3dc0..32529ae15 100644 --- a/openstack/tests/unit/test_placement_rest.py +++ b/openstack/tests/unit/test_placement_rest.py @@ -21,7 +21,7 @@ from openstack.tests.unit import base @ddt.ddt class TestPlacementRest(base.TestCase): def setUp(self): - super(TestPlacementRest, self).setUp() + super().setUp() self.use_placement() def _register_uris(self, status_code=None): @@ -78,7 +78,7 @@ class TestPlacementRest(base.TestCase): class TestBadPlacementRest(base.TestCase): def setUp(self): self.skipTest('Need to re-add support for broken placement versions') - super(TestBadPlacementRest, self).setUp() + super().setUp() # The bad-placement.json is for older placement that was # missing the status field from its discovery doc. This # lets us show that we can talk to such a placement. diff --git a/openstack/tests/unit/test_proxy.py b/openstack/tests/unit/test_proxy.py index 26599035a..d4904da87 100644 --- a/openstack/tests/unit/test_proxy.py +++ b/openstack/tests/unit/test_proxy.py @@ -60,7 +60,7 @@ class HeadableResource(resource.Resource): class TestProxyPrivate(base.TestCase): def setUp(self): - super(TestProxyPrivate, self).setUp() + super().setUp() def method(self, expected_type, value): return value @@ -204,7 +204,7 @@ class TestProxyPrivate(base.TestCase): class TestProxyDelete(base.TestCase): def setUp(self): - super(TestProxyDelete, self).setUp() + super().setUp() self.session = mock.Mock() self.session._sdk_connection = self.cloud @@ -274,7 +274,7 @@ class TestProxyDelete(base.TestCase): class TestProxyUpdate(base.TestCase): def setUp(self): - super(TestProxyUpdate, self).setUp() + super().setUp() self.session = mock.Mock() @@ -317,7 +317,7 @@ class TestProxyUpdate(base.TestCase): class TestProxyCreate(base.TestCase): def setUp(self): - super(TestProxyCreate, self).setUp() + super().setUp() self.session = mock.Mock() self.session._sdk_connection = self.cloud @@ -357,7 +357,7 @@ class TestProxyCreate(base.TestCase): class TestProxyBulkCreate(base.TestCase): def setUp(self): - super(TestProxyBulkCreate, self).setUp() + super().setUp() class Res(resource.Resource): pass @@ -391,7 +391,7 @@ class TestProxyBulkCreate(base.TestCase): class TestProxyGet(base.TestCase): def setUp(self): - super(TestProxyGet, self).setUp() + super().setUp() self.session = mock.Mock() self.session._sdk_connection = self.cloud @@ -482,7 +482,7 @@ class TestProxyGet(base.TestCase): class TestProxyList(base.TestCase): def setUp(self): - super(TestProxyList, self).setUp() + super().setUp() self.session = mock.Mock() @@ -545,7 +545,7 @@ class TestProxyList(base.TestCase): class TestProxyHead(base.TestCase): def setUp(self): - super(TestProxyHead, self).setUp() + super().setUp() self.session = mock.Mock() self.session._sdk_connection = self.cloud @@ -619,9 +619,7 @@ class TestProxyCache(base.TestCase): foo = resource.Body('foo') def setUp(self): - super(TestProxyCache, self).setUp( - cloud_config_fixture='clouds_cache.yaml' - ) + super().setUp(cloud_config_fixture='clouds_cache.yaml') self.session = mock.Mock(spec=session.Session) self.session._sdk_connection = self.cloud @@ -714,7 +712,7 @@ class TestProxyCache(base.TestCase): class TestProxyCleanup(base.TestCase): def setUp(self): - super(TestProxyCleanup, self).setUp() + super().setUp() self.session = mock.Mock() self.session._sdk_connection = self.cloud diff --git a/openstack/tests/unit/test_proxy_base.py b/openstack/tests/unit/test_proxy_base.py index b901c37f5..d1d749006 100644 --- a/openstack/tests/unit/test_proxy_base.py +++ b/openstack/tests/unit/test_proxy_base.py @@ -17,7 +17,7 @@ from openstack.tests.unit import base class TestProxyBase(base.TestCase): def setUp(self): - super(TestProxyBase, self).setUp() + super().setUp() self.session = mock.Mock() def _verify( diff --git a/openstack/tests/unit/test_resource.py b/openstack/tests/unit/test_resource.py index 7d09eda4b..75c758a25 100644 --- a/openstack/tests/unit/test_resource.py +++ b/openstack/tests/unit/test_resource.py @@ -1417,7 +1417,7 @@ class TestResource(base.TestCase): request_body = sot._prepare_request(requires_id=False, patch=True).body self.assertDictEqual( - {u'path': u'/dummy', u'value': u'new_value', u'op': u'replace'}, + {'path': '/dummy', 'value': 'new_value', 'op': 'replace'}, request_body[0], ) @@ -1522,7 +1522,7 @@ class TestResource(base.TestCase): class TestResourceActions(base.TestCase): def setUp(self): - super(TestResourceActions, self).setUp() + super().setUp() self.service_name = "service" self.base_path = "base_path" @@ -1598,7 +1598,7 @@ class TestResourceActions(base.TestCase): base_path=base_path, resource_request_key=resource_request_key, resource_response_key=resource_response_key, - **kwargs + **kwargs, ) id_is_dirty = 'id' in sot._body._dirty @@ -1611,7 +1611,7 @@ class TestResourceActions(base.TestCase): requires_id=requires_id, prepend_key=prepend_key, base_path=base_path, - **prepare_kwargs + **prepare_kwargs, ) if requires_id: self.session.put.assert_called_once_with( @@ -1974,7 +1974,7 @@ class TestResourceActions(base.TestCase): prepend_key=prepend_key, has_body=has_body, base_path=base_path, - **commit_args + **commit_args, ) self.sot._prepare_request.assert_called_once_with( @@ -1987,7 +1987,7 @@ class TestResourceActions(base.TestCase): json=self.request.body, headers=self.request.headers, microversion=microversion, - **(expected_args or {}) + **(expected_args or {}), ) elif commit_method == 'POST': self.session.post.assert_called_once_with( @@ -1995,7 +1995,7 @@ class TestResourceActions(base.TestCase): json=self.request.body, headers=self.request.headers, microversion=microversion, - **(expected_args or {}) + **(expected_args or {}), ) elif commit_method == 'PUT': self.session.put.assert_called_once_with( @@ -2003,7 +2003,7 @@ class TestResourceActions(base.TestCase): json=self.request.body, headers=self.request.headers, microversion=microversion, - **(expected_args or {}) + **(expected_args or {}), ) self.assertEqual(self.sot.microversion, microversion) @@ -2679,7 +2679,7 @@ class TestResourceActions(base.TestCase): ) ) self.session.get.assert_called_once_with( - "/{something}/blah".format(something=uri_param), + f"/{uri_param}/blah", headers={'Accept': 'application/json'}, microversion=None, params={qp_name: qp}, @@ -2720,7 +2720,7 @@ class TestResourceActions(base.TestCase): ) ) self.session.get.assert_called_once_with( - "/{something}/blah".format(something=uri_param), + f"/{uri_param}/blah", headers={'Accept': 'application/json'}, microversion=None, params={'a': '1'}, @@ -2756,7 +2756,7 @@ class TestResourceActions(base.TestCase): self.session, paginated=True, something=uri_param, - **{qp_name: qp} + **{qp_name: qp}, ) ) @@ -2803,7 +2803,7 @@ class TestResourceActions(base.TestCase): paginated=True, query_param=qp2, something=uri_param, - **{qp_name: qp} + **{qp_name: qp}, ) ) @@ -3155,7 +3155,7 @@ class TestResourceActions(base.TestCase): self.session, [{'name': 'resource1'}, {'name': 'resource2'}], base_path=base_path, - **params + **params, ) ) @@ -3289,7 +3289,7 @@ class TestResourceFind(base.TestCase): _query_mapping = resource.QueryParameters('name') def setUp(self): - super(TestResourceFind, self).setUp() + super().setUp() self.no_results = self.NoResults self.one_result = self.OneResult self.one_result_with_qparams = self.OneResultWithQueryParams diff --git a/openstack/tests/unit/test_stats.py b/openstack/tests/unit/test_stats.py index f97b4d6f9..6a466b1bb 100644 --- a/openstack/tests/unit/test_stats.py +++ b/openstack/tests/unit/test_stats.py @@ -81,7 +81,7 @@ class TestStats(base.TestCase): self.add_info_on_exception('statsd_content', self.statsd.stats) # Set up the above things before the super setup so that we have the # environment variables set when the Connection is created. - super(TestStats, self).setUp() + super().setUp() self._registry = prometheus_client.CollectorRegistry() self.cloud.config._collector_registry = self._registry @@ -358,7 +358,7 @@ class TestStats(base.TestCase): class TestNoStats(base.TestCase): def setUp(self): - super(TestNoStats, self).setUp() + super().setUp() self.statsd = StatsdFixture() self.useFixture(self.statsd) diff --git a/openstack/tests/unit/test_utils.py b/openstack/tests/unit/test_utils.py index f5b3413fe..23822ba1b 100644 --- a/openstack/tests/unit/test_utils.py +++ b/openstack/tests/unit/test_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -30,7 +28,7 @@ from openstack import utils class Test_enable_logging(base.TestCase): def setUp(self): - super(Test_enable_logging, self).setUp() + super().setUp() self.openstack_logger = mock.Mock() self.openstack_logger.handlers = [] self.ksa_logger_root = mock.Mock() @@ -124,19 +122,19 @@ class Test_urljoin(base.TestCase): def test_unicode_strings(self): root = "http://www.example.com" - leaves = u"ascii", u"extra_chars-™" + leaves = "ascii", "extra_chars-™" try: result = utils.urljoin(root, *leaves) except Exception: self.fail("urljoin failed on unicode strings") - self.assertEqual(result, u"http://www.example.com/ascii/extra_chars-™") + self.assertEqual(result, "http://www.example.com/ascii/extra_chars-™") class TestSupportsMicroversion(base.TestCase): def setUp(self): - super(TestSupportsMicroversion, self).setUp() + super().setUp() self.adapter = mock.Mock(spec=['get_endpoint_data']) self.endpoint_data = mock.Mock( spec=['min_microversion', 'max_microversion'], @@ -193,7 +191,7 @@ class TestSupportsMicroversion(base.TestCase): class TestMaximumSupportedMicroversion(base.TestCase): def setUp(self): - super(TestMaximumSupportedMicroversion, self).setUp() + super().setUp() self.adapter = mock.Mock(spec=['get_endpoint_data']) self.endpoint_data = mock.Mock( spec=['min_microversion', 'max_microversion'], @@ -308,8 +306,8 @@ def test_walker_fn(graph, node, lst): class Test_md5(base.TestCase): def setUp(self): - super(Test_md5, self).setUp() - self.md5_test_data = "Openstack forever".encode('utf-8') + super().setUp() + self.md5_test_data = b"Openstack forever" try: self.md5_digest = hashlib.md5( # nosec self.md5_test_data @@ -363,18 +361,18 @@ class Test_md5(base.TestCase): def test_string_data_raises_type_error(self): if not self.fips_enabled: - self.assertRaises(TypeError, hashlib.md5, u'foo') - self.assertRaises(TypeError, utils.md5, u'foo') + self.assertRaises(TypeError, hashlib.md5, 'foo') + self.assertRaises(TypeError, utils.md5, 'foo') self.assertRaises( - TypeError, utils.md5, u'foo', usedforsecurity=True + TypeError, utils.md5, 'foo', usedforsecurity=True ) else: - self.assertRaises(ValueError, hashlib.md5, u'foo') - self.assertRaises(ValueError, utils.md5, u'foo') + self.assertRaises(ValueError, hashlib.md5, 'foo') + self.assertRaises(ValueError, utils.md5, 'foo') self.assertRaises( - ValueError, utils.md5, u'foo', usedforsecurity=True + ValueError, utils.md5, 'foo', usedforsecurity=True ) - self.assertRaises(TypeError, utils.md5, u'foo', usedforsecurity=False) + self.assertRaises(TypeError, utils.md5, 'foo', usedforsecurity=False) def test_none_data_raises_type_error(self): if not self.fips_enabled: diff --git a/openstack/tests/unit/workflow/test_execution.py b/openstack/tests/unit/workflow/test_execution.py index 0d0b7e9da..ef17b266b 100644 --- a/openstack/tests/unit/workflow/test_execution.py +++ b/openstack/tests/unit/workflow/test_execution.py @@ -29,7 +29,7 @@ FAKE = { class TestExecution(base.TestCase): def setUp(self): - super(TestExecution, self).setUp() + super().setUp() def test_basic(self): sot = execution.Execution() diff --git a/openstack/tests/unit/workflow/test_workflow.py b/openstack/tests/unit/workflow/test_workflow.py index 0e2f7e983..c2a8bc33a 100644 --- a/openstack/tests/unit/workflow/test_workflow.py +++ b/openstack/tests/unit/workflow/test_workflow.py @@ -23,7 +23,7 @@ FAKE = { class TestWorkflow(base.TestCase): def setUp(self): - super(TestWorkflow, self).setUp() + super().setUp() def test_basic(self): sot = workflow.Workflow() diff --git a/openstack/tests/unit/workflow/v2/test_proxy.py b/openstack/tests/unit/workflow/v2/test_proxy.py index 3f8b56352..39d797652 100644 --- a/openstack/tests/unit/workflow/v2/test_proxy.py +++ b/openstack/tests/unit/workflow/v2/test_proxy.py @@ -19,7 +19,7 @@ from openstack.workflow.v2 import workflow class TestWorkflowProxy(test_proxy_base.TestProxyBase): def setUp(self): - super(TestWorkflowProxy, self).setUp() + super().setUp() self.proxy = _proxy.Proxy(self.session) def test_workflows(self): diff --git a/openstack/workflow/v2/cron_trigger.py b/openstack/workflow/v2/cron_trigger.py index 2a12e61b2..15a338159 100644 --- a/openstack/workflow/v2/cron_trigger.py +++ b/openstack/workflow/v2/cron_trigger.py @@ -72,6 +72,4 @@ class CronTrigger(resource.Resource): updated_at = resource.Body("updated_at") def create(self, session, base_path=None): - return super(CronTrigger, self).create( - session, prepend_key=False, base_path=base_path - ) + return super().create(session, prepend_key=False, base_path=base_path) diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py index ac4be8e19..8507c1df9 100644 --- a/releasenotes/source/conf.py +++ b/releasenotes/source/conf.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/tools/keystone_version.py b/tools/keystone_version.py index 8ca504eb1..5de9b63b3 100644 --- a/tools/keystone_version.py +++ b/tools/keystone_version.py @@ -57,7 +57,7 @@ for cloud in openstack.config.OpenStackConfig().get_all_clouds(): if verbose: pprint.pprint(r) except Exception as e: - print("Error with {cloud}: {e}".format(cloud=cloud.name, e=str(e))) + print(f"Error with {cloud.name}: {str(e)}") continue if 'version' in r: print_version(r['version']) @@ -70,11 +70,11 @@ for cloud in openstack.config.OpenStackConfig().get_all_clouds(): port = None stripped = path.rsplit('/', 2)[0] if port: - stripped = '{stripped}:{port}'.format(stripped=stripped, port=port) + stripped = f'{stripped}:{port}' endpoint = urlparse.urlunsplit( (url.scheme, url.netloc, stripped, url.params, url.query) ) - print(" also {endpoint}".format(endpoint=endpoint)) + print(f" also {endpoint}") try: r = c.get(endpoint).json() if verbose: @@ -87,6 +87,6 @@ for cloud in openstack.config.OpenStackConfig().get_all_clouds(): elif 'versions' in r: print_versions(r['versions']) else: - print("\n\nUNKNOWN\n\n{r}".format(r=r)) + print(f"\n\nUNKNOWN\n\n{r}") else: print_versions(r['versions']) diff --git a/tools/print-services.py b/tools/print-services.py index 6b9c95b8e..98602070d 100644 --- a/tools/print-services.py +++ b/tools/print-services.py @@ -41,9 +41,7 @@ def make_names(): if desc_class.__module__ != 'openstack.service_description': base_mod, dm = desc_class.__module__.rsplit('.', 1) - imports.append( - 'from {base_mod} import {dm}'.format(base_mod=base_mod, dm=dm) - ) + imports.append(f'from {base_mod} import {dm}') else: dm = 'service_description' @@ -62,9 +60,7 @@ def make_names(): for alias_name in _get_aliases(st): if alias_name[-1].isdigit(): continue - services.append( - '{alias_name} = {st}'.format(alias_name=alias_name, st=st) - ) + services.append(f'{alias_name} = {st}') services.append('') print("# Generated file, to change, run tools/print-services.py") for imp in sorted(imports): @@ -73,7 +69,7 @@ def make_names(): print("class ServicesMixin:\n") for service in services: if service: - print(" {service}".format(service=service)) + print(f" {service}") else: print()