From 0eece7f96ed391686ef8e6747f980b04c89b1092 Mon Sep 17 00:00:00 2001 From: Jair Henrique Date: Sun, 9 Oct 2022 11:23:20 -0300 Subject: [PATCH] Add isort to code lint --- pyproject.toml | 7 ++++++ setup.py | 2 +- tests/integration/test_aiohttp.py | 1 + tests/integration/test_boto.py | 5 ++++- tests/integration/test_boto3.py | 5 ++++- tests/integration/test_config.py | 8 ++++--- tests/integration/test_filter.py | 12 ++++++----- tests/integration/test_httplib2.py | 5 ++--- tests/integration/test_httpx.py | 3 ++- tests/integration/test_ignore.py | 3 ++- tests/integration/test_matchers.py | 5 +++-- tests/integration/test_multiple.py | 6 ++++-- tests/integration/test_proxy.py | 8 +++---- tests/integration/test_record_mode.py | 6 ++++-- tests/integration/test_register_matcher.py | 3 ++- tests/integration/test_request.py | 3 ++- tests/integration/test_requests.py | 3 ++- tests/integration/test_stubs.py | 7 +++--- tests/integration/test_tornado.py | 4 ++-- tests/integration/test_urllib2.py | 6 +++--- tests/integration/test_urllib3.py | 3 ++- tests/integration/test_wild.py | 3 ++- tests/unit/test_cassettes.py | 1 + tests/unit/test_filters.py | 25 +++++++++++----------- tests/unit/test_json_serializer.py | 3 ++- tests/unit/test_matchers.py | 3 +-- tests/unit/test_migration.py | 1 + tests/unit/test_request.py | 2 +- tests/unit/test_serialize.py | 2 +- tests/unit/test_stubs.py | 2 +- tests/unit/test_vcr.py | 6 +++--- tox.ini | 5 ++++- vcr/__init__.py | 3 ++- vcr/cassette.py | 14 ++++++------ vcr/config.py | 10 ++++----- vcr/filters.py | 4 ++-- vcr/matchers.py | 4 ++-- vcr/migration.py | 5 +++-- vcr/patch.py | 10 ++++----- vcr/persisters/filesystem.py | 3 ++- vcr/request.py | 5 +++-- vcr/serialize.py | 5 +++-- vcr/serializers/yamlserializer.py | 5 +++-- vcr/stubs/__init__.py | 10 ++++----- vcr/stubs/aiohttp_stubs.py | 9 ++++---- vcr/stubs/boto_stubs.py | 1 + vcr/stubs/compat.py | 3 +-- vcr/stubs/httplib2_stubs.py | 1 + vcr/stubs/httpx_stubs.py | 7 +++--- vcr/stubs/urllib3_stubs.py | 1 + 50 files changed, 147 insertions(+), 111 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 70053a1..66e80c2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,9 @@ [tool.black] line-length=110 + +[tool.isort] +line_length = 110 +known_first_party = "vcrpy" +multi_line_output = 3 +use_parentheses = true +include_trailing_comma = true diff --git a/setup.py b/setup.py index 348c635..5012705 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ import os import re import sys -from setuptools import setup, find_packages +from setuptools import find_packages, setup from setuptools.command.test import test as TestCommand long_description = open("README.rst", "r").read() diff --git a/tests/integration/test_aiohttp.py b/tests/integration/test_aiohttp.py index 814f3e1..05959da 100644 --- a/tests/integration/test_aiohttp.py +++ b/tests/integration/test_aiohttp.py @@ -8,6 +8,7 @@ asyncio = pytest.importorskip("asyncio") aiohttp = pytest.importorskip("aiohttp") import vcr # noqa: E402 + from .aiohttp_utils import aiohttp_app, aiohttp_request # noqa: E402 diff --git a/tests/integration/test_boto.py b/tests/integration/test_boto.py index 2f6c3d1..08d8650 100644 --- a/tests/integration/test_boto.py +++ b/tests/integration/test_boto.py @@ -2,11 +2,13 @@ import pytest boto = pytest.importorskip("boto") +from configparser import DuplicateSectionError # NOQA + import boto # NOQA import boto.iam # NOQA from boto.s3.connection import S3Connection # NOQA from boto.s3.key import Key # NOQA -from configparser import DuplicateSectionError # NOQA + import vcr # NOQA @@ -15,6 +17,7 @@ def test_boto_stubs(tmpdir): # Perform the imports within the patched context so that # CertValidatingHTTPSConnection refers to the patched version. from boto.https_connection import CertValidatingHTTPSConnection + from vcr.stubs.boto_stubs import VCRCertValidatingHTTPSConnection # Prove that the class was patched by the stub and that we can instantiate it. diff --git a/tests/integration/test_boto3.py b/tests/integration/test_boto3.py index ee93ffb..85ec59f 100644 --- a/tests/integration/test_boto3.py +++ b/tests/integration/test_boto3.py @@ -1,10 +1,12 @@ -import pytest import os +import pytest + boto3 = pytest.importorskip("boto3") import boto3 # NOQA import botocore # NOQA + import vcr # NOQA try: @@ -64,6 +66,7 @@ def test_boto_vendored_stubs(tmpdir): HTTPConnection, VerifiedHTTPSConnection, ) + from vcr.stubs.boto3_stubs import VCRRequestsHTTPConnection, VCRRequestsHTTPSConnection # Prove that the class was patched by the stub and that we can instantiate it. diff --git a/tests/integration/test_config.py b/tests/integration/test_config.py index 4c8c595..c6da8e8 100644 --- a/tests/integration/test_config.py +++ b/tests/integration/test_config.py @@ -1,9 +1,11 @@ -import os import json -import pytest -import vcr +import os from urllib.request import urlopen +import pytest + +import vcr + def test_set_serializer_default_config(tmpdir, httpbin): my_vcr = vcr.VCR(serializer="json") diff --git a/tests/integration/test_filter.py b/tests/integration/test_filter.py index da75f6d..5823b8b 100644 --- a/tests/integration/test_filter.py +++ b/tests/integration/test_filter.py @@ -1,12 +1,14 @@ import base64 -import pytest -from urllib.request import urlopen, Request -from urllib.parse import urlencode -from urllib.error import HTTPError -import vcr import json +from urllib.error import HTTPError +from urllib.parse import urlencode +from urllib.request import Request, urlopen + +import pytest from assertions import assert_cassette_has_one_response, assert_is_json +import vcr + def _request_with_auth(url, username, password): request = Request(url) diff --git a/tests/integration/test_httplib2.py b/tests/integration/test_httplib2.py index f7c06eb..59cfc76 100644 --- a/tests/integration/test_httplib2.py +++ b/tests/integration/test_httplib2.py @@ -2,15 +2,14 @@ """Integration tests with httplib2""" import sys - from urllib.parse import urlencode + import pytest import pytest_httpbin.certs +from assertions import assert_cassette_has_one_response import vcr -from assertions import assert_cassette_has_one_response - httplib2 = pytest.importorskip("httplib2") diff --git a/tests/integration/test_httpx.py b/tests/integration/test_httpx.py index e6dc9ef..2ed5c59 100644 --- a/tests/integration/test_httpx.py +++ b/tests/integration/test_httpx.py @@ -1,6 +1,7 @@ -import pytest import os +import pytest + asyncio = pytest.importorskip("asyncio") httpx = pytest.importorskip("httpx") diff --git a/tests/integration/test_ignore.py b/tests/integration/test_ignore.py index 53aeee7..2dd8118 100644 --- a/tests/integration/test_ignore.py +++ b/tests/integration/test_ignore.py @@ -1,6 +1,7 @@ -from urllib.request import urlopen import socket from contextlib import contextmanager +from urllib.request import urlopen + import vcr diff --git a/tests/integration/test_matchers.py b/tests/integration/test_matchers.py index 3cdbedc..93d61b1 100644 --- a/tests/integration/test_matchers.py +++ b/tests/integration/test_matchers.py @@ -1,7 +1,8 @@ -import vcr -import pytest from urllib.request import urlopen +import pytest + +import vcr DEFAULT_URI = "http://httpbin.org/get?p1=q1&p2=q2" # base uri for testing diff --git a/tests/integration/test_multiple.py b/tests/integration/test_multiple.py index 4368827..70fc418 100644 --- a/tests/integration/test_multiple.py +++ b/tests/integration/test_multiple.py @@ -1,7 +1,9 @@ -import pytest -import vcr from urllib.request import urlopen +import pytest + +import vcr + def test_making_extra_request_raises_exception(tmpdir, httpbin): # make two requests in the first request that are considered diff --git a/tests/integration/test_proxy.py b/tests/integration/test_proxy.py index b465b59..9f6241e 100644 --- a/tests/integration/test_proxy.py +++ b/tests/integration/test_proxy.py @@ -1,15 +1,13 @@ # -*- coding: utf-8 -*- """Test using a proxy.""" -# External imports -import multiprocessing -import pytest - import http.server +import multiprocessing import socketserver from urllib.request import urlopen -# Internal imports +import pytest + import vcr # Conditional imports diff --git a/tests/integration/test_record_mode.py b/tests/integration/test_record_mode.py index 839b1d0..e12e0c6 100644 --- a/tests/integration/test_record_mode.py +++ b/tests/integration/test_record_mode.py @@ -1,7 +1,9 @@ -import pytest -import vcr from urllib.request import urlopen +import pytest + +import vcr + def test_once_record_mode(tmpdir, httpbin): testfile = str(tmpdir.join("recordmode.yml")) diff --git a/tests/integration/test_register_matcher.py b/tests/integration/test_register_matcher.py index 7b8ee1c..9929833 100644 --- a/tests/integration/test_register_matcher.py +++ b/tests/integration/test_register_matcher.py @@ -1,6 +1,7 @@ -import vcr from urllib.request import urlopen +import vcr + def true_matcher(r1, r2): return True diff --git a/tests/integration/test_request.py b/tests/integration/test_request.py index ec499fd..0451c21 100644 --- a/tests/integration/test_request.py +++ b/tests/integration/test_request.py @@ -1,6 +1,7 @@ -import vcr from urllib.request import urlopen +import vcr + def test_recorded_request_uri_with_redirected_request(tmpdir, httpbin): with vcr.use_cassette(str(tmpdir.join("test.yml"))) as cass: diff --git a/tests/integration/test_requests.py b/tests/integration/test_requests.py index b913f75..c083dca 100644 --- a/tests/integration/test_requests.py +++ b/tests/integration/test_requests.py @@ -1,8 +1,9 @@ """Test requests' interaction with vcr""" import pytest -import vcr from assertions import assert_cassette_empty, assert_is_json +import vcr + requests = pytest.importorskip("requests") from requests.exceptions import ConnectionError # noqa E402 diff --git a/tests/integration/test_stubs.py b/tests/integration/test_stubs.py index 22ece1e..384d78d 100644 --- a/tests/integration/test_stubs.py +++ b/tests/integration/test_stubs.py @@ -1,10 +1,11 @@ -import vcr -import zlib -import json import http.client as httplib +import json +import zlib from assertions import assert_is_json +import vcr + def _headers_are_case_insensitive(host, port): conn = httplib.HTTPConnection(host, port) diff --git a/tests/integration/test_tornado.py b/tests/integration/test_tornado.py index f8fdb04..c929829 100644 --- a/tests/integration/test_tornado.py +++ b/tests/integration/test_tornado.py @@ -4,11 +4,11 @@ import json import pytest +from assertions import assert_cassette_empty, assert_is_json + import vcr from vcr.errors import CannotOverwriteExistingCassetteException -from assertions import assert_cassette_empty, assert_is_json - tornado = pytest.importorskip("tornado") http = pytest.importorskip("tornado.httpclient") diff --git a/tests/integration/test_urllib2.py b/tests/integration/test_urllib2.py index dd74bd5..1133a40 100644 --- a/tests/integration/test_urllib2.py +++ b/tests/integration/test_urllib2.py @@ -2,15 +2,15 @@ """Integration tests with urllib2""" import ssl -from urllib.request import urlopen from urllib.parse import urlencode +from urllib.request import urlopen + import pytest_httpbin.certs +from assertions import assert_cassette_has_one_response # Internal imports import vcr -from assertions import assert_cassette_has_one_response - def urlopen_with_cafile(*args, **kwargs): context = ssl.create_default_context(cafile=pytest_httpbin.certs.where()) diff --git a/tests/integration/test_urllib3.py b/tests/integration/test_urllib3.py index 01de5a8..6e1c2ef 100644 --- a/tests/integration/test_urllib3.py +++ b/tests/integration/test_urllib3.py @@ -4,9 +4,10 @@ import pytest import pytest_httpbin +from assertions import assert_cassette_empty, assert_is_json + import vcr from vcr.patch import force_reset -from assertions import assert_cassette_empty, assert_is_json urllib3 = pytest.importorskip("urllib3") diff --git a/tests/integration/test_wild.py b/tests/integration/test_wild.py index 997b092..c04b307 100644 --- a/tests/integration/test_wild.py +++ b/tests/integration/test_wild.py @@ -1,9 +1,10 @@ import http.client as httplib import multiprocessing -import pytest from xmlrpc.client import ServerProxy from xmlrpc.server import SimpleXMLRPCServer +import pytest + requests = pytest.importorskip("requests") import vcr # NOQA diff --git a/tests/unit/test_cassettes.py b/tests/unit/test_cassettes.py index 6c328e1..41e3df5 100644 --- a/tests/unit/test_cassettes.py +++ b/tests/unit/test_cassettes.py @@ -7,6 +7,7 @@ from unittest import mock import pytest import yaml + from vcr.cassette import Cassette from vcr.errors import UnhandledHTTPRequestError from vcr.patch import force_reset diff --git a/tests/unit/test_filters.py b/tests/unit/test_filters.py index 6e729ad..370699d 100644 --- a/tests/unit/test_filters.py +++ b/tests/unit/test_filters.py @@ -1,18 +1,19 @@ -from io import BytesIO -from vcr.filters import ( - remove_headers, - replace_headers, - remove_query_parameters, - replace_query_parameters, - remove_post_data_parameters, - replace_post_data_parameters, - decode_response, -) -from vcr.request import Request import gzip import json -from unittest import mock import zlib +from io import BytesIO +from unittest import mock + +from vcr.filters import ( + decode_response, + remove_headers, + remove_post_data_parameters, + remove_query_parameters, + replace_headers, + replace_post_data_parameters, + replace_query_parameters, +) +from vcr.request import Request def test_replace_headers(): diff --git a/tests/unit/test_json_serializer.py b/tests/unit/test_json_serializer.py index 880c36a..7a869a4 100644 --- a/tests/unit/test_json_serializer.py +++ b/tests/unit/test_json_serializer.py @@ -1,6 +1,7 @@ import pytest -from vcr.serializers.jsonserializer import serialize + from vcr.request import Request +from vcr.serializers.jsonserializer import serialize def test_serialize_binary(): diff --git a/tests/unit/test_matchers.py b/tests/unit/test_matchers.py index 5e45ab6..85e0dbe 100644 --- a/tests/unit/test_matchers.py +++ b/tests/unit/test_matchers.py @@ -3,8 +3,7 @@ from unittest import mock import pytest -from vcr import matchers -from vcr import request +from vcr import matchers, request # the dict contains requests with corresponding to its key difference # with 'base' request. diff --git a/tests/unit/test_migration.py b/tests/unit/test_migration.py index f21aaba..8cee57d 100644 --- a/tests/unit/test_migration.py +++ b/tests/unit/test_migration.py @@ -1,6 +1,7 @@ import filecmp import json import shutil + import yaml import vcr.migration diff --git a/tests/unit/test_request.py b/tests/unit/test_request.py index 19e0841..54e82c1 100644 --- a/tests/unit/test_request.py +++ b/tests/unit/test_request.py @@ -1,6 +1,6 @@ import pytest -from vcr.request import Request, HeadersDict +from vcr.request import HeadersDict, Request @pytest.mark.parametrize( diff --git a/tests/unit/test_serialize.py b/tests/unit/test_serialize.py index c06d6d3..0698ad8 100644 --- a/tests/unit/test_serialize.py +++ b/tests/unit/test_serialize.py @@ -5,7 +5,7 @@ import pytest from vcr.request import Request from vcr.serialize import deserialize, serialize -from vcr.serializers import yamlserializer, jsonserializer, compat +from vcr.serializers import compat, jsonserializer, yamlserializer def test_deserialize_old_yaml_cassette(): diff --git a/tests/unit/test_stubs.py b/tests/unit/test_stubs.py index da8061a..8daa70d 100644 --- a/tests/unit/test_stubs.py +++ b/tests/unit/test_stubs.py @@ -1,8 +1,8 @@ from unittest import mock from vcr import mode -from vcr.stubs import VCRHTTPSConnection from vcr.cassette import Cassette +from vcr.stubs import VCRHTTPSConnection class TestVCRConnection: diff --git a/tests/unit/test_vcr.py b/tests/unit/test_vcr.py index 92cce93..278a924 100644 --- a/tests/unit/test_vcr.py +++ b/tests/unit/test_vcr.py @@ -1,13 +1,13 @@ -from unittest import mock +import http.client as httplib import os +from unittest import mock import pytest -import http.client as httplib from vcr import VCR, mode, use_cassette +from vcr.patch import _HTTPConnection, force_reset from vcr.request import Request from vcr.stubs import VCRHTTPSConnection -from vcr.patch import _HTTPConnection, force_reset def test_vcr_use_cassette(): diff --git a/tox.ini b/tox.ini index 0a5519a..1136a2c 100644 --- a/tox.ini +++ b/tox.ini @@ -36,13 +36,16 @@ skipsdist = True commands = black --version black --check --diff . + isort --version + isort . --check --diff flake8 --version flake8 --exclude=./docs/conf.py,./.tox/ pyflakes ./docs/conf.py deps = flake8 black -basepython = python3.7 + isort +basepython = python3.10 [testenv:docs] # Running sphinx from inside the "docs" directory diff --git a/vcr/__init__.py b/vcr/__init__.py index 6fc9d14..f5927e1 100644 --- a/vcr/__init__.py +++ b/vcr/__init__.py @@ -1,6 +1,7 @@ import logging -from .config import VCR from logging import NullHandler + +from .config import VCR from .record_mode import RecordMode as mode # noqa import is not used in this file __version__ = "4.2.1" diff --git a/vcr/cassette.py b/vcr/cassette.py index 9122b4a..901b7fb 100644 --- a/vcr/cassette.py +++ b/vcr/cassette.py @@ -1,20 +1,20 @@ import collections import contextlib import copy -import sys import inspect import logging +import sys import wrapt -from .errors import UnhandledHTTPRequestError -from .matchers import requests_match, uri, method, get_matchers_results -from .patch import CassettePatcherBuilder -from .serializers import yamlserializer -from .persisters.filesystem import FilesystemPersister -from .util import partition_dict from ._handle_coroutine import handle_coroutine +from .errors import UnhandledHTTPRequestError +from .matchers import get_matchers_results, method, requests_match, uri +from .patch import CassettePatcherBuilder +from .persisters.filesystem import FilesystemPersister from .record_mode import RecordMode +from .serializers import yamlserializer +from .util import partition_dict try: from asyncio import iscoroutinefunction diff --git a/vcr/config.py b/vcr/config.py index e95908c..1ff3cac 100644 --- a/vcr/config.py +++ b/vcr/config.py @@ -1,20 +1,18 @@ import copy - -from collections import abc as collections_abc import functools import inspect import os import types +from collections import abc as collections_abc import six +from . import filters, matchers from .cassette import Cassette -from .serializers import yamlserializer, jsonserializer from .persisters.filesystem import FilesystemPersister -from .util import compose, auto_decorate from .record_mode import RecordMode -from . import matchers -from . import filters +from .serializers import jsonserializer, yamlserializer +from .util import auto_decorate, compose class VCR: diff --git a/vcr/filters.py b/vcr/filters.py index df3dd30..751c5d4 100644 --- a/vcr/filters.py +++ b/vcr/filters.py @@ -1,8 +1,8 @@ -from io import BytesIO -from urllib.parse import urlparse, urlencode, urlunparse import copy import json import zlib +from io import BytesIO +from urllib.parse import urlencode, urlparse, urlunparse from .util import CaseInsensitiveDict diff --git a/vcr/matchers.py b/vcr/matchers.py index 3dd4872..5ed288a 100644 --- a/vcr/matchers.py +++ b/vcr/matchers.py @@ -1,9 +1,9 @@ import json +import logging import urllib import xmlrpc.client -from .util import read_body -import logging +from .util import read_body log = logging.getLogger(__name__) diff --git a/vcr/migration.py b/vcr/migration.py index 89b71e7..b72d78b 100644 --- a/vcr/migration.py +++ b/vcr/migration.py @@ -17,11 +17,12 @@ import os import shutil import sys import tempfile + import yaml -from .serializers import yamlserializer, jsonserializer -from .serialize import serialize from . import request +from .serialize import serialize +from .serializers import jsonserializer, yamlserializer from .stubs.compat import get_httpmessage # Use the libYAML versions if possible diff --git a/vcr/patch.py b/vcr/patch.py index a3683fb..9399e3b 100644 --- a/vcr/patch.py +++ b/vcr/patch.py @@ -1,13 +1,12 @@ """Utilities for patching in cassettes""" import contextlib import functools +import http.client as httplib import itertools +import logging from unittest import mock from .stubs import VCRHTTPConnection, VCRHTTPSConnection -import http.client as httplib - -import logging log = logging.getLogger(__name__) # Save some of the original types for the purposes of unpatching @@ -16,7 +15,7 @@ _HTTPSConnection = httplib.HTTPSConnection # Try to save the original types for boto3 try: - from botocore.awsrequest import AWSHTTPSConnection, AWSHTTPConnection + from botocore.awsrequest import AWSHTTPConnection, AWSHTTPSConnection except ImportError: try: import botocore.vendored.requests.packages.urllib3.connectionpool as cpool @@ -269,8 +268,7 @@ class CassettePatcherBuilder: except ImportError: # pragma: no cover pass else: - from .stubs.httplib2_stubs import VCRHTTPConnectionWithTimeout - from .stubs.httplib2_stubs import VCRHTTPSConnectionWithTimeout + from .stubs.httplib2_stubs import VCRHTTPConnectionWithTimeout, VCRHTTPSConnectionWithTimeout yield cpool, "HTTPConnectionWithTimeout", VCRHTTPConnectionWithTimeout yield cpool, "HTTPSConnectionWithTimeout", VCRHTTPSConnectionWithTimeout diff --git a/vcr/persisters/filesystem.py b/vcr/persisters/filesystem.py index 45e9614..9f50bb8 100644 --- a/vcr/persisters/filesystem.py +++ b/vcr/persisters/filesystem.py @@ -1,7 +1,8 @@ # .. _persister_example: import os -from ..serialize import serialize, deserialize + +from ..serialize import deserialize, serialize class FilesystemPersister: diff --git a/vcr/request.py b/vcr/request.py index 68073f0..dbda4f0 100644 --- a/vcr/request.py +++ b/vcr/request.py @@ -1,8 +1,9 @@ +import logging import warnings from io import BytesIO -from urllib.parse import urlparse, parse_qsl +from urllib.parse import parse_qsl, urlparse + from .util import CaseInsensitiveDict -import logging log = logging.getLogger(__name__) diff --git a/vcr/serialize.py b/vcr/serialize.py index 89ffa35..58bdad0 100644 --- a/vcr/serialize.py +++ b/vcr/serialize.py @@ -1,7 +1,8 @@ -from vcr.serializers import compat -from vcr.request import Request import yaml +from vcr.request import Request +from vcr.serializers import compat + # version 1 cassettes started with VCR 1.0.x. # Before 1.0.x, there was no versioning. CASSETTE_FORMAT_VERSION = 1 diff --git a/vcr/serializers/yamlserializer.py b/vcr/serializers/yamlserializer.py index 0d6afc9..a488649 100644 --- a/vcr/serializers/yamlserializer.py +++ b/vcr/serializers/yamlserializer.py @@ -2,9 +2,10 @@ import yaml # Use the libYAML versions if possible try: - from yaml import CLoader as Loader, CDumper as Dumper + from yaml import CDumper as Dumper + from yaml import CLoader as Loader except ImportError: - from yaml import Loader, Dumper + from yaml import Dumper, Loader def deserialize(cassette_string): diff --git a/vcr/stubs/__init__.py b/vcr/stubs/__init__.py index 8a1a16a..5f7fac7 100644 --- a/vcr/stubs/__init__.py +++ b/vcr/stubs/__init__.py @@ -1,14 +1,12 @@ """Stubs for patching HTTP and HTTPS requests""" import logging -from http.client import ( - HTTPConnection, - HTTPSConnection, - HTTPResponse, -) +from http.client import HTTPConnection, HTTPResponse, HTTPSConnection from io import BytesIO -from vcr.request import Request + from vcr.errors import CannotOverwriteExistingCassetteException +from vcr.request import Request + from . import compat log = logging.getLogger(__name__) diff --git a/vcr/stubs/aiohttp_stubs.py b/vcr/stubs/aiohttp_stubs.py index f71b139..02fa4df 100644 --- a/vcr/stubs/aiohttp_stubs.py +++ b/vcr/stubs/aiohttp_stubs.py @@ -1,15 +1,14 @@ """Stubs for aiohttp HTTP clients""" import asyncio import functools -import logging import json - -from aiohttp import ClientConnectionError, ClientResponse, RequestInfo, streams -from aiohttp import hdrs, CookieJar +import logging from http.cookies import CookieError, Morsel, SimpleCookie +from typing import Mapping, Union + +from aiohttp import ClientConnectionError, ClientResponse, CookieJar, RequestInfo, hdrs, streams from aiohttp.helpers import strip_auth_from_url from multidict import CIMultiDict, CIMultiDictProxy, MultiDict -from typing import Union, Mapping from yarl import URL from vcr.errors import CannotOverwriteExistingCassetteException diff --git a/vcr/stubs/boto_stubs.py b/vcr/stubs/boto_stubs.py index d43f1b5..fd33ade 100644 --- a/vcr/stubs/boto_stubs.py +++ b/vcr/stubs/boto_stubs.py @@ -1,6 +1,7 @@ """Stubs for boto""" from boto.https_connection import CertValidatingHTTPSConnection + from ..stubs import VCRHTTPSConnection diff --git a/vcr/stubs/compat.py b/vcr/stubs/compat.py index 61bdb50..d72218f 100644 --- a/vcr/stubs/compat.py +++ b/vcr/stubs/compat.py @@ -1,6 +1,5 @@ -from io import BytesIO import http.client - +from io import BytesIO """ The python3 http.client api moved some stuff around, so this is an abstraction diff --git a/vcr/stubs/httplib2_stubs.py b/vcr/stubs/httplib2_stubs.py index e79dcc9..fd12683 100644 --- a/vcr/stubs/httplib2_stubs.py +++ b/vcr/stubs/httplib2_stubs.py @@ -1,6 +1,7 @@ """Stubs for httplib2""" from httplib2 import HTTPConnectionWithTimeout, HTTPSConnectionWithTimeout + from ..stubs import VCRHTTPConnection, VCRHTTPSConnection diff --git a/vcr/stubs/httpx_stubs.py b/vcr/stubs/httpx_stubs.py index 803ddbe..515855e 100644 --- a/vcr/stubs/httpx_stubs.py +++ b/vcr/stubs/httpx_stubs.py @@ -1,11 +1,12 @@ import functools +import inspect import logging -from unittest.mock import patch, MagicMock +from unittest.mock import MagicMock, patch import httpx -from vcr.request import Request as VcrRequest + from vcr.errors import CannotOverwriteExistingCassetteException -import inspect +from vcr.request import Request as VcrRequest _httpx_signature = inspect.signature(httpx.Client.request) diff --git a/vcr/stubs/urllib3_stubs.py b/vcr/stubs/urllib3_stubs.py index 56e5f95..a723ab1 100644 --- a/vcr/stubs/urllib3_stubs.py +++ b/vcr/stubs/urllib3_stubs.py @@ -1,6 +1,7 @@ """Stubs for urllib3""" from urllib3.connectionpool import HTTPConnection, VerifiedHTTPSConnection + from ..stubs import VCRHTTPConnection, VCRHTTPSConnection # urllib3 defines its own HTTPConnection classes. It includes some polyfills