switch from six.StringIO to io.StringIO

This commit is contained in:
Brad Warren 2021-02-08 12:25:41 -08:00
parent c3555c159b
commit 4055eae726
7 changed files with 64 additions and 43 deletions

View file

@ -1,4 +1,5 @@
"""Test utilities."""
import io
import logging
from multiprocessing import Event
from multiprocessing import Process
@ -10,10 +11,6 @@ import unittest
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
import josepy as jose
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
import OpenSSL
import pkg_resources
import six
@ -29,6 +26,12 @@ from certbot.compat import filesystem
from certbot.compat import os
from certbot.display import util as display_util
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
def vector_path(*names):
"""Path to a test vector."""
@ -170,7 +173,7 @@ def patch_get_utility_with_stdout(target='zope.component.getUtility',
:rtype: mock.MagicMock
"""
stdout = stdout if stdout else six.StringIO()
stdout = stdout if stdout else io.StringIO()
freezable_mock = _create_get_utility_mock_with_stdout(stdout)
return mock.patch(target, new=freezable_mock)

View file

@ -1,13 +1,10 @@
"""Tests for certbot._internal.cli."""
import argparse
import copy
import io
import tempfile
import unittest
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
import six
from six.moves import reload_module # pylint: disable=import-error
@ -21,6 +18,12 @@ from certbot.compat import os
import certbot.tests.util as test_util
from certbot.tests.util import TempDirTestCase
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
PLUGINS = disco.PluginsRegistry.find_all()
@ -91,7 +94,7 @@ class ParseTest(unittest.TestCase):
def _help_output(self, args):
"Run a command, and return the output string for scrutiny"
output = six.StringIO()
output = io.StringIO()
def write_msg(message, *args, **kwargs): # pylint: disable=missing-docstring,unused-argument
output.write(message)

View file

@ -1,13 +1,10 @@
"""Test :mod:`certbot.display.util`."""
import inspect
import io
import socket
import tempfile
import unittest
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
import six
from certbot import errors
@ -15,6 +12,12 @@ from certbot import interfaces
from certbot.display import util as display_util
import certbot.tests.util as test_util
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
CHOICES = [("First", "Description1"), ("Second", "Description2")]
TAGS = ["tag1", "tag2", "tag3"]
TAGS_CHOICES = [("1", "tag1"), ("2", "tag2"), ("3", "tag3")]
@ -34,7 +37,7 @@ class InputWithTimeoutTest(unittest.TestCase):
def test_input(self, prompt=None):
expected = "foo bar"
stdin = six.StringIO(expected + "\n")
stdin = io.StringIO(expected + "\n")
with mock.patch("certbot.compat.misc.select.select") as mock_select:
mock_select.return_value = ([stdin], [], [],)
self.assertEqual(self._call(prompt), expected)

View file

@ -1,14 +1,11 @@
"""Tests for certbot._internal.log."""
import io
import logging
import logging.handlers
import sys
import time
import unittest
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
import six
from acme import messages
@ -19,6 +16,12 @@ from certbot.compat import filesystem
from certbot.compat import os
from certbot.tests import util as test_util
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
class PreArgParseSetupTest(unittest.TestCase):
"""Tests for certbot._internal.log.pre_arg_parse_setup."""
@ -75,7 +78,7 @@ class PostArgParseSetupTest(test_util.ConfigTestCase):
self.devnull = open(os.devnull, 'w')
from certbot._internal.log import ColoredStreamHandler
self.stream_handler = ColoredStreamHandler(six.StringIO())
self.stream_handler = ColoredStreamHandler(io.StringIO())
from certbot._internal.log import MemoryHandler, TempHandler
self.temp_handler = TempHandler()
self.temp_path = self.temp_handler.path
@ -179,7 +182,7 @@ class ColoredStreamHandlerTest(unittest.TestCase):
"""Tests for certbot._internal.log.ColoredStreamHandler"""
def setUp(self):
self.stream = six.StringIO()
self.stream = io.StringIO()
self.stream.isatty = lambda: True
self.logger = logging.getLogger()
self.logger.setLevel(logging.DEBUG)
@ -213,7 +216,7 @@ class MemoryHandlerTest(unittest.TestCase):
self.logger = logging.getLogger(__name__)
self.logger.setLevel(logging.DEBUG)
self.msg = 'hi there'
self.stream = six.StringIO()
self.stream = io.StringIO()
self.stream_handler = logging.StreamHandler(self.stream)
from certbot._internal.log import MemoryHandler
@ -238,7 +241,7 @@ class MemoryHandlerTest(unittest.TestCase):
def test_target_reset(self):
self._test_log_debug()
new_stream = six.StringIO()
new_stream = io.StringIO()
new_stream_handler = logging.StreamHandler(new_stream)
self.handler.setTarget(new_stream_handler)
self.handler.flush(force=True)
@ -349,7 +352,7 @@ class PostArgParseExceptHookTest(unittest.TestCase):
def _test_common(self, error_type, debug):
"""Returns the mocked logger and stderr output."""
mock_err = six.StringIO()
mock_err = io.StringIO()
def write_err(*args, **unused_kwargs):
"""Write error to mock_err."""

View file

@ -4,6 +4,7 @@
from __future__ import print_function
import datetime
import io
import itertools
import json
import shutil
@ -13,10 +14,6 @@ import traceback
import unittest
import josepy as jose
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
import pytz
import six
from six.moves import reload_module # pylint: disable=import-error
@ -40,6 +37,13 @@ from certbot.plugins import enhancements
import certbot.tests.util as test_util
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
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')
@ -598,7 +602,7 @@ class MainTest(test_util.ConfigTestCase):
"Run the client with output streams mocked out"
args = self.standard_args + args
toy_stdout = stdout if stdout else six.StringIO()
toy_stdout = stdout if stdout else io.StringIO()
with mock.patch('certbot._internal.main.sys.stdout', new=toy_stdout):
with mock.patch('certbot._internal.main.sys.stderr') as stderr:
with mock.patch("certbot.util.atexit"):
@ -611,8 +615,8 @@ class MainTest(test_util.ConfigTestCase):
self.assertEqual(1, mock_run.call_count)
def test_version_string_program_name(self):
toy_out = six.StringIO()
toy_err = six.StringIO()
toy_out = io.StringIO()
toy_err = io.StringIO()
with mock.patch('certbot._internal.main.sys.stdout', new=toy_out):
with mock.patch('certbot._internal.main.sys.stderr', new=toy_err):
try:
@ -829,7 +833,7 @@ class MainTest(test_util.ConfigTestCase):
ifaces = [] # type: List[interfaces.IPlugin]
plugins = mock_disco.PluginsRegistry.find_all()
stdout = six.StringIO()
stdout = io.StringIO()
with test_util.patch_get_utility_with_stdout(stdout=stdout):
_, stdout, _, _ = self._call(['plugins'], stdout)
@ -849,7 +853,7 @@ class MainTest(test_util.ConfigTestCase):
_, _, _ = directory, mode, strict
raise errors.Error()
stdout = six.StringIO()
stdout = io.StringIO()
with mock.patch('certbot.util.set_up_core_dir') as mock_set_up_core_dir:
with test_util.patch_get_utility_with_stdout(stdout=stdout):
mock_set_up_core_dir.side_effect = throw_error
@ -866,7 +870,7 @@ class MainTest(test_util.ConfigTestCase):
ifaces = [] # type: List[interfaces.IPlugin]
plugins = mock_disco.PluginsRegistry.find_all()
stdout = six.StringIO()
stdout = io.StringIO()
with test_util.patch_get_utility_with_stdout(stdout=stdout):
_, stdout, _, _ = self._call(['plugins', '--init'], stdout)
@ -884,7 +888,7 @@ class MainTest(test_util.ConfigTestCase):
ifaces = [] # type: List[interfaces.IPlugin]
plugins = mock_disco.PluginsRegistry.find_all()
stdout = six.StringIO()
stdout = io.StringIO()
with test_util.patch_get_utility_with_stdout(stdout=stdout):
_, stdout, _, _ = self._call(['plugins', '--init', '--prepare'], stdout)
@ -1033,7 +1037,7 @@ class MainTest(test_util.ConfigTestCase):
mock_certr = mock.MagicMock()
mock_key = mock.MagicMock(pem='pem_key')
mock_client = mock.MagicMock()
stdout = six.StringIO()
stdout = io.StringIO()
mock_client.obtain_certificate.return_value = (mock_certr, 'chain',
mock_key, 'csr')

View file

@ -1,12 +1,14 @@
"""Tests for certbot._internal.reporter."""
import io
import sys
import unittest
import six
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
import six
class ReporterTest(unittest.TestCase):
@ -16,7 +18,7 @@ class ReporterTest(unittest.TestCase):
self.reporter = reporter.Reporter(mock.MagicMock(quiet=False))
self.old_stdout = sys.stdout # type: ignore
sys.stdout = six.StringIO()
sys.stdout = io.StringIO()
def tearDown(self):
sys.stdout = self.old_stdout

View file

@ -1,13 +1,10 @@
"""Tests for certbot.util."""
import argparse
import errno
import io
import sys
import unittest
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
import six
from six.moves import reload_module # pylint: disable=import-error
@ -16,6 +13,12 @@ from certbot.compat import filesystem
from certbot.compat import os
import certbot.tests.util as test_util
try:
import mock
except ImportError: # pragma: no cover
from unittest import mock
class EnvNoSnapForExternalCallsTest(unittest.TestCase):
"""Tests for certbot.util.env_no_snap_for_external_calls."""
@ -361,7 +364,7 @@ class AddDeprecatedArgumentTest(unittest.TestCase):
def test_help(self):
self._call("--old-option", 2)
stdout = six.StringIO()
stdout = io.StringIO()
with mock.patch("sys.stdout", new=stdout):
try:
self.parser.parse_args(["-h"])