From 963734067118563352ccd7a70f879e8f9cdc8ed9 Mon Sep 17 00:00:00 2001 From: p1c2u Date: Mon, 24 May 2021 19:07:01 +0100 Subject: [PATCH] Python2 support drop 2 --- openapi_core/casting/schemas/casters.py | 8 +++----- openapi_core/casting/schemas/factories.py | 2 +- openapi_core/contrib/django/backports.py | 4 ++-- openapi_core/contrib/django/compat.py | 2 +- openapi_core/contrib/django/requests.py | 4 ++-- openapi_core/contrib/django/responses.py | 4 ++-- openapi_core/contrib/falcon/handlers.py | 2 +- openapi_core/contrib/falcon/middlewares.py | 9 +++------ openapi_core/contrib/falcon/requests.py | 2 +- openapi_core/contrib/falcon/responses.py | 2 +- openapi_core/contrib/flask/decorators.py | 4 ++-- openapi_core/contrib/flask/handlers.py | 2 +- openapi_core/contrib/flask/providers.py | 2 +- openapi_core/contrib/flask/requests.py | 2 +- openapi_core/contrib/flask/responses.py | 2 +- openapi_core/contrib/flask/views.py | 5 ++--- openapi_core/contrib/requests/requests.py | 4 ++-- openapi_core/contrib/requests/responses.py | 2 +- .../deserializing/media_types/deserializers.py | 2 +- .../deserializing/media_types/factories.py | 2 +- .../deserializing/parameters/deserializers.py | 2 +- .../deserializing/parameters/factories.py | 2 +- openapi_core/extensions/models/factories.py | 4 ++-- openapi_core/extensions/models/models.py | 2 +- openapi_core/schema/parameters.py | 1 - openapi_core/schema/schemas.py | 5 +---- openapi_core/schema/servers.py | 5 +---- openapi_core/schema/specs.py | 2 -- openapi_core/security/factories.py | 2 +- openapi_core/security/providers.py | 2 +- openapi_core/spec/accessors.py | 2 +- openapi_core/templating/datatypes.py | 2 +- openapi_core/templating/media_types/finders.py | 3 +-- openapi_core/templating/paths/finders.py | 5 ++--- openapi_core/templating/responses/finders.py | 4 +--- openapi_core/templating/util.py | 5 ++--- openapi_core/testing/datatypes.py | 2 +- openapi_core/testing/factories.py | 2 +- openapi_core/testing/requests.py | 2 +- openapi_core/testing/responses.py | 2 +- .../unmarshalling/schemas/factories.py | 2 +- .../unmarshalling/schemas/formatters.py | 2 +- .../unmarshalling/schemas/unmarshallers.py | 11 +++++------ openapi_core/unmarshalling/schemas/util.py | 2 +- openapi_core/validation/datatypes.py | 2 +- openapi_core/validation/decorators.py | 3 +-- openapi_core/validation/processors.py | 2 +- openapi_core/validation/request/datatypes.py | 4 ++-- openapi_core/validation/request/validators.py | 3 +-- openapi_core/validation/response/datatypes.py | 2 +- openapi_core/validation/response/validators.py | 3 +-- openapi_core/validation/validators.py | 4 +--- .../test_django_rest_framework_apiview.py | 2 +- .../contrib/falcon/test_falcon_middlewares.py | 6 +++--- .../contrib/falcon/test_falcon_validation.py | 2 +- .../contrib/flask/test_flask_decorator.py | 2 +- .../contrib/flask/test_flask_requests.py | 2 +- .../contrib/flask/test_flask_responses.py | 2 +- .../contrib/flask/test_flask_validation.py | 2 +- .../contrib/flask/test_flask_views.py | 2 +- .../contrib/requests/test_requests_requests.py | 2 +- .../requests/test_requests_responses.py | 2 +- .../requests/test_requests_validation.py | 2 +- tests/integration/contrib/test_django.py | 2 +- tests/integration/schema/test_empty.py | 2 +- tests/integration/schema/test_link_spec.py | 2 +- tests/integration/schema/test_path_params.py | 2 +- tests/integration/schema/test_spec.py | 2 +- tests/integration/validation/test_minimal.py | 2 +- tests/integration/validation/test_petstore.py | 2 +- .../validation/test_read_only_write_only.py | 4 ++-- .../validation/test_security_override.py | 2 +- .../integration/validation/test_validators.py | 6 +++--- .../test_media_types_deserializers.py | 2 +- .../test_parameters_deserializers.py | 2 +- tests/unit/extensions/test_models.py | 4 ++-- tests/unit/security/test_providers.py | 2 +- tests/unit/templating/test_paths_finders.py | 18 +++++++++--------- .../unit/templating/test_responses_finders.py | 2 +- tests/unit/unmarshalling/test_unmarshal.py | 4 ++-- tests/unit/unmarshalling/test_validate.py | 2 +- .../unit/validation/test_request_shortcuts.py | 4 ++-- .../unit/validation/test_response_shortcuts.py | 2 +- 83 files changed, 115 insertions(+), 141 deletions(-) diff --git a/openapi_core/casting/schemas/casters.py b/openapi_core/casting/schemas/casters.py index 181d8813..a3b35ff3 100644 --- a/openapi_core/casting/schemas/casters.py +++ b/openapi_core/casting/schemas/casters.py @@ -1,9 +1,7 @@ -from __future__ import division - from openapi_core.casting.schemas.exceptions import CastError -class PrimitiveCaster(object): +class PrimitiveCaster: def __init__(self, schema, caster_callable): self.schema = schema @@ -18,13 +16,13 @@ def __call__(self, value): raise CastError(value, self.schema['type']) -class DummyCaster(object): +class DummyCaster: def __call__(self, value): return value -class ArrayCaster(object): +class ArrayCaster: def __init__(self, schema, casters_factory): self.schema = schema diff --git a/openapi_core/casting/schemas/factories.py b/openapi_core/casting/schemas/factories.py index f07f1b5f..d4b7007b 100644 --- a/openapi_core/casting/schemas/factories.py +++ b/openapi_core/casting/schemas/factories.py @@ -4,7 +4,7 @@ from openapi_core.casting.schemas.util import forcebool -class SchemaCastersFactory(object): +class SchemaCastersFactory: DUMMY_CASTERS = [ 'string', 'object', 'any', diff --git a/openapi_core/contrib/django/backports.py b/openapi_core/contrib/django/backports.py index b661ae71..9643980c 100644 --- a/openapi_core/contrib/django/backports.py +++ b/openapi_core/contrib/django/backports.py @@ -8,11 +8,11 @@ class HttpHeaders(dict): def __init__(self, environ): headers = {} - for header, value in environ.items(): + for header, value in list(environ.items()): name = self.parse_header_name(header) if name: headers[name] = value - super(HttpHeaders, self).__init__(headers) + super().__init__(headers) @classmethod def parse_header_name(cls, header): diff --git a/openapi_core/contrib/django/compat.py b/openapi_core/contrib/django/compat.py index fa521179..3df701f0 100644 --- a/openapi_core/contrib/django/compat.py +++ b/openapi_core/contrib/django/compat.py @@ -13,7 +13,7 @@ def get_request_headers(req): def get_response_headers(resp): # in Django 2 headers is not defined return resp.headers if hasattr(resp, 'headers') else \ - dict(resp._headers.values()) + dict(list(resp._headers.values())) def get_current_scheme_host(req): diff --git a/openapi_core/contrib/django/requests.py b/openapi_core/contrib/django/requests.py index 4a41bafd..b8624bd6 100644 --- a/openapi_core/contrib/django/requests.py +++ b/openapi_core/contrib/django/requests.py @@ -23,7 +23,7 @@ PATH_PARAMETER_PATTERN = r'(?:[^\/]*?)<(?:(?:.*?:))*?(\w+)>(?:[^\/]*)' -class DjangoOpenAPIRequestFactory(object): +class DjangoOpenAPIRequestFactory: path_regex = re.compile(PATH_PARAMETER_PATTERN) @@ -48,7 +48,7 @@ def create(cls, request): parameters = RequestParameters( path=path, query=request.GET, - header=headers.items(), + header=list(headers.items()), cookie=request.COOKIES, ) current_scheme_host = get_current_scheme_host(request) diff --git a/openapi_core/contrib/django/responses.py b/openapi_core/contrib/django/responses.py index 8c436897..d0e75f79 100644 --- a/openapi_core/contrib/django/responses.py +++ b/openapi_core/contrib/django/responses.py @@ -3,7 +3,7 @@ from openapi_core.validation.response.datatypes import OpenAPIResponse -class DjangoOpenAPIResponseFactory(object): +class DjangoOpenAPIResponseFactory: @classmethod def create(cls, response): @@ -12,6 +12,6 @@ def create(cls, response): return OpenAPIResponse( data=response.content, status_code=response.status_code, - headers=headers.items(), + headers=list(headers.items()), mimetype=mimetype, ) diff --git a/openapi_core/contrib/falcon/handlers.py b/openapi_core/contrib/falcon/handlers.py index 924e600c..abfd323b 100644 --- a/openapi_core/contrib/falcon/handlers.py +++ b/openapi_core/contrib/falcon/handlers.py @@ -13,7 +13,7 @@ ) -class FalconOpenAPIErrorsHandler(object): +class FalconOpenAPIErrorsHandler: OPENAPI_ERROR_STATUS = { ServerNotFound: 400, diff --git a/openapi_core/contrib/falcon/middlewares.py b/openapi_core/contrib/falcon/middlewares.py index a7819cf9..e809cc7c 100644 --- a/openapi_core/contrib/falcon/middlewares.py +++ b/openapi_core/contrib/falcon/middlewares.py @@ -18,16 +18,14 @@ def __init__( response_factory, openapi_errors_handler, ): - super(FalconOpenAPIMiddleware, self).__init__( - request_validator, response_validator) + super().__init__(request_validator, response_validator) self.request_factory = request_factory self.response_factory = response_factory self.openapi_errors_handler = openapi_errors_handler def process_request(self, req, resp): openapi_req = self._get_openapi_request(req) - req_result = super(FalconOpenAPIMiddleware, self).process_request( - openapi_req) + req_result = super().process_request(openapi_req) if req_result.errors: return self._handle_request_errors(req, resp, req_result) req.openapi = req_result @@ -35,8 +33,7 @@ def process_request(self, req, resp): def process_response(self, req, resp, resource, req_succeeded): openapi_req = self._get_openapi_request(req) openapi_resp = self._get_openapi_response(resp) - resp_result = super(FalconOpenAPIMiddleware, self).process_response( - openapi_req, openapi_resp) + resp_result = super().process_response(openapi_req, openapi_resp) if resp_result.errors: return self._handle_response_errors(req, resp, resp_result) diff --git a/openapi_core/contrib/falcon/requests.py b/openapi_core/contrib/falcon/requests.py index 83dc5020..4f3b18e5 100644 --- a/openapi_core/contrib/falcon/requests.py +++ b/openapi_core/contrib/falcon/requests.py @@ -31,7 +31,7 @@ def create(cls, request, default_when_empty={}): if request.content_type: mimetype = request.content_type.partition(";")[0] - query = ImmutableMultiDict(request.params.items()) + query = ImmutableMultiDict(list(request.params.items())) parameters = RequestParameters( query=query, header=request.headers, diff --git a/openapi_core/contrib/falcon/responses.py b/openapi_core/contrib/falcon/responses.py index 8b28f09a..b0477956 100644 --- a/openapi_core/contrib/falcon/responses.py +++ b/openapi_core/contrib/falcon/responses.py @@ -3,7 +3,7 @@ from openapi_core.validation.response.datatypes import OpenAPIResponse -class FalconOpenAPIResponseFactory(object): +class FalconOpenAPIResponseFactory: @classmethod def create(cls, response): status_code = int(response.status[:3]) diff --git a/openapi_core/contrib/flask/decorators.py b/openapi_core/contrib/flask/decorators.py index 6c0d1b3a..93e528e9 100644 --- a/openapi_core/contrib/flask/decorators.py +++ b/openapi_core/contrib/flask/decorators.py @@ -19,7 +19,7 @@ def __init__( request_provider=FlaskRequestProvider, openapi_errors_handler=FlaskOpenAPIErrorsHandler, ): - super(FlaskOpenAPIViewDecorator, self).__init__( + super().__init__( request_validator, response_validator, request_factory, response_factory, request_provider, openapi_errors_handler, @@ -28,7 +28,7 @@ def __init__( def _handle_request_view(self, request_result, view, *args, **kwargs): request = self._get_request(*args, **kwargs) request.openapi = request_result - return super(FlaskOpenAPIViewDecorator, self)._handle_request_view( + return super()._handle_request_view( request_result, view, *args, **kwargs) @classmethod diff --git a/openapi_core/contrib/flask/handlers.py b/openapi_core/contrib/flask/handlers.py index 393aad06..d14aa018 100644 --- a/openapi_core/contrib/flask/handlers.py +++ b/openapi_core/contrib/flask/handlers.py @@ -8,7 +8,7 @@ ) -class FlaskOpenAPIErrorsHandler(object): +class FlaskOpenAPIErrorsHandler: OPENAPI_ERROR_STATUS = { ServerNotFound: 400, diff --git a/openapi_core/contrib/flask/providers.py b/openapi_core/contrib/flask/providers.py index b7c61b5f..29baace4 100644 --- a/openapi_core/contrib/flask/providers.py +++ b/openapi_core/contrib/flask/providers.py @@ -2,7 +2,7 @@ from flask.globals import request -class FlaskRequestProvider(object): +class FlaskRequestProvider: @classmethod def provide(self, *args, **kwargs): diff --git a/openapi_core/contrib/flask/requests.py b/openapi_core/contrib/flask/requests.py index f6aeb972..7b4ec3bf 100644 --- a/openapi_core/contrib/flask/requests.py +++ b/openapi_core/contrib/flask/requests.py @@ -11,7 +11,7 @@ PATH_PARAMETER_PATTERN = r'<(?:(?:string|int|float|path|uuid):)?(\w+)>' -class FlaskOpenAPIRequestFactory(object): +class FlaskOpenAPIRequestFactory: path_regex = re.compile(PATH_PARAMETER_PATTERN) diff --git a/openapi_core/contrib/flask/responses.py b/openapi_core/contrib/flask/responses.py index c6a1cffb..cb52f5c1 100644 --- a/openapi_core/contrib/flask/responses.py +++ b/openapi_core/contrib/flask/responses.py @@ -2,7 +2,7 @@ from openapi_core.validation.response.datatypes import OpenAPIResponse -class FlaskOpenAPIResponseFactory(object): +class FlaskOpenAPIResponseFactory: @classmethod def create(cls, response): diff --git a/openapi_core/contrib/flask/views.py b/openapi_core/contrib/flask/views.py index e1f84bf5..74535695 100644 --- a/openapi_core/contrib/flask/views.py +++ b/openapi_core/contrib/flask/views.py @@ -13,7 +13,7 @@ class FlaskOpenAPIView(MethodView): openapi_errors_handler = FlaskOpenAPIErrorsHandler def __init__(self, spec): - super(FlaskOpenAPIView, self).__init__() + super().__init__() self.request_validator = RequestValidator(spec) self.response_validator = ResponseValidator(spec) @@ -23,5 +23,4 @@ def dispatch_request(self, *args, **kwargs): response_validator=self.response_validator, openapi_errors_handler=self.openapi_errors_handler, ) - return decorator(super(FlaskOpenAPIView, self).dispatch_request)( - *args, **kwargs) + return decorator(super().dispatch_request)(*args, **kwargs) diff --git a/openapi_core/contrib/requests/requests.py b/openapi_core/contrib/requests/requests.py index 26e87265..f467e127 100644 --- a/openapi_core/contrib/requests/requests.py +++ b/openapi_core/contrib/requests/requests.py @@ -1,5 +1,5 @@ """OpenAPI core contrib requests requests module""" -from __future__ import absolute_import + from urllib.parse import urlparse, parse_qs from werkzeug.datastructures import ImmutableMultiDict @@ -10,7 +10,7 @@ ) -class RequestsOpenAPIRequestFactory(object): +class RequestsOpenAPIRequestFactory: @classmethod def create(cls, request): diff --git a/openapi_core/contrib/requests/responses.py b/openapi_core/contrib/requests/responses.py index 6f3c324a..c7d3359e 100644 --- a/openapi_core/contrib/requests/responses.py +++ b/openapi_core/contrib/requests/responses.py @@ -2,7 +2,7 @@ from openapi_core.validation.response.datatypes import OpenAPIResponse -class RequestsOpenAPIResponseFactory(object): +class RequestsOpenAPIResponseFactory: @classmethod def create(cls, response): diff --git a/openapi_core/deserializing/media_types/deserializers.py b/openapi_core/deserializing/media_types/deserializers.py index 4839acdb..b47b8848 100644 --- a/openapi_core/deserializing/media_types/deserializers.py +++ b/openapi_core/deserializing/media_types/deserializers.py @@ -1,7 +1,7 @@ from openapi_core.deserializing.exceptions import DeserializeError -class PrimitiveDeserializer(object): +class PrimitiveDeserializer: def __init__(self, mimetype, deserializer_callable): self.mimetype = mimetype diff --git a/openapi_core/deserializing/media_types/factories.py b/openapi_core/deserializing/media_types/factories.py index 76cf402d..c0cd409d 100644 --- a/openapi_core/deserializing/media_types/factories.py +++ b/openapi_core/deserializing/media_types/factories.py @@ -9,7 +9,7 @@ ) -class MediaTypeDeserializersFactory(object): +class MediaTypeDeserializersFactory: MEDIA_TYPE_DESERIALIZERS = { 'application/json': loads, diff --git a/openapi_core/deserializing/parameters/deserializers.py b/openapi_core/deserializing/parameters/deserializers.py index 348eac95..e2691fc2 100644 --- a/openapi_core/deserializing/parameters/deserializers.py +++ b/openapi_core/deserializing/parameters/deserializers.py @@ -7,7 +7,7 @@ from openapi_core.schema.parameters import get_aslist, get_explode, get_style -class PrimitiveDeserializer(object): +class PrimitiveDeserializer: def __init__(self, param_or_header, deserializer_callable): self.param_or_header = param_or_header diff --git a/openapi_core/deserializing/parameters/factories.py b/openapi_core/deserializing/parameters/factories.py index 85288e67..64cb8c3c 100644 --- a/openapi_core/deserializing/parameters/factories.py +++ b/openapi_core/deserializing/parameters/factories.py @@ -4,7 +4,7 @@ from openapi_core.schema.parameters import get_style -class ParameterDeserializersFactory(object): +class ParameterDeserializersFactory: PARAMETER_STYLE_DESERIALIZERS = { 'form': lambda x: x.split(','), diff --git a/openapi_core/extensions/models/factories.py b/openapi_core/extensions/models/factories.py index ae00aecf..4573d59b 100644 --- a/openapi_core/extensions/models/factories.py +++ b/openapi_core/extensions/models/factories.py @@ -2,7 +2,7 @@ from openapi_core.extensions.models.models import Model -class ModelClassFactory(object): +class ModelClassFactory: base_class = Model @@ -10,7 +10,7 @@ def create(self, name): return type(name, (self.base_class, ), {}) -class ModelFactory(object): +class ModelFactory: def __init__(self, model_class_factory=None): self.model_class_factory = model_class_factory or ModelClassFactory() diff --git a/openapi_core/extensions/models/models.py b/openapi_core/extensions/models/models.py index 751edbed..a1080dd7 100644 --- a/openapi_core/extensions/models/models.py +++ b/openapi_core/extensions/models/models.py @@ -1,7 +1,7 @@ """OpenAPI X-Model extension models module""" -class BaseModel(object): +class BaseModel: """Base class for OpenAPI X-Model.""" @property diff --git a/openapi_core/schema/parameters.py b/openapi_core/schema/parameters.py index 8d515e7d..79ead68b 100644 --- a/openapi_core/schema/parameters.py +++ b/openapi_core/schema/parameters.py @@ -1,4 +1,3 @@ -from __future__ import division from itertools import chain diff --git a/openapi_core/schema/schemas.py b/openapi_core/schema/schemas.py index 9803a7f8..43919cb3 100644 --- a/openapi_core/schema/schemas.py +++ b/openapi_core/schema/schemas.py @@ -1,9 +1,6 @@ -from __future__ import division - - def get_all_properties(schema): properties = schema.get('properties', {}) - properties_dict = dict(properties.items()) + properties_dict = dict(list(properties.items())) if 'allOf'not in schema: return properties_dict diff --git a/openapi_core/schema/servers.py b/openapi_core/schema/servers.py index 1050fdcb..3f7a1141 100644 --- a/openapi_core/schema/servers.py +++ b/openapi_core/schema/servers.py @@ -1,6 +1,3 @@ -from __future__ import division - - def is_absolute(url): return url.startswith('//') or '://' in url @@ -11,7 +8,7 @@ def get_server_default_variables(server): defaults = {} variables = server / 'variables' - for name, variable in variables.items(): + for name, variable in list(variables.items()): defaults[name] = variable['default'] return defaults diff --git a/openapi_core/schema/specs.py b/openapi_core/schema/specs.py index 15f461d0..45753074 100644 --- a/openapi_core/schema/specs.py +++ b/openapi_core/schema/specs.py @@ -1,5 +1,3 @@ -from __future__ import division - from openapi_core.schema.servers import get_server_url diff --git a/openapi_core/security/factories.py b/openapi_core/security/factories.py index 0cfea1a2..1bc0ff28 100644 --- a/openapi_core/security/factories.py +++ b/openapi_core/security/factories.py @@ -3,7 +3,7 @@ ) -class SecurityProviderFactory(object): +class SecurityProviderFactory: PROVIDERS = { 'apiKey': ApiKeyProvider, diff --git a/openapi_core/security/providers.py b/openapi_core/security/providers.py index 79b4bfa4..6d5dff4d 100644 --- a/openapi_core/security/providers.py +++ b/openapi_core/security/providers.py @@ -3,7 +3,7 @@ from openapi_core.security.exceptions import SecurityError -class BaseProvider(object): +class BaseProvider: def __init__(self, scheme): self.scheme = scheme diff --git a/openapi_core/spec/accessors.py b/openapi_core/spec/accessors.py index d01fde61..76d2ca0d 100644 --- a/openapi_core/spec/accessors.py +++ b/openapi_core/spec/accessors.py @@ -6,7 +6,7 @@ class SpecAccessor(DictOrListAccessor): def __init__(self, dict_or_list, dereferencer): - super(SpecAccessor, self).__init__(dict_or_list) + super().__init__(dict_or_list) self.dereferencer = dereferencer @contextmanager diff --git a/openapi_core/templating/datatypes.py b/openapi_core/templating/datatypes.py index 7087d9e3..0a03d15d 100644 --- a/openapi_core/templating/datatypes.py +++ b/openapi_core/templating/datatypes.py @@ -2,7 +2,7 @@ @attr.s -class TemplateResult(object): +class TemplateResult: pattern = attr.ib(default=None) variables = attr.ib(default=None) diff --git a/openapi_core/templating/media_types/finders.py b/openapi_core/templating/media_types/finders.py index a677781e..d10887bb 100644 --- a/openapi_core/templating/media_types/finders.py +++ b/openapi_core/templating/media_types/finders.py @@ -1,11 +1,10 @@ """OpenAPI core templating media types finders module""" -from __future__ import division import fnmatch from openapi_core.templating.media_types.exceptions import MediaTypeNotFound -class MediaTypeFinder(object): +class MediaTypeFinder: def __init__(self, content): self.content = content diff --git a/openapi_core/templating/paths/finders.py b/openapi_core/templating/paths/finders.py index 4d9116d2..4b744105 100644 --- a/openapi_core/templating/paths/finders.py +++ b/openapi_core/templating/paths/finders.py @@ -1,5 +1,4 @@ """OpenAPI core templating paths finders module""" -from __future__ import division from urllib.parse import urljoin, urlparse from more_itertools import peekable @@ -12,7 +11,7 @@ ) -class PathFinder(object): +class PathFinder: def __init__(self, spec, base_url=None): self.spec = spec @@ -43,7 +42,7 @@ def find(self, request): def _get_paths_iter(self, full_url_pattern): template_paths = [] paths = self.spec / 'paths' - for path_pattern, path in paths.items(): + for path_pattern, path in list(paths.items()): # simple path. # Return right away since it is always the most concrete if full_url_pattern.endswith(path_pattern): diff --git a/openapi_core/templating/responses/finders.py b/openapi_core/templating/responses/finders.py index d50876b7..6e5532e9 100644 --- a/openapi_core/templating/responses/finders.py +++ b/openapi_core/templating/responses/finders.py @@ -1,9 +1,7 @@ -from __future__ import division - from openapi_core.templating.responses.exceptions import ResponseNotFound -class ResponseFinder(object): +class ResponseFinder: def __init__(self, responses): self.responses = responses diff --git a/openapi_core/templating/util.py b/openapi_core/templating/util.py index 634161a5..a92c514a 100644 --- a/openapi_core/templating/util.py +++ b/openapi_core/templating/util.py @@ -6,11 +6,10 @@ def _handle_field(self, field): # handle as path parameter field field = field[1:-1] path_parameter_field = "{%s:PathParameter}" % field - return super(ExtendedParser, self)._handle_field( - path_parameter_field) + return super()._handle_field(path_parameter_field) -class PathParameter(object): +class PathParameter: name = "PathParameter" pattern = r"[^\/]+" diff --git a/openapi_core/testing/datatypes.py b/openapi_core/testing/datatypes.py index 963ea118..75da8049 100644 --- a/openapi_core/testing/datatypes.py +++ b/openapi_core/testing/datatypes.py @@ -1,4 +1,4 @@ -class ResultMock(object): +class ResultMock: def __init__( self, body=None, parameters=None, data=None, error_to_raise=None): diff --git a/openapi_core/testing/factories.py b/openapi_core/testing/factories.py index 7ac561e8..67e37270 100644 --- a/openapi_core/testing/factories.py +++ b/openapi_core/testing/factories.py @@ -1,4 +1,4 @@ -class FactoryClassMock(object): +class FactoryClassMock: _instances = {} diff --git a/openapi_core/testing/requests.py b/openapi_core/testing/requests.py index 6a815ed7..fdde9d61 100644 --- a/openapi_core/testing/requests.py +++ b/openapi_core/testing/requests.py @@ -8,7 +8,7 @@ ) -class MockRequestFactory(object): +class MockRequestFactory: @classmethod def create( diff --git a/openapi_core/testing/responses.py b/openapi_core/testing/responses.py index 55b92f67..2e19bec6 100644 --- a/openapi_core/testing/responses.py +++ b/openapi_core/testing/responses.py @@ -2,7 +2,7 @@ from openapi_core.validation.response.datatypes import OpenAPIResponse -class MockResponseFactory(object): +class MockResponseFactory: @classmethod def create( diff --git a/openapi_core/unmarshalling/schemas/factories.py b/openapi_core/unmarshalling/schemas/factories.py index 00717dea..cc00111c 100644 --- a/openapi_core/unmarshalling/schemas/factories.py +++ b/openapi_core/unmarshalling/schemas/factories.py @@ -13,7 +13,7 @@ ) -class SchemaUnmarshallersFactory(object): +class SchemaUnmarshallersFactory: PRIMITIVE_UNMARSHALLERS = { 'string': StringUnmarshaller, diff --git a/openapi_core/unmarshalling/schemas/formatters.py b/openapi_core/unmarshalling/schemas/formatters.py index b0fed280..dc503bd5 100644 --- a/openapi_core/unmarshalling/schemas/formatters.py +++ b/openapi_core/unmarshalling/schemas/formatters.py @@ -1,4 +1,4 @@ -class Formatter(object): +class Formatter: def validate(self, value): return True diff --git a/openapi_core/unmarshalling/schemas/unmarshallers.py b/openapi_core/unmarshalling/schemas/unmarshallers.py index a0e14cb9..f5d545eb 100644 --- a/openapi_core/unmarshalling/schemas/unmarshallers.py +++ b/openapi_core/unmarshalling/schemas/unmarshallers.py @@ -1,4 +1,3 @@ -from __future__ import division from functools import partial import logging @@ -28,7 +27,7 @@ log = logging.getLogger(__name__) -class PrimitiveTypeUnmarshaller(object): +class PrimitiveTypeUnmarshaller: FORMATTERS = {} @@ -126,7 +125,7 @@ class ComplexUnmarshaller(PrimitiveTypeUnmarshaller): def __init__( self, formatter, validator, schema, unmarshallers_factory, context=None): - super(ComplexUnmarshaller, self).__init__(formatter, validator, schema) + super().__init__(formatter, validator, schema) self.unmarshallers_factory = unmarshallers_factory self.context = context @@ -143,7 +142,7 @@ def items_unmarshaller(self): return self.unmarshallers_factory.create(self.schema / 'items') def __call__(self, value): - value = super(ArrayUnmarshaller, self).__call__(value) + value = super().__call__(value) if value is None and self.schema.getkey('nullable', False): return None return list(map(self.items_unmarshaller, value)) @@ -204,7 +203,7 @@ def _unmarshal_properties(self, value, one_of_schema=None): all_props.update(get_all_properties(one_of_schema)) all_props_names |= get_all_properties_names(one_of_schema) - value_props_names = value.keys() + value_props_names = list(value.keys()) extra_props = set(value_props_names) - set(all_props_names) properties = {} @@ -221,7 +220,7 @@ def _unmarshal_properties(self, value, one_of_schema=None): prop_value = value[prop_name] properties[prop_name] = prop_value - for prop_name, prop in all_props.items(): + for prop_name, prop in list(all_props.items()): read_only = prop.getkey('readOnly', False) if self.context == UnmarshalContext.REQUEST and read_only: continue diff --git a/openapi_core/unmarshalling/schemas/util.py b/openapi_core/unmarshalling/schemas/util.py index 31920c82..3b4e9e40 100644 --- a/openapi_core/unmarshalling/schemas/util.py +++ b/openapi_core/unmarshalling/schemas/util.py @@ -43,6 +43,6 @@ def build_format_checker(**custom_formatters): return oas30_format_checker fc = copy(oas30_format_checker) - for name, formatter in custom_formatters.items(): + for name, formatter in list(custom_formatters.items()): fc.checks(name)(formatter.validate) return fc diff --git a/openapi_core/validation/datatypes.py b/openapi_core/validation/datatypes.py index 0bf86767..a5434c25 100644 --- a/openapi_core/validation/datatypes.py +++ b/openapi_core/validation/datatypes.py @@ -3,7 +3,7 @@ @attr.s -class BaseValidationResult(object): +class BaseValidationResult: errors = attr.ib(factory=list) def raise_for_errors(self): diff --git a/openapi_core/validation/decorators.py b/openapi_core/validation/decorators.py index de5c2c2c..476502cf 100644 --- a/openapi_core/validation/decorators.py +++ b/openapi_core/validation/decorators.py @@ -15,8 +15,7 @@ def __init__( request_provider, openapi_errors_handler, ): - super(OpenAPIDecorator, self).__init__( - request_validator, response_validator) + super().__init__(request_validator, response_validator) self.request_factory = request_factory self.response_factory = response_factory self.request_provider = request_provider diff --git a/openapi_core/validation/processors.py b/openapi_core/validation/processors.py index 3586146c..f68ed571 100644 --- a/openapi_core/validation/processors.py +++ b/openapi_core/validation/processors.py @@ -1,7 +1,7 @@ """OpenAPI core validation processors module""" -class OpenAPIProcessor(object): +class OpenAPIProcessor: def __init__(self, request_validator, response_validator): self.request_validator = request_validator diff --git a/openapi_core/validation/request/datatypes.py b/openapi_core/validation/request/datatypes.py index 1ad629cb..9c0a07b8 100644 --- a/openapi_core/validation/request/datatypes.py +++ b/openapi_core/validation/request/datatypes.py @@ -6,7 +6,7 @@ @attr.s -class RequestParameters(object): +class RequestParameters: """OpenAPI request parameters dataclass. Attributes: @@ -29,7 +29,7 @@ def __getitem__(self, location): @attr.s -class OpenAPIRequest(object): +class OpenAPIRequest: """OpenAPI request dataclass. Attributes: diff --git a/openapi_core/validation/request/validators.py b/openapi_core/validation/request/validators.py index aaf909d9..c6bc6c55 100644 --- a/openapi_core/validation/request/validators.py +++ b/openapi_core/validation/request/validators.py @@ -1,5 +1,4 @@ """OpenAPI core validation request validators module""" -from __future__ import division import warnings from openapi_core.casting.schemas.exceptions import CastError @@ -108,7 +107,7 @@ def _get_security(self, request, operation): return { scheme_name: self._get_security_value( scheme_name, request) - for scheme_name in security_requirement.keys() + for scheme_name in list(security_requirement.keys()) } except SecurityError: continue diff --git a/openapi_core/validation/response/datatypes.py b/openapi_core/validation/response/datatypes.py index b2722ee3..ea58a0c7 100644 --- a/openapi_core/validation/response/datatypes.py +++ b/openapi_core/validation/response/datatypes.py @@ -6,7 +6,7 @@ @attr.s -class OpenAPIResponse(object): +class OpenAPIResponse: """OpenAPI request dataclass. Attributes: diff --git a/openapi_core/validation/response/validators.py b/openapi_core/validation/response/validators.py index 08d6ab1b..19e98ad5 100644 --- a/openapi_core/validation/response/validators.py +++ b/openapi_core/validation/response/validators.py @@ -1,5 +1,4 @@ """OpenAPI core validation response validators module""" -from __future__ import division import warnings from openapi_core.casting.schemas.exceptions import CastError @@ -92,7 +91,7 @@ def _get_headers(self, response, operation_response): errors = [] validated = {} - for name, header in headers.items(): + for name, header in list(headers.items()): # ignore Content-Type header if name.lower() == "content-type": continue diff --git a/openapi_core/validation/validators.py b/openapi_core/validation/validators.py index 2b2cf8fd..f30b56a1 100644 --- a/openapi_core/validation/validators.py +++ b/openapi_core/validation/validators.py @@ -1,6 +1,4 @@ """OpenAPI core validation validators module""" -from __future__ import division - from openapi_core.casting.schemas.factories import SchemaCastersFactory from openapi_core.deserializing.media_types.factories import ( MediaTypeDeserializersFactory, @@ -13,7 +11,7 @@ from openapi_core.unmarshalling.schemas.util import build_format_checker -class BaseValidator(object): +class BaseValidator: def __init__( self, spec, diff --git a/tests/integration/contrib/django/test_django_rest_framework_apiview.py b/tests/integration/contrib/django/test_django_rest_framework_apiview.py index 89f5b61a..498d8526 100644 --- a/tests/integration/contrib/django/test_django_rest_framework_apiview.py +++ b/tests/integration/contrib/django/test_django_rest_framework_apiview.py @@ -1,7 +1,7 @@ import pytest -class TestDjangoRESTFrameworkAPIView(object): +class TestDjangoRESTFrameworkAPIView: @pytest.fixture def api_request_factory(self): diff --git a/tests/integration/contrib/falcon/test_falcon_middlewares.py b/tests/integration/contrib/falcon/test_falcon_middlewares.py index a6bc28d3..dbe4b2a4 100644 --- a/tests/integration/contrib/falcon/test_falcon_middlewares.py +++ b/tests/integration/contrib/falcon/test_falcon_middlewares.py @@ -9,7 +9,7 @@ from openapi_core.validation.request.datatypes import RequestParameters -class TestFalconOpenAPIMiddleware(object): +class TestFalconOpenAPIMiddleware: view_response_callable = None @@ -38,7 +38,7 @@ def view_response(*args, **kwargs): @pytest.fixture(autouse=True) def details_view(self, app, view_response): - class BrowseDetailResource(object): + class BrowseDetailResource: def on_get(self, *args, **kwargs): return view_response(*args, **kwargs) @@ -48,7 +48,7 @@ def on_get(self, *args, **kwargs): @pytest.fixture(autouse=True) def list_view(self, app, view_response): - class BrowseListResource(object): + class BrowseListResource: def on_get(self, *args, **kwargs): return view_response(*args, **kwargs) diff --git a/tests/integration/contrib/falcon/test_falcon_validation.py b/tests/integration/contrib/falcon/test_falcon_validation.py index c54f448c..5021497c 100644 --- a/tests/integration/contrib/falcon/test_falcon_validation.py +++ b/tests/integration/contrib/falcon/test_falcon_validation.py @@ -7,7 +7,7 @@ from openapi_core.validation.response.validators import ResponseValidator -class TestFalconOpenAPIValidation(object): +class TestFalconOpenAPIValidation: @pytest.fixture def spec(self, factory): diff --git a/tests/integration/contrib/flask/test_flask_decorator.py b/tests/integration/contrib/flask/test_flask_decorator.py index 95ab8641..db1b39aa 100644 --- a/tests/integration/contrib/flask/test_flask_decorator.py +++ b/tests/integration/contrib/flask/test_flask_decorator.py @@ -6,7 +6,7 @@ from openapi_core.validation.request.datatypes import RequestParameters -class TestFlaskOpenAPIDecorator(object): +class TestFlaskOpenAPIDecorator: view_response_callable = None diff --git a/tests/integration/contrib/flask/test_flask_requests.py b/tests/integration/contrib/flask/test_flask_requests.py index ca57f0fd..5de5070f 100644 --- a/tests/integration/contrib/flask/test_flask_requests.py +++ b/tests/integration/contrib/flask/test_flask_requests.py @@ -6,7 +6,7 @@ from openapi_core.validation.request.datatypes import RequestParameters -class TestFlaskOpenAPIRequest(object): +class TestFlaskOpenAPIRequest: def test_simple(self, request_factory, request): request = request_factory('GET', '/', subdomain='www') diff --git a/tests/integration/contrib/flask/test_flask_responses.py b/tests/integration/contrib/flask/test_flask_responses.py index 24853b1e..f072e5aa 100644 --- a/tests/integration/contrib/flask/test_flask_responses.py +++ b/tests/integration/contrib/flask/test_flask_responses.py @@ -1,7 +1,7 @@ from openapi_core.contrib.flask import FlaskOpenAPIResponse -class TestFlaskOpenAPIResponse(object): +class TestFlaskOpenAPIResponse: def test_invalid_server(self, response_factory): response = response_factory('Not Found', status_code=404) diff --git a/tests/integration/contrib/flask/test_flask_validation.py b/tests/integration/contrib/flask/test_flask_validation.py index 95170f37..a3e5f6ac 100644 --- a/tests/integration/contrib/flask/test_flask_validation.py +++ b/tests/integration/contrib/flask/test_flask_validation.py @@ -8,7 +8,7 @@ from openapi_core.validation.response.validators import ResponseValidator -class TestFlaskOpenAPIValidation(object): +class TestFlaskOpenAPIValidation: @pytest.fixture def flask_spec(self, factory): diff --git a/tests/integration/contrib/flask/test_flask_views.py b/tests/integration/contrib/flask/test_flask_views.py index ddc5d1d1..25c64ed3 100644 --- a/tests/integration/contrib/flask/test_flask_views.py +++ b/tests/integration/contrib/flask/test_flask_views.py @@ -5,7 +5,7 @@ from openapi_core.shortcuts import create_spec -class TestFlaskOpenAPIView(object): +class TestFlaskOpenAPIView: view_response = None diff --git a/tests/integration/contrib/requests/test_requests_requests.py b/tests/integration/contrib/requests/test_requests_requests.py index bd0556b6..2ea214e3 100644 --- a/tests/integration/contrib/requests/test_requests_requests.py +++ b/tests/integration/contrib/requests/test_requests_requests.py @@ -4,7 +4,7 @@ from openapi_core.validation.request.datatypes import RequestParameters -class TestRequestsOpenAPIRequest(object): +class TestRequestsOpenAPIRequest: def test_simple(self, request_factory, request): request = request_factory('GET', '/', subdomain='www') diff --git a/tests/integration/contrib/requests/test_requests_responses.py b/tests/integration/contrib/requests/test_requests_responses.py index 9ad45fde..c9f32204 100644 --- a/tests/integration/contrib/requests/test_requests_responses.py +++ b/tests/integration/contrib/requests/test_requests_responses.py @@ -1,7 +1,7 @@ from openapi_core.contrib.requests import RequestsOpenAPIResponse -class TestRequestsOpenAPIResponse(object): +class TestRequestsOpenAPIResponse: def test_invalid_server(self, response_factory): response = response_factory('Not Found', status_code=404) diff --git a/tests/integration/contrib/requests/test_requests_validation.py b/tests/integration/contrib/requests/test_requests_validation.py index c15bf361..736e9fb3 100644 --- a/tests/integration/contrib/requests/test_requests_validation.py +++ b/tests/integration/contrib/requests/test_requests_validation.py @@ -10,7 +10,7 @@ from openapi_core.validation.response.validators import ResponseValidator -class TestRequestsOpenAPIValidation(object): +class TestRequestsOpenAPIValidation: @pytest.fixture def spec(self, factory): diff --git a/tests/integration/contrib/test_django.py b/tests/integration/contrib/test_django.py index 61d8f676..76bf5f84 100644 --- a/tests/integration/contrib/test_django.py +++ b/tests/integration/contrib/test_django.py @@ -12,7 +12,7 @@ @pytest.mark.skipif(sys.version_info < (3, 0), reason="requires python3") -class BaseTestDjango(object): +class BaseTestDjango: @pytest.fixture(autouse=True, scope='module') def django_settings(self): diff --git a/tests/integration/schema/test_empty.py b/tests/integration/schema/test_empty.py index ea5b276e..332bbd04 100644 --- a/tests/integration/schema/test_empty.py +++ b/tests/integration/schema/test_empty.py @@ -4,7 +4,7 @@ from openapi_core.shortcuts import create_spec -class TestEmpty(object): +class TestEmpty: @pytest.fixture def spec_dict(self, factory): diff --git a/tests/integration/schema/test_link_spec.py b/tests/integration/schema/test_link_spec.py index 80bc1d87..22467170 100644 --- a/tests/integration/schema/test_link_spec.py +++ b/tests/integration/schema/test_link_spec.py @@ -3,7 +3,7 @@ from openapi_core.shortcuts import create_spec -class TestLinkSpec(object): +class TestLinkSpec: def test_no_param(self, factory): spec_dict = factory.spec_from_file("data/v3.0/links.yaml") diff --git a/tests/integration/schema/test_path_params.py b/tests/integration/schema/test_path_params.py index 50570c0b..59b4b0fe 100644 --- a/tests/integration/schema/test_path_params.py +++ b/tests/integration/schema/test_path_params.py @@ -5,7 +5,7 @@ from openapi_core.shortcuts import create_spec -class TestMinimal(object): +class TestMinimal: spec_paths = [ "data/v3.0/path_param.yaml" diff --git a/tests/integration/schema/test_spec.py b/tests/integration/schema/test_spec.py index 6ae2319d..eed34db4 100644 --- a/tests/integration/schema/test_spec.py +++ b/tests/integration/schema/test_spec.py @@ -9,7 +9,7 @@ from openapi_core.validation.response.validators import ResponseValidator -class TestPetstore(object): +class TestPetstore: api_key = '12345' diff --git a/tests/integration/validation/test_minimal.py b/tests/integration/validation/test_minimal.py index 6936ce17..d6495b16 100644 --- a/tests/integration/validation/test_minimal.py +++ b/tests/integration/validation/test_minimal.py @@ -9,7 +9,7 @@ from openapi_core.validation.request.validators import RequestValidator -class TestMinimal(object): +class TestMinimal: servers = [ "http://minimal.test/", diff --git a/tests/integration/validation/test_petstore.py b/tests/integration/validation/test_petstore.py index 2aa239c3..e8bffac3 100644 --- a/tests/integration/validation/test_petstore.py +++ b/tests/integration/validation/test_petstore.py @@ -29,7 +29,7 @@ from openapi_core.validation.response.validators import ResponseValidator -class TestPetstore(object): +class TestPetstore: api_key = '12345' diff --git a/tests/integration/validation/test_read_only_write_only.py b/tests/integration/validation/test_read_only_write_only.py index 08cc6892..0dbfb17c 100644 --- a/tests/integration/validation/test_read_only_write_only.py +++ b/tests/integration/validation/test_read_only_write_only.py @@ -25,7 +25,7 @@ def spec(factory): return create_spec(spec_dict) -class TestReadOnly(object): +class TestReadOnly: def test_write_a_read_only_property(self, request_validator): data = json.dumps({ @@ -61,7 +61,7 @@ def test_read_only_property_response(self, response_validator): } -class TestWriteOnly(object): +class TestWriteOnly: def test_write_only_property(self, request_validator): data = json.dumps({ diff --git a/tests/integration/validation/test_security_override.py b/tests/integration/validation/test_security_override.py index 1cd03b30..f87a0870 100644 --- a/tests/integration/validation/test_security_override.py +++ b/tests/integration/validation/test_security_override.py @@ -19,7 +19,7 @@ def spec(factory): return create_spec(spec_dict) -class TestSecurityOverride(object): +class TestSecurityOverride: host_url = 'http://petstore.swagger.io' diff --git a/tests/integration/validation/test_validators.py b/tests/integration/validation/test_validators.py index b5d2a5cf..3c60a921 100644 --- a/tests/integration/validation/test_validators.py +++ b/tests/integration/validation/test_validators.py @@ -23,7 +23,7 @@ from openapi_core.validation.response.validators import ResponseValidator -class TestRequestValidator(object): +class TestRequestValidator: host_url = 'http://petstore.swagger.io' @@ -374,7 +374,7 @@ def test_get_pet(self, validator): } -class TestPathItemParamsValidator(object): +class TestPathItemParamsValidator: @pytest.fixture(scope='session') def spec_dict(self): @@ -494,7 +494,7 @@ def test_request_override_param_uniqueness(self, spec_dict): assert result.parameters == RequestParameters() -class TestResponseValidator(object): +class TestResponseValidator: host_url = 'http://petstore.swagger.io' diff --git a/tests/unit/deserializing/test_media_types_deserializers.py b/tests/unit/deserializing/test_media_types_deserializers.py index e38c265f..1a962a57 100644 --- a/tests/unit/deserializing/test_media_types_deserializers.py +++ b/tests/unit/deserializing/test_media_types_deserializers.py @@ -6,7 +6,7 @@ ) -class TestMediaTypeDeserializer(object): +class TestMediaTypeDeserializer: @pytest.fixture def deserializer_factory(self): diff --git a/tests/unit/deserializing/test_parameters_deserializers.py b/tests/unit/deserializing/test_parameters_deserializers.py index 06036acd..a86a09ff 100644 --- a/tests/unit/deserializing/test_parameters_deserializers.py +++ b/tests/unit/deserializing/test_parameters_deserializers.py @@ -9,7 +9,7 @@ from openapi_core.spec.paths import SpecPath -class TestParameterDeserializer(object): +class TestParameterDeserializer: @pytest.fixture def deserializer_factory(self): diff --git a/tests/unit/extensions/test_models.py b/tests/unit/extensions/test_models.py index 524966d3..d5f6681e 100644 --- a/tests/unit/extensions/test_models.py +++ b/tests/unit/extensions/test_models.py @@ -3,7 +3,7 @@ from openapi_core.extensions.models.models import BaseModel, Model -class TestBaseModelDict(object): +class TestBaseModelDict: def test_not_implemented(self): model = BaseModel() @@ -12,7 +12,7 @@ def test_not_implemented(self): model.__dict__ -class TestModelDict(object): +class TestModelDict: def test_dict_empty(self): model = Model() diff --git a/tests/unit/security/test_providers.py b/tests/unit/security/test_providers.py index a88ce443..755ab94f 100644 --- a/tests/unit/security/test_providers.py +++ b/tests/unit/security/test_providers.py @@ -5,7 +5,7 @@ from openapi_core.testing import MockRequest -class TestHttpProvider(object): +class TestHttpProvider: @pytest.mark.parametrize( 'header', diff --git a/tests/unit/templating/test_paths_finders.py b/tests/unit/templating/test_paths_finders.py index fe023a38..6c92e196 100644 --- a/tests/unit/templating/test_paths_finders.py +++ b/tests/unit/templating/test_paths_finders.py @@ -10,7 +10,7 @@ from openapi_core.testing import MockRequest -class BaseTestSimpleServer(object): +class BaseTestSimpleServer: server_url = 'http://petstore.swagger.io' @@ -57,7 +57,7 @@ def server_variable(self): } -class BaseTestSimplePath(object): +class BaseTestSimplePath: path_name = '/resource' @@ -95,7 +95,7 @@ def path(self, operations, parameters): return path -class BaseTestSpecServer(object): +class BaseTestSpecServer: location = 'spec' @@ -171,7 +171,7 @@ def spec(self, info, paths): return SpecPath.from_spec(spec) -class BaseTestServerNotFound(object): +class BaseTestServerNotFound: @pytest.fixture def servers(self): @@ -187,7 +187,7 @@ def test_raises(self, finder): finder.find(request) -class BaseTestOperationNotFound(object): +class BaseTestOperationNotFound: @pytest.fixture def operations(self): @@ -202,7 +202,7 @@ def test_raises(self, finder): finder.find(request) -class BaseTestValid(object): +class BaseTestValid: def test_simple(self, finder, spec): request_uri = '/resource' @@ -222,7 +222,7 @@ def test_simple(self, finder, spec): ) -class BaseTestVariableValid(object): +class BaseTestVariableValid: @pytest.mark.parametrize('version', ['v1', 'v2']) def test_variable(self, finder, spec, version): @@ -243,7 +243,7 @@ def test_variable(self, finder, spec, version): ) -class BaseTestPathVariableValid(object): +class BaseTestPathVariableValid: @pytest.mark.parametrize('res_id', ['111', '222']) def test_path_variable(self, finder, spec, res_id): @@ -264,7 +264,7 @@ def test_path_variable(self, finder, spec, res_id): ) -class BaseTestPathNotFound(object): +class BaseTestPathNotFound: @pytest.fixture def paths(self): diff --git a/tests/unit/templating/test_responses_finders.py b/tests/unit/templating/test_responses_finders.py index 3a8303cc..d8873133 100644 --- a/tests/unit/templating/test_responses_finders.py +++ b/tests/unit/templating/test_responses_finders.py @@ -7,7 +7,7 @@ from openapi_core.templating.responses.finders import ResponseFinder -class TestResponses(object): +class TestResponses: @pytest.fixture(scope='class') def spec(self): diff --git a/tests/unit/unmarshalling/test_unmarshal.py b/tests/unit/unmarshalling/test_unmarshal.py index f959de9d..8d88b1f0 100644 --- a/tests/unit/unmarshalling/test_unmarshal.py +++ b/tests/unit/unmarshalling/test_unmarshal.py @@ -29,7 +29,7 @@ def create_unmarshaller(schema, custom_formatters=None, context=None): return create_unmarshaller -class TestUnmarshal(object): +class TestUnmarshal: def test_no_schema(self, unmarshaller_factory): schema = None @@ -72,7 +72,7 @@ def unmarshal(self, value): ).unmarshal(value) -class TestSchemaUnmarshallerCall(object): +class TestSchemaUnmarshallerCall: def test_deprecated(self, unmarshaller_factory): spec = { diff --git a/tests/unit/unmarshalling/test_validate.py b/tests/unit/unmarshalling/test_validate.py index e059d25c..c867b851 100644 --- a/tests/unit/unmarshalling/test_validate.py +++ b/tests/unit/unmarshalling/test_validate.py @@ -14,7 +14,7 @@ from openapi_core.unmarshalling.schemas.util import build_format_checker -class TestSchemaValidate(object): +class TestSchemaValidate: @pytest.fixture def validator_factory(self): diff --git a/tests/unit/validation/test_request_shortcuts.py b/tests/unit/validation/test_request_shortcuts.py index 6e4de32c..3881a73c 100644 --- a/tests/unit/validation/test_request_shortcuts.py +++ b/tests/unit/validation/test_request_shortcuts.py @@ -9,7 +9,7 @@ ) -class TestSpecValidateParameters(object): +class TestSpecValidateParameters: @mock.patch( 'openapi_core.validation.request.shortcuts.RequestParametersValidator.' @@ -76,7 +76,7 @@ def test_request_factory_error(self, mock_validate): ) -class TestSpecValidateBody(object): +class TestSpecValidateBody: @mock.patch( 'openapi_core.validation.request.shortcuts.RequestBodyValidator.' diff --git a/tests/unit/validation/test_response_shortcuts.py b/tests/unit/validation/test_response_shortcuts.py index bcc47225..dd8855df 100644 --- a/tests/unit/validation/test_response_shortcuts.py +++ b/tests/unit/validation/test_response_shortcuts.py @@ -7,7 +7,7 @@ from openapi_core.validation.response.shortcuts import spec_validate_data -class TestSpecValidateData(object): +class TestSpecValidateData: @mock.patch( 'openapi_core.validation.response.shortcuts.ResponseDataValidator.'