From 1bb09da2705323f4a790657d8f80e4d1db3cf103 Mon Sep 17 00:00:00 2001 From: Brad Warren Date: Fri, 10 Feb 2023 10:51:20 -0800 Subject: [PATCH] Update and run isort (#9573) I want to use isort as part of https://github.com/certbot/certbot/issues/9572 because I want to do it programmatically, however, I felt like the config needed to be tweaked a bit due to it not understanding what is and is not our own code. This PR updates the isort config so it recognizes our own modules and runs `isort .` from the root of the repo to update everything. * update isort config * run "isort ." --- .isort.cfg | 1 + acme/acme/challenges.py | 2 +- acme/acme/fields.py | 3 +-- acme/acme/messages.py | 3 +-- acme/tests/challenges_test.py | 5 ++--- acme/tests/client_test.py | 2 +- acme/tests/crypto_util_test.py | 4 ++-- acme/tests/jose_test.py | 3 ++- acme/tests/messages_test.py | 20 +++++++++++++------ acme/tests/standalone_test.py | 4 ++-- acme/tests/test_util.py | 2 +- .../certbot_apache/_internal/augeasparser.py | 5 ++--- .../certbot_apache/_internal/configurator.py | 19 +++++++++--------- .../certbot_apache/_internal/display_ops.py | 3 +-- .../certbot_apache/_internal/entrypoint.py | 3 +-- .../certbot_apache/_internal/http_01.py | 5 ++--- .../certbot_apache/_internal/obj.py | 3 +-- .../_internal/override_centos.py | 5 ++--- .../_internal/override_debian.py | 9 ++++----- .../_internal/override_fedora.py | 5 ++--- .../certbot_apache/_internal/parser.py | 5 ++--- certbot-apache/tests/augeasnode_test.py | 6 ++---- certbot-apache/tests/centos_test.py | 2 +- certbot-apache/tests/configurator_test.py | 6 ++++-- certbot-apache/tests/http_01_test.py | 2 +- certbot-apache/tests/parser_test.py | 2 ++ certbot-apache/tests/util.py | 2 +- .../certbot_tests/assertions.py | 5 +++-- .../certbot_tests/test_main.py | 7 ++++--- .../utils/certbot_call.py | 3 ++- .../certbot_integration_tests/utils/misc.py | 4 ++-- .../utils/pebble_ocsp_server.py | 4 ++-- .../test_main.py | 2 +- .../configurators/apache/common.py | 7 +++---- .../configurators/common.py | 11 +++++----- .../configurators/nginx/common.py | 3 +-- .../certbot_compatibility_test/test_driver.py | 12 +++++------ .../certbot_compatibility_test/util.py | 2 +- certbot-dns-google/tests/dns_google_test.py | 3 +-- .../certbot_nginx/_internal/configurator.py | 12 +++++------ .../certbot_nginx/_internal/display_ops.py | 3 +-- .../certbot_nginx/_internal/http_01.py | 5 ++--- .../certbot_nginx/_internal/parser.py | 6 +++--- certbot-nginx/tests/configurator_test.py | 3 ++- certbot-nginx/tests/obj_test.py | 6 +++--- certbot-nginx/tests/parser_obj_test.py | 6 ++++-- certbot-nginx/tests/parser_test.py | 5 +++-- certbot-nginx/tests/test_util.py | 2 +- certbot/certbot/_internal/client.py | 4 ++-- certbot/certbot/_internal/main.py | 2 +- certbot/certbot/_internal/storage.py | 2 +- certbot/certbot/compat/filesystem.py | 2 +- certbot/certbot/ocsp.py | 1 - certbot/certbot/plugins/common.py | 3 +-- certbot/certbot/plugins/dns_test_common.py | 2 +- certbot/certbot/tests/util.py | 2 +- certbot/tests/account_test.py | 3 +-- certbot/tests/auth_handler_test.py | 2 +- certbot/tests/cert_manager_test.py | 12 +++++++---- certbot/tests/cli_test.py | 1 - certbot/tests/client_test.py | 5 ++--- certbot/tests/compat/filesystem_test.py | 3 ++- certbot/tests/conftest.py | 1 + certbot/tests/crypto_util_test.py | 2 ++ certbot/tests/display/ops_test.py | 3 +-- certbot/tests/eff_test.py | 1 - certbot/tests/helpful_test.py | 4 ++-- certbot/tests/log_test.py | 4 ++-- certbot/tests/main_test.py | 5 ++--- certbot/tests/ocsp_test.py | 1 - certbot/tests/plugins/disco_test.py | 1 - certbot/tests/plugins/storage_test.py | 1 - certbot/tests/plugins/webroot_test.py | 1 + certbot/tests/renewal_test.py | 3 ++- certbot/tests/reverter_test.py | 1 + certbot/tests/util_test.py | 1 + letstest/letstest/multitester.py | 3 +-- letstest/scripts/version.py | 5 ++++- tests/modification-check.py | 1 - tools/finish_release.py | 4 ++-- tools/install_and_test.py | 1 + 81 files changed, 166 insertions(+), 163 deletions(-) diff --git a/.isort.cfg b/.isort.cfg index 6b17b459b..ce2d6c6de 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -4,3 +4,4 @@ force_sort_within_sections=True force_single_line=True order_by_type=False line_length=400 +src_paths=acme/acme,acme/tests,certbot*/certbot*,certbot*/tests diff --git a/acme/acme/challenges.py b/acme/acme/challenges.py index 61af415bd..818df9032 100644 --- a/acme/acme/challenges.py +++ b/acme/acme/challenges.py @@ -5,8 +5,8 @@ import functools import hashlib import logging import socket -from typing import cast from typing import Any +from typing import cast from typing import Dict from typing import Mapping from typing import Optional diff --git a/acme/acme/fields.py b/acme/acme/fields.py index d642d10c5..bcd0346d8 100644 --- a/acme/acme/fields.py +++ b/acme/acme/fields.py @@ -1,8 +1,7 @@ """ACME JSON fields.""" import datetime -from typing import Any - import logging +from typing import Any import josepy as jose import pyrfc3339 diff --git a/acme/acme/messages.py b/acme/acme/messages.py index c1af1991a..07a6f4ec5 100644 --- a/acme/acme/messages.py +++ b/acme/acme/messages.py @@ -1,6 +1,6 @@ """ACME protocol messages.""" -import datetime from collections.abc import Hashable +import datetime import json from typing import Any from typing import Dict @@ -21,7 +21,6 @@ from acme import fields from acme import jws from acme import util - ERROR_PREFIX = "urn:ietf:params:acme:error:" ERROR_CODES = { diff --git a/acme/tests/challenges_test.py b/acme/tests/challenges_test.py index 9e31b36c1..1a855788c 100644 --- a/acme/tests/challenges_test.py +++ b/acme/tests/challenges_test.py @@ -1,15 +1,14 @@ """Tests for acme.challenges.""" -import urllib.parse as urllib_parse import unittest from unittest import mock +import urllib.parse as urllib_parse import josepy as jose +from josepy.jwk import JWKEC import OpenSSL import requests -from josepy.jwk import JWKEC from acme import errors - import test_util CERT = test_util.load_comparable_cert('cert.pem') diff --git a/acme/tests/client_test.py b/acme/tests/client_test.py index 093ac519a..06f527e84 100644 --- a/acme/tests/client_test.py +++ b/acme/tests/client_test.py @@ -4,8 +4,8 @@ import copy import datetime import http.client as http_client import json -import unittest from typing import Dict +import unittest from unittest import mock import josepy as jose diff --git a/acme/tests/crypto_util_test.py b/acme/tests/crypto_util_test.py index 0244bf835..81f8fcdce 100644 --- a/acme/tests/crypto_util_test.py +++ b/acme/tests/crypto_util_test.py @@ -1,12 +1,12 @@ """Tests for acme.crypto_util.""" -import itertools import ipaddress +import itertools import socket import socketserver import threading import time -import unittest from typing import List +import unittest import josepy as jose import OpenSSL diff --git a/acme/tests/jose_test.py b/acme/tests/jose_test.py index e008cb6fc..1564e0d38 100644 --- a/acme/tests/jose_test.py +++ b/acme/tests/jose_test.py @@ -21,8 +21,9 @@ class JoseTest(unittest.TestCase): # We use the imports below with eval, but pylint doesn't # understand that. - import acme # pylint: disable=unused-import import josepy # pylint: disable=unused-import + + import acme # pylint: disable=unused-import acme_jose_mod = eval(acme_jose_path) # pylint: disable=eval-used josepy_mod = eval(josepy_path) # pylint: disable=eval-used self.assertIs(acme_jose_mod, josepy_mod) diff --git a/acme/tests/messages_test.py b/acme/tests/messages_test.py index 405e801a2..7c1664ba4 100644 --- a/acme/tests/messages_test.py +++ b/acme/tests/messages_test.py @@ -1,7 +1,7 @@ """Tests for acme.messages.""" +import contextlib from typing import Dict import unittest -import contextlib from unittest import mock import warnings @@ -19,7 +19,10 @@ class ErrorTest(unittest.TestCase): """Tests for acme.messages.Error.""" def setUp(self): - from acme.messages import Error, ERROR_PREFIX, Identifier, IDENTIFIER_FQDN + from acme.messages import Error + from acme.messages import ERROR_PREFIX + from acme.messages import Identifier + from acme.messages import IDENTIFIER_FQDN self.error = Error.with_code('malformed', detail='foo', title='title') self.jobj = { 'detail': 'foo', @@ -63,7 +66,8 @@ class ErrorTest(unittest.TestCase): self.assertIsNone(Error().code) def test_is_acme_error(self): - from acme.messages import is_acme_error, Error + from acme.messages import Error + from acme.messages import is_acme_error self.assertTrue(is_acme_error(self.error)) self.assertFalse(is_acme_error(self.error_custom)) self.assertFalse(is_acme_error(Error())) @@ -71,13 +75,15 @@ class ErrorTest(unittest.TestCase): self.assertFalse(is_acme_error("must pet all the {dogs|rabbits}")) def test_unicode_error(self): - from acme.messages import Error, is_acme_error + from acme.messages import Error + from acme.messages import is_acme_error arabic_error = Error.with_code( 'malformed', detail=u'\u0639\u062f\u0627\u0644\u0629', title='title') self.assertTrue(is_acme_error(arabic_error)) def test_with_code(self): - from acme.messages import Error, is_acme_error + from acme.messages import Error + from acme.messages import is_acme_error self.assertTrue(is_acme_error(Error.with_code('badCSR'))) self.assertRaises(ValueError, Error.with_code, 'not an ACME error code') @@ -247,7 +253,9 @@ class RegistrationTest(unittest.TestCase): )) def test_new_registration_from_data_with_eab(self): - from acme.messages import NewRegistration, ExternalAccountBinding, Directory + from acme.messages import Directory + from acme.messages import ExternalAccountBinding + from acme.messages import NewRegistration key = jose.jwk.JWKRSA(key=KEY.public_key()) kid = "kid-for-testing" hmac_key = "hmac-key-for-testing" diff --git a/acme/tests/standalone_test.py b/acme/tests/standalone_test.py index ad5751fcf..db4e39b5a 100644 --- a/acme/tests/standalone_test.py +++ b/acme/tests/standalone_test.py @@ -3,8 +3,8 @@ import http.client as http_client import socket import socketserver import threading -import unittest from typing import Set +import unittest from unittest import mock import josepy as jose @@ -13,7 +13,6 @@ import requests from acme import challenges from acme import crypto_util from acme import errors - import test_util @@ -190,6 +189,7 @@ class BaseDualNetworkedServersTest(unittest.TestCase): @mock.patch("socket.socket.bind") def test_fail_to_bind(self, mock_bind): from errno import EADDRINUSE + from acme.standalone import BaseDualNetworkedServers mock_bind.side_effect = socket.error(EADDRINUSE, "Fake addr in use error") diff --git a/acme/tests/test_util.py b/acme/tests/test_util.py index efa5a219c..9a5de4b25 100644 --- a/acme/tests/test_util.py +++ b/acme/tests/test_util.py @@ -8,9 +8,9 @@ import os from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization import josepy as jose +from josepy.util import ComparableECKey from OpenSSL import crypto import pkg_resources -from josepy.util import ComparableECKey def load_vector(*names): diff --git a/certbot-apache/certbot_apache/_internal/augeasparser.py b/certbot-apache/certbot_apache/_internal/augeasparser.py index cc57c9cb6..7eca461a3 100644 --- a/certbot-apache/certbot_apache/_internal/augeasparser.py +++ b/certbot-apache/certbot_apache/_internal/augeasparser.py @@ -74,15 +74,14 @@ from typing import Set from typing import Tuple from typing import Union +from certbot import errors +from certbot.compat import os from certbot_apache._internal import apache_util from certbot_apache._internal import assertions from certbot_apache._internal import interfaces from certbot_apache._internal import parser from certbot_apache._internal import parsernode_util as util -from certbot import errors -from certbot.compat import os - class AugeasParserNode(interfaces.ParserNode): """ Augeas implementation of ParserNode interface """ diff --git a/certbot-apache/certbot_apache/_internal/configurator.py b/certbot-apache/certbot_apache/_internal/configurator.py index 41209deb4..37d32f699 100644 --- a/certbot-apache/certbot_apache/_internal/configurator.py +++ b/certbot-apache/certbot_apache/_internal/configurator.py @@ -21,16 +21,6 @@ from typing import Tuple from typing import Type from typing import Union -from certbot_apache._internal import apache_util -from certbot_apache._internal import assertions -from certbot_apache._internal import constants -from certbot_apache._internal import display_ops -from certbot_apache._internal import dualparser -from certbot_apache._internal import http_01 -from certbot_apache._internal import obj -from certbot_apache._internal import parser -from certbot_apache._internal.apacheparser import ApacheBlockNode - from acme import challenges from certbot import achallenges from certbot import errors @@ -42,6 +32,15 @@ from certbot.interfaces import RenewableCert from certbot.plugins import common from certbot.plugins.enhancements import AutoHSTSEnhancement from certbot.plugins.util import path_surgery +from certbot_apache._internal import apache_util +from certbot_apache._internal import assertions +from certbot_apache._internal import constants +from certbot_apache._internal import display_ops +from certbot_apache._internal import dualparser +from certbot_apache._internal import http_01 +from certbot_apache._internal import obj +from certbot_apache._internal import parser +from certbot_apache._internal.apacheparser import ApacheBlockNode try: import apacheconfig diff --git a/certbot-apache/certbot_apache/_internal/display_ops.py b/certbot-apache/certbot_apache/_internal/display_ops.py index b943f988d..251be1da4 100644 --- a/certbot-apache/certbot_apache/_internal/display_ops.py +++ b/certbot-apache/certbot_apache/_internal/display_ops.py @@ -6,11 +6,10 @@ from typing import Optional from typing import Sequence from typing import Tuple -from certbot_apache._internal.obj import VirtualHost - from certbot import errors from certbot.compat import os from certbot.display import util as display_util +from certbot_apache._internal.obj import VirtualHost logger = logging.getLogger(__name__) diff --git a/certbot-apache/certbot_apache/_internal/entrypoint.py b/certbot-apache/certbot_apache/_internal/entrypoint.py index 3f8a00411..c4714b382 100644 --- a/certbot-apache/certbot_apache/_internal/entrypoint.py +++ b/certbot-apache/certbot_apache/_internal/entrypoint.py @@ -2,6 +2,7 @@ from typing import Dict from typing import Type +from certbot import util from certbot_apache._internal import configurator from certbot_apache._internal import override_arch from certbot_apache._internal import override_centos @@ -12,8 +13,6 @@ from certbot_apache._internal import override_gentoo from certbot_apache._internal import override_suse from certbot_apache._internal import override_void -from certbot import util - OVERRIDE_CLASSES: Dict[str, Type[configurator.ApacheConfigurator]] = { "arch": override_arch.ArchConfigurator, "cloudlinux": override_centos.CentOSConfigurator, diff --git a/certbot-apache/certbot_apache/_internal/http_01.py b/certbot-apache/certbot_apache/_internal/http_01.py index e7ca87608..bba7cbaef 100644 --- a/certbot-apache/certbot_apache/_internal/http_01.py +++ b/certbot-apache/certbot_apache/_internal/http_01.py @@ -5,15 +5,14 @@ from typing import List from typing import Set from typing import TYPE_CHECKING -from certbot_apache._internal.obj import VirtualHost -from certbot_apache._internal.parser import get_aug_path - from acme.challenges import KeyAuthorizationChallengeResponse from certbot import errors from certbot.achallenges import KeyAuthorizationAnnotatedChallenge from certbot.compat import filesystem from certbot.compat import os from certbot.plugins import common +from certbot_apache._internal.obj import VirtualHost +from certbot_apache._internal.parser import get_aug_path if TYPE_CHECKING: from certbot_apache._internal.configurator import ApacheConfigurator # pragma: no cover diff --git a/certbot-apache/certbot_apache/_internal/obj.py b/certbot-apache/certbot_apache/_internal/obj.py index b05608699..9a14a60a2 100644 --- a/certbot-apache/certbot_apache/_internal/obj.py +++ b/certbot-apache/certbot_apache/_internal/obj.py @@ -7,12 +7,11 @@ from typing import Pattern from typing import Set from typing import Union +from certbot.plugins import common from certbot_apache._internal.apacheparser import ApacheBlockNode from certbot_apache._internal.augeasparser import AugeasBlockNode from certbot_apache._internal.dualparser import DualBlockNode -from certbot.plugins import common - class Addr(common.Addr): """Represents an Apache address.""" diff --git a/certbot-apache/certbot_apache/_internal/override_centos.py b/certbot-apache/certbot_apache/_internal/override_centos.py index 9883bb1f1..59044769b 100644 --- a/certbot-apache/certbot_apache/_internal/override_centos.py +++ b/certbot-apache/certbot_apache/_internal/override_centos.py @@ -2,14 +2,13 @@ import logging from typing import Any +from certbot import errors +from certbot import util from certbot_apache._internal import apache_util from certbot_apache._internal import configurator from certbot_apache._internal import parser from certbot_apache._internal.configurator import OsOptions -from certbot import errors -from certbot import util - logger = logging.getLogger(__name__) diff --git a/certbot-apache/certbot_apache/_internal/override_debian.py b/certbot-apache/certbot_apache/_internal/override_debian.py index 8c0465538..0d138ee9d 100644 --- a/certbot-apache/certbot_apache/_internal/override_debian.py +++ b/certbot-apache/certbot_apache/_internal/override_debian.py @@ -1,15 +1,14 @@ """ Distribution specific override class for Debian family (Ubuntu/Debian) """ import logging -from certbot_apache._internal import apache_util -from certbot_apache._internal import configurator -from certbot_apache._internal.configurator import OsOptions -from certbot_apache._internal.obj import VirtualHost - from certbot import errors from certbot import util from certbot.compat import filesystem from certbot.compat import os +from certbot_apache._internal import apache_util +from certbot_apache._internal import configurator +from certbot_apache._internal.configurator import OsOptions +from certbot_apache._internal.obj import VirtualHost logger = logging.getLogger(__name__) diff --git a/certbot-apache/certbot_apache/_internal/override_fedora.py b/certbot-apache/certbot_apache/_internal/override_fedora.py index 2e7115df6..a93f103b1 100644 --- a/certbot-apache/certbot_apache/_internal/override_fedora.py +++ b/certbot-apache/certbot_apache/_internal/override_fedora.py @@ -1,14 +1,13 @@ """ Distribution specific override class for Fedora 29+ """ from typing import Any +from certbot import errors +from certbot import util from certbot_apache._internal import apache_util from certbot_apache._internal import configurator from certbot_apache._internal import parser from certbot_apache._internal.configurator import OsOptions -from certbot import errors -from certbot import util - class FedoraConfigurator(configurator.ApacheConfigurator): """Fedora 29+ specific ApacheConfigurator override class""" diff --git a/certbot-apache/certbot_apache/_internal/parser.py b/certbot-apache/certbot_apache/_internal/parser.py index 9805ad781..acfaad762 100644 --- a/certbot-apache/certbot_apache/_internal/parser.py +++ b/certbot-apache/certbot_apache/_internal/parser.py @@ -15,11 +15,10 @@ from typing import Tuple from typing import TYPE_CHECKING from typing import Union -from certbot_apache._internal import apache_util -from certbot_apache._internal import constants - from certbot import errors from certbot.compat import os +from certbot_apache._internal import apache_util +from certbot_apache._internal import constants if TYPE_CHECKING: from certbot_apache._internal.configurator import ApacheConfigurator # pragma: no cover diff --git a/certbot-apache/tests/augeasnode_test.py b/certbot-apache/tests/augeasnode_test.py index 591634d35..01ae35628 100644 --- a/certbot-apache/tests/augeasnode_test.py +++ b/certbot-apache/tests/augeasnode_test.py @@ -1,14 +1,12 @@ """Tests for AugeasParserNode classes""" -from typing import List - import os -import util +from typing import List from unittest import mock from certbot import errors - from certbot_apache._internal import assertions from certbot_apache._internal import augeasparser +import util def _get_augeasnode_mock(filepath): diff --git a/certbot-apache/tests/centos_test.py b/certbot-apache/tests/centos_test.py index 3f8e88467..71cc6df00 100644 --- a/certbot-apache/tests/centos_test.py +++ b/certbot-apache/tests/centos_test.py @@ -5,8 +5,8 @@ from unittest import mock from certbot import errors from certbot.compat import filesystem from certbot.compat import os -from certbot_apache._internal import override_centos from certbot_apache._internal import obj +from certbot_apache._internal import override_centos import util diff --git a/certbot-apache/tests/configurator_test.py b/certbot-apache/tests/configurator_test.py index 0978b302e..f1f9a5e0d 100644 --- a/certbot-apache/tests/configurator_test.py +++ b/certbot-apache/tests/configurator_test.py @@ -86,6 +86,7 @@ class MultipleVhostsTest(util.ApacheTest): def test_add_parser_arguments(self): # pylint: disable=no-self-use from certbot_apache._internal.configurator import ApacheConfigurator + # Weak test.. ApacheConfigurator.add_parser_arguments(mock.MagicMock()) @@ -123,8 +124,8 @@ class MultipleVhostsTest(util.ApacheTest): cls.add_parser_arguments(mock.MagicMock()) def test_all_configurators_defaults_defined(self): - from certbot_apache._internal.entrypoint import OVERRIDE_CLASSES from certbot_apache._internal.configurator import ApacheConfigurator + from certbot_apache._internal.entrypoint import OVERRIDE_CLASSES parameters = set(ApacheConfigurator.OS_DEFAULTS.__dict__.keys()) for cls in OVERRIDE_CLASSES.values(): self.assertIs(parameters.issubset(set(cls.OS_DEFAULTS.__dict__.keys())), True) @@ -1669,9 +1670,10 @@ class InstallSslOptionsConfTest(util.ApacheTest): file has been manually edited by the user, and will refuse to update it. This test ensures that all necessary hashes are present. """ - from certbot_apache._internal.constants import ALL_SSL_OPTIONS_HASHES import pkg_resources + from certbot_apache._internal.constants import ALL_SSL_OPTIONS_HASHES + tls_configs_dir = pkg_resources.resource_filename( "certbot_apache", os.path.join("_internal", "tls_configs")) all_files = [os.path.join(tls_configs_dir, name) for name in os.listdir(tls_configs_dir) diff --git a/certbot-apache/tests/http_01_test.py b/certbot-apache/tests/http_01_test.py index fe5b69b33..6ece4c6be 100644 --- a/certbot-apache/tests/http_01_test.py +++ b/certbot-apache/tests/http_01_test.py @@ -1,7 +1,7 @@ """Test for certbot_apache._internal.http_01.""" -import unittest import errno from typing import List +import unittest from unittest import mock from acme import challenges diff --git a/certbot-apache/tests/parser_test.py b/certbot-apache/tests/parser_test.py index 89633ae47..77b2f34ec 100644 --- a/certbot-apache/tests/parser_test.py +++ b/certbot-apache/tests/parser_test.py @@ -128,6 +128,7 @@ class BasicParserTest(util.ParserTest): """ from certbot_apache._internal.parser import get_aug_path + # This makes sure that find_dir will work self.parser.modules["mod_ssl.c"] = "/fake/path" @@ -142,6 +143,7 @@ class BasicParserTest(util.ParserTest): def test_add_dir_to_ifmodssl_multiple(self): from certbot_apache._internal.parser import get_aug_path + # This makes sure that find_dir will work self.parser.modules["mod_ssl.c"] = "/fake/path" diff --git a/certbot-apache/tests/util.py b/certbot-apache/tests/util.py index 7cea90f25..57c374f07 100644 --- a/certbot-apache/tests/util.py +++ b/certbot-apache/tests/util.py @@ -1,10 +1,10 @@ """Common utilities for certbot_apache.""" import shutil import unittest +from unittest import mock import augeas import josepy as jose -from unittest import mock from certbot.compat import os from certbot.plugins import common diff --git a/certbot-ci/certbot_integration_tests/certbot_tests/assertions.py b/certbot-ci/certbot_integration_tests/certbot_tests/assertions.py index 7731f27d7..62d99fb0e 100644 --- a/certbot-ci/certbot_integration_tests/certbot_tests/assertions.py +++ b/certbot-ci/certbot_integration_tests/certbot_tests/assertions.py @@ -5,7 +5,8 @@ from typing import Optional from typing import Type from cryptography.hazmat.backends import default_backend -from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePrivateKey, EllipticCurve +from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurve +from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePrivateKey from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey from cryptography.hazmat.primitives.serialization import load_pem_private_key @@ -13,8 +14,8 @@ try: import grp POSIX_MODE = True except ImportError: - import win32security import ntsecuritycon + import win32security POSIX_MODE = False EVERYBODY_SID = 'S-1-1-0' diff --git a/certbot-ci/certbot_integration_tests/certbot_tests/test_main.py b/certbot-ci/certbot_integration_tests/certbot_tests/test_main.py index 66aa1aa23..53f09b341 100644 --- a/certbot-ci/certbot_integration_tests/certbot_tests/test_main.py +++ b/certbot-ci/certbot_integration_tests/certbot_tests/test_main.py @@ -6,8 +6,8 @@ import re import shutil import subprocess import time -from typing import Iterable from typing import Generator +from typing import Iterable from typing import Tuple from typing import Type @@ -18,7 +18,6 @@ from cryptography.hazmat.primitives.asymmetric.ec import SECP521R1 from cryptography.x509 import NameOID import pytest -from certbot_integration_tests.certbot_tests.context import IntegrationTestsContext from certbot_integration_tests.certbot_tests.assertions import assert_cert_count_for_lineage from certbot_integration_tests.certbot_tests.assertions import assert_elliptic_key from certbot_integration_tests.certbot_tests.assertions import assert_equals_group_owner @@ -31,6 +30,7 @@ from certbot_integration_tests.certbot_tests.assertions import assert_saved_rene from certbot_integration_tests.certbot_tests.assertions import assert_world_no_permissions from certbot_integration_tests.certbot_tests.assertions import assert_world_read_permissions from certbot_integration_tests.certbot_tests.assertions import EVERYBODY_SID +from certbot_integration_tests.certbot_tests.context import IntegrationTestsContext from certbot_integration_tests.utils import misc @@ -248,8 +248,9 @@ def test_renew_files_propagate_permissions(context: IntegrationTestsContext) -> if os.name != 'nt': os.chmod(privkey1, 0o444) else: - import win32security # pylint: disable=import-error import ntsecuritycon # pylint: disable=import-error + import win32security # pylint: disable=import-error + # Get the current DACL of the private key security = win32security.GetFileSecurity(privkey1, win32security.DACL_SECURITY_INFORMATION) dacl = security.GetSecurityDescriptorDacl() diff --git a/certbot-ci/certbot_integration_tests/utils/certbot_call.py b/certbot-ci/certbot_integration_tests/utils/certbot_call.py index 429cf413e..bcec38be2 100755 --- a/certbot-ci/certbot_integration_tests/utils/certbot_call.py +++ b/certbot-ci/certbot_integration_tests/utils/certbot_call.py @@ -2,7 +2,6 @@ """Module to call certbot in test mode""" import os -import pkg_resources import subprocess import sys from typing import Dict @@ -10,6 +9,8 @@ from typing import List from typing import Mapping from typing import Tuple +import pkg_resources + import certbot_integration_tests # pylint: disable=wildcard-import,unused-wildcard-import from certbot_integration_tests.utils.constants import * diff --git a/certbot-ci/certbot_integration_tests/utils/misc.py b/certbot-ci/certbot_integration_tests/utils/misc.py index 9d6317d87..558b96d40 100644 --- a/certbot-ci/certbot_integration_tests/utils/misc.py +++ b/certbot-ci/certbot_integration_tests/utils/misc.py @@ -15,20 +15,20 @@ import sys import tempfile import threading import time -import warnings from typing import Generator from typing import Iterable from typing import List from typing import Optional from typing import Tuple +import warnings from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.asymmetric import ec from cryptography.hazmat.primitives.serialization import Encoding from cryptography.hazmat.primitives.serialization import NoEncryption from cryptography.hazmat.primitives.serialization import PrivateFormat -from cryptography.x509 import load_pem_x509_certificate from cryptography.x509 import Certificate +from cryptography.x509 import load_pem_x509_certificate from OpenSSL import crypto import pkg_resources import requests diff --git a/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py b/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py index d0f7a2123..1749b03da 100755 --- a/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py +++ b/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py @@ -6,6 +6,8 @@ to serve a mock OCSP responder during integration tests against Pebble. import datetime import http.server as BaseHTTPServer import re +from typing import cast +from typing import Union from cryptography import x509 from cryptography.hazmat.backends import default_backend @@ -16,8 +18,6 @@ from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey from cryptography.x509 import ocsp from dateutil import parser import requests -from typing import cast -from typing import Union from certbot_integration_tests.utils.constants import MOCK_OCSP_SERVER_PORT from certbot_integration_tests.utils.constants import PEBBLE_MANAGEMENT_URL diff --git a/certbot-ci/windows_installer_integration_tests/test_main.py b/certbot-ci/windows_installer_integration_tests/test_main.py index ad1622bde..be6447a96 100644 --- a/certbot-ci/windows_installer_integration_tests/test_main.py +++ b/certbot-ci/windows_installer_integration_tests/test_main.py @@ -3,8 +3,8 @@ import os import re import subprocess import time -import unittest from typing import Any +import unittest import pytest diff --git a/certbot-compatibility-test/certbot_compatibility_test/configurators/apache/common.py b/certbot-compatibility-test/certbot_compatibility_test/configurators/apache/common.py index fda51f3a0..ca8a02b18 100644 --- a/certbot-compatibility-test/certbot_compatibility_test/configurators/apache/common.py +++ b/certbot-compatibility-test/certbot_compatibility_test/configurators/apache/common.py @@ -7,15 +7,14 @@ from typing import Set from typing import Tuple from unittest import mock +from certbot import configuration +from certbot import errors as le_errors +from certbot import util as certbot_util from certbot_apache._internal import entrypoint from certbot_compatibility_test import errors from certbot_compatibility_test import util from certbot_compatibility_test.configurators import common as configurators_common -from certbot import configuration -from certbot import errors as le_errors -from certbot import util as certbot_util - class Proxy(configurators_common.Proxy): """A common base for Apache test configurators""" diff --git a/certbot-compatibility-test/certbot_compatibility_test/configurators/common.py b/certbot-compatibility-test/certbot_compatibility_test/configurators/common.py index a115e8419..44a1cec01 100644 --- a/certbot-compatibility-test/certbot_compatibility_test/configurators/common.py +++ b/certbot-compatibility-test/certbot_compatibility_test/configurators/common.py @@ -8,21 +8,20 @@ import tempfile from typing import Iterable from typing import List from typing import Optional -from typing import Union from typing import overload from typing import Set from typing import Tuple from typing import Type - -from certbot_compatibility_test import errors -from certbot_compatibility_test import interfaces -from certbot_compatibility_test import util +from typing import Union from acme import challenges from acme.challenges import Challenge from certbot._internal import constants -from certbot.plugins import common from certbot.achallenges import AnnotatedChallenge +from certbot.plugins import common +from certbot_compatibility_test import errors +from certbot_compatibility_test import interfaces +from certbot_compatibility_test import util logger = logging.getLogger(__name__) diff --git a/certbot-compatibility-test/certbot_compatibility_test/configurators/nginx/common.py b/certbot-compatibility-test/certbot_compatibility_test/configurators/nginx/common.py index 1282923bf..6f2b9c1ae 100644 --- a/certbot-compatibility-test/certbot_compatibility_test/configurators/nginx/common.py +++ b/certbot-compatibility-test/certbot_compatibility_test/configurators/nginx/common.py @@ -5,14 +5,13 @@ import subprocess from typing import Set from typing import Tuple +from certbot import configuration from certbot_compatibility_test import errors from certbot_compatibility_test import util from certbot_compatibility_test.configurators import common as configurators_common from certbot_nginx._internal import configurator from certbot_nginx._internal import constants -from certbot import configuration - class Proxy(configurators_common.Proxy): """A common base for Nginx test configurators""" diff --git a/certbot-compatibility-test/certbot_compatibility_test/test_driver.py b/certbot-compatibility-test/certbot_compatibility_test/test_driver.py index 6a29e74f5..2baa207f6 100644 --- a/certbot-compatibility-test/certbot_compatibility_test/test_driver.py +++ b/certbot-compatibility-test/certbot_compatibility_test/test_driver.py @@ -18,12 +18,6 @@ from typing import Optional from typing import Tuple from typing import Type -from certbot_compatibility_test import errors -from certbot_compatibility_test import util -from certbot_compatibility_test import validator -from certbot_compatibility_test.configurators import common -from certbot_compatibility_test.configurators.apache import common as a_common -from certbot_compatibility_test.configurators.nginx import common as n_common from OpenSSL import crypto from urllib3.util import connection @@ -34,6 +28,12 @@ from certbot import achallenges from certbot import errors as le_errors from certbot._internal.display import obj as display_obj from certbot.tests import acme_util +from certbot_compatibility_test import errors +from certbot_compatibility_test import util +from certbot_compatibility_test import validator +from certbot_compatibility_test.configurators import common +from certbot_compatibility_test.configurators.apache import common as a_common +from certbot_compatibility_test.configurators.nginx import common as n_common DESCRIPTION = """ Tests Certbot plugins against different server configurations. It is diff --git a/certbot-compatibility-test/certbot_compatibility_test/util.py b/certbot-compatibility-test/certbot_compatibility_test/util.py index 2a69d3835..4fe2e417d 100644 --- a/certbot-compatibility-test/certbot_compatibility_test/util.py +++ b/certbot-compatibility-test/certbot_compatibility_test/util.py @@ -6,11 +6,11 @@ import re import shutil import tarfile -from certbot_compatibility_test import errors import josepy as jose from certbot._internal import constants from certbot.tests import util as test_util +from certbot_compatibility_test import errors _KEY_BASE = "rsa2048_key.pem" KEY_PATH = test_util.vector_path(_KEY_BASE) diff --git a/certbot-dns-google/tests/dns_google_test.py b/certbot-dns-google/tests/dns_google_test.py index 27e8b1a65..1d27a39a8 100644 --- a/certbot-dns-google/tests/dns_google_test.py +++ b/certbot-dns-google/tests/dns_google_test.py @@ -1,14 +1,13 @@ """Tests for certbot_dns_google._internal.dns_google.""" import unittest +from unittest import mock from googleapiclient import discovery from googleapiclient.errors import Error from googleapiclient.http import HttpMock from httplib2 import ServerNotFoundError -from unittest import mock - from certbot import errors from certbot.compat import os from certbot.errors import PluginError diff --git a/certbot-nginx/certbot_nginx/_internal/configurator.py b/certbot-nginx/certbot_nginx/_internal/configurator.py index 07243df2b..12c6893f9 100644 --- a/certbot-nginx/certbot_nginx/_internal/configurator.py +++ b/certbot-nginx/certbot_nginx/_internal/configurator.py @@ -20,12 +20,6 @@ from typing import Tuple from typing import Type from typing import Union -from certbot_nginx._internal import constants -from certbot_nginx._internal import display_ops -from certbot_nginx._internal import http_01 -from certbot_nginx._internal import nginxparser -from certbot_nginx._internal import obj -from certbot_nginx._internal import parser import OpenSSL import pkg_resources @@ -38,6 +32,12 @@ from certbot import util from certbot.compat import os from certbot.display import util as display_util from certbot.plugins import common +from certbot_nginx._internal import constants +from certbot_nginx._internal import display_ops +from certbot_nginx._internal import http_01 +from certbot_nginx._internal import nginxparser +from certbot_nginx._internal import obj +from certbot_nginx._internal import parser NAME_RANK = 0 START_WILDCARD_RANK = 1 diff --git a/certbot-nginx/certbot_nginx/_internal/display_ops.py b/certbot-nginx/certbot_nginx/_internal/display_ops.py index 89483c94a..3a0fa67ff 100644 --- a/certbot-nginx/certbot_nginx/_internal/display_ops.py +++ b/certbot-nginx/certbot_nginx/_internal/display_ops.py @@ -4,9 +4,8 @@ from typing import Iterable from typing import List from typing import Optional -from certbot_nginx._internal.obj import VirtualHost - from certbot.display import util as display_util +from certbot_nginx._internal.obj import VirtualHost logger = logging.getLogger(__name__) diff --git a/certbot-nginx/certbot_nginx/_internal/http_01.py b/certbot-nginx/certbot_nginx/_internal/http_01.py index 9b086d429..8a6afb0ea 100644 --- a/certbot-nginx/certbot_nginx/_internal/http_01.py +++ b/certbot-nginx/certbot_nginx/_internal/http_01.py @@ -7,15 +7,14 @@ from typing import List from typing import Optional from typing import TYPE_CHECKING -from certbot_nginx._internal import nginxparser -from certbot_nginx._internal.obj import Addr - from acme import challenges from acme.challenges import KeyAuthorizationChallengeResponse from certbot import errors from certbot.achallenges import KeyAuthorizationAnnotatedChallenge from certbot.compat import os from certbot.plugins import common +from certbot_nginx._internal import nginxparser +from certbot_nginx._internal.obj import Addr if TYPE_CHECKING: from certbot_nginx._internal.configurator import NginxConfigurator diff --git a/certbot-nginx/certbot_nginx/_internal/parser.py b/certbot-nginx/certbot_nginx/_internal/parser.py index bc1643426..d5a00f103 100644 --- a/certbot-nginx/certbot_nginx/_internal/parser.py +++ b/certbot-nginx/certbot_nginx/_internal/parser.py @@ -18,13 +18,13 @@ from typing import Set from typing import Tuple from typing import Union -from certbot_nginx._internal import nginxparser -from certbot_nginx._internal import obj -from certbot_nginx._internal.nginxparser import UnspacedList import pyparsing from certbot import errors from certbot.compat import os +from certbot_nginx._internal import nginxparser +from certbot_nginx._internal import obj +from certbot_nginx._internal.nginxparser import UnspacedList logger = logging.getLogger(__name__) diff --git a/certbot-nginx/tests/configurator_test.py b/certbot-nginx/tests/configurator_test.py index 916dfe3f5..12dc61a38 100644 --- a/certbot-nginx/tests/configurator_test.py +++ b/certbot-nginx/tests/configurator_test.py @@ -1064,8 +1064,9 @@ class InstallSslOptionsConfTest(util.NginxTest): file has been manually edited by the user, and will refuse to update it. This test ensures that all necessary hashes are present. """ - from certbot_nginx._internal.constants import ALL_SSL_OPTIONS_HASHES import pkg_resources + + from certbot_nginx._internal.constants import ALL_SSL_OPTIONS_HASHES all_files = [ pkg_resources.resource_filename("certbot_nginx", os.path.join("_internal", "tls_configs", x)) diff --git a/certbot-nginx/tests/obj_test.py b/certbot-nginx/tests/obj_test.py index de82e5682..67ca40f1b 100644 --- a/certbot-nginx/tests/obj_test.py +++ b/certbot-nginx/tests/obj_test.py @@ -109,8 +109,8 @@ class AddrTest(unittest.TestCase): class VirtualHostTest(unittest.TestCase): """Test the VirtualHost class.""" def setUp(self): - from certbot_nginx._internal.obj import VirtualHost from certbot_nginx._internal.obj import Addr + from certbot_nginx._internal.obj import VirtualHost raw1 = [ ['listen', '69.50.225.155:9000'], [['if', '($scheme', '!=', '"https") '], @@ -183,9 +183,9 @@ class VirtualHostTest(unittest.TestCase): self.assertIs(self.vhost1.has_header('Bogus-Header'), False) def test_contains_list(self): - from certbot_nginx._internal.obj import VirtualHost - from certbot_nginx._internal.obj import Addr from certbot_nginx._internal.configurator import _test_block_from_block + from certbot_nginx._internal.obj import Addr + from certbot_nginx._internal.obj import VirtualHost test_block = [ ['\n ', 'return', ' ', '301', ' ', 'https://$host$request_uri'], ['\n'] diff --git a/certbot-nginx/tests/parser_obj_test.py b/certbot-nginx/tests/parser_obj_test.py index 60ff1c975..c2243f5be 100644 --- a/certbot-nginx/tests/parser_obj_test.py +++ b/certbot-nginx/tests/parser_obj_test.py @@ -26,7 +26,8 @@ class CommentHelpersTest(unittest.TestCase): parse_raw(['not', 'even', 'a', 'comment']))) def test_certbot_comment(self): - from certbot_nginx._internal.parser_obj import _certbot_comment, _is_certbot_comment + from certbot_nginx._internal.parser_obj import _certbot_comment + from certbot_nginx._internal.parser_obj import _is_certbot_comment comment = _certbot_comment(None) self.assertTrue(_is_certbot_comment(comment)) self.assertEqual(comment.dump(), COMMENT_BLOCK) @@ -156,7 +157,8 @@ class BlockTest(unittest.TestCase): def test_iterate_match(self): # can match on contents while expanded - from certbot_nginx._internal.parser_obj import Block, Sentence + from certbot_nginx._internal.parser_obj import Block + from certbot_nginx._internal.parser_obj import Sentence expected = [['thing', '1'], ['thing', '2']] for i, elem in enumerate(self.bloc.iterate(expanded=True, match=lambda x: isinstance(x, Sentence) and 'thing' in x.words)): diff --git a/certbot-nginx/tests/parser_test.py b/certbot-nginx/tests/parser_test.py index 93a8dcedc..4aaa00ea0 100644 --- a/certbot-nginx/tests/parser_test.py +++ b/certbot-nginx/tests/parser_test.py @@ -2,8 +2,8 @@ import glob import re import shutil -import unittest from typing import List +import unittest from unittest import mock from certbot import errors @@ -371,7 +371,8 @@ class NginxParserTest(util.NginxTest): ["\n", "a", " ", "b", "\n"], ["c", " ", "d"], ["\n", "e", " ", "f"]]) - from certbot_nginx._internal.parser import comment_directive, COMMENT_BLOCK + from certbot_nginx._internal.parser import COMMENT_BLOCK + from certbot_nginx._internal.parser import comment_directive comment_directive(block, 1) comment_directive(block, 0) self.assertEqual(block.spaced, [ diff --git a/certbot-nginx/tests/test_util.py b/certbot-nginx/tests/test_util.py index 1ac649318..d38c515b4 100644 --- a/certbot-nginx/tests/test_util.py +++ b/certbot-nginx/tests/test_util.py @@ -2,9 +2,9 @@ import copy import shutil import tempfile +from unittest import mock import josepy as jose -from unittest import mock import pkg_resources from certbot import util diff --git a/certbot/certbot/_internal/client.py b/certbot/certbot/_internal/client.py index 1fe1df5ec..59f5f8a4e 100644 --- a/certbot/certbot/_internal/client.py +++ b/certbot/certbot/_internal/client.py @@ -2,9 +2,9 @@ import datetime import logging import platform -from typing import cast from typing import Any from typing import Callable +from typing import cast from typing import Dict from typing import IO from typing import List @@ -14,11 +14,11 @@ from typing import Tuple from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.asymmetric.rsa import generate_private_key import josepy as jose -import OpenSSL from josepy import ES256 from josepy import ES384 from josepy import ES512 from josepy import RS256 +import OpenSSL from acme import client as acme_client from acme import crypto_util as acme_crypto_util diff --git a/certbot/certbot/_internal/main.py b/certbot/certbot/_internal/main.py index 78e6347f9..a8950a151 100644 --- a/certbot/certbot/_internal/main.py +++ b/certbot/certbot/_internal/main.py @@ -1,8 +1,8 @@ """Certbot main entry point.""" # pylint: disable=too-many-lines -import copy from contextlib import contextmanager +import copy import functools import logging.handlers import sys diff --git a/certbot/certbot/_internal/storage.py b/certbot/certbot/_internal/storage.py index cb6d2ef16..086d3882f 100644 --- a/certbot/certbot/_internal/storage.py +++ b/certbot/certbot/_internal/storage.py @@ -18,8 +18,8 @@ from typing import Union import configobj from cryptography.hazmat.backends import default_backend -from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePrivateKey +from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey from cryptography.hazmat.primitives.serialization import load_pem_private_key import parsedatetime import pkg_resources diff --git a/certbot/certbot/compat/filesystem.py b/certbot/certbot/compat/filesystem.py index 1bf89a733..b975f95b5 100644 --- a/certbot/certbot/compat/filesystem.py +++ b/certbot/certbot/compat/filesystem.py @@ -8,8 +8,8 @@ import stat import sys from typing import Any from typing import Dict -from typing import List from typing import Generator +from typing import List from typing import Optional try: diff --git a/certbot/certbot/ocsp.py b/certbot/certbot/ocsp.py index 0278adef7..8f558eb7b 100644 --- a/certbot/certbot/ocsp.py +++ b/certbot/certbot/ocsp.py @@ -24,7 +24,6 @@ from certbot import util from certbot.compat.os import getenv from certbot.interfaces import RenewableCert - logger = logging.getLogger(__name__) diff --git a/certbot/certbot/plugins/common.py b/certbot/certbot/plugins/common.py index 1acee2dfc..a6086acad 100644 --- a/certbot/certbot/plugins/common.py +++ b/certbot/certbot/plugins/common.py @@ -19,12 +19,11 @@ from typing import TypeVar import pkg_resources from acme import challenges - from certbot import achallenges from certbot import configuration from certbot import crypto_util -from certbot import interfaces from certbot import errors +from certbot import interfaces from certbot import reverter from certbot._internal import constants from certbot.compat import filesystem diff --git a/certbot/certbot/plugins/dns_test_common.py b/certbot/certbot/plugins/dns_test_common.py index 65c9cc2c8..cb89cd4d9 100644 --- a/certbot/certbot/plugins/dns_test_common.py +++ b/certbot/certbot/plugins/dns_test_common.py @@ -2,10 +2,10 @@ from typing import Any from typing import Mapping from typing import TYPE_CHECKING +from unittest import mock import configobj import josepy as jose -from unittest import mock from acme import challenges from certbot import achallenges diff --git a/certbot/certbot/tests/util.py b/certbot/certbot/tests/util.py index c7bbbb422..5db26c4cd 100644 --- a/certbot/certbot/tests/util.py +++ b/certbot/certbot/tests/util.py @@ -9,12 +9,12 @@ import sys import tempfile from typing import Any from typing import Callable -from typing import Union from typing import cast from typing import IO from typing import Iterable from typing import List from typing import Optional +from typing import Union import unittest from unittest import mock diff --git a/certbot/tests/account_test.py b/certbot/tests/account_test.py index 3daac6498..d60da44c1 100644 --- a/certbot/tests/account_test.py +++ b/certbot/tests/account_test.py @@ -2,9 +2,9 @@ import datetime import json import unittest +from unittest import mock import josepy as jose -from unittest import mock import pytz from acme import messages @@ -14,7 +14,6 @@ from certbot.compat import misc from certbot.compat import os import certbot.tests.util as test_util - KEY = jose.JWKRSA.load(test_util.load_vector("rsa512_key.pem")) diff --git a/certbot/tests/auth_handler_test.py b/certbot/tests/auth_handler_test.py index 548356897..0af351c80 100644 --- a/certbot/tests/auth_handler_test.py +++ b/certbot/tests/auth_handler_test.py @@ -2,9 +2,9 @@ import datetime import logging import unittest +from unittest import mock from josepy import b64encode -from unittest import mock from acme import challenges from acme import client as acme_client diff --git a/certbot/tests/cert_manager_test.py b/certbot/tests/cert_manager_test.py index 157d45b55..08f733bbe 100644 --- a/certbot/tests/cert_manager_test.py +++ b/certbot/tests/cert_manager_test.py @@ -5,11 +5,12 @@ import re import shutil import tempfile import unittest - -import configobj from unittest import mock -from certbot import errors, configuration +import configobj + +from certbot import configuration +from certbot import errors from certbot._internal.storage import ALL_FOUR from certbot.compat import filesystem from certbot.compat import os @@ -247,9 +248,11 @@ class CertificatesTest(BaseCertManagerTest): def test_report_human_readable(self, mock_revoked, mock_serial): mock_revoked.return_value = None mock_serial.return_value = 1234567890 - from certbot._internal import cert_manager import datetime + import pytz + + from certbot._internal import cert_manager expiry = pytz.UTC.fromutc(datetime.datetime.utcnow()) cert = mock.MagicMock(lineagename="nameone") @@ -327,6 +330,7 @@ class SearchLineagesTest(BaseCertManagerTest): mock_renewal_conf_files.return_value = ["badfile"] mock_renewable_cert.side_effect = errors.CertStorageError from certbot._internal import cert_manager + # pylint: disable=protected-access self.assertEqual(cert_manager._search_lineages(self.config, lambda x: x, "check"), "check") self.assertTrue(mock_make_or_verify_dir.called) diff --git a/certbot/tests/cli_test.py b/certbot/tests/cli_test.py index 54abe2594..0b2108b73 100644 --- a/certbot/tests/cli_test.py +++ b/certbot/tests/cli_test.py @@ -17,7 +17,6 @@ from certbot.compat import os import certbot.tests.util as test_util from certbot.tests.util import TempDirTestCase - PLUGINS = disco.PluginsRegistry.find_all() diff --git a/certbot/tests/client_test.py b/certbot/tests/client_test.py index cb16890d3..7b29d26ca 100644 --- a/certbot/tests/client_test.py +++ b/certbot/tests/client_test.py @@ -1,6 +1,6 @@ """Tests for certbot._internal.client.""" -import datetime import contextlib +import datetime import platform import shutil import tempfile @@ -12,13 +12,12 @@ from josepy import interfaces from certbot import errors from certbot import util -from certbot._internal.display import obj as display_obj from certbot._internal import account from certbot._internal import constants +from certbot._internal.display import obj as display_obj from certbot.compat import os import certbot.tests.util as test_util - KEY = test_util.load_vector("rsa512_key.pem") CSR_SAN = test_util.load_vector("csr-san_512.pem") diff --git a/certbot/tests/compat/filesystem_test.py b/certbot/tests/compat/filesystem_test.py index e94068d4e..fd4cb9cde 100644 --- a/certbot/tests/compat/filesystem_test.py +++ b/certbot/tests/compat/filesystem_test.py @@ -12,9 +12,9 @@ import certbot.tests.util as test_util from certbot.tests.util import TempDirTestCase try: + import ntsecuritycon import win32api import win32security - import ntsecuritycon POSIX_MODE = False except ImportError: POSIX_MODE = True @@ -471,6 +471,7 @@ class CheckPermissionsTest(test_util.TempDirTestCase): self.assertIs(filesystem.check_owner(self.probe_path), True) import os as std_os # pylint: disable=os-module-forbidden + # See related inline comment in certbot.compat.filesystem.check_owner method # that explains why MyPy/PyLint check disable is needed here. uid = std_os.getuid() diff --git a/certbot/tests/conftest.py b/certbot/tests/conftest.py index 191e07b55..64ae64983 100644 --- a/certbot/tests/conftest.py +++ b/certbot/tests/conftest.py @@ -2,6 +2,7 @@ import pytest from certbot._internal import cli + @pytest.fixture(autouse=True) def reset_cli_global(): cli.set_by_cli.detector = None diff --git a/certbot/tests/crypto_util_test.py b/certbot/tests/crypto_util_test.py index 3031cf531..46dc86436 100644 --- a/certbot/tests/crypto_util_test.py +++ b/certbot/tests/crypto_util_test.py @@ -164,6 +164,7 @@ class MakeKeyTest(unittest.TestCase): def test_rsa(self): # pylint: disable=no-self-use # RSA Key Type Test from certbot.crypto_util import make_key + # Do not test larger keys as it takes too long. OpenSSL.crypto.load_privatekey(OpenSSL.crypto.FILETYPE_PEM, make_key(1024)) @@ -180,6 +181,7 @@ class MakeKeyTest(unittest.TestCase): def test_bad_key_sizes(self): from certbot.crypto_util import make_key + # Try a bad key size for RSA and ECDSA with self.assertRaises(errors.Error) as e: make_key(bits=512, key_type='rsa') diff --git a/certbot/tests/display/ops_test.py b/certbot/tests/display/ops_test.py index 1235190a7..69c7440be 100644 --- a/certbot/tests/display/ops_test.py +++ b/certbot/tests/display/ops_test.py @@ -8,15 +8,14 @@ import josepy as jose from acme import messages from certbot import errors -from certbot._internal.display import obj as display_obj from certbot._internal import account +from certbot._internal.display import obj as display_obj from certbot.compat import filesystem from certbot.compat import os from certbot.display import ops from certbot.display import util as display_util import certbot.tests.util as test_util - KEY = jose.JWKRSA.load(test_util.load_vector("rsa512_key.pem")) diff --git a/certbot/tests/eff_test.py b/certbot/tests/eff_test.py index 6a8ac2c61..a87ca2204 100644 --- a/certbot/tests/eff_test.py +++ b/certbot/tests/eff_test.py @@ -12,7 +12,6 @@ from certbot._internal import account from certbot._internal import constants import certbot.tests.util as test_util - _KEY = josepy.JWKRSA.load(test_util.load_vector("rsa512_key.pem")) diff --git a/certbot/tests/helpful_test.py b/certbot/tests/helpful_test.py index c67211a43..2965f582a 100644 --- a/certbot/tests/helpful_test.py +++ b/certbot/tests/helpful_test.py @@ -3,9 +3,9 @@ import unittest from unittest import mock from certbot import errors -from certbot._internal.cli import HelpfulArgumentParser -from certbot._internal.cli import _DomainsAction from certbot._internal import constants +from certbot._internal.cli import _DomainsAction +from certbot._internal.cli import HelpfulArgumentParser class TestScanningFlags(unittest.TestCase): diff --git a/certbot/tests/log_test.py b/certbot/tests/log_test.py index 855582591..bee33261c 100644 --- a/certbot/tests/log_test.py +++ b/certbot/tests/log_test.py @@ -17,7 +17,6 @@ from certbot.compat import os from certbot.tests import util as test_util - class PreArgParseSetupTest(unittest.TestCase): """Tests for certbot._internal.log.pre_arg_parse_setup.""" @@ -79,7 +78,8 @@ class PostArgParseSetupTest(test_util.ConfigTestCase): from certbot._internal.log import ColoredStreamHandler self.stream_handler = ColoredStreamHandler(io.StringIO()) - from certbot._internal.log import MemoryHandler, TempHandler + from certbot._internal.log import MemoryHandler + from certbot._internal.log import TempHandler self.temp_handler = TempHandler() self.temp_path = self.temp_handler.path self.memory_handler = MemoryHandler(self.temp_handler) diff --git a/certbot/tests/main_test.py b/certbot/tests/main_test.py index 0eae761a2..0b24ff30d 100644 --- a/certbot/tests/main_test.py +++ b/certbot/tests/main_test.py @@ -19,7 +19,8 @@ import josepy as jose import pytz from acme.messages import Error as acme_error -from certbot import crypto_util, configuration +from certbot import configuration +from certbot import crypto_util from certbot import errors from certbot import interfaces from certbot import util @@ -36,8 +37,6 @@ from certbot.compat import os from certbot.plugins import enhancements import certbot.tests.util as test_util - - CERT_PATH = test_util.vector_path('cert_512.pem') CERT = test_util.vector_path('cert_512.pem') CSR = test_util.vector_path('csr_512.der') diff --git a/certbot/tests/ocsp_test.py b/certbot/tests/ocsp_test.py index 802787e02..ebb98c343 100644 --- a/certbot/tests/ocsp_test.py +++ b/certbot/tests/ocsp_test.py @@ -17,7 +17,6 @@ import pytz from certbot import errors from certbot.tests import util as test_util - out = """Missing = in header key=value ocsp: Use -help for summary. """ diff --git a/certbot/tests/plugins/disco_test.py b/certbot/tests/plugins/disco_test.py index cb6e4b53e..dfd9d0c7b 100644 --- a/certbot/tests/plugins/disco_test.py +++ b/certbot/tests/plugins/disco_test.py @@ -13,7 +13,6 @@ from certbot._internal.plugins import null from certbot._internal.plugins import standalone from certbot._internal.plugins import webroot - EP_SA = pkg_resources.EntryPoint( "sa", "certbot._internal.plugins.standalone", attrs=("Authenticator",), diff --git a/certbot/tests/plugins/storage_test.py b/certbot/tests/plugins/storage_test.py index a63ef7795..82b0aff65 100644 --- a/certbot/tests/plugins/storage_test.py +++ b/certbot/tests/plugins/storage_test.py @@ -12,7 +12,6 @@ from certbot.compat import os from certbot.tests import util as test_util - class PluginStorageTest(test_util.ConfigTestCase): """Test for certbot.plugins.storage.PluginStorage""" diff --git a/certbot/tests/plugins/webroot_test.py b/certbot/tests/plugins/webroot_test.py index d5ccc4b4f..4bc198074 100644 --- a/certbot/tests/plugins/webroot_test.py +++ b/certbot/tests/plugins/webroot_test.py @@ -32,6 +32,7 @@ class AuthenticatorTest(unittest.TestCase): def setUp(self): from certbot._internal.plugins.webroot import Authenticator + # On Linux directories created by tempfile.mkdtemp inherit their permissions from their # parent directory. So the actual permissions are inconsistent over various tests env. # To circumvent this, a dedicated sub-workspace is created under the workspace, using diff --git a/certbot/tests/renewal_test.py b/certbot/tests/renewal_test.py index 3cb4ac056..4d337830e 100644 --- a/certbot/tests/renewal_test.py +++ b/certbot/tests/renewal_test.py @@ -4,7 +4,8 @@ import unittest from unittest import mock from acme import challenges -from certbot import errors, configuration +from certbot import configuration +from certbot import errors from certbot._internal import storage import certbot.tests.util as test_util diff --git a/certbot/tests/reverter_test.py b/certbot/tests/reverter_test.py index 5124c7d9f..2fb28862d 100644 --- a/certbot/tests/reverter_test.py +++ b/certbot/tests/reverter_test.py @@ -278,6 +278,7 @@ class TestFullCheckpointsReverter(test_util.ConfigTestCase): def setUp(self): super().setUp() from certbot.reverter import Reverter + # Disable spurious errors... logging.disable(logging.CRITICAL) diff --git a/certbot/tests/util_test.py b/certbot/tests/util_test.py index e9b5ddef2..0904c028f 100644 --- a/certbot/tests/util_test.py +++ b/certbot/tests/util_test.py @@ -121,6 +121,7 @@ class LockDirUntilExit(test_util.TempDirTestCase): registered_func = mock_register.call_args[0][0] from certbot import util + # Despite lock_dir_until_exit has been called twice to subdir, its lock should have been # added only once. So we expect to have two lock references: for self.tempdir and subdir self.assertEqual(len(util._LOCKS), 2) # pylint: disable=protected-access diff --git a/letstest/letstest/multitester.py b/letstest/letstest/multitester.py index a74e3f01d..c213a8637 100644 --- a/letstest/letstest/multitester.py +++ b/letstest/letstest/multitester.py @@ -41,10 +41,9 @@ import urllib.request as urllib_request import boto3 from botocore.exceptions import ClientError -import yaml - from fabric import Config from fabric import Connection +import yaml # Command line parser #------------------------------------------------------------------------------- diff --git a/letstest/scripts/version.py b/letstest/scripts/version.py index 6e538b032..dd8f1e3f3 100755 --- a/letstest/scripts/version.py +++ b/letstest/scripts/version.py @@ -5,7 +5,10 @@ Provides a simple utility for determining the Certbot version number """ from __future__ import print_function -from os.path import abspath, dirname, join + +from os.path import abspath +from os.path import dirname +from os.path import join import re diff --git a/tests/modification-check.py b/tests/modification-check.py index d685225a8..1d56d3442 100755 --- a/tests/modification-check.py +++ b/tests/modification-check.py @@ -4,7 +4,6 @@ import hashlib import os - # Relative to the root of the Certbot repo, these files are expected to exist # and have the SHA-256 hashes contained in this dictionary. These hashes were # taken from our v1.14.0 tag which was the last release we intended to make diff --git a/tools/finish_release.py b/tools/finish_release.py index bf6a14d9f..723f38004 100755 --- a/tools/finish_release.py +++ b/tools/finish_release.py @@ -26,16 +26,16 @@ release with that name already exists. """ import argparse +import getpass import glob import os.path import re import subprocess import sys import tempfile -import getpass -from azure.devops.connection import Connection from zipfile import ZipFile +from azure.devops.connection import Connection import requests # Path to the root directory of the Certbot repository containing this script diff --git a/tools/install_and_test.py b/tools/install_and_test.py index 1c84de96f..37864397e 100755 --- a/tools/install_and_test.py +++ b/tools/install_and_test.py @@ -10,6 +10,7 @@ import re import subprocess import sys + def call_with_print(command): print(command) subprocess.check_call(command, shell=True)