summaryrefslogtreecommitdiff
path: root/alembic/testing
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2021-06-26 14:20:13 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2021-06-26 14:20:13 +0000
commit79f84f71e1045aafed389e7b22112c3d706d0bac (patch)
tree193eb6d8b7a1075ddf325f932d1c0ab286fa3cce /alembic/testing
parent64c9edf283520c38738e240fc011ce963c8bd9c5 (diff)
parentb511670231e99c5278d58e789f9efb7855488b41 (diff)
downloadalembic-79f84f71e1045aafed389e7b22112c3d706d0bac.tar.gz
Merge "Drop compatibility with python 2.7."
Diffstat (limited to 'alembic/testing')
-rw-r--r--alembic/testing/__init__.py55
-rw-r--r--alembic/testing/assertions.py15
-rw-r--r--alembic/testing/env.py21
-rw-r--r--alembic/testing/fixtures.py11
-rw-r--r--alembic/testing/requirements.py5
-rw-r--r--alembic/testing/schemacompare.py14
-rw-r--r--alembic/testing/suite/_autogen_fixtures.py4
-rw-r--r--alembic/testing/suite/test_autogen_comments.py3
-rw-r--r--alembic/testing/suite/test_autogen_diffs.py3
-rw-r--r--alembic/testing/suite/test_autogen_fks.py3
-rw-r--r--alembic/testing/suite/test_environment.py8
11 files changed, 53 insertions, 89 deletions
diff --git a/alembic/testing/__init__.py b/alembic/testing/__init__.py
index 50f1f4b..05b2e34 100644
--- a/alembic/testing/__init__.py
+++ b/alembic/testing/__init__.py
@@ -1,32 +1,31 @@
-from sqlalchemy.testing import config # noqa
-from sqlalchemy.testing import emits_warning # noqa
-from sqlalchemy.testing import engines # noqa
-from sqlalchemy.testing import exclusions # noqa
-from sqlalchemy.testing import mock # noqa
-from sqlalchemy.testing import provide_metadata # noqa
-from sqlalchemy.testing import uses_deprecated # noqa
-from sqlalchemy.testing.config import combinations # noqa
-from sqlalchemy.testing.config import fixture # noqa
-from sqlalchemy.testing.config import requirements as requires # noqa
+from sqlalchemy.testing import config
+from sqlalchemy.testing import emits_warning
+from sqlalchemy.testing import engines
+from sqlalchemy.testing import exclusions
+from sqlalchemy.testing import mock
+from sqlalchemy.testing import provide_metadata
+from sqlalchemy.testing import uses_deprecated
+from sqlalchemy.testing.config import combinations
+from sqlalchemy.testing.config import fixture
+from sqlalchemy.testing.config import requirements as requires
-from alembic import util # noqa
-from .assertions import assert_raises # noqa
-from .assertions import assert_raises_message # noqa
-from .assertions import emits_python_deprecation_warning # noqa
-from .assertions import eq_ # noqa
-from .assertions import eq_ignore_whitespace # noqa
-from .assertions import expect_raises # noqa
-from .assertions import expect_raises_message # noqa
-from .assertions import expect_sqlalchemy_deprecated # noqa
-from .assertions import expect_sqlalchemy_deprecated_20 # noqa
-from .assertions import expect_warnings # noqa
-from .assertions import is_ # noqa
-from .assertions import is_false # noqa
-from .assertions import is_not_ # noqa
-from .assertions import is_true # noqa
-from .assertions import ne_ # noqa
-from .fixtures import TestBase # noqa
-from .util import resolve_lambda # noqa
+from .assertions import assert_raises
+from .assertions import assert_raises_message
+from .assertions import emits_python_deprecation_warning
+from .assertions import eq_
+from .assertions import eq_ignore_whitespace
+from .assertions import expect_raises
+from .assertions import expect_raises_message
+from .assertions import expect_sqlalchemy_deprecated
+from .assertions import expect_sqlalchemy_deprecated_20
+from .assertions import expect_warnings
+from .assertions import is_
+from .assertions import is_false
+from .assertions import is_not_
+from .assertions import is_true
+from .assertions import ne_
+from .fixtures import TestBase
+from .util import resolve_lambda
try:
from sqlalchemy.testing import asyncio
diff --git a/alembic/testing/assertions.py b/alembic/testing/assertions.py
index 6d39f4c..e22ac6b 100644
--- a/alembic/testing/assertions.py
+++ b/alembic/testing/assertions.py
@@ -17,7 +17,6 @@ from sqlalchemy.testing.assertions import ne_ # noqa
from sqlalchemy.util import decorator
from ..util import sqla_compat
-from ..util.compat import py3k
def _assert_proper_exception_context(exception):
@@ -30,9 +29,6 @@ def _assert_proper_exception_context(exception):
"""
- if not util.py3k:
- return
-
if (
exception.__context__ is not exception.__cause__
and not exception.__suppress_context__
@@ -73,7 +69,7 @@ def _assert_raises(
return ec.error
-class _ErrorContainer(object):
+class _ErrorContainer:
error = None
@@ -109,21 +105,12 @@ def expect_raises_message(except_cls, msg, check_context=True):
def eq_ignore_whitespace(a, b, msg=None):
- # sqlalchemy.testing.assertion has this function
- # but not with the special "!U" detection part
a = re.sub(r"^\s+?|\n", "", a)
a = re.sub(r" {2,}", " ", a)
b = re.sub(r"^\s+?|\n", "", b)
b = re.sub(r" {2,}", " ", b)
- # convert for unicode string rendering,
- # using special escape character "!U"
- if py3k:
- b = re.sub(r"!U", "", b)
- else:
- b = re.sub(r"!U", "u", b)
-
assert a == b, msg or "%r != %r" % (a, b)
diff --git a/alembic/testing/env.py b/alembic/testing/env.py
index 62b74ec..2947085 100644
--- a/alembic/testing/env.py
+++ b/alembic/testing/env.py
@@ -1,5 +1,5 @@
#!coding: utf-8
-
+import importlib.machinery
import os
import shutil
import textwrap
@@ -11,9 +11,6 @@ from . import util as testing_util
from .. import util
from ..script import Script
from ..script import ScriptDirectory
-from ..util.compat import get_current_bytecode_suffixes
-from ..util.compat import has_pep3147
-from ..util.compat import u
def _get_staging_directory():
@@ -290,15 +287,13 @@ def make_sourceless(path, style):
py_compile.compile(path)
- if style == "simple" and has_pep3147():
+ if style == "simple":
pyc_path = util.pyc_file_from_path(path)
- suffix = get_current_bytecode_suffixes()[0]
+ suffix = importlib.machinery.BYTECODE_SUFFIXES[0]
filepath, ext = os.path.splitext(path)
simple_pyc_path = filepath + suffix
shutil.move(pyc_path, simple_pyc_path)
pyc_path = simple_pyc_path
- elif style == "pep3147" and not has_pep3147():
- raise NotImplementedError()
else:
assert style in ("pep3147", "simple")
pyc_path = util.pyc_file_from_path(path)
@@ -341,11 +336,10 @@ def downgrade():
write_script(
script,
b,
- u(
- """# coding: utf-8
+ f"""# coding: utf-8
"Rev B, méil, %3"
-revision = '{}'
-down_revision = '{}'
+revision = '{b}'
+down_revision = '{a}'
from alembic import op
@@ -357,8 +351,7 @@ def upgrade():
def downgrade():
op.execute("DROP STEP 2")
-"""
- ).format(b, a),
+""",
encoding="utf-8",
)
diff --git a/alembic/testing/fixtures.py b/alembic/testing/fixtures.py
index d5d45ac..cccc382 100644
--- a/alembic/testing/fixtures.py
+++ b/alembic/testing/fixtures.py
@@ -1,4 +1,5 @@
# coding: utf-8
+import configparser
from contextlib import contextmanager
import io
import re
@@ -21,9 +22,7 @@ from .assertions import _get_dialect
from ..environment import EnvironmentContext
from ..migration import MigrationContext
from ..operations import Operations
-from ..util import compat
from ..util import sqla_compat
-from ..util.compat import configparser
from ..util.compat import string_types
from ..util.compat import text_type
from ..util.sqla_compat import create_mock_engine
@@ -62,7 +61,7 @@ if sqla_14:
from sqlalchemy.testing.fixtures import FutureEngineMixin
else:
- class FutureEngineMixin(object):
+ class FutureEngineMixin:
__requires__ = ("sqlalchemy_14",)
@@ -105,7 +104,7 @@ def capture_engine_context_buffer(**kw):
from .env import _sqlite_file_db
from sqlalchemy import event
- buf = compat.StringIO()
+ buf = io.StringIO()
eng = _sqlite_file_db()
@@ -138,7 +137,7 @@ def op_fixture(
if naming_convention:
opts["target_metadata"] = MetaData(naming_convention=naming_convention)
- class buffer_(object):
+ class buffer_:
def __init__(self):
self.lines = []
@@ -215,7 +214,7 @@ def op_fixture(
return context
-class AlterColRoundTripFixture(object):
+class AlterColRoundTripFixture:
# since these tests are about syntax, use more recent SQLAlchemy as some of
# the type / server default compare logic might not work on older
diff --git a/alembic/testing/requirements.py b/alembic/testing/requirements.py
index dac7ecd..f1792f8 100644
--- a/alembic/testing/requirements.py
+++ b/alembic/testing/requirements.py
@@ -92,11 +92,6 @@ class SuiteRequirements(Requirements):
)
@property
- def pep3147(self):
-
- return exclusions.only_if(lambda config: util.compat.has_pep3147())
-
- @property
def comments(self):
return exclusions.only_if(
lambda config: config.db.dialect.supports_comments
diff --git a/alembic/testing/schemacompare.py b/alembic/testing/schemacompare.py
index c3a7382..500cee8 100644
--- a/alembic/testing/schemacompare.py
+++ b/alembic/testing/schemacompare.py
@@ -2,7 +2,7 @@ from sqlalchemy import schema
from sqlalchemy import util
-class CompareTable(object):
+class CompareTable:
def __init__(self, table):
self.table = table
@@ -26,7 +26,7 @@ class CompareTable(object):
return not self.__eq__(other)
-class CompareColumn(object):
+class CompareColumn:
def __init__(self, column):
self.column = column
@@ -41,7 +41,7 @@ class CompareColumn(object):
return not self.__eq__(other)
-class CompareIndex(object):
+class CompareIndex:
def __init__(self, index):
self.index = index
@@ -56,7 +56,7 @@ class CompareIndex(object):
return not self.__eq__(other)
-class CompareCheckConstraint(object):
+class CompareCheckConstraint:
def __init__(self, constraint):
self.constraint = constraint
@@ -73,7 +73,7 @@ class CompareCheckConstraint(object):
return not self.__eq__(other)
-class CompareForeignKey(object):
+class CompareForeignKey:
def __init__(self, constraint):
self.constraint = constraint
@@ -99,7 +99,7 @@ class CompareForeignKey(object):
return not self.__eq__(other)
-class ComparePrimaryKey(object):
+class ComparePrimaryKey:
def __init__(self, constraint):
self.constraint = constraint
@@ -127,7 +127,7 @@ class ComparePrimaryKey(object):
return not self.__eq__(other)
-class CompareUniqueConstraint(object):
+class CompareUniqueConstraint:
def __init__(self, constraint):
self.constraint = constraint
diff --git a/alembic/testing/suite/_autogen_fixtures.py b/alembic/testing/suite/_autogen_fixtures.py
index 6a03a30..44fc24f 100644
--- a/alembic/testing/suite/_autogen_fixtures.py
+++ b/alembic/testing/suite/_autogen_fixtures.py
@@ -45,7 +45,7 @@ _default_object_filters = _default_include_object
_default_name_filters = None
-class ModelOne(object):
+class ModelOne:
__requires__ = ("unique_constraint_reflection",)
schema = None
@@ -143,7 +143,7 @@ class ModelOne(object):
return m
-class _ComparesFKs(object):
+class _ComparesFKs:
def _assert_fk_diff(
self,
diff,
diff --git a/alembic/testing/suite/test_autogen_comments.py b/alembic/testing/suite/test_autogen_comments.py
index 4e8ec5a..7ef074f 100644
--- a/alembic/testing/suite/test_autogen_comments.py
+++ b/alembic/testing/suite/test_autogen_comments.py
@@ -8,9 +8,6 @@ from ._autogen_fixtures import AutogenFixtureTest
from ...testing import eq_
from ...testing import mock
from ...testing import TestBase
-from ...util import compat
-
-py3k = compat.py3k
class AutogenerateCommentsTest(AutogenFixtureTest, TestBase):
diff --git a/alembic/testing/suite/test_autogen_diffs.py b/alembic/testing/suite/test_autogen_diffs.py
index eafd1a8..75bcd37 100644
--- a/alembic/testing/suite/test_autogen_diffs.py
+++ b/alembic/testing/suite/test_autogen_diffs.py
@@ -11,9 +11,6 @@ from ...testing import config
from ...testing import eq_
from ...testing import is_
from ...testing import TestBase
-from ...util import compat
-
-py3k = compat.py3k
class AlterColumnTest(AutogenFixtureTest, TestBase):
diff --git a/alembic/testing/suite/test_autogen_fks.py b/alembic/testing/suite/test_autogen_fks.py
index f369b4c..0240b98 100644
--- a/alembic/testing/suite/test_autogen_fks.py
+++ b/alembic/testing/suite/test_autogen_fks.py
@@ -11,9 +11,6 @@ from ...testing import config
from ...testing import eq_
from ...testing import mock
from ...testing import TestBase
-from ...util import compat
-
-py3k = compat.py3k
class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
diff --git a/alembic/testing/suite/test_environment.py b/alembic/testing/suite/test_environment.py
index 2d3e97e..a761632 100644
--- a/alembic/testing/suite/test_environment.py
+++ b/alembic/testing/suite/test_environment.py
@@ -1,4 +1,5 @@
-#!coding: utf-8
+import io
+
from ...migration import MigrationContext
from ...testing import assert_raises
from ...testing import config
@@ -6,7 +7,6 @@ from ...testing import eq_
from ...testing import is_false
from ...testing import is_true
from ...testing.fixtures import TestBase
-from ...util import compat
class MigrationTransactionTest(TestBase):
@@ -23,7 +23,7 @@ class MigrationTransactionTest(TestBase):
)
self.context.output_buffer = (
self.context.impl.output_buffer
- ) = compat.StringIO()
+ ) = io.StringIO()
else:
self.context = MigrationContext.configure(
connection=conn, opts=opts
@@ -308,7 +308,7 @@ class MigrationTransactionTest(TestBase):
def _assert_impl_steps(self, *steps):
to_check = self.context.output_buffer.getvalue()
- self.context.impl.output_buffer = buf = compat.StringIO()
+ self.context.impl.output_buffer = buf = io.StringIO()
for step in steps:
if step == "BEGIN":
self.context.impl.emit_begin()