summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2023-02-28 10:58:22 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2023-02-28 11:37:02 -0500
commit919297555f17efedcdcc7cc936204a1b86b804d3 (patch)
tree45f92ba2c4428a0f3ab99bda5cf9a6a8e662f8e8 /tests
parentb53ec0004a08c40a25a4dbf047c51cd140971a9c (diff)
downloadalembic-919297555f17efedcdcc7cc936204a1b86b804d3.tar.gz
ensure single import per line
This adds the very small plugin flake8-import-single which will prevent us from having an import with more than one symbol on a line. Flake8 by itself prevents this pattern with E401: import collections, os, sys However does not do anything with this: from sqlalchemy import Column, text Both statements have the same issues generating merge artifacts as well as presenting a manual decision to be made. While zimports generally cleans up such imports at the top level, we don't enforce zimports / pre-commit use. the plugin finds the same issue for imports that are inside of test methods. We shouldn't usually have imports in test methods so most of them here are moved to be top level. The version is pinned at 0.1.5; the project seems to have no activity since 2019, however there are three 0.1.6dev releases on pypi which stopped in September 2019, they seem to be experiments with packaging. The source for 0.1.5 is extremely simple and only reveals one method to flake8 (the run() method). Change-Id: Icea894e43bad9c0b5d4feb5f49c6c666d6ea6aa1
Diffstat (limited to 'tests')
-rw-r--r--tests/test_autogen_render.py4
-rw-r--r--tests/test_op.py9
-rw-r--r--tests/test_postgresql.py3
-rw-r--r--tests/test_script_production.py4
4 files changed, 9 insertions, 11 deletions
diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py
index f138df5..ada2a12 100644
--- a/tests/test_autogen_render.py
+++ b/tests/test_autogen_render.py
@@ -25,6 +25,7 @@ from sqlalchemy import text
from sqlalchemy import types
from sqlalchemy import Unicode
from sqlalchemy import UniqueConstraint
+from sqlalchemy import VARCHAR
from sqlalchemy.engine.default import DefaultDialect
from sqlalchemy.sql import and_
from sqlalchemy.sql import column
@@ -1792,7 +1793,6 @@ class AutogenRenderTest(TestBase):
)
def test_render_variant(self):
- from sqlalchemy import VARCHAR, CHAR
self.autogen_context.opts["user_module_prefix"] = None
@@ -1824,8 +1824,6 @@ class AutogenRenderTest(TestBase):
)
def test_repr_user_type_user_prefix_present(self):
- from sqlalchemy.types import UserDefinedType
-
class MyType(UserDefinedType):
def get_col_spec(self):
return "MYTYPE"
diff --git a/tests/test_op.py b/tests/test_op.py
index 5682abb..c483c4a 100644
--- a/tests/test_op.py
+++ b/tests/test_op.py
@@ -14,10 +14,13 @@ from sqlalchemy import Table
from sqlalchemy import UniqueConstraint
from sqlalchemy.sql import column
from sqlalchemy.sql import func
+from sqlalchemy.sql import table
from sqlalchemy.sql import text
from sqlalchemy.sql.schema import quoted_name
from alembic import op
+from alembic.operations import MigrateOperation
+from alembic.operations import Operations
from alembic.operations import ops
from alembic.operations import schemaobj
from alembic.testing import assert_raises_message
@@ -1023,8 +1026,6 @@ class OpTest(TestBase):
def test_inline_literal(self):
context = op_fixture()
- from sqlalchemy.sql import table, column
- from sqlalchemy import String, Integer
account = table(
"account", column("name", String), column("id", Integer)
@@ -1144,8 +1145,6 @@ class OpTest(TestBase):
class SQLModeOpTest(TestBase):
def test_auto_literals(self):
context = op_fixture(as_sql=True, literal_binds=True)
- from sqlalchemy.sql import table, column
- from sqlalchemy import String, Integer
account = table(
"account", column("name", String), column("id", Integer)
@@ -1179,8 +1178,6 @@ class SQLModeOpTest(TestBase):
class CustomOpTest(TestBase):
def test_custom_op(self):
- from alembic.operations import Operations, MigrateOperation
-
@Operations.register_operation("create_sequence")
class CreateSequenceOp(MigrateOperation):
"""Create a SEQUENCE."""
diff --git a/tests/test_postgresql.py b/tests/test_postgresql.py
index 6a67e0b..23d6a8c 100644
--- a/tests/test_postgresql.py
+++ b/tests/test_postgresql.py
@@ -19,9 +19,11 @@ from sqlalchemy import types
from sqlalchemy import UniqueConstraint
from sqlalchemy.dialects.postgresql import ARRAY
from sqlalchemy.dialects.postgresql import BYTEA
+from sqlalchemy.dialects.postgresql import ExcludeConstraint
from sqlalchemy.dialects.postgresql import HSTORE
from sqlalchemy.dialects.postgresql import JSON
from sqlalchemy.dialects.postgresql import JSONB
+from sqlalchemy.dialects.postgresql import TSRANGE
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.sql import column
from sqlalchemy.sql import false
@@ -1248,7 +1250,6 @@ class PGUniqueIndexAutogenerateTest(AutogenFixtureTest, TestBase):
@config.requirements.btree_gist
def test_exclude_const_unchanged(self):
- from sqlalchemy.dialects.postgresql import TSRANGE, ExcludeConstraint
m1 = MetaData()
m2 = MetaData()
diff --git a/tests/test_script_production.py b/tests/test_script_production.py
index bedf545..5c4cd9e 100644
--- a/tests/test_script_production.py
+++ b/tests/test_script_production.py
@@ -5,7 +5,10 @@ from unittest.mock import patch
from dateutil import tz
import sqlalchemy as sa
+from sqlalchemy import Column
from sqlalchemy import inspect
+from sqlalchemy import MetaData
+from sqlalchemy import Table
from alembic import autogenerate
from alembic import command
@@ -717,7 +720,6 @@ class ImportsTest(TestBase):
)
def test_imports_in_script(self):
- from sqlalchemy import MetaData, Table, Column
from sqlalchemy.dialects.mysql import VARCHAR
type_ = VARCHAR(20, charset="utf8", national=True)