diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2021-06-26 14:20:13 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2021-06-26 14:20:13 +0000 |
commit | 79f84f71e1045aafed389e7b22112c3d706d0bac (patch) | |
tree | 193eb6d8b7a1075ddf325f932d1c0ab286fa3cce /tests | |
parent | 64c9edf283520c38738e240fc011ce963c8bd9c5 (diff) | |
parent | b511670231e99c5278d58e789f9efb7855488b41 (diff) | |
download | alembic-79f84f71e1045aafed389e7b22112c3d706d0bac.tar.gz |
Merge "Drop compatibility with python 2.7."
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_autogen_diffs.py | 8 | ||||
-rw-r--r-- | tests/test_autogen_indexes.py | 6 | ||||
-rw-r--r-- | tests/test_autogen_render.py | 58 | ||||
-rw-r--r-- | tests/test_command.py | 10 | ||||
-rw-r--r-- | tests/test_config.py | 9 | ||||
-rw-r--r-- | tests/test_editor.py | 10 | ||||
-rw-r--r-- | tests/test_postgresql.py | 12 | ||||
-rw-r--r-- | tests/test_script_consumption.py | 15 | ||||
-rw-r--r-- | tests/test_sqlite.py | 4 |
9 files changed, 55 insertions, 77 deletions
diff --git a/tests/test_autogen_diffs.py b/tests/test_autogen_diffs.py index 1dff1e3..f790be5 100644 --- a/tests/test_autogen_diffs.py +++ b/tests/test_autogen_diffs.py @@ -1,5 +1,3 @@ -import sys - from sqlalchemy import BIGINT from sqlalchemy import BigInteger from sqlalchemy import Boolean @@ -60,8 +58,6 @@ from alembic.util import CommandError # TODO: we should make an adaptation of CompareMetadataToInspectorTest that is # more well suited towards generic backends (2021-06-10) -py3k = sys.version_info >= (3,) - class AutogenCrossSchemaTest(AutogenTest, TestBase): __only_on__ = "postgresql" @@ -321,7 +317,7 @@ class AutogenDefaultSchemaIsNoneTest(AutogenFixtureTest, TestBase): eq_(len(diffs), 0) -class ModelOne(object): +class ModelOne: __requires__ = ("unique_constraint_reflection",) schema = None @@ -1248,7 +1244,7 @@ class IncludeFiltersAPITest(AutogenTest, TestBase): object_filters=include_object, include_schemas=True ) - class ExtFunction(object): + class ExtFunction: pass extfunc = ExtFunction() diff --git a/tests/test_autogen_indexes.py b/tests/test_autogen_indexes.py index 80ad478..e25ddc2 100644 --- a/tests/test_autogen_indexes.py +++ b/tests/test_autogen_indexes.py @@ -1,5 +1,3 @@ -import sys - from sqlalchemy import Column from sqlalchemy import ForeignKey from sqlalchemy import ForeignKeyConstraint @@ -29,10 +27,8 @@ from alembic.util import sqla_compat # subset of the tests here. @zzzeek can work on this at a later point. # (2021-06-10) -py3k = sys.version_info >= (3,) - -class NoUqReflection(object): +class NoUqReflection: __requires__ = () def setUp(self): diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py index d4ce432..6709328 100644 --- a/tests/test_autogen_render.py +++ b/tests/test_autogen_render.py @@ -1,5 +1,4 @@ import re -import sys import sqlalchemy as sa # noqa from sqlalchemy import BigInteger @@ -49,9 +48,6 @@ from alembic.testing import eq_ignore_whitespace from alembic.testing import mock from alembic.testing import TestBase from alembic.testing.fixtures import op_fixture -from alembic.util import compat - -py3k = sys.version_info >= (3,) class AutogenRenderTest(TestBase): @@ -185,7 +181,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_index('test_lower_code_idx', 'test', " - "[sa.text(!U'lower(code)')], unique=False)", + "[sa.text('lower(code)')], unique=False)", ) def test_render_add_index_cast(self): @@ -202,7 +198,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_index('test_lower_code_idx', 'test', " - "[sa.text(!U'CAST(code AS VARCHAR)')], unique=False)", + "[sa.text('CAST(code AS VARCHAR)')], unique=False)", ) def test_render_add_index_desc(self): @@ -218,7 +214,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_index('test_desc_code_idx', 'test', " - "[sa.text(!U'code DESC')], unique=False)", + "[sa.text('code DESC')], unique=False)", ) def test_drop_index(self): @@ -832,7 +828,7 @@ class AutogenRenderTest(TestBase): def test_render_table_w_unicode_name(self): m = MetaData() t = Table( - compat.ue("\u0411\u0435\u0437"), + "\u0411\u0435\u0437", m, Column("id", Integer, primary_key=True), ) @@ -841,7 +837,7 @@ class AutogenRenderTest(TestBase): autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_table(%r," "sa.Column('id', sa.Integer(), nullable=False)," - "sa.PrimaryKeyConstraint('id'))" % compat.ue("\u0411\u0435\u0437"), + "sa.PrimaryKeyConstraint('id'))" % "\u0411\u0435\u0437", ) def test_render_table_w_unicode_schema(self): @@ -850,7 +846,7 @@ class AutogenRenderTest(TestBase): "test", m, Column("id", Integer, primary_key=True), - schema=compat.ue("\u0411\u0435\u0437"), + schema="\u0411\u0435\u0437", ) op_obj = ops.CreateTableOp.from_table(t) eq_ignore_whitespace( @@ -858,7 +854,7 @@ class AutogenRenderTest(TestBase): "op.create_table('test'," "sa.Column('id', sa.Integer(), nullable=False)," "sa.PrimaryKeyConstraint('id')," - "schema=%r)" % compat.ue("\u0411\u0435\u0437"), + "schema=%r)" % "\u0411\u0435\u0437", ) def test_render_table_w_unsupported_constraint(self): @@ -1193,7 +1189,7 @@ class AutogenRenderTest(TestBase): ) def test_render_unicode_server_default(self): - default = compat.ue( + default = ( "\u0411\u0435\u0437 " "\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f" ) @@ -1587,7 +1583,7 @@ class AutogenRenderTest(TestBase): self.autogen_context, None, ), - "sa.CheckConstraint(!U'im a constraint', name='cc1')", + "sa.CheckConstraint('im a constraint', name='cc1')", ) def test_render_check_constraint_sqlexpr(self): @@ -1600,7 +1596,7 @@ class AutogenRenderTest(TestBase): self.autogen_context, None, ), - "sa.CheckConstraint(!U'c > 5 AND c < 10')", + "sa.CheckConstraint('c > 5 AND c < 10')", ) def test_render_check_constraint_literal_binds(self): @@ -1611,7 +1607,7 @@ class AutogenRenderTest(TestBase): self.autogen_context, None, ), - "sa.CheckConstraint(!U'c > 5 AND c < 10')", + "sa.CheckConstraint('c > 5 AND c < 10')", ) def test_render_unique_constraint_opts(self): @@ -1632,13 +1628,13 @@ class AutogenRenderTest(TestBase): "t", m, Column("c", Integer), - schema=compat.ue("\u0411\u0435\u0437"), + schema="\u0411\u0435\u0437", ) op_obj = ops.AddConstraintOp.from_constraint(UniqueConstraint(t.c.c)) eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_unique_constraint(None, 't', ['c'], " - "schema=%r)" % compat.ue("\u0411\u0435\u0437"), + "schema=%r)" % "\u0411\u0435\u0437", ) def test_render_modify_nullable_w_default(self): @@ -1736,7 +1732,7 @@ class AutogenRenderTest(TestBase): "# ### commands auto generated by Alembic - please adjust! ###\n" " op.create_table('sometable',\n" " sa.Column('x', sa.DateTime(), " - "server_default=sa.text(!U'now()'), nullable=True)\n" + "server_default=sa.text('now()'), nullable=True)\n" " )\n" " # ### end Alembic commands ###", ) @@ -1756,7 +1752,7 @@ class AutogenRenderTest(TestBase): "# ### commands auto generated by Alembic - please adjust! ###\n" " op.create_table('sometable',\n" " sa.Column('x', sa.DateTime(), " - "server_default=sa.text(!U'(CURRENT_TIMESTAMP)'), nullable=True)\n" + "server_default=sa.text('(CURRENT_TIMESTAMP)'), nullable=True)\n" " )\n" " # ### end Alembic commands ###", ) @@ -1851,7 +1847,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( result, "sa.Column('updated_at', sa.TIMESTAMP(), " - "server_default=sa.text(!U'now()'), " + "server_default=sa.text('now()'), " "nullable=False)", ) @@ -1864,7 +1860,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( result, "sa.Column('updated_at', sa.Boolean(), " - "server_default=sa.text(!U'0'), " + "server_default=sa.text('0'), " "nullable=False)", ) @@ -1879,7 +1875,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( result, "sa.Column('updated_at', sa.TIMESTAMP(), " - "server_default=sa.text(!U'now()'), " + "server_default=sa.text('now()'), " "nullable=False)", ) @@ -1904,7 +1900,7 @@ class AutogenRenderTest(TestBase): autogenerate.render_op_text(self.autogen_context, op_obj), "op.alter_column('sometable', 'somecolumn', " "existing_type=sa.Integer(), nullable=True, " - "existing_server_default=sa.text(!U'5'))", + "existing_server_default=sa.text('5'))", ) def test_render_executesql_plaintext(self): @@ -2076,7 +2072,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.add_column('foo', sa.Column('x', sa.Integer(), " - "sa.Computed(!U'5', ), nullable=True))", + "sa.Computed('5', ), nullable=True))", ) @config.requirements.computed_columns_api @@ -2088,7 +2084,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.add_column('foo', sa.Column('x', sa.Integer(), " - "sa.Computed(!U'5', persisted=%s), nullable=True))" % persisted, + "sa.Computed('5', persisted=%s), nullable=True))" % persisted, ) @config.requirements.computed_columns_api @@ -2099,7 +2095,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.alter_column('sometable', 'somecolumn', " - "server_default=sa.Computed(!U'7', ))", + "server_default=sa.Computed('7', ))", ) @config.requirements.computed_columns_api @@ -2112,7 +2108,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.alter_column('sometable', 'somecolumn', " - "existing_server_default=sa.Computed(!U'42', ))", + "existing_server_default=sa.Computed('42', ))", ) @config.requirements.computed_columns_api @@ -2128,7 +2124,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.alter_column('sometable', 'somecolumn', server_default" - "=sa.Computed(!U'7', persisted=%s))" % persisted, + "=sa.Computed('7', persisted=%s))" % persisted, ) @config.requirements.computed_columns_api @@ -2143,7 +2139,7 @@ class AutogenRenderTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.alter_column('sometable', 'somecolumn', " - "existing_server_default=sa.Computed(!U'42', persisted=%s))" + "existing_server_default=sa.Computed('42', persisted=%s))" % persisted, ) @@ -2364,7 +2360,7 @@ class RenderNamingConventionTest(TestBase): eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_table('t',sa.Column('c', sa.Integer(), nullable=True)," - "sa.CheckConstraint(!U'c > 5', name=op.f('ck_ct_t')))", + "sa.CheckConstraint('c > 5', name=op.f('ck_ct_t')))", ) def test_inline_fk(self): @@ -2398,7 +2394,7 @@ class RenderNamingConventionTest(TestBase): autogenerate.render._render_check_constraint( ck, self.autogen_context, None ), - "sa.CheckConstraint(!U'im a constraint', name=op.f('ck_t_cc1'))", + "sa.CheckConstraint('im a constraint', name=op.f('ck_t_cc1'))", ) def test_create_table_plus_add_index_in_modify(self): diff --git a/tests/test_command.py b/tests/test_command.py index a477a1d..98477ee 100644 --- a/tests/test_command.py +++ b/tests/test_command.py @@ -1,6 +1,7 @@ from contextlib import contextmanager import inspect from io import BytesIO +from io import StringIO from io import TextIOWrapper import os import re @@ -32,11 +33,10 @@ from alembic.testing.env import write_script from alembic.testing.fixtures import capture_context_buffer from alembic.testing.fixtures import capture_engine_context_buffer from alembic.testing.fixtures import TestBase -from alembic.util import compat from alembic.util.sqla_compat import _connectable_has_table -class _BufMixin(object): +class _BufMixin: def _buf_fixture(self): # try to simulate how sys.stdout looks - we send it u'' # but then it's trying to encode to something. @@ -536,7 +536,7 @@ finally: command.revision(self.cfg, sql=True) -class _StampTest(object): +class _StampTest: def _assert_sql(self, emitted_sql, origin, destinations): ins_expr = ( r"INSERT INTO alembic_version \(version_num\) " @@ -1173,8 +1173,8 @@ class CommandLineTest(TestBase): ) def test_version_text(self): - buf = compat.StringIO() - to_mock = "sys.stdout" if util.compat.py3k else "sys.stderr" + buf = StringIO() + to_mock = "sys.stdout" with mock.patch(to_mock, buf): try: diff --git a/tests/test_config.py b/tests/test_config.py index fdb837e..7957a1b 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -18,7 +18,6 @@ from alembic.testing.env import clear_staging_env from alembic.testing.env import staging_env from alembic.testing.fixtures import capture_db from alembic.testing.fixtures import TestBase -from alembic.util import compat class FileConfigTest(TestBase): @@ -210,16 +209,16 @@ class StdoutOutputEncodingTest(TestBase): def test_utf8_unicode(self): stdout = mock.Mock(encoding="latin-1") cfg = config.Config(stdout=stdout) - cfg.print_stdout(compat.u("méil %s %s"), "x", "y") + cfg.print_stdout("méil %s %s", "x", "y") eq_( stdout.mock_calls, - [mock.call.write(compat.u("méil x y")), mock.call.write("\n")], + [mock.call.write("méil x y"), mock.call.write("\n")], ) def test_ascii_unicode(self): stdout = mock.Mock(encoding=None) cfg = config.Config(stdout=stdout) - cfg.print_stdout(compat.u("méil %s %s"), "x", "y") + cfg.print_stdout("méil %s %s", "x", "y") eq_( stdout.mock_calls, [mock.call.write("m?il x y"), mock.call.write("\n")], @@ -228,7 +227,7 @@ class StdoutOutputEncodingTest(TestBase): def test_only_formats_output_with_args(self): stdout = mock.Mock(encoding=None) cfg = config.Config(stdout=stdout) - cfg.print_stdout(compat.u("test 3%")) + cfg.print_stdout("test 3%") eq_( stdout.mock_calls, [mock.call.write("test 3%"), mock.call.write("\n")], diff --git a/tests/test_editor.py b/tests/test_editor.py index 4a58b8f..0ec6f5f 100644 --- a/tests/test_editor.py +++ b/tests/test_editor.py @@ -1,23 +1,21 @@ import os from os.path import join +from unittest.mock import patch from alembic import util from alembic.testing import combinations from alembic.testing import expect_raises_message -from alembic.testing import mock from alembic.testing.fixtures import TestBase class TestHelpers(TestBase): def common(self, cb, is_posix=True): - with mock.patch( - "alembic.util.editor.check_call" - ) as check_call, mock.patch( + with patch("alembic.util.editor.check_call") as check_call, patch( "alembic.util.editor.exists" - ) as exists, mock.patch( + ) as exists, patch( "alembic.util.editor.is_posix", new=is_posix, - ), mock.patch( + ), patch( "os.pathsep", new=":" if is_posix else ";" ): cb(check_call, exists) diff --git a/tests/test_postgresql.py b/tests/test_postgresql.py index 10f17d4..500678a 100644 --- a/tests/test_postgresql.py +++ b/tests/test_postgresql.py @@ -912,7 +912,7 @@ class PostgresqlAutogenRenderTest(TestBase): autogenerate.render_op_text(autogen_context, op_obj), """op.create_index('foo_idx', 't', \ ['x', 'y'], unique=False, """ - """postgresql_where=sa.text(!U"y = 'something'"))""", + """postgresql_where=sa.text("y = 'something'"))""", ) def test_render_server_default_native_boolean(self): @@ -923,7 +923,7 @@ class PostgresqlAutogenRenderTest(TestBase): eq_ignore_whitespace( result, "sa.Column('updated_at', sa.Boolean(), " - "server_default=sa.text(!U'false'), " + "server_default=sa.text('false'), " "nullable=False)", ) @@ -1049,7 +1049,7 @@ class PostgresqlAutogenRenderTest(TestBase): autogenerate.render_op_text(autogen_context, op_obj), "op.create_exclude_constraint('t_excl_x', " "'t', (sa.column('x'), '>'), " - "where=sa.text(!U'x != 2'), using='gist')", + "where=sa.text('x != 2'), using='gist')", ) def test_add_exclude_constraint_case_sensitive(self): @@ -1075,7 +1075,7 @@ class PostgresqlAutogenRenderTest(TestBase): autogenerate.render_op_text(autogen_context, op_obj), "op.create_exclude_constraint('t_excl_x', 'TTAble', " "(sa.column('XColumn'), '>'), " - "where=sa.text(!U'\"XColumn\" != 2'), using='gist')", + "where=sa.text('\"XColumn\" != 2'), using='gist')", ) def test_inline_exclude_constraint(self): @@ -1104,7 +1104,7 @@ class PostgresqlAutogenRenderTest(TestBase): "op.create_table('t',sa.Column('x', sa.String(), nullable=True)," "sa.Column('y', sa.String(), nullable=True)," "postgresql.ExcludeConstraint((sa.column('x'), '>'), " - "where=sa.text(!U'x != 2'), using='gist', name='t_excl_x')" + "where=sa.text('x != 2'), using='gist', name='t_excl_x')" ")", ) @@ -1132,7 +1132,7 @@ class PostgresqlAutogenRenderTest(TestBase): "nullable=True)," "sa.Column('YColumn', sa.String(), nullable=True)," "postgresql.ExcludeConstraint((sa.column('XColumn'), '>'), " - "where=sa.text(!U'\"XColumn\" != 2'), using='gist', " + "where=sa.text('\"XColumn\" != 2'), using='gist', " "name='TExclX'))", ) diff --git a/tests/test_script_consumption.py b/tests/test_script_consumption.py index e7eda64..4b46564 100644 --- a/tests/test_script_consumption.py +++ b/tests/test_script_consumption.py @@ -31,7 +31,7 @@ from alembic.testing.fixtures import TestBase from alembic.util import compat -class PatchEnvironment(object): +class PatchEnvironment: branched_connection = False @contextmanager @@ -301,8 +301,7 @@ class SimpleSourcelessApplyVersionsTest(ApplyVersionsFunctionalTest): id_="r", ) class NewFangledSourcelessApplyVersionsTest(ApplyVersionsFunctionalTest): - - __requires__ = ("pep3147",) + pass class CallbackEnvironmentTest(ApplyVersionsFunctionalTest): @@ -644,8 +643,7 @@ class EncodingTest(TestBase): script, self.a, ( - compat.u( - """# coding: utf-8 + """# coding: utf-8 from __future__ import unicode_literals revision = '%s' down_revision = None @@ -659,7 +657,6 @@ def downgrade(): op.execute("drôle de petite voix m’a réveillé") """ - ) % self.a ), encoding="utf-8", @@ -673,7 +670,7 @@ def downgrade(): bytes_io=True, output_encoding="utf-8" ) as buf: command.upgrade(self.cfg, self.a, sql=True) - assert compat.u("« S’il vous plaît…").encode("utf-8") in buf.getvalue() + assert "« S’il vous plaît…".encode("utf-8") in buf.getvalue() class VersionNameTemplateTest(TestBase): @@ -847,14 +844,10 @@ class SimpleSourcelessIgnoreFilesTest(IgnoreFilesTest): class NewFangledEnvOnlySourcelessIgnoreFilesTest(IgnoreFilesTest): sourceless = "pep3147_envonly" - __requires__ = ("pep3147",) - class NewFangledEverythingSourcelessIgnoreFilesTest(IgnoreFilesTest): sourceless = "pep3147_everything" - __requires__ = ("pep3147",) - class SourcelessNeedsFlagTest(TestBase): def setUp(self): diff --git a/tests/test_sqlite.py b/tests/test_sqlite.py index 946f69f..3915343 100644 --- a/tests/test_sqlite.py +++ b/tests/test_sqlite.py @@ -230,7 +230,7 @@ class SQLiteAutogenRenderTest(TestBase): eq_ignore_whitespace( result, "sa.Column('date_value', sa.DateTime(), " - "server_default=sa.text(!U\"(datetime('now', 'localtime'))\"), " + "server_default=sa.text(\"(datetime('now', 'localtime'))\"), " "nullable=True)", ) @@ -245,7 +245,7 @@ class SQLiteAutogenRenderTest(TestBase): eq_ignore_whitespace( result, "sa.Column('date_value', sa.DateTime(), " - "server_default=sa.text(!U\"(datetime('now', 'localtime'))\"), " + "server_default=sa.text(\"(datetime('now', 'localtime'))\"), " "nullable=True)", ) |