summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/testing')
-rw-r--r--lib/sqlalchemy/testing/__init__.py108
-rw-r--r--lib/sqlalchemy/testing/assertions.py33
-rw-r--r--lib/sqlalchemy/testing/assertsql.py13
-rw-r--r--lib/sqlalchemy/testing/engines.py8
-rw-r--r--lib/sqlalchemy/testing/entities.py3
-rw-r--r--lib/sqlalchemy/testing/exclusions.py5
-rw-r--r--lib/sqlalchemy/testing/fixtures.py21
-rw-r--r--lib/sqlalchemy/testing/mock.py14
-rw-r--r--lib/sqlalchemy/testing/plugin/bootstrap.py1
-rw-r--r--lib/sqlalchemy/testing/plugin/noseplugin.py3
-rw-r--r--lib/sqlalchemy/testing/plugin/plugin_base.py10
-rw-r--r--lib/sqlalchemy/testing/plugin/pytestplugin.py8
-rw-r--r--lib/sqlalchemy/testing/profiling.py15
-rw-r--r--lib/sqlalchemy/testing/provision.py22
-rw-r--r--lib/sqlalchemy/testing/replay_fixture.py24
-rw-r--r--lib/sqlalchemy/testing/requirements.py17
-rw-r--r--lib/sqlalchemy/testing/runner.py4
-rw-r--r--lib/sqlalchemy/testing/schema.py8
-rw-r--r--lib/sqlalchemy/testing/suite/__init__.py20
-rw-r--r--lib/sqlalchemy/testing/suite/test_cte.py16
-rw-r--r--lib/sqlalchemy/testing/suite/test_ddl.py12
-rw-r--r--lib/sqlalchemy/testing/suite/test_dialect.py17
-rw-r--r--lib/sqlalchemy/testing/suite/test_insert.py19
-rw-r--r--lib/sqlalchemy/testing/suite/test_reflection.py43
-rw-r--r--lib/sqlalchemy/testing/suite/test_results.py23
-rw-r--r--lib/sqlalchemy/testing/suite/test_select.py31
-rw-r--r--lib/sqlalchemy/testing/suite/test_sequence.py16
-rw-r--r--lib/sqlalchemy/testing/suite/test_types.py59
-rw-r--r--lib/sqlalchemy/testing/suite/test_update_delete.py10
-rw-r--r--lib/sqlalchemy/testing/util.py10
-rw-r--r--lib/sqlalchemy/testing/warnings.py3
31 files changed, 347 insertions, 249 deletions
diff --git a/lib/sqlalchemy/testing/__init__.py b/lib/sqlalchemy/testing/__init__.py
index f46ca4528..e41c3addf 100644
--- a/lib/sqlalchemy/testing/__init__.py
+++ b/lib/sqlalchemy/testing/__init__.py
@@ -6,70 +6,58 @@
# the MIT License: http://www.opensource.org/licenses/mit-license.php
-from .warnings import assert_warnings
-
-from . import config
-
-from .exclusions import (
- db_spec,
- _is_excluded,
- fails_if,
- skip_if,
- future,
- fails_on,
- fails_on_everything_except,
- skip,
- only_on,
- exclude,
- against as _against,
- _server_version,
- only_if,
- fails,
-)
+from . import config # noqa
+from . import mock # noqa
+from .assertions import assert_raises # noqa
+from .assertions import assert_raises_message # noqa
+from .assertions import AssertsCompiledSQL # noqa
+from .assertions import AssertsExecutionResults # noqa
+from .assertions import ComparesTables # noqa
+from .assertions import emits_warning # noqa
+from .assertions import emits_warning_on # noqa
+from .assertions import eq_ # noqa
+from .assertions import eq_ignore_whitespace # noqa
+from .assertions import eq_regex # noqa
+from .assertions import expect_deprecated # noqa
+from .assertions import expect_warnings # noqa
+from .assertions import in_ # 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 le_ # noqa
+from .assertions import ne_ # noqa
+from .assertions import not_in_ # noqa
+from .assertions import startswith_ # noqa
+from .assertions import uses_deprecated # noqa
+from .config import db # noqa
+from .config import requirements as requires # noqa
+from .exclusions import _is_excluded # noqa
+from .exclusions import _server_version # noqa
+from .exclusions import against as _against # noqa
+from .exclusions import db_spec # noqa
+from .exclusions import exclude # noqa
+from .exclusions import fails # noqa
+from .exclusions import fails_if # noqa
+from .exclusions import fails_on # noqa
+from .exclusions import fails_on_everything_except # noqa
+from .exclusions import future # noqa
+from .exclusions import only_if # noqa
+from .exclusions import only_on # noqa
+from .exclusions import skip # noqa
+from .exclusions import skip_if # noqa
+from .util import adict # noqa
+from .util import fail # noqa
+from .util import force_drop_names # noqa
+from .util import provide_metadata # noqa
+from .util import rowset # noqa
+from .util import run_as_contextmanager # noqa
+from .util import teardown_events # noqa
+from .warnings import assert_warnings # noqa
def against(*queries):
return _against(config._current, *queries)
-from .assertions import (
- emits_warning,
- emits_warning_on,
- uses_deprecated,
- eq_,
- ne_,
- le_,
- is_,
- is_not_,
- startswith_,
- assert_raises,
- assert_raises_message,
- AssertsCompiledSQL,
- ComparesTables,
- AssertsExecutionResults,
- expect_deprecated,
- expect_warnings,
- in_,
- not_in_,
- eq_ignore_whitespace,
- eq_regex,
- is_true,
- is_false,
-)
-
-from .util import (
- run_as_contextmanager,
- rowset,
- fail,
- provide_metadata,
- adict,
- force_drop_names,
- teardown_events,
-)
-
crashes = skip
-
-from .config import db
-from .config import requirements as requires
-
-from . import mock
diff --git a/lib/sqlalchemy/testing/assertions.py b/lib/sqlalchemy/testing/assertions.py
index 73ab4556a..11b77d72a 100644
--- a/lib/sqlalchemy/testing/assertions.py
+++ b/lib/sqlalchemy/testing/assertions.py
@@ -7,19 +7,26 @@
from __future__ import absolute_import
-from . import util as testutil
-from sqlalchemy import pool, orm, util
-from sqlalchemy.engine import default, url
-from sqlalchemy.util import decorator, compat
-from sqlalchemy import types as sqltypes, schema, exc as sa_exc
-import warnings
+import contextlib
import re
-from .exclusions import db_spec
+import warnings
+
from . import assertsql
from . import config
-from .util import fail
-import contextlib
from . import mock
+from . import util as testutil
+from .exclusions import db_spec
+from .util import fail
+from .. import exc as sa_exc
+from .. import orm
+from .. import pool
+from .. import schema
+from .. import types as sqltypes
+from .. import util
+from ..engine import default
+from ..engine import url
+from ..util import compat
+from ..util import decorator
def expect_warnings(*messages, **kw):
@@ -442,15 +449,15 @@ class AssertsExecutionResults(object):
print(repr(result))
self.assert_list(result, class_, objects)
- def assert_list(self, result, class_, list):
+ def assert_list(self, result, class_, list_):
self.assert_(
- len(result) == len(list),
+ len(result) == len(list_),
"result list is not the same size as test list, "
+ "for class "
+ class_.__name__,
)
- for i in range(0, len(list)):
- self.assert_row(class_, result[i], list[i])
+ for i in range(0, len(list_)):
+ self.assert_row(class_, result[i], list_[i])
def assert_row(self, class_, rowobj, desc):
self.assert_(
diff --git a/lib/sqlalchemy/testing/assertsql.py b/lib/sqlalchemy/testing/assertsql.py
index d8e924cb6..1d3cfe0e1 100644
--- a/lib/sqlalchemy/testing/assertsql.py
+++ b/lib/sqlalchemy/testing/assertsql.py
@@ -5,15 +5,16 @@
# This module is part of SQLAlchemy and is released under
# the MIT License: http://www.opensource.org/licenses/mit-license.php
-from ..engine.default import DefaultDialect
-from .. import util
-import re
import collections
import contextlib
+import re
+
from .. import event
-from sqlalchemy.schema import _DDLCompiles
-from sqlalchemy.engine.util import _distill_params
-from sqlalchemy.engine import url
+from .. import util
+from ..engine import url
+from ..engine.default import DefaultDialect
+from ..engine.util import _distill_params
+from ..schema import _DDLCompiles
class AssertRule(object):
diff --git a/lib/sqlalchemy/testing/engines.py b/lib/sqlalchemy/testing/engines.py
index 074e3b338..bfb1a24b5 100644
--- a/lib/sqlalchemy/testing/engines.py
+++ b/lib/sqlalchemy/testing/engines.py
@@ -7,12 +7,14 @@
from __future__ import absolute_import
+import re
+import warnings
import weakref
+
from . import config
from .util import decorator
-from .. import event, pool
-import re
-import warnings
+from .. import event
+from .. import pool
class ConnectionKiller(object):
diff --git a/lib/sqlalchemy/testing/entities.py b/lib/sqlalchemy/testing/entities.py
index 42c42149c..a14304b97 100644
--- a/lib/sqlalchemy/testing/entities.py
+++ b/lib/sqlalchemy/testing/entities.py
@@ -6,7 +6,8 @@
# the MIT License: http://www.opensource.org/licenses/mit-license.php
import sqlalchemy as sa
-from sqlalchemy import exc as sa_exc
+from .. import exc as sa_exc
+
_repr_stack = set()
diff --git a/lib/sqlalchemy/testing/exclusions.py b/lib/sqlalchemy/testing/exclusions.py
index 9ed9e42c3..ffca84af1 100644
--- a/lib/sqlalchemy/testing/exclusions.py
+++ b/lib/sqlalchemy/testing/exclusions.py
@@ -10,11 +10,10 @@ import contextlib
import operator
import re
-from sqlalchemy.util.compat import inspect_getargspec
-
from . import config
from .. import util
from ..util import decorator
+from ..util.compat import inspect_getargspec
def skip_if(predicate, reason=None):
@@ -399,7 +398,7 @@ def db_spec(*dbs):
return OrPredicate([Predicate.as_predicate(db) for db in dbs])
-def open():
+def open(): # noqa
return skip_if(BooleanPredicate(False, "mark as execute"))
diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py
index 98184cdd4..b0f3590ee 100644
--- a/lib/sqlalchemy/testing/fixtures.py
+++ b/lib/sqlalchemy/testing/fixtures.py
@@ -5,15 +5,21 @@
# This module is part of SQLAlchemy and is released under
# the MIT License: http://www.opensource.org/licenses/mit-license.php
+import sys
+
+import sqlalchemy as sa
+from . import assertions
from . import config
-from . import assertions, schema
+from . import schema
+from .engines import drop_all_tables
+from .entities import BasicEntity
+from .entities import ComparableEntity
from .util import adict
+from .. import event
from .. import util
-from .engines import drop_all_tables
-from .entities import BasicEntity, ComparableEntity
-import sys
-import sqlalchemy as sa
-from sqlalchemy.ext.declarative import declarative_base, DeclarativeMeta
+from ..ext.declarative import declarative_base
+from ..ext.declarative import DeclarativeMeta
+
# whether or not we use unittest changes things dramatically,
# as far as how py.test collection works.
@@ -220,9 +226,6 @@ class TablesTest(TestBase):
)
-from sqlalchemy import event
-
-
class RemovesEvents(object):
@util.memoized_property
def _event_fns(self):
diff --git a/lib/sqlalchemy/testing/mock.py b/lib/sqlalchemy/testing/mock.py
index dc530af5e..0b84d7db8 100644
--- a/lib/sqlalchemy/testing/mock.py
+++ b/lib/sqlalchemy/testing/mock.py
@@ -8,13 +8,23 @@
"""Import stub for mock library.
"""
from __future__ import absolute_import
+
from ..util import py33
+
if py33:
- from unittest.mock import MagicMock, Mock, call, patch, ANY
+ from unittest.mock import MagicMock
+ from unittest.mock import Mock
+ from unittest.mock import call
+ from unittest.mock import patch
+ from unittest.mock import ANY
else:
try:
- from mock import MagicMock, Mock, call, patch, ANY
+ from mock import MagicMock # noqa
+ from mock import Mock # noqa
+ from mock import call # noqa
+ from mock import patch # noqa
+ from mock import ANY # noqa
except ImportError:
raise ImportError(
"SQLAlchemy's test suite requires the "
diff --git a/lib/sqlalchemy/testing/plugin/bootstrap.py b/lib/sqlalchemy/testing/plugin/bootstrap.py
index bb52c125c..2230ae2a8 100644
--- a/lib/sqlalchemy/testing/plugin/bootstrap.py
+++ b/lib/sqlalchemy/testing/plugin/bootstrap.py
@@ -20,6 +20,7 @@ this should be removable when Alembic targets SQLAlchemy 1.0.0.
import os
import sys
+
bootstrap_file = locals()["bootstrap_file"]
to_bootstrap = locals()["to_bootstrap"]
diff --git a/lib/sqlalchemy/testing/plugin/noseplugin.py b/lib/sqlalchemy/testing/plugin/noseplugin.py
index 0c28a5213..07185a9d7 100644
--- a/lib/sqlalchemy/testing/plugin/noseplugin.py
+++ b/lib/sqlalchemy/testing/plugin/noseplugin.py
@@ -23,8 +23,9 @@ except ImportError:
import os
import sys
-from nose.plugins import Plugin
import nose
+from nose.plugins import Plugin
+
fixtures = None
diff --git a/lib/sqlalchemy/testing/plugin/plugin_base.py b/lib/sqlalchemy/testing/plugin/plugin_base.py
index 5d6bf2975..537ab06dc 100644
--- a/lib/sqlalchemy/testing/plugin/plugin_base.py
+++ b/lib/sqlalchemy/testing/plugin/plugin_base.py
@@ -15,8 +15,9 @@ functionality via py.test.
from __future__ import absolute_import
-import sys
import re
+import sys
+
py3k = sys.version_info >= (3, 0)
@@ -245,7 +246,8 @@ def post_begin():
# late imports, has to happen after config as well
# as nose plugins like coverage
- global util, fixtures, engines, exclusions, assertions, warnings, profiling, config, testing
+ global util, fixtures, engines, exclusions, assertions
+ global warnings, profiling, config, testing
from sqlalchemy import testing # noqa
from sqlalchemy.testing import fixtures, engines, exclusions # noqa
from sqlalchemy.testing import assertions, warnings, profiling # noqa
@@ -525,8 +527,8 @@ def generate_sub_tests(cls, module):
# pytest junit plugin, which is tripped up by the brackets
# and periods, so sanitize
- alpha_name = re.sub("[_\[\]\.]+", "_", cfg.name)
- alpha_name = re.sub("_+$", "", alpha_name)
+ alpha_name = re.sub(r"[_\[\]\.]+", "_", cfg.name)
+ alpha_name = re.sub(r"_+$", "", alpha_name)
name = "%s_%s" % (cls.__name__, alpha_name)
subcls = type(
name,
diff --git a/lib/sqlalchemy/testing/plugin/pytestplugin.py b/lib/sqlalchemy/testing/plugin/pytestplugin.py
index fd0a48462..f42fc4791 100644
--- a/lib/sqlalchemy/testing/plugin/pytestplugin.py
+++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py
@@ -5,12 +5,14 @@ except ImportError:
# assume we're a package, use traditional import
from . import plugin_base
-import pytest
import argparse
-import inspect
import collections
+import inspect
import os
+import pytest
+
+
try:
import xdist # noqa
@@ -44,7 +46,7 @@ def pytest_addoption(parser):
dest,
default=False,
required=False,
- help=None,
+ help=None, # noqa
):
super(CallableAction, self).__init__(
option_strings=option_strings,
diff --git a/lib/sqlalchemy/testing/profiling.py b/lib/sqlalchemy/testing/profiling.py
index 3986985c7..753cfa595 100644
--- a/lib/sqlalchemy/testing/profiling.py
+++ b/lib/sqlalchemy/testing/profiling.py
@@ -12,19 +12,24 @@ in a more fine-grained way than nose's profiling plugin.
"""
+import collections
+import contextlib
import os
+import pstats
import sys
-from .util import gc_collect
+
from . import config
-import pstats
-import collections
-import contextlib
+from .util import gc_collect
+from ..util import jython
+from ..util import pypy
+from ..util import update_wrapper
+from ..util import win32
+
try:
import cProfile
except ImportError:
cProfile = None
-from ..util import jython, pypy, win32, update_wrapper
_current_test = None
diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py
index 25028ccb3..88dc28528 100644
--- a/lib/sqlalchemy/testing/provision.py
+++ b/lib/sqlalchemy/testing/provision.py
@@ -1,13 +1,16 @@
-from sqlalchemy.engine import url as sa_url
-from sqlalchemy import create_engine
-from sqlalchemy import text
-from sqlalchemy import exc
-from sqlalchemy.util import compat
-from . import config, engines
import collections
+import logging
import os
import time
-import logging
+
+from . import config
+from . import engines
+from .. import create_engine
+from .. import exc
+from .. import text
+from ..engine import url as sa_url
+from ..util import compat
+
log = logging.getLogger(__name__)
@@ -190,6 +193,8 @@ def _pg_create_db(cfg, eng, ident):
template_db,
)
time.sleep(0.5)
+ except:
+ raise
else:
break
@@ -395,7 +400,8 @@ def _mssql_drop_ignore(conn, ident):
try:
# typically when this happens, we can't KILL the session anyway,
# so let the cleanup process drop the DBs
- # for row in conn.execute("select session_id from sys.dm_exec_sessions "
+ # for row in conn.execute(
+ # "select session_id from sys.dm_exec_sessions "
# "where database_id=db_id('%s')" % ident):
# log.info("killing SQL server sesssion %s", row['session_id'])
# conn.execute("kill %s" % row['session_id'])
diff --git a/lib/sqlalchemy/testing/replay_fixture.py b/lib/sqlalchemy/testing/replay_fixture.py
index 9832b07a2..613d7572b 100644
--- a/lib/sqlalchemy/testing/replay_fixture.py
+++ b/lib/sqlalchemy/testing/replay_fixture.py
@@ -1,13 +1,14 @@
-from . import fixtures
-from . import profiling
-from .. import util
-import types
from collections import deque
import contextlib
+import types
+
from . import config
-from sqlalchemy import MetaData
-from sqlalchemy import create_engine
-from sqlalchemy.orm import Session
+from . import fixtures
+from . import profiling
+from .. import create_engine
+from .. import MetaData
+from .. import util
+from ..orm import Session
class ReplayFixtureTest(fixtures.TestBase):
@@ -19,7 +20,10 @@ class ReplayFixtureTest(fixtures.TestBase):
dbapi_session = ReplayableSession()
creator = config.db.pool._creator
- recorder = lambda: dbapi_session.recorder(creator())
+
+ def recorder():
+ return dbapi_session.recorder(creator())
+
engine = create_engine(
config.db.url, creator=recorder, use_native_hstore=False
)
@@ -34,7 +38,9 @@ class ReplayFixtureTest(fixtures.TestBase):
self.teardown_engine()
engine.dispose()
- player = lambda: dbapi_session.player()
+ def player():
+ return dbapi_session.player()
+
engine = create_engine(
config.db.url, creator=player, use_native_hstore=False
)
diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py
index c96d26d32..941a9458b 100644
--- a/lib/sqlalchemy/testing/requirements.py
+++ b/lib/sqlalchemy/testing/requirements.py
@@ -243,7 +243,9 @@ class SuiteRequirements(Requirements):
@property
def sane_rowcount_w_returning(self):
return exclusions.fails_if(
- lambda config: not config.db.dialect.supports_sane_rowcount_returning,
+ lambda config: not (
+ config.db.dialect.supports_sane_rowcount_returning
+ ),
"driver doesn't support 'sane' rowcount when returning is on",
)
@@ -758,12 +760,13 @@ class SuiteRequirements(Requirements):
present in a subquery in the WHERE clause.
This is an ANSI-standard syntax that apparently MySQL can't handle,
- such as:
+ such as::
+
+ UPDATE documents SET flag=1 WHERE documents.title IN
+ (SELECT max(documents.title) AS title
+ FROM documents GROUP BY documents.user_id
+ )
- UPDATE documents SET flag=1 WHERE documents.title IN
- (SELECT max(documents.title) AS title
- FROM documents GROUP BY documents.user_id
- )
"""
return exclusions.open()
@@ -944,7 +947,7 @@ class SuiteRequirements(Requirements):
def _has_cextensions(self):
try:
- from sqlalchemy import cresultproxy, cprocessors
+ from sqlalchemy import cresultproxy, cprocessors # noqa
return True
except ImportError:
diff --git a/lib/sqlalchemy/testing/runner.py b/lib/sqlalchemy/testing/runner.py
index 6aa820fd5..b4478bedc 100644
--- a/lib/sqlalchemy/testing/runner.py
+++ b/lib/sqlalchemy/testing/runner.py
@@ -30,10 +30,10 @@ SQLAlchemy itself is possible.
"""
-from .plugin.noseplugin import NoseSQLAlchemy
-
import nose
+from .plugin.noseplugin import NoseSQLAlchemy
+
def main():
nose.main(addplugins=[NoseSQLAlchemy()])
diff --git a/lib/sqlalchemy/testing/schema.py b/lib/sqlalchemy/testing/schema.py
index b345a9487..c80325b7c 100644
--- a/lib/sqlalchemy/testing/schema.py
+++ b/lib/sqlalchemy/testing/schema.py
@@ -5,11 +5,13 @@
# This module is part of SQLAlchemy and is released under
# the MIT License: http://www.opensource.org/licenses/mit-license.php
-from . import exclusions
-from .. import schema, event
from . import config
+from . import exclusions
+from .. import event
+from .. import schema
+
-__all__ = "Table", "Column"
+__all__ = ["Table", "Column"]
table_options = {}
diff --git a/lib/sqlalchemy/testing/suite/__init__.py b/lib/sqlalchemy/testing/suite/__init__.py
index a4e142c5a..465a6cfc5 100644
--- a/lib/sqlalchemy/testing/suite/__init__.py
+++ b/lib/sqlalchemy/testing/suite/__init__.py
@@ -1,10 +1,10 @@
-from sqlalchemy.testing.suite.test_cte import *
-from sqlalchemy.testing.suite.test_dialect import *
-from sqlalchemy.testing.suite.test_ddl import *
-from sqlalchemy.testing.suite.test_insert import *
-from sqlalchemy.testing.suite.test_sequence import *
-from sqlalchemy.testing.suite.test_select import *
-from sqlalchemy.testing.suite.test_results import *
-from sqlalchemy.testing.suite.test_update_delete import *
-from sqlalchemy.testing.suite.test_reflection import *
-from sqlalchemy.testing.suite.test_types import *
+from .test_cte import * # noqa
+from .test_ddl import * # noqa
+from .test_dialect import * # noqa
+from .test_insert import * # noqa
+from .test_reflection import * # noqa
+from .test_results import * # noqa
+from .test_select import * # noqa
+from .test_sequence import * # noqa
+from .test_types import * # noqa
+from .test_update_delete import * # noqa
diff --git a/lib/sqlalchemy/testing/suite/test_cte.py b/lib/sqlalchemy/testing/suite/test_cte.py
index d2f35933b..012de7911 100644
--- a/lib/sqlalchemy/testing/suite/test_cte.py
+++ b/lib/sqlalchemy/testing/suite/test_cte.py
@@ -1,11 +1,13 @@
-from .. import fixtures, config
+from .. import config
+from .. import fixtures
from ..assertions import eq_
-
-from sqlalchemy import Integer, String, select
-from sqlalchemy import ForeignKey
-from sqlalchemy import testing
-
-from ..schema import Table, Column
+from ..schema import Column
+from ..schema import Table
+from ... import ForeignKey
+from ... import Integer
+from ... import select
+from ... import String
+from ... import testing
class CTETest(fixtures.TablesTest):
diff --git a/lib/sqlalchemy/testing/suite/test_ddl.py b/lib/sqlalchemy/testing/suite/test_ddl.py
index 7c44388d4..8317590c8 100644
--- a/lib/sqlalchemy/testing/suite/test_ddl.py
+++ b/lib/sqlalchemy/testing/suite/test_ddl.py
@@ -1,8 +1,12 @@
-from .. import fixtures, config, util
-from ..config import requirements
+from .. import config
+from .. import fixtures
+from .. import util
from ..assertions import eq_
-
-from sqlalchemy import Table, Column, Integer, String
+from ..config import requirements
+from ... import Column
+from ... import Integer
+from ... import String
+from ... import Table
class TableDDLTest(fixtures.TestBase):
diff --git a/lib/sqlalchemy/testing/suite/test_dialect.py b/lib/sqlalchemy/testing/suite/test_dialect.py
index 5e589f3b8..245ccc6f0 100644
--- a/lib/sqlalchemy/testing/suite/test_dialect.py
+++ b/lib/sqlalchemy/testing/suite/test_dialect.py
@@ -1,11 +1,16 @@
-from .. import fixtures, config
-from ..config import requirements
-from sqlalchemy import exc
-from sqlalchemy import Integer, String, select, literal_column
from .. import assert_raises
-from ..schema import Table, Column
-from .. import provide_metadata
+from .. import config
from .. import eq_
+from .. import fixtures
+from .. import provide_metadata
+from ..config import requirements
+from ..schema import Column
+from ..schema import Table
+from ... import exc
+from ... import Integer
+from ... import literal_column
+from ... import select
+from ... import String
class ExceptionTest(fixtures.TablesTest):
diff --git a/lib/sqlalchemy/testing/suite/test_insert.py b/lib/sqlalchemy/testing/suite/test_insert.py
index 6257451eb..1b14e8ed8 100644
--- a/lib/sqlalchemy/testing/suite/test_insert.py
+++ b/lib/sqlalchemy/testing/suite/test_insert.py
@@ -1,12 +1,15 @@
-from .. import fixtures, config
-from ..config import requirements
-from .. import exclusions
-from ..assertions import eq_
+from .. import config
from .. import engines
-
-from sqlalchemy import Integer, String, select, literal_column, literal
-
-from ..schema import Table, Column
+from .. import fixtures
+from ..assertions import eq_
+from ..config import requirements
+from ..schema import Column
+from ..schema import Table
+from ... import Integer
+from ... import literal
+from ... import literal_column
+from ... import select
+from ... import String
class LastrowidTest(fixtures.TablesTest):
diff --git a/lib/sqlalchemy/testing/suite/test_reflection.py b/lib/sqlalchemy/testing/suite/test_reflection.py
index bfed5f1ab..96bd188ee 100644
--- a/lib/sqlalchemy/testing/suite/test_reflection.py
+++ b/lib/sqlalchemy/testing/suite/test_reflection.py
@@ -1,21 +1,30 @@
-import sqlalchemy as sa
-from sqlalchemy import exc as sa_exc
-from sqlalchemy import types as sql_types
-from sqlalchemy import inspect
-from sqlalchemy import MetaData, Integer, String, func
-from sqlalchemy.engine.reflection import Inspector
-from sqlalchemy.testing import engines, fixtures
-from sqlalchemy.testing.schema import Table, Column
-from sqlalchemy.testing import eq_, is_, assert_raises_message
-from sqlalchemy import testing
-from .. import config
import operator
-from sqlalchemy.schema import DDL, Index
-from sqlalchemy import event
-from sqlalchemy.sql.elements import quoted_name
-from sqlalchemy import ForeignKey
import re
+import sqlalchemy as sa
+from .. import assert_raises_message
+from .. import config
+from .. import engines
+from .. import eq_
+from .. import fixtures
+from .. import is_
+from ..schema import Column
+from ..schema import Table
+from ... import event
+from ... import exc as sa_exc
+from ... import ForeignKey
+from ... import inspect
+from ... import Integer
+from ... import MetaData
+from ... import String
+from ... import testing
+from ... import types as sql_types
+from ...engine.reflection import Inspector
+from ...schema import DDL
+from ...schema import Index
+from ...sql.elements import quoted_name
+
+
metadata, users = None, None
@@ -367,7 +376,9 @@ class ComponentReflectionTest(fixtures.TablesTest):
{"comment": "id comment", "name": "id"},
{"comment": "data % comment", "name": "data"},
{
- "comment": r"""Comment types type speedily ' " \ '' Fun!""",
+ "comment": (
+ r"""Comment types type speedily ' " \ '' Fun!"""
+ ),
"name": "d2",
},
],
diff --git a/lib/sqlalchemy/testing/suite/test_results.py b/lib/sqlalchemy/testing/suite/test_results.py
index 247f05cf5..aa98a5088 100644
--- a/lib/sqlalchemy/testing/suite/test_results.py
+++ b/lib/sqlalchemy/testing/suite/test_results.py
@@ -1,13 +1,20 @@
-from .. import fixtures, config
-from ..config import requirements
-from .. import exclusions
-from ..assertions import eq_
+import datetime
+
+from .. import config
from .. import engines
+from .. import fixtures
+from ..assertions import eq_
+from ..config import requirements
+from ..schema import Column
+from ..schema import Table
+from ... import DateTime
+from ... import func
+from ... import Integer
+from ... import select
+from ... import sql
+from ... import String
from ... import testing
-
-from sqlalchemy import Integer, String, select, util, sql, DateTime, text, func
-import datetime
-from ..schema import Table, Column
+from ... import text
class RowFetchTest(fixtures.TablesTest):
diff --git a/lib/sqlalchemy/testing/suite/test_select.py b/lib/sqlalchemy/testing/suite/test_select.py
index 032b68eb6..d26585141 100644
--- a/lib/sqlalchemy/testing/suite/test_select.py
+++ b/lib/sqlalchemy/testing/suite/test_select.py
@@ -1,14 +1,23 @@
-from sqlalchemy.dialects.mssql.base import MSDialect
-from sqlalchemy.dialects.oracle.base import OracleDialect
-from .. import fixtures, config
-from ..assertions import eq_, in_
-
-from sqlalchemy import util, case, null, true, false, or_
-from sqlalchemy import Integer, String, select, func, bindparam, union, tuple_
-from sqlalchemy import testing
-from sqlalchemy import literal_column
-
-from ..schema import Table, Column
+from .. import config
+from .. import fixtures
+from ..assertions import eq_
+from ..assertions import in_
+from ..schema import Column
+from ..schema import Table
+from ... import bindparam
+from ... import case
+from ... import false
+from ... import func
+from ... import Integer
+from ... import literal_column
+from ... import null
+from ... import select
+from ... import String
+from ... import testing
+from ... import true
+from ... import tuple_
+from ... import union
+from ... import util
class CollateTest(fixtures.TablesTest):
diff --git a/lib/sqlalchemy/testing/suite/test_sequence.py b/lib/sqlalchemy/testing/suite/test_sequence.py
index 15a850fe9..22ae7d43c 100644
--- a/lib/sqlalchemy/testing/suite/test_sequence.py
+++ b/lib/sqlalchemy/testing/suite/test_sequence.py
@@ -1,12 +1,16 @@
-from .. import fixtures, config
-from ..config import requirements
+from .. import config
+from .. import fixtures
from ..assertions import eq_
+from ..config import requirements
+from ..schema import Column
+from ..schema import Table
+from ... import Integer
+from ... import MetaData
+from ... import schema
+from ... import Sequence
+from ... import String
from ... import testing
-from ... import Integer, String, Sequence, schema, MetaData
-
-from ..schema import Table, Column
-
class SequenceTest(fixtures.TablesTest):
__requires__ = ("sequences",)
diff --git a/lib/sqlalchemy/testing/suite/test_types.py b/lib/sqlalchemy/testing/suite/test_types.py
index 6dfb80915..ff8db5897 100644
--- a/lib/sqlalchemy/testing/suite/test_types.py
+++ b/lib/sqlalchemy/testing/suite/test_types.py
@@ -1,33 +1,40 @@
# coding: utf-8
-from .. import fixtures, config
+import datetime
+import decimal
+
+from .. import config
+from .. import fixtures
from ..assertions import eq_
from ..config import requirements
-from sqlalchemy import Integer, Unicode, UnicodeText, select, TIMESTAMP
-from sqlalchemy import (
- Date,
- DateTime,
- Time,
- MetaData,
- String,
- Text,
- Numeric,
- Float,
- literal,
- Boolean,
- cast,
- null,
- JSON,
- and_,
- type_coerce,
- BigInteger,
-)
-from ..schema import Table, Column
+from ..schema import Column
+from ..schema import Table
+from ... import and_
+from ... import BigInteger
+from ... import Boolean
+from ... import cast
+from ... import Date
+from ... import DateTime
+from ... import Float
+from ... import Integer
+from ... import JSON
+from ... import literal
+from ... import MetaData
+from ... import null
+from ... import Numeric
+from ... import select
+from ... import String
from ... import testing
-import decimal
-import datetime
-from ...util import u
+from ... import Text
+from ... import Time
+from ... import TIMESTAMP
+from ... import type_coerce
+from ... import Unicode
+from ... import UnicodeText
from ... import util
+from ...ext.declarative import declarative_base
+from ...orm import Session
+from ...util import u
class _LiteralRoundTripFixture(object):
@@ -341,7 +348,7 @@ class IntegerTest(_LiteralRoundTripFixture, fixtures.TestBase):
if util.py3k:
assert isinstance(row[0], int)
else:
- assert isinstance(row[0], (long, int))
+ assert isinstance(row[0], (long, int)) # noqa
class NumericTest(_LiteralRoundTripFixture, fixtures.TestBase):
@@ -872,8 +879,6 @@ class JSONTest(_LiteralRoundTripFixture, fixtures.TablesTest):
)
def test_eval_none_flag_orm(self):
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy.orm import Session
Base = declarative_base()
diff --git a/lib/sqlalchemy/testing/suite/test_update_delete.py b/lib/sqlalchemy/testing/suite/test_update_delete.py
index b232c3a78..97bdf0ad7 100644
--- a/lib/sqlalchemy/testing/suite/test_update_delete.py
+++ b/lib/sqlalchemy/testing/suite/test_update_delete.py
@@ -1,8 +1,10 @@
-from .. import fixtures, config
+from .. import config
+from .. import fixtures
from ..assertions import eq_
-
-from sqlalchemy import Integer, String
-from ..schema import Table, Column
+from ..schema import Column
+from ..schema import Table
+from ... import Integer
+from ... import String
class SimpleUpdateDeleteTest(fixtures.TablesTest):
diff --git a/lib/sqlalchemy/testing/util.py b/lib/sqlalchemy/testing/util.py
index 5b015d214..214afa078 100644
--- a/lib/sqlalchemy/testing/util.py
+++ b/lib/sqlalchemy/testing/util.py
@@ -5,14 +5,20 @@
# This module is part of SQLAlchemy and is released under
# the MIT License: http://www.opensource.org/licenses/mit-license.php
-from ..util import jython, pypy, defaultdict, decorator, py2k
import decimal
import gc
-import time
import random
import sys
+import time
import types
+from ..util import decorator
+from ..util import defaultdict
+from ..util import jython
+from ..util import py2k
+from ..util import pypy
+
+
if jython:
def jython_gc_collect(*args):
diff --git a/lib/sqlalchemy/testing/warnings.py b/lib/sqlalchemy/testing/warnings.py
index e0101b14d..611389fe0 100644
--- a/lib/sqlalchemy/testing/warnings.py
+++ b/lib/sqlalchemy/testing/warnings.py
@@ -8,8 +8,9 @@
from __future__ import absolute_import
import warnings
-from .. import exc as sa_exc
+
from . import assertions
+from .. import exc as sa_exc
def setup_filters():