]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Modernize tests - calling_mapper_directly
authorGord Thompson <gord@gordthompson.com>
Thu, 12 Aug 2021 19:04:28 +0000 (13:04 -0600)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 30 Sep 2021 14:10:16 +0000 (10:10 -0400)
a few changes for py2k:

* map_imperatively() includes the check that a class
  is being sent, this was only working for mapper() before

* the test suite didn't place the py2k "autouse" workaround
  in the correct order, seemingly, tried to adjust the
  per-test ordering setup in pytestplugin.py

Change-Id: I4cc39630724e810953cfda7b2afdadc8b948e3c2

88 files changed:
lib/sqlalchemy/orm/decl_base.py
lib/sqlalchemy/testing/fixtures.py
lib/sqlalchemy/testing/plugin/pytestplugin.py
lib/sqlalchemy/testing/warnings.py
test/aaa_profiling/test_memusage.py
test/aaa_profiling/test_misc.py
test/aaa_profiling/test_orm.py
test/dialect/postgresql/test_compiler.py
test/dialect/postgresql/test_types.py
test/ext/test_associationproxy.py
test/ext/test_baked.py
test/ext/test_deprecations.py
test/ext/test_horizontal_shard.py
test/ext/test_mutable.py
test/ext/test_orderinglist.py
test/ext/test_serializer.py
test/orm/_fixtures.py
test/orm/declarative/test_inheritance.py
test/orm/inheritance/test_abc_inheritance.py
test/orm/inheritance/test_abc_polymorphic.py
test/orm/inheritance/test_assorted_poly.py
test/orm/inheritance/test_basic.py
test/orm/inheritance/test_concrete.py
test/orm/inheritance/test_magazine.py
test/orm/inheritance/test_manytomany.py
test/orm/inheritance/test_poly_linked_list.py
test/orm/inheritance/test_poly_persistence.py
test/orm/inheritance/test_productspec.py
test/orm/inheritance/test_relationship.py
test/orm/inheritance/test_selects.py
test/orm/inheritance/test_single.py
test/orm/test_association.py
test/orm/test_assorted_eager.py
test/orm/test_backref_mutations.py
test/orm/test_bind.py
test/orm/test_bulk.py
test/orm/test_bundle.py
test/orm/test_cache_key.py
test/orm/test_cascade.py
test/orm/test_collection.py
test/orm/test_compile.py
test/orm/test_composites.py
test/orm/test_core_compilation.py
test/orm/test_cycles.py
test/orm/test_dataclasses_py3k.py
test/orm/test_default_strategies.py
test/orm/test_defaults.py
test/orm/test_deferred.py
test/orm/test_deprecations.py
test/orm/test_dynamic.py
test/orm/test_eager_relations.py
test/orm/test_evaluator.py
test/orm/test_events.py
test/orm/test_expire.py
test/orm/test_froms.py
test/orm/test_generative.py
test/orm/test_hasparent.py
test/orm/test_immediate_load.py
test/orm/test_inspect.py
test/orm/test_instrumentation.py
test/orm/test_joins.py
test/orm/test_lambdas.py
test/orm/test_lazy_relations.py
test/orm/test_loading.py
test/orm/test_lockmode.py
test/orm/test_manytomany.py
test/orm/test_mapper.py
test/orm/test_merge.py
test/orm/test_naturalpks.py
test/orm/test_onetoone.py
test/orm/test_options.py
test/orm/test_pickled.py
test/orm/test_query.py
test/orm/test_relationship_criteria.py
test/orm/test_relationships.py
test/orm/test_scoping.py
test/orm/test_selectable.py
test/orm/test_selectin_relations.py
test/orm/test_session.py
test/orm/test_subquery_relations.py
test/orm/test_sync.py
test/orm/test_transaction.py
test/orm/test_unitofwork.py
test/orm/test_unitofworkv2.py
test/orm/test_update_delete.py
test/orm/test_utils.py
test/orm/test_validators.py
test/orm/test_versioning.py

index e1945e8ee941d1f98d2b0b2e889c85307185477b..bf1bc537da47aa67a98fa2c92b759dce5f9fac3d 100644 (file)
@@ -176,19 +176,28 @@ class _MapperConfig(object):
 
         return cfg_cls(registry, cls_, dict_, table, mapper_kw)
 
-    def __init__(self, registry, cls_):
-        self.cls = cls_
+    def __init__(self, registry, cls_, mapper_kw):
+        self.cls = util.assert_arg_type(cls_, type, "cls_")
         self.classname = cls_.__name__
         self.properties = util.OrderedDict()
         self.declared_attr_reg = {}
 
-        instrumentation.register_class(
-            self.cls,
-            finalize=False,
-            registry=registry,
-            declarative_scan=self,
-            init_method=registry.constructor,
-        )
+        if not mapper_kw.get("non_primary", False):
+            instrumentation.register_class(
+                self.cls,
+                finalize=False,
+                registry=registry,
+                declarative_scan=self,
+                init_method=registry.constructor,
+            )
+        else:
+            manager = attributes.manager_of_class(self.cls)
+            if not manager or not manager.is_mapped:
+                raise exc.InvalidRequestError(
+                    "Class %s has no primary mapper configured.  Configure "
+                    "a primary mapper first before setting up a non primary "
+                    "Mapper." % self.cls
+                )
 
     def set_cls_attribute(self, attrname, value):
 
@@ -210,15 +219,18 @@ class _ImperativeMapperConfig(_MapperConfig):
         table,
         mapper_kw,
     ):
-        super(_ImperativeMapperConfig, self).__init__(registry, cls_)
+        super(_ImperativeMapperConfig, self).__init__(
+            registry, cls_, mapper_kw
+        )
 
         self.dict_ = {}
         self.local_table = self.set_cls_attribute("__table__", table)
 
         with mapperlib._CONFIGURE_MUTEX:
-            clsregistry.add_class(
-                self.classname, self.cls, registry._class_registry
-            )
+            if not mapper_kw.get("non_primary", False):
+                clsregistry.add_class(
+                    self.classname, self.cls, registry._class_registry
+                )
 
             self._setup_inheritance(mapper_kw)
 
@@ -288,7 +300,7 @@ class _ClassScanMapperConfig(_MapperConfig):
         mapper_kw,
     ):
 
-        super(_ClassScanMapperConfig, self).__init__(registry, cls_)
+        super(_ClassScanMapperConfig, self).__init__(registry, cls_, mapper_kw)
 
         self.dict_ = dict(dict_) if dict_ else {}
         self.persist_selectable = None
index 01a838c56dcc8a4a980b43bf9d9226689835bdf6..f04056c5e5eea30d6360f12fd39d916d0fd0b37a 100644 (file)
@@ -638,12 +638,17 @@ class MappedTest(TablesTest, assertions.AssertsExecutionResults):
     @classmethod
     def _setup_once_mappers(cls):
         if cls.run_setup_mappers == "once":
-            cls.mapper = cls._generate_mapper()
+            cls.mapper_registry, cls.mapper = cls._generate_registry()
             cls._with_register_classes(cls.setup_mappers)
 
     def _setup_each_mappers(self):
+        if self.run_setup_mappers != "once":
+            (
+                self.__class__.mapper_registry,
+                self.__class__.mapper,
+            ) = self._generate_registry()
+
         if self.run_setup_mappers == "each":
-            self.__class__.mapper = self._generate_mapper()
             self._with_register_classes(self.setup_mappers)
 
     def _setup_each_classes(self):
@@ -651,9 +656,9 @@ class MappedTest(TablesTest, assertions.AssertsExecutionResults):
             self._with_register_classes(self.setup_classes)
 
     @classmethod
-    def _generate_mapper(cls):
-        decl = registry()
-        return decl.map_imperatively
+    def _generate_registry(cls):
+        decl = registry(metadata=cls._tables_metadata)
+        return decl, decl.map_imperatively
 
     @classmethod
     def _with_register_classes(cls, fn):
index d28048f70fda9b123518ea5dcb71e2492f05a5ee..6c6287060b700a93892c0c0316647501aee5e5f6 100644 (file)
@@ -479,7 +479,16 @@ def setup_test_methods(request):
 
     self = request.instance
 
-    # 1. run outer xdist-style setup
+    # before this fixture runs:
+
+    # 1. function level "autouse" fixtures under py3k (examples: TablesTest
+    #    define tables / data, MappedTest define tables / mappers / data)
+
+    # 2. run homegrown function level "autouse" fixtures under py2k
+    if py2k:
+        reinvent_fixtures_py2k.run_fn_fixture_setup(request)
+
+    # 3. run outer xdist-style setup
     if hasattr(self, "setup_test"):
         asyncio._maybe_async(self.setup_test)
 
@@ -489,15 +498,7 @@ def setup_test_methods(request):
     if hasattr(self, "setUp"):
         asyncio._maybe_async(self.setUp)
 
-    # 2. run homegrown function level "autouse" fixtures under py2k
-    if py2k:
-        reinvent_fixtures_py2k.run_fn_fixture_setup(request)
-
     # inside the yield:
-
-    # 3. function level "autouse" fixtures under py3k (examples: TablesTest
-    #    define tables / data, MappedTest define tables / mappers / data)
-
     # 4. function level fixtures defined on test functions themselves,
     #    e.g. "connection", "metadata" run next
 
@@ -509,33 +510,33 @@ def setup_test_methods(request):
 
     # yield finishes:
 
-    # 7. pytest hook pytest_runtest_teardown hook runs, this is associated
+    # 7. function level fixtures defined on test functions
+    #    themselves, e.g. "connection" rolls back the transaction, "metadata"
+    #    emits drop all
+
+    # 8. pytest hook pytest_runtest_teardown hook runs, this is associated
     #    with fixtures close all sessions, provisioning.stop_test_class(),
     #    engines.testing_reaper -> ensure all connection pool connections
     #    are returned, engines created by testing_engine that aren't the
     #    config engine are disposed
 
-    # 8. function level fixtures defined on test functions
-    #    themselves, e.g. "connection" rolls back the transaction, "metadata"
-    #    emits drop all
-
-    # 9. function level "autouse" fixtures under py3k (examples: TablesTest /
-    #    MappedTest delete table data, possibly drop tables and clear mappers
-    #    depending on the flags defined by the test class)
-
-    # 10. run homegrown function-level "autouse" fixtures under py2k
-    if py2k:
-        reinvent_fixtures_py2k.run_fn_fixture_teardown(request)
-
     asyncio._maybe_async(plugin_base.after_test_fixtures, self)
 
-    # 11. run outer xdist-style teardown
+    # 10. run xdist-style teardown
     if hasattr(self, "tearDown"):
         asyncio._maybe_async(self.tearDown)
 
     if hasattr(self, "teardown_test"):
         asyncio._maybe_async(self.teardown_test)
 
+    # 11. run homegrown function-level "autouse" fixtures under py2k
+    if py2k:
+        reinvent_fixtures_py2k.run_fn_fixture_teardown(request)
+
+    # 12. function level "autouse" fixtures under py3k (examples: TablesTest /
+    #    MappedTest delete table data, possibly drop tables and clear mappers
+    #    depending on the flags defined by the test class)
+
 
 def getargspec(fn):
     if sys.version_info.major == 3:
index f72d53d676e18a2d3ff97fd749f95161bd698189..67ed452a0646de14fddc46b40942756f65f38378 100644 (file)
@@ -65,11 +65,6 @@ def setup_filters():
     # be "error" however for  I98b8defdf7c37b818b3824d02f7668e3f5f31c94
     # we are moving one at a time
     for msg in [
-        #
-        # ORM configuration
-        #
-        r"Calling the mapper\(\) function directly outside of a "
-        "declarative registry",
         #
         # ORM Query
         #
index d196793a40d3dd34e9070ccb1fa1a72a12a65f1a..b99741ddb203887ebdbc2d65e2cb916d5c426980 100644 (file)
@@ -23,7 +23,6 @@ from sqlalchemy.orm import declarative_base
 from sqlalchemy.orm import join as orm_join
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import Load
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -358,7 +357,7 @@ class MemUsageTest(EnsureZeroed):
         go()
 
 
-class MemUsageWBackendTest(EnsureZeroed):
+class MemUsageWBackendTest(fixtures.MappedTest, EnsureZeroed):
 
     __tags__ = ("memory_intensive",)
     __requires__ = "cpython", "memory_process_intensive", "no_asyncio"
@@ -408,7 +407,7 @@ class MemUsageWBackendTest(EnsureZeroed):
 
         metadata.create_all(self.engine)
 
-        m1 = mapper(
+        m1 = self.mapper_registry.map_imperatively(
             A,
             table1,
             properties={
@@ -417,7 +416,7 @@ class MemUsageWBackendTest(EnsureZeroed):
                 )
             },
         )
-        m2 = mapper(B, table2)
+        m2 = self.mapper_registry.map_imperatively(B, table2)
 
         @profile_memory()
         def go():
@@ -498,7 +497,7 @@ class MemUsageWBackendTest(EnsureZeroed):
 
         metadata.create_all()
 
-        m1 = mapper(
+        m1 = self.mapper_registry.map_imperatively(
             A,
             table1,
             properties={
@@ -508,7 +507,9 @@ class MemUsageWBackendTest(EnsureZeroed):
             },
             _compiled_cache_size=50,
         )
-        m2 = mapper(B, table2, _compiled_cache_size=50)
+        m2 = self.mapper_registry.map_imperatively(
+            B, table2, _compiled_cache_size=50
+        )
 
         @profile_memory()
         def go():
@@ -568,7 +569,9 @@ class MemUsageWBackendTest(EnsureZeroed):
         class Wide(object):
             pass
 
-        mapper(Wide, wide_table, _compiled_cache_size=10)
+        self.mapper_registry.map_imperatively(
+            Wide, wide_table, _compiled_cache_size=10
+        )
 
         metadata.create_all(self.engine)
         with Session(self.engine) as session:
@@ -614,7 +617,7 @@ class MemUsageWBackendTest(EnsureZeroed):
         class SomeClass(object):
             pass
 
-        mapper(SomeClass, some_table)
+        self.mapper_registry.map_imperatively(SomeClass, some_table)
 
         metadata.create_all(self.engine)
 
@@ -722,12 +725,12 @@ class MemUsageWBackendTest(EnsureZeroed):
 
         @profile_memory()
         def go():
-            mapper(
+            self.mapper_registry.map_imperatively(
                 A,
                 table1,
                 properties={"bs": relationship(B, order_by=table2.c.col1)},
             )
-            mapper(B, table2)
+            self.mapper_registry.map_imperatively(B, table2)
 
             sess = create_session(self.engine)
             a1 = A(col2="a1")
@@ -791,9 +794,15 @@ class MemUsageWBackendTest(EnsureZeroed):
                 "id", Integer, primary_key=True, test_needs_autoincrement=True
             ),
         )
-        mapper(A, a, polymorphic_identity="a", polymorphic_on=a.c.type)
-        mapper(ASub, asub, inherits=A, polymorphic_identity="asub")
-        mapper(B, b, properties={"as_": relationship(A)})
+        self.mapper_registry.map_imperatively(
+            A, a, polymorphic_identity="a", polymorphic_on=a.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            ASub, asub, inherits=A, polymorphic_identity="asub"
+        )
+        self.mapper_registry.map_imperatively(
+            B, b, properties={"as_": relationship(A)}
+        )
 
         metadata.create_all(self.engine)
         sess = Session(self.engine)
@@ -836,8 +845,10 @@ class MemUsageWBackendTest(EnsureZeroed):
             Column("id", Integer, primary_key=True),
             Column("a_id", ForeignKey("a.id")),
         )
-        m1 = mapper(A, a, properties={"bs": relationship(B)})
-        mapper(B, b)
+        m1 = self.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B)}
+        )
+        self.mapper_registry.map_imperatively(B, b)
 
         @profile_memory()
         def go():
@@ -883,13 +894,16 @@ class MemUsageWBackendTest(EnsureZeroed):
             class B(A):
                 pass
 
-            mapper(
+            clear_mappers()
+            self.mapper_registry.map_imperatively(
                 A,
                 table1,
                 polymorphic_on=table1.c.col2,
                 polymorphic_identity="a",
             )
-            mapper(B, table2, inherits=A, polymorphic_identity="b")
+            self.mapper_registry.map_imperatively(
+                B, table2, inherits=A, polymorphic_identity="b"
+            )
 
             sess = create_session(self.engine)
             a1 = A()
@@ -961,7 +975,7 @@ class MemUsageWBackendTest(EnsureZeroed):
             class B(fixtures.ComparableEntity):
                 pass
 
-            mapper(
+            self.mapper_registry.map_imperatively(
                 A,
                 table1,
                 properties={
@@ -970,7 +984,7 @@ class MemUsageWBackendTest(EnsureZeroed):
                     )
                 },
             )
-            mapper(B, table2)
+            self.mapper_registry.map_imperatively(B, table2)
 
             sess = create_session(self.engine)
             a1 = A(col2="a1")
@@ -1039,7 +1053,7 @@ class MemUsageWBackendTest(EnsureZeroed):
         class T1(object):
             pass
 
-        t1_mapper = mapper(T1, t1)
+        t1_mapper = self.mapper_registry.map_imperatively(T1, t1)
 
         @testing.emits_warning()
         @profile_memory()
@@ -1047,7 +1061,7 @@ class MemUsageWBackendTest(EnsureZeroed):
             class T2(object):
                 pass
 
-            t2_mapper = mapper(T2, t2)
+            t2_mapper = self.mapper_registry.map_imperatively(T2, t2)
             t1_mapper.add_property("bar", relationship(t2_mapper))
             s1 = Session(testing.db)
             # this causes the path_registry to be invoked
@@ -1086,8 +1100,14 @@ class MemUsageWBackendTest(EnsureZeroed):
         class Bar(object):
             pass
 
-        mapper(
-            Foo, table1, properties={"bars": relationship(mapper(Bar, table2))}
+        self.mapper_registry.map_imperatively(
+            Foo,
+            table1,
+            properties={
+                "bars": relationship(
+                    self.mapper_registry.map_imperatively(Bar, table2)
+                )
+            },
         )
         metadata.create_all(self.engine)
         session = sessionmaker(self.engine)
@@ -1134,8 +1154,14 @@ class MemUsageWBackendTest(EnsureZeroed):
         class Bar(object):
             pass
 
-        mapper(
-            Foo, table1, properties={"bars": relationship(mapper(Bar, table2))}
+        self.mapper_registry.map_imperatively(
+            Foo,
+            table1,
+            properties={
+                "bars": relationship(
+                    self.mapper_registry.map_imperatively(Bar, table2)
+                )
+            },
         )
         metadata.create_all(self.engine)
         session = sessionmaker(self.engine)
@@ -1211,7 +1237,7 @@ class CycleTest(_fixtures.FixtureTest):
             def user_name(self):
                 return self.name
 
-        mapper(Foo, users)
+        self.mapper_registry.map_imperatively(Foo, users)
 
         # unfortunately there's a lot of cycles with an aliased()
         # for now, however calling upon clause_element does not seem
index 5b30a3968b25528edf39bb86b90ce599228dcfeb..ba3283f55637eba7e20496bf5e3a91a1777ba72a 100644 (file)
@@ -1,3 +1,4 @@
+import sqlalchemy
 from sqlalchemy import Column
 from sqlalchemy import Enum
 from sqlalchemy import ForeignKey
@@ -8,7 +9,6 @@ from sqlalchemy import String
 from sqlalchemy import Table
 from sqlalchemy import testing
 from sqlalchemy.orm import join as ormjoin
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
@@ -59,6 +59,8 @@ class CacheKeyTest(fixtures.TestBase):
         # a whole new model of setup/teardown, since pytest "fixture"
         # sort of purposely works badly with setup/teardown
 
+        registry = sqlalchemy.orm.registry()
+
         metadata = MetaData()
         parent = Table(
             "parent",
@@ -82,14 +84,16 @@ class CacheKeyTest(fixtures.TestBase):
         class Child(testing.entities.BasicEntity):
             pass
 
-        mapper(
+        registry.map_imperatively(
             Parent,
             parent,
             properties={"children": relationship(Child, backref="parent")},
         )
-        mapper(Child, child)
+        registry.map_imperatively(Child, child)
+
+        yield Parent, Child
 
-        return Parent, Child
+        registry.dispose()
 
     @testing.fixture(scope="function")
     def stmt_fixture_one(self, mapping_fixture):
index 727d48fcacab283b16eec5ca1e3cfb4d9e8ecce4..e9771fc673f0d2864e3c4603ef7efec8d4203dac 100644 (file)
@@ -13,7 +13,6 @@ from sqlalchemy.orm import defer
 from sqlalchemy.orm import join as orm_join
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import Load
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -68,12 +67,12 @@ class MergeTest(NoCache, fixtures.MappedTest):
             cls.tables.child,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={"children": relationship(Child, backref="parent")},
         )
-        mapper(Child, child)
+        cls.mapper_registry.map_imperatively(Child, child)
 
     @classmethod
     def insert_data(cls, connection):
@@ -189,8 +188,10 @@ class LoadManyToOneFromIdentityTest(fixtures.MappedTest):
             cls.tables.child,
         )
 
-        mapper(Parent, parent, properties={"child": relationship(Child)})
-        mapper(Child, child)
+        cls.mapper_registry.map_imperatively(
+            Parent, parent, properties={"child": relationship(Child)}
+        )
+        cls.mapper_registry.map_imperatively(Child, child)
 
     @classmethod
     def insert_data(cls, connection):
@@ -284,7 +285,7 @@ class MergeBackrefsTest(NoCache, fixtures.MappedTest):
     def setup_mappers(cls):
         A, B, C, D = cls.classes.A, cls.classes.B, cls.classes.C, cls.classes.D
         a, b, c, d = cls.tables.a, cls.tables.b, cls.tables.c, cls.tables.d
-        mapper(
+        cls.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -293,9 +294,9 @@ class MergeBackrefsTest(NoCache, fixtures.MappedTest):
                 "ds": relationship(D, backref="a"),
             },
         )
-        mapper(B, b)
-        mapper(C, c)
-        mapper(D, d)
+        cls.mapper_registry.map_imperatively(B, b)
+        cls.mapper_registry.map_imperatively(C, c)
+        cls.mapper_registry.map_imperatively(D, d)
 
     @classmethod
     def insert_data(cls, connection):
@@ -361,7 +362,7 @@ class DeferOptionsTest(NoCache, fixtures.MappedTest):
     def setup_mappers(cls):
         A = cls.classes.A
         a = cls.tables.a
-        mapper(A, a)
+        cls.mapper_registry.map_imperatively(A, a)
 
     @classmethod
     def insert_data(cls, connection):
@@ -441,12 +442,12 @@ class AttributeOverheadTest(NoCache, fixtures.MappedTest):
             cls.tables.child,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={"children": relationship(Child, backref="parent")},
         )
-        mapper(Child, child)
+        cls.mapper_registry.map_imperatively(Child, child)
 
     def test_attribute_set(self):
         Parent, Child = self.classes.Parent, self.classes.Child
@@ -520,12 +521,12 @@ class SessionTest(NoCache, fixtures.MappedTest):
             cls.tables.child,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={"children": relationship(Child, backref="parent")},
         )
-        mapper(Child, child)
+        cls.mapper_registry.map_imperatively(Child, child)
 
     def test_expire_lots(self):
         Parent, Child = self.classes.Parent, self.classes.Child
@@ -571,7 +572,7 @@ class QueryTest(NoCache, fixtures.MappedTest):
         Parent = cls.classes.Parent
         parent = cls.tables.parent
 
-        mapper(Parent, parent)
+        cls.mapper_registry.map_imperatively(Parent, parent)
 
     def _fixture(self):
         Parent = self.classes.Parent
@@ -668,9 +669,13 @@ class SelectInEagerLoadTest(NoCache, fixtures.MappedTest):
         A, B, C = cls.classes("A", "B", "C")
         a, b, c = cls.tables("a", "b", "c")
 
-        mapper(A, a, properties={"bs": relationship(B)})
-        mapper(B, b, properties={"cs": relationship(C)})
-        mapper(C, c)
+        cls.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B)}
+        )
+        cls.mapper_registry.map_imperatively(
+            B, b, properties={"cs": relationship(C)}
+        )
+        cls.mapper_registry.map_imperatively(C, c)
 
     @classmethod
     def insert_data(cls, connection):
@@ -799,13 +804,21 @@ class JoinedEagerLoadTest(NoCache, fixtures.MappedTest):
         A, B, C, D, E, F, G = cls.classes("A", "B", "C", "D", "E", "F", "G")
         a, b, c, d, e, f, g = cls.tables("a", "b", "c", "d", "e", "f", "g")
 
-        mapper(A, a, properties={"bs": relationship(B), "es": relationship(E)})
-        mapper(B, b, properties={"cs": relationship(C)})
-        mapper(C, c, properties={"ds": relationship(D)})
-        mapper(D, d)
-        mapper(E, e, properties={"fs": relationship(F), "gs": relationship(G)})
-        mapper(F, f)
-        mapper(G, g)
+        cls.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B), "es": relationship(E)}
+        )
+        cls.mapper_registry.map_imperatively(
+            B, b, properties={"cs": relationship(C)}
+        )
+        cls.mapper_registry.map_imperatively(
+            C, c, properties={"ds": relationship(D)}
+        )
+        cls.mapper_registry.map_imperatively(D, d)
+        cls.mapper_registry.map_imperatively(
+            E, e, properties={"fs": relationship(F), "gs": relationship(G)}
+        )
+        cls.mapper_registry.map_imperatively(F, f)
+        cls.mapper_registry.map_imperatively(G, g)
 
     @classmethod
     def insert_data(cls, connection):
@@ -1094,8 +1107,10 @@ class BranchedOptionTest(NoCache, fixtures.MappedTest):
         A, B, C, D, E, F, G = cls.classes("A", "B", "C", "D", "E", "F", "G")
         a, b, c, d, e, f, g = cls.tables("a", "b", "c", "d", "e", "f", "g")
 
-        mapper(A, a, properties={"bs": relationship(B), "gs": relationship(G)})
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B), "gs": relationship(G)}
+        )
+        cls.mapper_registry.map_imperatively(
             B,
             b,
             properties={
@@ -1105,11 +1120,11 @@ class BranchedOptionTest(NoCache, fixtures.MappedTest):
                 "fs": relationship(F),
             },
         )
-        mapper(C, c)
-        mapper(D, d)
-        mapper(E, e)
-        mapper(F, f)
-        mapper(G, g)
+        cls.mapper_registry.map_imperatively(C, c)
+        cls.mapper_registry.map_imperatively(D, d)
+        cls.mapper_registry.map_imperatively(E, e)
+        cls.mapper_registry.map_imperatively(F, f)
+        cls.mapper_registry.map_imperatively(G, g)
 
         configure_mappers()
 
@@ -1192,7 +1207,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
         A = cls.classes.A
         a = cls.tables.a
 
-        mapper(A, a)
+        cls.mapper_registry.map_imperatively(A, a)
 
     @classmethod
     def insert_data(cls, connection):
index 0b56d898766cae6c288f93e904d909470a381e8c..5ada6f592f373e3b373b05d9217b7d1effad4cd0 100644 (file)
@@ -41,7 +41,7 @@ from sqlalchemy.dialects.postgresql import TSRANGE
 from sqlalchemy.dialects.postgresql.base import PGDialect
 from sqlalchemy.dialects.postgresql.psycopg2 import PGDialect_psycopg2
 from sqlalchemy.orm import aliased
-from sqlalchemy.orm import mapper
+from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import Session
 from sqlalchemy.sql import column
 from sqlalchemy.sql import literal_column
@@ -2728,7 +2728,7 @@ class InsertOnConflictTest(fixtures.TestBase, AssertsCompiledSQL):
         )
 
 
-class DistinctOnTest(fixtures.TestBase, AssertsCompiledSQL):
+class DistinctOnTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     """Test 'DISTINCT' with SQL expression language and orm.Query with
     an emphasis on PG's 'DISTINCT ON' syntax.
@@ -2825,7 +2825,8 @@ class DistinctOnTest(fixtures.TestBase, AssertsCompiledSQL):
         class Foo(object):
             pass
 
-        mapper(Foo, self.table)
+        clear_mappers()
+        self.mapper_registry.map_imperatively(Foo, self.table)
         sess = Session()
         subq = sess.query(Foo).subquery()
 
@@ -2842,7 +2843,7 @@ class DistinctOnTest(fixtures.TestBase, AssertsCompiledSQL):
         class Foo(object):
             pass
 
-        mapper(Foo, self.table)
+        self.mapper_registry.map_imperatively(Foo, self.table)
         a1 = aliased(Foo)
         sess = Session()
         self.assert_compile(
index bb8e44876fd6f8e6954cc2ef56fbdd2d9a7a3de1..92641fcc601b0ae0a40b64308f3321587029aa26 100644 (file)
@@ -3034,17 +3034,15 @@ class HStoreRoundTripTest(fixtures.TablesTest):
         )
         self._assert_data([{r"key \"foo\"": r'value \"bar"\ xyz'}], connection)
 
-    def test_orm_round_trip(self, connection):
-        from sqlalchemy import orm
-
+    def test_orm_round_trip(self, registry):
         class Data(object):
             def __init__(self, name, data):
                 self.name = name
                 self.data = data
 
-        orm.mapper(Data, self.tables.data_table)
+        registry.map_imperatively(Data, self.tables.data_table)
 
-        with orm.Session(connection) as s:
+        with fixtures.fixture_session() as s:
             d = Data(
                 name="r1",
                 data={"key1": "value1", "key2": "value2", "key3": "value3"},
index 56797104c6a2f093550230e5f8620771523e5b71..bbb430a6f537876576b3cd570234b6f5702cea9f 100644 (file)
@@ -76,7 +76,7 @@ class ObjectCollection(object):
         return iter(self.values)
 
 
-class AutoFlushTest(fixtures.TablesTest):
+class AutoFlushTest(fixtures.MappedTest):
     @classmethod
     def define_tables(cls, metadata):
         Table(
@@ -102,9 +102,6 @@ class AutoFlushTest(fixtures.TablesTest):
             Column("name", String(50)),
         )
 
-    def teardown_test(self):
-        clear_mappers()
-
     def _fixture(self, collection_class, is_dict=False):
         class Parent(object):
             collection = association_proxy("_collection", "child")
@@ -124,7 +121,7 @@ class AutoFlushTest(fixtures.TablesTest):
                 def __init__(self, child):
                     self.child = child
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             self.tables.parent,
             properties={
@@ -135,12 +132,12 @@ class AutoFlushTest(fixtures.TablesTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Association,
             self.tables.association,
             properties={"child": relationship(Child, backref="association")},
         )
-        mapper(Child, self.tables.child)
+        self.mapper_registry.map_imperatively(Child, self.tables.child)
 
         return Parent, Child, Association
 
@@ -198,13 +195,10 @@ class AutoFlushTest(fixtures.TablesTest):
         )
 
 
-class _CollectionOperations(fixtures.TestBase):
-    def setup_test(self):
-        collection_class = self.collection_class
-
-        metadata = MetaData()
-
-        parents_table = Table(
+class _CollectionOperations(fixtures.MappedTest):
+    @classmethod
+    def define_tables(cls, metadata):
+        Table(
             "Parent",
             metadata,
             Column(
@@ -212,7 +206,7 @@ class _CollectionOperations(fixtures.TestBase):
             ),
             Column("name", String(128)),
         )
-        children_table = Table(
+        Table(
             "Children",
             metadata,
             Column(
@@ -223,13 +217,17 @@ class _CollectionOperations(fixtures.TestBase):
             Column("name", String(128)),
         )
 
-        class Parent(object):
+    @classmethod
+    def setup_mappers(cls):
+        collection_class = cls.collection_class
+
+        class Parent(cls.Basic):
             children = association_proxy("_children", "name")
 
             def __init__(self, name):
                 self.name = name
 
-        class Child(object):
+        class Child(cls.Basic):
             if collection_class and issubclass(collection_class, dict):
 
                 def __init__(self, foo, name):
@@ -241,7 +239,8 @@ class _CollectionOperations(fixtures.TestBase):
                 def __init__(self, name):
                     self.name = name
 
-        mapper(
+        parents_table, children_table = cls.tables("Parent", "Children")
+        cls.mapper_registry.map_imperatively(
             Parent,
             parents_table,
             properties={
@@ -253,16 +252,7 @@ class _CollectionOperations(fixtures.TestBase):
                 )
             },
         )
-        mapper(Child, children_table)
-
-        metadata.create_all(testing.db)
-
-        self.metadata = metadata
-        self.session = fixture_session()
-        self.Parent, self.Child = Parent, Child
-
-    def teardown_test(self):
-        self.metadata.drop_all(testing.db)
+        cls.mapper_registry.map_imperatively(Child, children_table)
 
     def roundtrip(self, obj):
         if obj not in self.session:
@@ -273,7 +263,8 @@ class _CollectionOperations(fixtures.TestBase):
         return self.session.query(type_).get(id_)
 
     def _test_sequence_ops(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes("Parent", "Child")
+        self.session = fixture_session()
 
         p1 = Parent("P1")
 
@@ -495,7 +486,9 @@ class CustomDictTest(_CollectionOperations):
     collection_class = DictCollection
 
     def test_mapping_ops(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes("Parent", "Child")
+
+        self.session = fixture_session()
 
         p1 = Parent("P1")
 
@@ -573,7 +566,7 @@ class CustomDictTest(_CollectionOperations):
         assert_raises(TypeError, set, [p1.children])
 
     def test_bulk_replace(self):
-        Parent = self.Parent
+        Parent = self.classes.Parent
 
         p1 = Parent("foo")
         p1.children = {"a": "v a", "b": "v b", "c": "v c"}
@@ -596,7 +589,9 @@ class SetTest(_CollectionOperations):
     collection_class = set
 
     def test_set_operations(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes.Parent, self.classes.Child
+
+        self.session = fixture_session()
 
         p1 = Parent("P1")
 
@@ -703,7 +698,7 @@ class SetTest(_CollectionOperations):
         assert_raises(TypeError, set, [p1.children])
 
     def test_set_comparisons(self):
-        Parent = self.Parent
+        Parent = self.classes.Parent
 
         p1 = Parent("P1")
         p1.children = ["a", "b", "c"]
@@ -740,7 +735,7 @@ class SetTest(_CollectionOperations):
     @testing.requires.python_fixed_issue_8743
     def test_set_comparison_empty_to_empty(self):
         # test issue #3265 which was fixed in Python version 2.7.8
-        Parent = self.Parent
+        Parent = self.classes.Parent
 
         p1 = Parent("P1")
         p1.children = []
@@ -763,7 +758,9 @@ class SetTest(_CollectionOperations):
         is_(set_0 != set_a, False)
 
     def test_set_mutation(self):
-        Parent = self.Parent
+        Parent = self.classes.Parent
+
+        self.session = fixture_session()
 
         # mutations
         for op in (
@@ -845,7 +842,7 @@ class SetTest(_CollectionOperations):
                         raise
 
     def test_bulk_replace(self):
-        Parent = self.Parent
+        Parent = self.classes.Parent
 
         p1 = Parent("foo")
         p1.children = {"a", "b", "c"}
@@ -869,7 +866,9 @@ class CustomObjectTest(_CollectionOperations):
     collection_class = ObjectCollection
 
     def test_basic(self):
-        Parent = self.Parent
+        Parent = self.classes.Parent
+
+        self.session = fixture_session()
 
         p = Parent("p1")
         self.assert_(len(list(p.children)) == 0)
@@ -886,10 +885,9 @@ class CustomObjectTest(_CollectionOperations):
 
 
 class ProxyFactoryTest(ListTest):
-    def setup_test(self):
-        metadata = MetaData()
-
-        parents_table = Table(
+    @classmethod
+    def define_tables(cls, metadata):
+        Table(
             "Parent",
             metadata,
             Column(
@@ -897,7 +895,7 @@ class ProxyFactoryTest(ListTest):
             ),
             Column("name", String(128)),
         )
-        children_table = Table(
+        Table(
             "Children",
             metadata,
             Column(
@@ -908,6 +906,10 @@ class ProxyFactoryTest(ListTest):
             Column("name", String(128)),
         )
 
+    @classmethod
+    def setup_mappers(cls):
+        parents_table, children_table = cls.tables("Parent", "Children")
+
         class CustomProxy(_AssociationList):
             def __init__(self, lazy_collection, creator, value_attr, parent):
                 getter, setter = parent._default_getset(lazy_collection)
@@ -915,7 +917,7 @@ class ProxyFactoryTest(ListTest):
                     self, lazy_collection, creator, getter, setter, parent
                 )
 
-        class Parent(object):
+        class Parent(cls.Basic):
             children = association_proxy(
                 "_children",
                 "name",
@@ -926,11 +928,11 @@ class ProxyFactoryTest(ListTest):
             def __init__(self, name):
                 self.name = name
 
-        class Child(object):
+        class Child(cls.Basic):
             def __init__(self, name):
                 self.name = name
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent,
             parents_table,
             properties={
@@ -939,19 +941,13 @@ class ProxyFactoryTest(ListTest):
                 )
             },
         )
-        mapper(Child, children_table)
-
-        metadata.create_all(testing.db)
-
-        self.metadata = metadata
-        self.session = fixture_session()
-        self.Parent, self.Child = Parent, Child
+        cls.mapper_registry.map_imperatively(Child, children_table)
 
     def test_sequence_ops(self):
         self._test_sequence_ops()
 
 
-class ScalarTest(fixtures.TestBase):
+class ScalarTest(fixtures.MappedTest):
     @testing.provide_metadata
     def test_scalar_proxy(self):
         metadata = self.metadata
@@ -993,7 +989,7 @@ class ScalarTest(fixtures.TestBase):
                 for attr in kw:
                     setattr(self, attr, kw[attr])
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parents_table,
             properties={
@@ -1002,7 +998,7 @@ class ScalarTest(fixtures.TestBase):
                 )
             },
         )
-        mapper(Child, children_table)
+        self.mapper_registry.map_imperatively(Child, children_table)
 
         metadata.create_all(testing.db)
         session = fixture_session()
@@ -1107,12 +1103,14 @@ class ScalarTest(fixtures.TestBase):
         class B(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A, a, properties=dict(a2b_single=relationship(A2B, uselist=False))
         )
 
-        mapper(A2B, a2b, properties=dict(b=relationship(B)))
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(
+            A2B, a2b, properties=dict(b=relationship(B))
+        )
+        self.mapper_registry.map_imperatively(B, b)
 
         a1 = A()
         assert a1.a2b_name is None
@@ -1145,8 +1143,10 @@ class ScalarTest(fixtures.TestBase):
             def __init__(self, foo):
                 self.foo = foo
 
-        mapper(Parent, p, properties={"child": relationship(Child)})
-        mapper(Child, c)
+        self.mapper_registry.map_imperatively(
+            Parent, p, properties={"child": relationship(Child)}
+        )
+        self.mapper_registry.map_imperatively(Child, c)
 
         p1 = Parent()
 
@@ -1157,11 +1157,11 @@ class ScalarTest(fixtures.TestBase):
         eq_(set_.mock_calls, [call(child, "y")])
 
 
-class LazyLoadTest(fixtures.TestBase):
-    def setup_test(self):
-        metadata = MetaData()
+class LazyLoadTest(fixtures.MappedTest):
+    @classmethod
+    def define_tables(cls, metadata):
 
-        parents_table = Table(
+        Table(
             "Parent",
             metadata,
             Column(
@@ -1169,7 +1169,7 @@ class LazyLoadTest(fixtures.TestBase):
             ),
             Column("name", String(128)),
         )
-        children_table = Table(
+        Table(
             "Children",
             metadata,
             Column(
@@ -1180,26 +1180,19 @@ class LazyLoadTest(fixtures.TestBase):
             Column("name", String(128)),
         )
 
-        class Parent(object):
+    @classmethod
+    def setup_mappers(cls):
+        class Parent(cls.Basic):
             children = association_proxy("_children", "name")
 
             def __init__(self, name):
                 self.name = name
 
-        class Child(object):
+        class Child(cls.Basic):
             def __init__(self, name):
                 self.name = name
 
-        mapper(Child, children_table)
-        metadata.create_all(testing.db)
-
-        self.metadata = metadata
-        self.session = fixture_session()
-        self.Parent, self.Child = Parent, Child
-        self.table = parents_table
-
-    def teardown_test(self):
-        self.metadata.drop_all(testing.db)
+        cls.mapper_registry.map_imperatively(Child, cls.tables.Children)
 
     def roundtrip(self, obj):
         self.session.add(obj)
@@ -1209,11 +1202,13 @@ class LazyLoadTest(fixtures.TestBase):
         return self.session.query(type_).get(id_)
 
     def test_lazy_list(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes("Parent", "Child")
 
-        mapper(
+        self.session = fixture_session()
+
+        self.mapper_registry.map_imperatively(
             Parent,
-            self.table,
+            self.tables.Parent,
             properties={
                 "_children": relationship(
                     Child, lazy="select", collection_class=list
@@ -1233,11 +1228,13 @@ class LazyLoadTest(fixtures.TestBase):
         self.assert_("_children" in p.__dict__)
 
     def test_eager_list(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes("Parent", "Child")
 
-        mapper(
+        self.session = fixture_session()
+
+        self.mapper_registry.map_imperatively(
             Parent,
-            self.table,
+            self.tables.Parent,
             properties={
                 "_children": relationship(
                     Child, lazy="joined", collection_class=list
@@ -1254,11 +1251,13 @@ class LazyLoadTest(fixtures.TestBase):
         self.assert_(len(p._children) == 3)
 
     def test_slicing_list(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes("Parent", "Child")
 
-        mapper(
+        self.session = fixture_session()
+
+        self.mapper_registry.map_imperatively(
             Parent,
-            self.table,
+            self.tables.Parent,
             properties={
                 "_children": relationship(
                     Child, lazy="select", collection_class=list
@@ -1276,11 +1275,13 @@ class LazyLoadTest(fixtures.TestBase):
         eq_(["b", "c"], p.children[-2:])
 
     def test_lazy_scalar(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes("Parent", "Child")
 
-        mapper(
+        self.session = fixture_session()
+
+        self.mapper_registry.map_imperatively(
             Parent,
-            self.table,
+            self.tables.Parent,
             properties={
                 "_children": relationship(Child, lazy="select", uselist=False)
             },
@@ -1295,11 +1296,13 @@ class LazyLoadTest(fixtures.TestBase):
         self.assert_(p._children is not None)
 
     def test_eager_scalar(self):
-        Parent, Child = self.Parent, self.Child
+        Parent, Child = self.classes("Parent", "Child")
 
-        mapper(
+        self.session = fixture_session()
+
+        self.mapper_registry.map_imperatively(
             Parent,
-            self.table,
+            self.tables.Parent,
             properties={
                 "_children": relationship(Child, lazy="joined", uselist=False)
             },
@@ -1364,12 +1367,12 @@ class ReconstitutionTest(fixtures.MappedTest):
         Parent.kids = association_proxy("children", "name")
 
     def test_weak_identity_map(self):
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             self.tables.parents,
             properties=dict(children=relationship(Child)),
         )
-        mapper(Child, self.tables.children)
+        self.mapper_registry.map_imperatively(Child, self.tables.children)
         session = fixture_session()
 
         def add_child(parent_name, child_name):
@@ -1384,12 +1387,12 @@ class ReconstitutionTest(fixtures.MappedTest):
         assert set(p.kids) == set(["c1", "c2"]), p.kids
 
     def test_copy(self):
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             self.tables.parents,
             properties=dict(children=relationship(Child)),
         )
-        mapper(Child, self.tables.children)
+        self.mapper_registry.map_imperatively(Child, self.tables.children)
         p = Parent("p1")
         p.kids.extend(["c1", "c2"])
         p_copy = copy.copy(p)
@@ -1398,12 +1401,12 @@ class ReconstitutionTest(fixtures.MappedTest):
         assert set(p_copy.kids) == set(["c1", "c2"]), p_copy.kids
 
     def test_pickle_list(self):
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             self.tables.parents,
             properties=dict(children=relationship(Child)),
         )
-        mapper(Child, self.tables.children)
+        self.mapper_registry.map_imperatively(Child, self.tables.children)
         p = Parent("p1")
         p.kids.extend(["c1", "c2"])
         r1 = pickle.loads(pickle.dumps(p))
@@ -1414,14 +1417,14 @@ class ReconstitutionTest(fixtures.MappedTest):
         # assert r2 == ['c1', 'c2']
 
     def test_pickle_set(self):
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             self.tables.parents,
             properties=dict(
                 children=relationship(Child, collection_class=set)
             ),
         )
-        mapper(Child, self.tables.children)
+        self.mapper_registry.map_imperatively(Child, self.tables.children)
         p = Parent("p1")
         p.kids.update(["c1", "c2"])
         r1 = pickle.loads(pickle.dumps(p))
@@ -1432,7 +1435,7 @@ class ReconstitutionTest(fixtures.MappedTest):
         # assert r2 == set(['c1', 'c2'])
 
     def test_pickle_dict(self):
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             self.tables.parents,
             properties=dict(
@@ -1444,7 +1447,7 @@ class ReconstitutionTest(fixtures.MappedTest):
                 )
             ),
         )
-        mapper(KVChild, self.tables.children)
+        self.mapper_registry.map_imperatively(KVChild, self.tables.children)
         p = Parent("p1")
         p.kids.update({"c1": "v1", "c2": "v2"})
         assert p.kids == {"c1": "c1", "c2": "c2"}
@@ -1603,8 +1606,10 @@ class ComparatorTest(fixtures.MappedTest, AssertsCompiledSQL):
             cls.classes.Singular,
         )
 
-        mapper(User, users, properties={"singular": relationship(Singular)})
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            User, users, properties={"singular": relationship(Singular)}
+        )
+        cls.mapper_registry.map_imperatively(
             Keyword,
             keywords,
             properties={
@@ -1615,7 +1620,7 @@ class ComparatorTest(fixtures.MappedTest, AssertsCompiledSQL):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             UserKeyword,
             userkeywords,
             properties={
@@ -1625,7 +1630,7 @@ class ComparatorTest(fixtures.MappedTest, AssertsCompiledSQL):
                 ),
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Singular, singular, properties={"keywords": relationship(Keyword)}
         )
 
@@ -2294,26 +2299,33 @@ class ComparatorTest(fixtures.MappedTest, AssertsCompiledSQL):
         )
 
 
-class DictOfTupleUpdateTest(fixtures.TestBase):
-    def setup_test(self):
-        class B(object):
-            def __init__(self, key, elem):
-                self.key = key
-                self.elem = elem
-
-        class A(object):
-            elements = association_proxy("orig", "elem", creator=B)
+class DictOfTupleUpdateTest(fixtures.MappedTest):
+    run_create_tables = None
 
-        m = MetaData()
-        a = Table("a", m, Column("id", Integer, primary_key=True))
-        b = Table(
+    @classmethod
+    def define_tables(cls, metadata):
+        Table("a", metadata, Column("id", Integer, primary_key=True))
+        Table(
             "b",
-            m,
+            metadata,
             Column("id", Integer, primary_key=True),
             Column("aid", Integer, ForeignKey("a.id")),
             Column("elem", String),
         )
-        mapper(
+
+    @classmethod
+    def setup_mappers(cls):
+        a, b = cls.tables("a", "b")
+
+        class B(cls.Basic):
+            def __init__(self, key, elem):
+                self.key = key
+                self.elem = elem
+
+        class A(cls.Basic):
+            elements = association_proxy("orig", "elem", creator=B)
+
+        cls.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -2322,32 +2334,31 @@ class DictOfTupleUpdateTest(fixtures.TestBase):
                 )
             },
         )
-        mapper(B, b)
-        self.A = A
-        self.B = B
+        cls.mapper_registry.map_imperatively(B, b)
 
     def test_update_one_elem_dict(self):
-        a1 = self.A()
+
+        a1 = self.classes.A()
         a1.elements.update({("B", 3): "elem2"})
         eq_(a1.elements, {("B", 3): "elem2"})
 
     def test_update_multi_elem_dict(self):
-        a1 = self.A()
+        a1 = self.classes.A()
         a1.elements.update({("B", 3): "elem2", ("C", 4): "elem3"})
         eq_(a1.elements, {("B", 3): "elem2", ("C", 4): "elem3"})
 
     def test_update_one_elem_list(self):
-        a1 = self.A()
+        a1 = self.classes.A()
         a1.elements.update([(("B", 3), "elem2")])
         eq_(a1.elements, {("B", 3): "elem2"})
 
     def test_update_multi_elem_list(self):
-        a1 = self.A()
+        a1 = self.classes.A()
         a1.elements.update([(("B", 3), "elem2"), (("C", 4), "elem3")])
         eq_(a1.elements, {("B", 3): "elem2", ("C", 4): "elem3"})
 
     def test_update_one_elem_varg(self):
-        a1 = self.A()
+        a1 = self.classes.A()
         assert_raises_message(
             ValueError,
             "dictionary update sequence requires " "2-element tuples",
@@ -2356,7 +2367,7 @@ class DictOfTupleUpdateTest(fixtures.TestBase):
         )
 
     def test_update_multi_elem_varg(self):
-        a1 = self.A()
+        a1 = self.classes.A()
         assert_raises_message(
             TypeError,
             "update expected at most 1 arguments, got 2",
@@ -2367,6 +2378,8 @@ class DictOfTupleUpdateTest(fixtures.TestBase):
 
 
 class CompositeAccessTest(fixtures.DeclarativeMappedTest):
+    run_create_tables = None
+
     @classmethod
     def setup_classes(cls):
         class Point(cls.Basic):
@@ -2835,6 +2848,7 @@ class ScalarRemoveListObjectCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = True
     cascade_scalar_deletes = True
     uselist = True
@@ -2844,6 +2858,7 @@ class ScalarRemoveScalarObjectCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = True
     cascade_scalar_deletes = True
     uselist = False
@@ -2853,6 +2868,7 @@ class ScalarRemoveListScalarCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = False
     cascade_scalar_deletes = True
     uselist = True
@@ -2862,6 +2878,7 @@ class ScalarRemoveScalarScalarCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = False
     cascade_scalar_deletes = True
     uselist = False
@@ -2871,6 +2888,7 @@ class ScalarRemoveListObjectNoCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = True
     cascade_scalar_deletes = False
     uselist = True
@@ -2880,6 +2898,7 @@ class ScalarRemoveScalarObjectNoCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = True
     cascade_scalar_deletes = False
     uselist = False
@@ -2889,6 +2908,7 @@ class ScalarRemoveListScalarNoCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = False
     cascade_scalar_deletes = False
     uselist = True
@@ -2898,6 +2918,7 @@ class ScalarRemoveScalarScalarNoCascade(
     ScalarRemoveTest, fixtures.DeclarativeMappedTest
 ):
 
+    run_create_tables = None
     useobject = False
     cascade_scalar_deletes = False
     uselist = False
@@ -3300,6 +3321,8 @@ class SynonymOfProxyTest(AssertsCompiledSQL, fixtures.DeclarativeMappedTest):
 class ProxyHybridTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
     __dialect__ = "default"
 
+    run_create_tables = None
+
     @classmethod
     def setup_classes(cls):
         from sqlalchemy.ext.hybrid import hybrid_property
@@ -3436,6 +3459,8 @@ class ProxyHybridTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
 
 
 class ProxyPlainPropertyTest(fixtures.DeclarativeMappedTest):
+    run_create_tables = None
+
     @classmethod
     def setup_classes(cls):
 
index d62e5c0bca6dd1bf23cf6d2e4616d32f032f54ab..8e96dd3adb92a2dbcfab0d576c81369a08a6ec5f 100644 (file)
@@ -8,7 +8,6 @@ from sqlalchemy import func
 from sqlalchemy import testing
 from sqlalchemy.ext import baked
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import subqueryload
@@ -36,7 +35,7 @@ class StateChangeTest(BakedTest):
     def setup_mappers(cls):
         User = cls.classes.User
 
-        mapper(User, cls.tables.users)
+        cls.mapper_registry.map_imperatively(User, cls.tables.users)
 
     def _assert_cache_key(self, key, elements):
         eq_(key, tuple(elem.__code__ for elem in elements))
@@ -131,7 +130,7 @@ class LikeQueryTest(BakedTest):
     def setup_mappers(cls):
         User = cls.classes.User
 
-        mapper(User, cls.tables.users)
+        cls.mapper_registry.map_imperatively(User, cls.tables.users)
 
     def test_first_no_result(self):
         User = self.classes.User
@@ -296,7 +295,7 @@ class LikeQueryTest(BakedTest):
         class AddressUser(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             AddressUser,
             self.tables.users.outerjoin(self.tables.addresses),
             properties={
@@ -369,7 +368,7 @@ class ResultPostCriteriaTest(BakedTest):
         Address = cls.classes.Address
         Order = cls.classes.Order
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             cls.tables.users,
             properties={
@@ -379,8 +378,8 @@ class ResultPostCriteriaTest(BakedTest):
                 "orders": relationship(Order, order_by=cls.tables.orders.c.id),
             },
         )
-        mapper(Address, cls.tables.addresses)
-        mapper(Order, cls.tables.orders)
+        cls.mapper_registry.map_imperatively(Address, cls.tables.addresses)
+        cls.mapper_registry.map_imperatively(Order, cls.tables.orders)
 
     @contextlib.contextmanager
     def _fixture(self):
@@ -450,7 +449,7 @@ class ResultTest(BakedTest):
         Address = cls.classes.Address
         Order = cls.classes.Order
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             cls.tables.users,
             properties={
@@ -460,8 +459,8 @@ class ResultTest(BakedTest):
                 "orders": relationship(Order, order_by=cls.tables.orders.c.id),
             },
         )
-        mapper(Address, cls.tables.addresses)
-        mapper(Order, cls.tables.orders)
+        cls.mapper_registry.map_imperatively(Address, cls.tables.addresses)
+        cls.mapper_registry.map_imperatively(Order, cls.tables.orders)
 
     def test_cachekeys_on_constructor(self):
         User = self.classes.User
@@ -985,7 +984,7 @@ class CustomIntegrationTest(testing.AssertsCompiledSQL, BakedTest):
         User = self.classes.User
         Address = self.classes.Address
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={
@@ -997,7 +996,7 @@ class CustomIntegrationTest(testing.AssertsCompiledSQL, BakedTest):
                 )
             },
         )
-        mapper(Address, self.tables.addresses)
+        self.mapper_registry.map_imperatively(Address, self.tables.addresses)
         return User, Address
 
     def _query_fixture(self):
index b6976299b367f80bd94dfe3d928d5eae94042192..09f904487adea08bebe6035870b061ab58d4777f 100644 (file)
@@ -1,7 +1,6 @@
 from sqlalchemy import testing
 from sqlalchemy.ext.automap import automap_base
 from sqlalchemy.ext.horizontal_shard import ShardedSession
-from sqlalchemy.orm import mapper
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing import mock
@@ -39,11 +38,11 @@ class MutableIncludeNonPrimaryTest(test_mutable.MutableWithScalarJSONTest):
     def setup_mappers(cls):
         foo = cls.tables.foo
 
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            mapper(
+            cls.mapper_registry.map_imperatively(
                 Foo, foo, non_primary=True, properties={"foo_bar": foo.c.data}
             )
 
@@ -55,11 +54,11 @@ class MutableAssocIncludeNonPrimaryTest(
     def setup_mappers(cls):
         foo = cls.tables.foo
 
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            mapper(
+            cls.mapper_registry.map_imperatively(
                 Foo, foo, non_primary=True, properties={"foo_bar": foo.c.data}
             )
 
index a40bdfcd86a1b43eaf90d85c801ebcdca096eb09..a0bc8bbe5498ce30fa53d9b955ced3311fcfa354 100644 (file)
@@ -9,7 +9,6 @@ from sqlalchemy import Float
 from sqlalchemy import ForeignKey
 from sqlalchemy import inspect
 from sqlalchemy import Integer
-from sqlalchemy import MetaData
 from sqlalchemy import select
 from sqlalchemy import sql
 from sqlalchemy import String
@@ -21,7 +20,6 @@ from sqlalchemy import util
 from sqlalchemy.ext.horizontal_shard import ShardedSession
 from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import deferred
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -41,15 +39,17 @@ class ShardTest(object):
     __skip_if__ = (lambda: util.win32,)
     __requires__ = ("sqlite",)
 
+    run_create_tables = None
+
     schema = None
 
-    def setup_test(self):
+    @classmethod
+    def define_tables(cls, metadata):
         global db1, db2, db3, db4, weather_locations, weather_reports
 
-        db1, db2, db3, db4 = self._dbs = self._init_dbs()
-
-        meta = self.tables_test_metadata = MetaData()
-        ids = Table("ids", meta, Column("nextid", Integer, nullable=False))
+        cls.tables.ids = ids = Table(
+            "ids", metadata, Column("nextid", Integer, nullable=False)
+        )
 
         def id_generator(ctx):
             # in reality, might want to use a separate transaction for this.
@@ -61,33 +61,37 @@ class ShardTest(object):
                 )
                 return nextid
 
-        weather_locations = Table(
+        cls.tables.weather_locations = weather_locations = Table(
             "weather_locations",
-            meta,
+            metadata,
             Column("id", Integer, primary_key=True, default=id_generator),
             Column("continent", String(30), nullable=False),
             Column("city", String(50), nullable=False),
-            schema=self.schema,
+            schema=cls.schema,
         )
 
-        weather_reports = Table(
+        cls.tables.weather_reports = Table(
             "weather_reports",
-            meta,
+            metadata,
             Column("id", Integer, primary_key=True),
             Column("location_id", Integer, ForeignKey(weather_locations.c.id)),
             Column("temperature", Float),
             Column("report_time", DateTime, default=datetime.datetime.now),
-            schema=self.schema,
+            schema=cls.schema,
         )
 
+    def setup_test(self):
+        global db1, db2, db3, db4
+        db1, db2, db3, db4 = self._dbs = self._init_dbs()
+
         for db in (db1, db2, db3, db4):
-            meta.create_all(db)
+            self.tables_test_metadata.create_all(db)
 
+        ids = self.tables.ids
         with db1.begin() as conn:
             conn.execute(ids.insert(), dict(nextid=1))
 
         self.setup_session()
-        self.setup_mappers()
 
     @classmethod
     def setup_session(cls):
@@ -161,7 +165,9 @@ class ShardTest(object):
                 if id_:
                     self.id = id_
 
-        mapper(
+        weather_locations = cls.tables.weather_locations
+
+        cls.mapper_registry.map_imperatively(
             WeatherLocation,
             weather_locations,
             properties={
@@ -170,7 +176,9 @@ class ShardTest(object):
             },
         )
 
-        mapper(Report, weather_reports)
+        weather_reports = cls.tables.weather_reports
+
+        cls.mapper_registry.map_imperatively(Report, weather_reports)
 
     def _fixture_data(self):
         tokyo = WeatherLocation("Asia", "Tokyo")
@@ -655,7 +663,7 @@ class ShardTest(object):
             assert inspect(t).deleted is (t.temperature >= 80)
 
 
-class DistinctEngineShardTest(ShardTest, fixtures.TestBase):
+class DistinctEngineShardTest(ShardTest, fixtures.MappedTest):
     def _init_dbs(self):
         db1 = testing_engine(
             "sqlite:///shard1_%s.db" % provision.FOLLOWER_IDENT,
@@ -675,7 +683,6 @@ class DistinctEngineShardTest(ShardTest, fixtures.TestBase):
         return self.dbs
 
     def teardown_test(self):
-        clear_mappers()
 
         testing_reaper.checkin_all()
         for i in range(1, 5):
@@ -711,7 +718,7 @@ class DistinctEngineShardTest(ShardTest, fixtures.TestBase):
         )
 
 
-class AttachedFileShardTest(ShardTest, fixtures.TestBase):
+class AttachedFileShardTest(ShardTest, fixtures.MappedTest):
     """Use modern schema conventions along with SQLite ATTACH."""
 
     schema = "changeme"
@@ -734,14 +741,12 @@ class AttachedFileShardTest(ShardTest, fixtures.TestBase):
         return db1, db2, db3, db4
 
     def teardown_test(self):
-        clear_mappers()
-
         testing_reaper.checkin_all()
         for i in range(1, 5):
             os.remove("shard%d_%s.db" % (i, provision.FOLLOWER_IDENT))
 
 
-class TableNameConventionShardTest(ShardTest, fixtures.TestBase):
+class TableNameConventionShardTest(ShardTest, fixtures.MappedTest):
     """This fixture uses a single SQLite database along with a table naming
     convention to achieve sharding.   Event hooks are used to rewrite SQL
     statements.
@@ -779,7 +784,7 @@ class TableNameConventionShardTest(ShardTest, fixtures.TestBase):
         return db1, db2, db3, db4
 
 
-class MultipleDialectShardTest(ShardTest, fixtures.TestBase):
+class MultipleDialectShardTest(ShardTest, fixtures.MappedTest):
     __only_on__ = "postgresql"
 
     schema = "changeme"
index 676d7d8b7862f8e314554653fbc75d9f6db13678..1d88deb7a0e63b1317237ba252873d1609e574aa 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import attributes
 from sqlalchemy.orm import column_property
 from sqlalchemy.orm import composite
 from sqlalchemy.orm import declarative_base
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm.instrumentation import ClassManager
 from sqlalchemy.orm.mapper import Mapper
 from sqlalchemy.testing import assert_raises
@@ -109,7 +108,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
     def setup_mappers(cls):
         foo = cls.tables.foo
 
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
 
     def test_coerce_none(self):
         sess = fixture_session()
@@ -330,7 +329,7 @@ class _MutableListTestBase(_MutableListTestFixture):
     def setup_mappers(cls):
         foo = cls.tables.foo
 
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
 
     def test_coerce_none(self):
         sess = fixture_session()
@@ -636,7 +635,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
     def setup_mappers(cls):
         foo = cls.tables.foo
 
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
 
     def test_coerce_none(self):
         sess = fixture_session()
@@ -926,7 +925,7 @@ class MutableColumnDefaultTest(_MutableDictTestFixture, fixtures.MappedTest):
     def setup_mappers(cls):
         foo = cls.tables.foo
 
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
 
     def test_evt_on_flush_refresh(self):
         # test for #3427
@@ -1133,8 +1132,8 @@ class MutableAssocWithAttrInheritTest(
         foo = cls.tables.foo
         subfoo = cls.tables.subfoo
 
-        mapper(Foo, foo)
-        mapper(SubFoo, subfoo, inherits=Foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
+        cls.mapper_registry.map_imperatively(SubFoo, subfoo, inherits=Foo)
         MutableDict.associate_with_attribute(Foo.data)
 
     def test_in_place_mutation(self):
@@ -1332,7 +1331,7 @@ class MutableCompositeColumnDefaultTest(
 
         cls.Point = cls._type_fixture()
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Foo,
             foo,
             properties={"data": composite(cls.Point, foo.c.x, foo.c.y)},
@@ -1359,7 +1358,7 @@ class MutableCompositesUnpickleTest(_CompositeTestBase, fixtures.MappedTest):
 
         cls.Point = cls._type_fixture()
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             FooWithEq,
             foo,
             properties={"data": composite(cls.Point, foo.c.x, foo.c.y)},
@@ -1378,7 +1377,7 @@ class MutableCompositesTest(_CompositeTestBase, fixtures.MappedTest):
 
         Point = cls._type_fixture()
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Foo, foo, properties={"data": composite(Point, foo.c.x, foo.c.y)}
         )
 
@@ -1489,7 +1488,7 @@ class MutableCompositeCallableTest(_CompositeTestBase, fixtures.MappedTest):
 
         # in this case, this is not actually a MutableComposite.
         # so we don't expect it to track changes
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Foo,
             foo,
             properties={
@@ -1523,7 +1522,7 @@ class MutableCompositeCustomCoerceTest(
 
         Point = cls._type_fixture()
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Foo, foo, properties={"data": composite(Point, foo.c.x, foo.c.y)}
         )
 
@@ -1568,10 +1567,10 @@ class MutableInheritedCompositesTest(_CompositeTestBase, fixtures.MappedTest):
 
         Point = cls._type_fixture()
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Foo, foo, properties={"data": composite(Point, foo.c.x, foo.c.y)}
         )
-        mapper(SubFoo, subfoo, inherits=Foo)
+        cls.mapper_registry.map_imperatively(SubFoo, subfoo, inherits=Foo)
 
     def test_in_place_mutation_subclass(self):
         sess = fixture_session()
index 13ebda24e70a07670f76621fc88179dacbd7e5ce..6fa559ee37ebc4a7b1fad7087ec743fed8634d18 100644 (file)
@@ -4,7 +4,7 @@ from sqlalchemy import MetaData
 from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy.ext.orderinglist import ordering_list
-from sqlalchemy.orm import mapper
+from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
@@ -59,7 +59,7 @@ def alpha_ordering(index, collection):
     return s
 
 
-class OrderingListTest(fixtures.TestBase):
+class OrderingListTest(fixtures.MappedTest):
     def setup_test(self):
         global metadata, slides_table, bullets_table, Slide, Bullet
         slides_table, bullets_table = None, None
@@ -105,7 +105,8 @@ class OrderingListTest(fixtures.TestBase):
             def __repr__(self):
                 return '<Bullet "%s" pos %s>' % (self.text, self.position)
 
-        mapper(
+        clear_mappers()
+        self.mapper_registry.map_imperatively(
             Slide,
             slides_table,
             properties={
@@ -118,7 +119,7 @@ class OrderingListTest(fixtures.TestBase):
                 )
             },
         )
-        mapper(Bullet, bullets_table)
+        self.mapper_registry.map_imperatively(Bullet, bullets_table)
 
         metadata.create_all(testing.db)
 
index 12e4255fa784f8d43bd14d4cd6a0df9273323fbb..2e9225419fae4d7cb6e854e63f25258e7bccc875 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import class_mapper
 from sqlalchemy.orm import column_property
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import scoped_session
 from sqlalchemy.orm import sessionmaker
@@ -68,7 +67,7 @@ class SerializeTest(AssertsCompiledSQL, fixtures.MappedTest):
     def setup_mappers(cls):
         global Session
         Session = scoped_session(sessionmaker(testing.db))
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -77,7 +76,7 @@ class SerializeTest(AssertsCompiledSQL, fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
         configure_mappers()
 
     @classmethod
index 56679a80015c78ada348a28bb8079c8efffcadda..6715cb7feae203ad1d9b5224fd3751daae01cee5 100644 (file)
@@ -4,7 +4,6 @@ from sqlalchemy import String
 from sqlalchemy import util
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.schema import Column
@@ -99,7 +98,7 @@ class FixtureTest(fixtures.MappedTest):
 
         # use OrderedDict on this one to support some tests that
         # assert the order of attributes (e.g. orm/test_inspect)
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties=util.OrderedDict(
@@ -119,7 +118,7 @@ class FixtureTest(fixtures.MappedTest):
                 ]
             ),
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -129,8 +128,8 @@ class FixtureTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Dingaling, dingalings)
-        mapper(
+        cls.mapper_registry.map_imperatively(Dingaling, dingalings)
+        cls.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -141,7 +140,7 @@ class FixtureTest(fixtures.MappedTest):
                 "address": relationship(Address),  # m2o
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -150,8 +149,8 @@ class FixtureTest(fixtures.MappedTest):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
-        mapper(
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -161,7 +160,7 @@ class FixtureTest(fixtures.MappedTest):
             },
         )
 
-        mapper(CompositePk, composite_pk_table)
+        cls.mapper_registry.map_imperatively(CompositePk, composite_pk_table)
 
         configure_mappers()
 
index e5da21447a73b467063858431588569cc640b4a8..1740ee90b3a7da80e86a00194923feaadd601b40 100644 (file)
@@ -4,14 +4,12 @@ from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy.orm import class_mapper
-from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import close_all_sessions
 from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import declarative_base
 from sqlalchemy.orm import declared_attr
 from sqlalchemy.orm import deferred
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
+from sqlalchemy.orm.decl_api import registry
 from sqlalchemy.testing import assert_raises
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.testing import eq_
@@ -29,11 +27,12 @@ Base = None
 class DeclarativeTestBase(fixtures.TestBase, testing.AssertsExecutionResults):
     def setup_test(self):
         global Base
-        Base = declarative_base()
+        self.mapper_registry = registry()
+        Base = self.mapper_registry.generate_base()
 
     def teardown_test(self):
         close_all_sessions()
-        clear_mappers()
+        self.mapper_registry.dispose()
         Base.metadata.drop_all(testing.db)
 
 
@@ -334,7 +333,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
             Column("kind", String(50)),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             person_table,
             polymorphic_on="kind",
@@ -367,7 +366,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
             Column("kind", String(50)),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             person_table,
             polymorphic_on="kind",
@@ -400,7 +399,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
             Column("kind", String(50)),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             person_table,
             polymorphic_on="kind",
index a368e7b2f3b0c6a8ab501593022b2f23dc4acc3f..1e8cf6f50d8de5939277fc877e15e6640f2636a6 100644 (file)
@@ -3,7 +3,6 @@ from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy.orm import class_mapper
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import polymorphic_union
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm.interfaces import MANYTOONE
@@ -175,14 +174,14 @@ class ABCTest(fixtures.MappedTest):
         class C(B):
             pass
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             A,
             ta,
             polymorphic_on=abcjoin.c.type,
             with_polymorphic=("*", abcjoin),
             polymorphic_identity="a",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             B,
             tb,
             polymorphic_on=bcjoin.c.type,
@@ -191,7 +190,7 @@ class ABCTest(fixtures.MappedTest):
             inherits=A,
             inherit_condition=atob,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C,
             tc,
             polymorphic_identity="c",
index fd3d50dddc676e569bfad4fc4b5310fab80f0c7a..3ec9b55857710d2749a0849a886b8dd8949c6af1 100644 (file)
@@ -2,7 +2,6 @@ from sqlalchemy import ForeignKey
 from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.fixtures import fixture_session
@@ -53,21 +52,23 @@ class ABCTest(fixtures.MappedTest):
         else:
             abc = bc = None
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             with_polymorphic=("*", abc),
             polymorphic_on=a.c.type,
             polymorphic_identity="a",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b,
             with_polymorphic=("*", bc),
             inherits=A,
             polymorphic_identity="b",
         )
-        mapper(C, c, inherits=B, polymorphic_identity="c")
+        self.mapper_registry.map_imperatively(
+            C, c, inherits=B, polymorphic_identity="c"
+        )
 
         a1 = A(adata="a1")
         b1 = B(bdata="b1", adata="b1")
index 084305a7cc4edeb078018174b675524042813a1e..2db4641ddd66138310c6b37b27c2352f8ebceccf 100644 (file)
@@ -19,7 +19,6 @@ from sqlalchemy.orm import column_property
 from sqlalchemy.orm import contains_eager
 from sqlalchemy.orm import join
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import polymorphic_union
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
@@ -87,7 +86,7 @@ class RelationshipTest1(fixtures.MappedTest):
     def test_parent_refs_descendant(self):
         Person, Manager = self.classes("Person", "Manager")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             people,
             properties={
@@ -99,7 +98,7 @@ class RelationshipTest1(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=Person,
@@ -126,8 +125,8 @@ class RelationshipTest1(fixtures.MappedTest):
     def test_descendant_refs_parent(self):
         Person, Manager = self.classes("Person", "Manager")
 
-        mapper(Person, people)
-        mapper(
+        self.mapper_registry.map_imperatively(Person, people)
+        self.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=Person,
@@ -254,9 +253,9 @@ class RelationshipTest2(fixtures.MappedTest):
                 def __init__(self, data):
                     self.data = data
 
-            mapper(Data, data)
+            self.mapper_registry.map_imperatively(Data, data)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             people,
             with_polymorphic=("*", poly_union),
@@ -265,7 +264,7 @@ class RelationshipTest2(fixtures.MappedTest):
         )
 
         if usedata:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Manager,
                 managers,
                 inherits=Person,
@@ -283,7 +282,7 @@ class RelationshipTest2(fixtures.MappedTest):
                 },
             )
         else:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Manager,
                 managers,
                 inherits=Person,
@@ -409,10 +408,10 @@ class RelationshipTest3(fixtures.MappedTest):
             assert False
 
         if usedata:
-            mapper(Data, data)
+            self.mapper_registry.map_imperatively(Data, data)
 
         if usedata:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Person,
                 people,
                 with_polymorphic=("*", poly_union),
@@ -430,7 +429,7 @@ class RelationshipTest3(fixtures.MappedTest):
                 },
             )
         else:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Person,
                 people,
                 with_polymorphic=("*", poly_union),
@@ -447,7 +446,7 @@ class RelationshipTest3(fixtures.MappedTest):
                 },
             )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=Person,
@@ -591,28 +590,30 @@ class RelationshipTest4(fixtures.MappedTest):
             "employee_join",
         )
 
-        person_mapper = mapper(
+        person_mapper = self.mapper_registry.map_imperatively(
             Person,
             people,
             with_polymorphic=("*", employee_join),
             polymorphic_on=employee_join.c.type,
             polymorphic_identity="person",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             with_polymorphic=([Engineer], people.join(engineers)),
             inherits=person_mapper,
             polymorphic_identity="engineer",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers,
             with_polymorphic=([Manager], people.join(managers)),
             inherits=person_mapper,
             polymorphic_identity="manager",
         )
-        mapper(Car, cars, properties={"employee": relationship(person_mapper)})
+        self.mapper_registry.map_imperatively(
+            Car, cars, properties={"employee": relationship(person_mapper)}
+        )
 
         session = fixture_session()
 
@@ -757,25 +758,25 @@ class RelationshipTest5(fixtures.MappedTest):
             def __repr__(self):
                 return "Car number %d" % self.car_id
 
-        person_mapper = mapper(
+        person_mapper = self.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=person_mapper,
             polymorphic_identity="engineer",
         )
-        manager_mapper = mapper(
+        manager_mapper = self.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=person_mapper,
             polymorphic_identity="manager",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Car,
             cars,
             properties={
@@ -840,9 +841,9 @@ class RelationshipTest6(fixtures.MappedTest):
     def test_basic(self):
         Person, Manager = self.classes("Person", "Manager")
 
-        mapper(Person, people)
+        self.mapper_registry.map_imperatively(Person, people)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=Person,
@@ -996,20 +997,20 @@ class RelationshipTest7(fixtures.MappedTest):
             "car_join",
         )
 
-        car_mapper = mapper(
+        car_mapper = self.mapper_registry.map_imperatively(
             Car,
             cars,
             with_polymorphic=("*", car_join),
             polymorphic_on=car_join.c.type,
             polymorphic_identity="car",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Offraod_Car,
             offroad_cars,
             inherits=car_mapper,
             polymorphic_identity="offroad",
         )
-        person_mapper = mapper(
+        person_mapper = self.mapper_registry.map_imperatively(
             Person,
             people,
             with_polymorphic=("*", employee_join),
@@ -1017,13 +1018,13 @@ class RelationshipTest7(fixtures.MappedTest):
             polymorphic_identity="person",
             properties={"car": relationship(car_mapper)},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=person_mapper,
             polymorphic_identity="engineer",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=person_mapper,
@@ -1074,7 +1075,7 @@ class RelationshipTest8(fixtures.MappedTest):
         class User(Taggable):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Taggable,
             taggable,
             polymorphic_on=taggable.c.type,
@@ -1088,7 +1089,7 @@ class RelationshipTest8(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             inherits=Taggable,
@@ -1369,8 +1370,8 @@ class GenerativeTest(fixtures.MappedTest, AssertsExecutionResults):
             "employee_join",
         )
 
-        status_mapper = mapper(Status, status)
-        person_mapper = mapper(
+        status_mapper = cls.mapper_registry.map_imperatively(Status, status)
+        person_mapper = cls.mapper_registry.map_imperatively(
             Person,
             people,
             with_polymorphic=("*", employee_join),
@@ -1378,21 +1379,21 @@ class GenerativeTest(fixtures.MappedTest, AssertsExecutionResults):
             polymorphic_identity="person",
             properties={"status": relationship(status_mapper)},
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             with_polymorphic=([Engineer], people.join(engineers)),
             inherits=person_mapper,
             polymorphic_identity="engineer",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Manager,
             managers,
             with_polymorphic=([Manager], people.join(managers)),
             inherits=person_mapper,
             polymorphic_identity="manager",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Car,
             cars,
             properties={
@@ -1568,7 +1569,7 @@ class MultiLevelTest(fixtures.MappedTest):
             "pu_employee",
         )
 
-        mapper_Employee = mapper(
+        mapper_Employee = self.mapper_registry.map_imperatively(
             Employee,
             table_Employee,
             polymorphic_identity="Employee",
@@ -1589,7 +1590,7 @@ class MultiLevelTest(fixtures.MappedTest):
             None,
             "pu_engineer",
         )
-        mapper_Engineer = mapper(
+        mapper_Engineer = self.mapper_registry.map_imperatively(
             Engineer,
             table_Engineer,
             inherit_condition=table_Engineer.c.id == table_Employee.c.id,
@@ -1599,7 +1600,7 @@ class MultiLevelTest(fixtures.MappedTest):
             with_polymorphic=("*", pu_Engineer),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             table_Manager,
             inherit_condition=table_Manager.c.id == table_Engineer.c.id,
@@ -1685,7 +1686,7 @@ class ManyToManyPolyTest(fixtures.MappedTest):
             "item_join",
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             BaseItem,
             base_item_table,
             with_polymorphic=("*", item_join),
@@ -1700,11 +1701,11 @@ class ManyToManyPolyTest(fixtures.MappedTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item, item_table, inherits=BaseItem, polymorphic_identity="Item"
         )
 
-        mapper(Collection, collection_table)
+        self.mapper_registry.map_imperatively(Collection, collection_table)
 
         class_mapper(BaseItem)
 
@@ -1750,7 +1751,7 @@ class CustomPKTest(fixtures.MappedTest):
         d["t2"] = t1.join(t2)
         pjoin = polymorphic_union(d, None, "pjoin")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             polymorphic_on=t1.c.type,
@@ -1758,7 +1759,9 @@ class CustomPKTest(fixtures.MappedTest):
             with_polymorphic=("*", pjoin),
             primary_key=[pjoin.c.id],
         )
-        mapper(T2, t2, inherits=T1, polymorphic_identity="t2")
+        self.mapper_registry.map_imperatively(
+            T2, t2, inherits=T1, polymorphic_identity="t2"
+        )
         ot1 = T1()
         ot2 = T2()
         sess = fixture_session()
@@ -1796,14 +1799,16 @@ class CustomPKTest(fixtures.MappedTest):
         d["t2"] = t1.join(t2)
         pjoin = polymorphic_union(d, None, "pjoin")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             polymorphic_on=t1.c.type,
             polymorphic_identity="t1",
             with_polymorphic=("*", pjoin),
         )
-        mapper(T2, t2, inherits=T1, polymorphic_identity="t2")
+        self.mapper_registry.map_imperatively(
+            T2, t2, inherits=T1, polymorphic_identity="t2"
+        )
         assert len(class_mapper(T1).primary_key) == 1
 
         ot1 = T1()
@@ -1875,7 +1880,7 @@ class InheritingEagerTest(fixtures.MappedTest):
             def __init__(self, label):
                 self.label = label
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c._type,
@@ -1886,13 +1891,13 @@ class InheritingEagerTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Employee,
             employees,
             inherits=Person,
             polymorphic_identity="employee",
         )
-        mapper(Tag, tags)
+        self.mapper_registry.map_imperatively(Tag, tags)
 
         session = fixture_session()
 
@@ -1979,16 +1984,20 @@ class MissingPolymorphicOnTest(fixtures.MappedTest):
             .alias("poly")
         )
 
-        mapper(B, tableb)
-        mapper(
+        self.mapper_registry.map_imperatively(B, tableb)
+        self.mapper_registry.map_imperatively(
             A,
             tablea,
             with_polymorphic=("*", poly_select),
             polymorphic_on=poly_select.c.discriminator,
             properties={"b": relationship(B, uselist=False)},
         )
-        mapper(C, tablec, inherits=A, polymorphic_identity="c")
-        mapper(D, tabled, inherits=C, polymorphic_identity="d")
+        self.mapper_registry.map_imperatively(
+            C, tablec, inherits=A, polymorphic_identity="c"
+        )
+        self.mapper_registry.map_imperatively(
+            D, tabled, inherits=C, polymorphic_identity="d"
+        )
 
         c = C(cdata="c1", adata="a1", b=B(data="c"))
         d = D(cdata="c2", adata="a2", ddata="d2", b=B(data="d"))
@@ -2063,13 +2072,13 @@ class JoinedInhAdjacencyTest(fixtures.MappedTest):
         people, users = self.tables.people, self.tables.users
         Person, User = self.classes.Person, self.classes.User
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             inherits=Person,
@@ -2089,13 +2098,13 @@ class JoinedInhAdjacencyTest(fixtures.MappedTest):
         people, users = self.tables.people, self.tables.users
         Person, User = self.classes.Person, self.classes.User
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             inherits=Person,
@@ -2125,20 +2134,20 @@ class JoinedInhAdjacencyTest(fixtures.MappedTest):
             self.classes.Dude,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             inherits=Person,
             polymorphic_identity="user",
             inherit_condition=(users.c.id == people.c.id),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Dude,
             dudes,
             inherits=User,
index a905d8aff21f6903034631bc04ae3e75fb9f5765..52b362b9efee72c50a3ead93b0fd3da25902e902 100644 (file)
@@ -22,7 +22,6 @@ from sqlalchemy.orm import declarative_base
 from sqlalchemy.orm import deferred
 from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import object_mapper
 from sqlalchemy.orm import polymorphic_union
 from sqlalchemy.orm import relationship
@@ -84,19 +83,19 @@ class O2MTest(fixtures.MappedTest):
             def __repr__(self):
                 return "Foo id %d, data %s" % (self.id, self.data)
 
-        mapper(Foo, foo)
+        self.mapper_registry.map_imperatively(Foo, foo)
 
         class Bar(Foo):
             def __repr__(self):
                 return "Bar id %d, data %s" % (self.id, self.data)
 
-        mapper(Bar, bar, inherits=Foo)
+        self.mapper_registry.map_imperatively(Bar, bar, inherits=Foo)
 
         class Blub(Bar):
             def __repr__(self):
                 return "Blub id %d, data %s" % (self.id, self.data)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Blub,
             blub,
             inherits=Bar,
@@ -370,7 +369,7 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
             "Can't determine polymorphic_on "
             "value 'im not a column' - no "
             "attribute is mapped to this name.",
-            mapper,
+            self.mapper_registry.map_imperatively,
             Parent,
             t2,
             polymorphic_on="im not a column",
@@ -384,7 +383,7 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
             sa_exc.ArgumentError,
             r"Column expression or string key expected for argument "
             r"'polymorphic_on'; got .*function",
-            mapper,
+            self.mapper,
             Parent,
             t2,
             polymorphic_on=lambda: "hi",
@@ -398,7 +397,7 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
 
         def go():
             t1t2_join_2 = select(t1.c.q).select_from(t1.join(t2)).alias()
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Parent,
                 t2,
                 polymorphic_on=t1t2_join.c.x,
@@ -418,7 +417,7 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         Parent = self.classes.Parent
         t1t2_join = select(t1.c.x).select_from(t1.join(t2)).alias()
         # if its in the with_polymorphic, then its OK
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             t2,
             polymorphic_on=t1t2_join.c.x,
@@ -435,7 +434,7 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         # if with_polymorphic, but its not present, not OK
         def go():
             t1t2_join_2 = select(t1.c.q).select_from(t1.join(t2)).alias()
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Parent,
                 t2,
                 polymorphic_on=t1t2_join.c.x,
@@ -455,14 +454,16 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         t2, t1 = self.tables.t2, self.tables.t1
         Parent, Child = self.classes.Parent, self.classes.Child
         expr = case((t1.c.x == "p", "parent"), (t1.c.x == "c", "child"))
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             t1,
             properties={"discriminator": column_property(expr)},
             polymorphic_identity="parent",
             polymorphic_on=expr,
         )
-        mapper(Child, t2, inherits=Parent, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Child, t2, inherits=Parent, polymorphic_identity="child"
+        )
 
         self._roundtrip(parent_ident="p", child_ident="c")
 
@@ -470,8 +471,12 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         t2, t1 = self.tables.t2, self.tables.t1
         Parent, Child = self.classes.Parent, self.classes.Child
         expr = case((t1.c.x == "p", "parent"), (t1.c.x == "c", "child"))
-        mapper(Parent, t1, polymorphic_identity="parent", polymorphic_on=expr)
-        mapper(Child, t2, inherits=Parent, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Parent, t1, polymorphic_identity="parent", polymorphic_on=expr
+        )
+        self.mapper_registry.map_imperatively(
+            Child, t2, inherits=Parent, polymorphic_identity="child"
+        )
 
         self._roundtrip(parent_ident="p", child_ident="c")
 
@@ -481,8 +486,12 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         expr = case((t1.c.x == "p", "parent"), (t1.c.x == "c", "child")).label(
             None
         )
-        mapper(Parent, t1, polymorphic_identity="parent", polymorphic_on=expr)
-        mapper(Child, t2, inherits=Parent, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Parent, t1, polymorphic_identity="parent", polymorphic_on=expr
+        )
+        self.mapper_registry.map_imperatively(
+            Child, t2, inherits=Parent, polymorphic_identity="child"
+        )
 
         self._roundtrip(parent_ident="p", child_ident="c")
 
@@ -492,8 +501,12 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         t1 = self.tables.t1
         Parent, Child = self.classes.Parent, self.classes.Child
         expr = case((t1.c.x == "p", "parent"), (t1.c.x == "c", "child"))
-        mapper(Parent, t1, polymorphic_identity="parent", polymorphic_on=expr)
-        mapper(Child, inherits=Parent, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Parent, t1, polymorphic_identity="parent", polymorphic_on=expr
+        )
+        self.mapper_registry.map_imperatively(
+            Child, inherits=Parent, polymorphic_identity="child"
+        )
 
         self._roundtrip(parent_ident="p", child_ident="c")
 
@@ -505,8 +518,12 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         expr = case((t1.c.x == "p", "parent"), (t1.c.x == "c", "child")).label(
             None
         )
-        mapper(Parent, t1, polymorphic_identity="parent", polymorphic_on=expr)
-        mapper(Child, inherits=Parent, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Parent, t1, polymorphic_identity="parent", polymorphic_on=expr
+        )
+        self.mapper_registry.map_imperatively(
+            Child, inherits=Parent, polymorphic_identity="child"
+        )
 
         self._roundtrip(parent_ident="p", child_ident="c")
 
@@ -515,14 +532,16 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         Parent, Child = self.classes.Parent, self.classes.Child
         expr = case((t1.c.x == "p", "parent"), (t1.c.x == "c", "child"))
         cprop = column_property(expr)
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             t1,
             properties={"discriminator": cprop},
             polymorphic_identity="parent",
             polymorphic_on=cprop,
         )
-        mapper(Child, t2, inherits=Parent, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Child, t2, inherits=Parent, polymorphic_identity="child"
+        )
 
         self._roundtrip(parent_ident="p", child_ident="c")
 
@@ -531,14 +550,16 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         Parent, Child = self.classes.Parent, self.classes.Child
         expr = case((t1.c.x == "p", "parent"), (t1.c.x == "c", "child"))
         cprop = column_property(expr)
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             t1,
             properties={"discriminator": cprop},
             polymorphic_identity="parent",
             polymorphic_on="discriminator",
         )
-        mapper(Child, t2, inherits=Parent, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Child, t2, inherits=Parent, polymorphic_identity="child"
+        )
 
         self._roundtrip(parent_ident="p", child_ident="c")
 
@@ -550,7 +571,7 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
             sa_exc.ArgumentError,
             "Only direct column-mapped property or "
             "SQL expression can be passed for polymorphic_on",
-            mapper,
+            self.mapper_registry.map_imperatively,
             Parent,
             t1,
             properties={"discriminator": cprop, "discrim_syn": synonym(cprop)},
@@ -671,8 +692,12 @@ class FalseDiscriminatorTest(fixtures.MappedTest):
         class Bar(Foo):
             pass
 
-        mapper(Foo, t1, polymorphic_on=t1.c.type, polymorphic_identity=True)
-        mapper(Bar, inherits=Foo, polymorphic_identity=False)
+        self.mapper_registry.map_imperatively(
+            Foo, t1, polymorphic_on=t1.c.type, polymorphic_identity=True
+        )
+        self.mapper_registry.map_imperatively(
+            Bar, inherits=Foo, polymorphic_identity=False
+        )
         sess = fixture_session()
         b1 = Bar()
         sess.add(b1)
@@ -688,8 +713,12 @@ class FalseDiscriminatorTest(fixtures.MappedTest):
         class Bat(Ding):
             pass
 
-        mapper(Ding, t1, polymorphic_on=t1.c.type, polymorphic_identity=False)
-        mapper(Bat, inherits=Ding, polymorphic_identity=True)
+        self.mapper_registry.map_imperatively(
+            Ding, t1, polymorphic_on=t1.c.type, polymorphic_identity=False
+        )
+        self.mapper_registry.map_imperatively(
+            Bat, inherits=Ding, polymorphic_identity=True
+        )
         sess = fixture_session()
         d1 = Ding()
         sess.add(d1)
@@ -732,14 +761,16 @@ class PolymorphicSynonymTest(fixtures.MappedTest):
         class T2(T1):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             polymorphic_on=t1.c.type,
             polymorphic_identity="t1",
             properties={"info": synonym("_info", map_column=True)},
         )
-        mapper(T2, t2, inherits=T1, polymorphic_identity="t2")
+        self.mapper_registry.map_imperatively(
+            T2, t2, inherits=T1, polymorphic_identity="t2"
+        )
         sess = fixture_session()
         at1 = T1(info="at1")
         at2 = T2(info="at2", data="t2 data")
@@ -781,12 +812,6 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
 
     @classmethod
     def setup_classes(cls):
-        table_b, table_c, table_a = (
-            cls.tables.table_b,
-            cls.tables.table_c,
-            cls.tables.table_a,
-        )
-
         class A(cls.Basic):
             pass
 
@@ -799,13 +824,21 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
         class D(B):
             pass
 
-        mapper(
+    @classmethod
+    def setup_mappers(cls):
+        A, B, C, D = cls.classes("A", "B", "C", "D")
+        table_b, table_c, table_a = (
+            cls.tables.table_b,
+            cls.tables.table_c,
+            cls.tables.table_a,
+        )
+        cls.mapper_registry.map_imperatively(
             A,
             table_a,
             polymorphic_on=table_a.c.class_name,
             polymorphic_identity="a",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             B,
             table_b,
             inherits=A,
@@ -815,8 +848,12 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
                 class_name=[table_a.c.class_name, table_b.c.class_name]
             ),
         )
-        mapper(C, table_c, inherits=B, polymorphic_identity="c")
-        mapper(D, inherits=B, polymorphic_identity="d")
+        cls.mapper_registry.map_imperatively(
+            C, table_c, inherits=B, polymorphic_identity="c"
+        )
+        cls.mapper_registry.map_imperatively(
+            D, inherits=B, polymorphic_identity="d"
+        )
 
     def test_poly_configured_immediate(self):
         A, C, B = (self.classes.A, self.classes.C, self.classes.B)
@@ -997,16 +1034,20 @@ class CascadeTest(fixtures.MappedTest):
         class T4(fixtures.BasicEntity):
             pass
 
-        mapper(T1, t1, properties={"t2s": relationship(T2, cascade="all")})
-        mapper(T2, t2, polymorphic_on=t2.c.type, polymorphic_identity="t2")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            T1, t1, properties={"t2s": relationship(T2, cascade="all")}
+        )
+        self.mapper_registry.map_imperatively(
+            T2, t2, polymorphic_on=t2.c.type, polymorphic_identity="t2"
+        )
+        self.mapper_registry.map_imperatively(
             T3,
             t3,
             inherits=T2,
             polymorphic_identity="t3",
             properties={"t4s": relationship(T4, cascade="all")},
         )
-        mapper(T4, t4)
+        self.mapper_registry.map_imperatively(T4, t4)
 
         sess = fixture_session()
         t1_1 = T1(data="t1")
@@ -1072,11 +1113,13 @@ class M2OUseGetTest(fixtures.MappedTest):
         class Related(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="b"
         )
-        mapper(Sub, sub, inherits=Base, polymorphic_identity="s")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Sub, sub, inherits=Base, polymorphic_identity="s"
+        )
+        self.mapper_registry.map_imperatively(
             Related,
             related,
             properties={
@@ -1170,15 +1213,19 @@ class GetTest(fixtures.MappedTest):
         )
 
         if polymorphic:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Foo, foo, polymorphic_on=foo.c.type, polymorphic_identity="foo"
             )
-            mapper(Bar, bar, inherits=Foo, polymorphic_identity="bar")
-            mapper(Blub, blub, inherits=Bar, polymorphic_identity="blub")
+            self.mapper_registry.map_imperatively(
+                Bar, bar, inherits=Foo, polymorphic_identity="bar"
+            )
+            self.mapper_registry.map_imperatively(
+                Blub, blub, inherits=Bar, polymorphic_identity="blub"
+            )
         else:
-            mapper(Foo, foo)
-            mapper(Bar, bar, inherits=Foo)
-            mapper(Blub, blub, inherits=Bar)
+            self.mapper_registry.map_imperatively(Foo, foo)
+            self.mapper_registry.map_imperatively(Bar, bar, inherits=Foo)
+            self.mapper_registry.map_imperatively(Blub, blub, inherits=Bar)
 
         sess = fixture_session()
         f = Foo()
@@ -1268,8 +1315,8 @@ class EagerLazyTest(fixtures.MappedTest):
         class Bar(Foo):
             pass
 
-        foos = mapper(Foo, foo)
-        bars = mapper(Bar, bar, inherits=foos)
+        foos = cls.mapper_registry.map_imperatively(Foo, foo)
+        bars = cls.mapper_registry.map_imperatively(Bar, bar, inherits=foos)
         bars.add_property("lazy", relationship(foos, bar_foo, lazy="select"))
         bars.add_property(
             "eager", relationship(foos, bar_foo, lazy="joined", viewonly=True)
@@ -1331,7 +1378,7 @@ class EagerTargetingTest(fixtures.MappedTest):
         class B(A):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a_table,
             polymorphic_on=a_table.c.type,
@@ -1339,7 +1386,7 @@ class EagerTargetingTest(fixtures.MappedTest):
             properties={"children": relationship(A, order_by=a_table.c.name)},
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b_table,
             inherits=A,
@@ -1442,8 +1489,8 @@ class FlushTest(fixtures.MappedTest):
         class Admin(User):
             pass
 
-        mapper(Role, roles)
-        user_mapper = mapper(
+        self.mapper_registry.map_imperatively(Role, roles)
+        user_mapper = self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1452,7 +1499,9 @@ class FlushTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Admin, admins, inherits=user_mapper)
+        self.mapper_registry.map_imperatively(
+            Admin, admins, inherits=user_mapper
+        )
         sess = fixture_session()
         adminrole = Role()
         sess.add(adminrole)
@@ -1490,8 +1539,8 @@ class FlushTest(fixtures.MappedTest):
         class Admin(User):
             pass
 
-        mapper(Role, roles)
-        user_mapper = mapper(
+        self.mapper_registry.map_imperatively(Role, roles)
+        user_mapper = self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1501,7 +1550,9 @@ class FlushTest(fixtures.MappedTest):
             },
         )
 
-        mapper(Admin, admins, inherits=user_mapper)
+        self.mapper_registry.map_imperatively(
+            Admin, admins, inherits=user_mapper
+        )
 
         # create roles
         adminrole = Role("admin")
@@ -1566,15 +1617,19 @@ class PassiveDeletesTest(fixtures.MappedTest):
         A, B, C = self.classes("A", "B", "C")
         a, b, c = self.tables("a", "b", "c")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             passive_deletes=a_p,
             polymorphic_on=a.c.type,
             polymorphic_identity="a",
         )
-        mapper(B, b, inherits=A, passive_deletes=b_p, polymorphic_identity="b")
-        mapper(C, c, inherits=B, passive_deletes=c_p, polymorphic_identity="c")
+        self.mapper_registry.map_imperatively(
+            B, b, inherits=A, passive_deletes=b_p, polymorphic_identity="b"
+        )
+        self.mapper_registry.map_imperatively(
+            C, c, inherits=B, passive_deletes=c_p, polymorphic_identity="c"
+        )
 
     def test_none(self):
         A, B, C = self.classes("A", "B", "C")
@@ -1753,8 +1808,8 @@ class OptimizedGetOnDeferredTest(fixtures.MappedTest):
         A, B = cls.classes("A", "B")
         a, b = cls.tables("a", "b")
 
-        mapper(A, a)
-        mapper(
+        cls.mapper_registry.map_imperatively(A, a)
+        cls.mapper_registry.map_imperatively(
             B,
             b,
             inherits=A,
@@ -1811,15 +1866,15 @@ class JoinedNoFKSortingTest(fixtures.MappedTest):
     @classmethod
     def setup_mappers(cls):
         A, B, C = cls.classes.A, cls.classes.B, cls.classes.C
-        mapper(A, cls.tables.a)
-        mapper(
+        cls.mapper_registry.map_imperatively(A, cls.tables.a)
+        cls.mapper_registry.map_imperatively(
             B,
             cls.tables.b,
             inherits=A,
             inherit_condition=cls.tables.a.c.id == cls.tables.b.c.id,
             inherit_foreign_keys=cls.tables.b.c.id,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C,
             cls.tables.c,
             inherits=A,
@@ -1906,8 +1961,8 @@ class VersioningTest(fixtures.MappedTest):
         class Stuff(Base):
             pass
 
-        mapper(Stuff, stuff)
-        mapper(
+        self.mapper_registry.map_imperatively(Stuff, stuff)
+        self.mapper_registry.map_imperatively(
             Base,
             base,
             polymorphic_on=base.c.discriminator,
@@ -1915,7 +1970,9 @@ class VersioningTest(fixtures.MappedTest):
             polymorphic_identity=1,
             properties={"stuff": relationship(Stuff)},
         )
-        mapper(Sub, subtable, inherits=Base, polymorphic_identity=2)
+        self.mapper_registry.map_imperatively(
+            Sub, subtable, inherits=Base, polymorphic_identity=2
+        )
 
         sess = fixture_session(autoflush=False)
 
@@ -1966,14 +2023,16 @@ class VersioningTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base,
             base,
             polymorphic_on=base.c.discriminator,
             version_id_col=base.c.version_id,
             polymorphic_identity=1,
         )
-        mapper(Sub, subtable, inherits=Base, polymorphic_identity=2)
+        self.mapper_registry.map_imperatively(
+            Sub, subtable, inherits=Base, polymorphic_identity=2
+        )
 
         sess = fixture_session(autoflush=False, expire_on_commit=False)
 
@@ -2053,13 +2112,19 @@ class DistinctPKTest(fixtures.MappedTest):
         )  # bob
 
     def test_implicit(self):
-        person_mapper = mapper(Person, person_table)
-        mapper(Employee, employee_table, inherits=person_mapper)
+        person_mapper = self.mapper_registry.map_imperatively(
+            Person, person_table
+        )
+        self.mapper_registry.map_imperatively(
+            Employee, employee_table, inherits=person_mapper
+        )
         assert list(class_mapper(Employee).primary_key) == [person_table.c.id]
 
     def test_explicit_props(self):
-        person_mapper = mapper(Person, person_table)
-        mapper(
+        person_mapper = self.mapper_registry.map_imperatively(
+            Person, person_table
+        )
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_table,
             inherits=person_mapper,
@@ -2068,8 +2133,10 @@ class DistinctPKTest(fixtures.MappedTest):
         self._do_test(False)
 
     def test_explicit_composite_pk(self):
-        person_mapper = mapper(Person, person_table)
-        mapper(
+        person_mapper = self.mapper_registry.map_imperatively(
+            Person, person_table
+        )
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_table,
             inherits=person_mapper,
@@ -2088,8 +2155,10 @@ class DistinctPKTest(fixtures.MappedTest):
         )
 
     def test_explicit_pk(self):
-        person_mapper = mapper(Person, person_table)
-        mapper(
+        person_mapper = self.mapper_registry.map_imperatively(
+            Person, person_table
+        )
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_table,
             inherits=person_mapper,
@@ -2173,9 +2242,13 @@ class SyncCompileTest(fixtures.MappedTest):
         class C(B):
             pass
 
-        mapper(A, _a_table)
-        mapper(B, _b_table, inherits=A, inherit_condition=j1)
-        mapper(C, _c_table, inherits=B, inherit_condition=j2)
+        self.mapper_registry.map_imperatively(A, _a_table)
+        self.mapper_registry.map_imperatively(
+            B, _b_table, inherits=A, inherit_condition=j1
+        )
+        self.mapper_registry.map_imperatively(
+            C, _c_table, inherits=B, inherit_condition=j2
+        )
 
         session = fixture_session()
 
@@ -2243,8 +2316,8 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(Base, base)
-        mapper(Sub, subtable, inherits=Base)
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(Sub, subtable, inherits=Base)
 
         # Sub gets a "base_id" property using the "base_id"
         # column of both tables.
@@ -2264,8 +2337,10 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(Base, base, properties={"id": base.c.base_id})
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Base, base, properties={"id": base.c.base_id}
+        )
+        self.mapper_registry.map_imperatively(
             Sub,
             subtable,
             inherits=Base,
@@ -2295,8 +2370,10 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(Base, base, properties={"id": base.c.base_id})
-        mapper(Sub, subtable, inherits=Base)
+        self.mapper_registry.map_imperatively(
+            Base, base, properties={"id": base.c.base_id}
+        )
+        self.mapper_registry.map_imperatively(Sub, subtable, inherits=Base)
 
         eq_(class_mapper(Sub).get_property("id").columns, [base.c.base_id])
 
@@ -2332,10 +2409,12 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(Base, base, properties={"id": base.c.base_id})
+        self.mapper_registry.map_imperatively(
+            Base, base, properties={"id": base.c.base_id}
+        )
 
         def go():
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Sub,
                 subtable,
                 inherits=Base,
@@ -2355,10 +2434,12 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(Base, base)
+        self.mapper_registry.map_imperatively(Base, base)
 
         def go():
-            mapper(Sub, subtable_two, inherits=Base)
+            self.mapper_registry.map_imperatively(
+                Sub, subtable_two, inherits=Base
+            )
 
         assert_raises_message(
             sa_exc.SAWarning,
@@ -2379,8 +2460,8 @@ class OverrideColKeyTest(fixtures.MappedTest):
             def data(self):
                 return "im the data"
 
-        mapper(Base, base)
-        mapper(Sub, subtable, inherits=Base)
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(Sub, subtable, inherits=Base)
 
         s1 = Sub()
         sess = fixture_session()
@@ -2404,8 +2485,8 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             data = MyDesc()
 
-        mapper(Base, base)
-        mapper(Sub, subtable, inherits=Base)
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(Sub, subtable, inherits=Base)
 
         s1 = Sub()
         sess = fixture_session()
@@ -2422,8 +2503,8 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(Base, base)
-        mapper(Sub, subtable, inherits=Base)
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(Sub, subtable, inherits=Base)
 
         sess = fixture_session()
         b1 = Base()
@@ -2448,8 +2529,8 @@ class OverrideColKeyTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(Base, base)
-        mapper(Sub, subtable, inherits=Base)
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(Sub, subtable, inherits=Base)
 
         sess = fixture_session()
         b1 = Base()
@@ -2514,8 +2595,8 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class SubJoinBase(JoinBase):
             pass
 
-        mapper(Base, base)
-        mapper(
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(
             JoinBase,
             base.outerjoin(sub),
             properties=util.OrderedDict(
@@ -2525,7 +2606,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
                 ]
             ),
         )
-        mapper(SubJoinBase, inherits=JoinBase)
+        self.mapper_registry.map_imperatively(SubJoinBase, inherits=JoinBase)
 
         sess = fixture_session()
         sess.add(Base(data="data"))
@@ -2580,11 +2661,11 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Sub,
             sub,
             inherits=Base,
@@ -2627,13 +2708,13 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
 
         # redefine Sub's "id" to favor the "id" col in the subtable.
         # "id" is also part of the primary join condition
-        mapper(
+        self.mapper_registry.map_imperatively(
             Sub,
             sub,
             inherits=Base,
@@ -2663,10 +2744,10 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Sub,
             sub,
             inherits=Base,
@@ -2692,10 +2773,10 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Sub,
             sub,
             inherits=Base,
@@ -2744,10 +2825,10 @@ class OptimizedLoadTest(fixtures.MappedTest):
             def __eq__(self, other):
                 return (self.a == other.a) and (self.b == other.b)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             WithComp,
             with_comp,
             inherits=Base,
@@ -2775,10 +2856,12 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
-        mapper(Sub, sub, inherits=Base, polymorphic_identity="sub")
+        self.mapper_registry.map_imperatively(
+            Sub, sub, inherits=Base, polymorphic_identity="sub"
+        )
         sess = fixture_session()
         s1 = Sub(data="s1")
         sess.add(s1)
@@ -2819,10 +2902,12 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class Sub(Base):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
-        m = mapper(Sub, sub, inherits=Base, polymorphic_identity="sub")
+        m = self.mapper_registry.map_imperatively(
+            Sub, sub, inherits=Base, polymorphic_identity="sub"
+        )
 
         s1 = Sub()
         assert (
@@ -2868,11 +2953,15 @@ class OptimizedLoadTest(fixtures.MappedTest):
         class SubSub(Sub):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
         )
-        mapper(Sub, sub, inherits=Base, polymorphic_identity="sub")
-        mapper(SubSub, subsub, inherits=Sub, polymorphic_identity="subsub")
+        self.mapper_registry.map_imperatively(
+            Sub, sub, inherits=Base, polymorphic_identity="sub"
+        )
+        self.mapper_registry.map_imperatively(
+            SubSub, subsub, inherits=Sub, polymorphic_identity="subsub"
+        )
         sess = fixture_session()
         s1 = SubSub(data="s1", counter=1, subcounter=2)
         sess.add(s1)
@@ -2919,7 +3008,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
         )
 
 
-class NoPKOnSubTableWarningTest(fixtures.TestBase):
+class NoPKOnSubTableWarningTest(fixtures.MappedTest):
     def _fixture(self):
         metadata = MetaData()
         parent = Table(
@@ -2930,9 +3019,6 @@ class NoPKOnSubTableWarningTest(fixtures.TestBase):
         )
         return parent, child
 
-    def teardown_test(self):
-        clear_mappers()
-
     def test_warning_on_sub(self):
         parent, child = self._fixture()
 
@@ -2942,12 +3028,12 @@ class NoPKOnSubTableWarningTest(fixtures.TestBase):
         class C(P):
             pass
 
-        mapper(P, parent)
+        self.mapper_registry.map_imperatively(P, parent)
         assert_raises_message(
             sa_exc.SAWarning,
             "Could not assemble any primary keys for locally mapped "
             "table 'child' - no rows will be persisted in this Table.",
-            mapper,
+            self.mapper_registry.map_imperatively,
             C,
             child,
             inherits=P,
@@ -2962,12 +3048,14 @@ class NoPKOnSubTableWarningTest(fixtures.TestBase):
         class C(P):
             pass
 
-        mapper(P, parent)
-        mc = mapper(C, child, inherits=P, primary_key=[parent.c.id])
+        self.mapper_registry.map_imperatively(P, parent)
+        mc = self.mapper_registry.map_imperatively(
+            C, child, inherits=P, primary_key=[parent.c.id]
+        )
         eq_(mc.primary_key, (parent.c.id,))
 
 
-class InhCondTest(fixtures.TestBase):
+class InhCondTest(fixtures.MappedTest):
     def test_inh_cond_nonexistent_table_unrelated(self):
         metadata = MetaData()
         base_table = Table(
@@ -2986,9 +3074,11 @@ class InhCondTest(fixtures.TestBase):
         class Derived(Base):
             pass
 
-        mapper(Base, base_table)
+        self.mapper_registry.map_imperatively(Base, base_table)
         # succeeds, despite "owner" table not configured yet
-        m2 = mapper(Derived, derived_table, inherits=Base)
+        m2 = self.mapper_registry.map_imperatively(
+            Derived, derived_table, inherits=Base
+        )
         assert m2.inherit_condition.compare(
             base_table.c.id == derived_table.c.id
         )
@@ -3010,10 +3100,12 @@ class InhCondTest(fixtures.TestBase):
         class Derived(Base):
             pass
 
-        mapper(Base, base_table)
+        self.mapper_registry.map_imperatively(Base, base_table)
 
         # succeeds, despite "order.foo" doesn't exist
-        m2 = mapper(Derived, derived_table, inherits=Base)
+        m2 = self.mapper_registry.map_imperatively(
+            Derived, derived_table, inherits=Base
+        )
         assert m2.inherit_condition.compare(
             base_table.c.id == derived_table.c.id
         )
@@ -3033,7 +3125,7 @@ class InhCondTest(fixtures.TestBase):
         class Derived(Base):
             pass
 
-        mapper(Base, base_table)
+        self.mapper_registry.map_imperatively(Base, base_table)
         assert_raises_message(
             sa_exc.NoForeignKeysError,
             "Can't determine the inherit condition between inherited table "
@@ -3042,7 +3134,7 @@ class InhCondTest(fixtures.TestBase):
             "table has a foreign key relationship to the inherited table, "
             "or provide an 'on clause' using the 'inherit_condition' "
             "mapper argument.",
-            mapper,
+            self.mapper,
             Derived,
             derived_table,
             inherits=Base,
@@ -3068,14 +3160,14 @@ class InhCondTest(fixtures.TestBase):
         class Derived(Base):
             pass
 
-        mapper(Base, base_table)
+        self.mapper(Base, base_table)
         assert_raises_message(
             sa_exc.AmbiguousForeignKeysError,
             "Can't determine the inherit condition between inherited table "
             "'base' and inheriting table 'derived'; tables have more than "
             "one foreign key relationship established.  Please specify the "
             "'on clause' using the 'inherit_condition' mapper argument.",
-            mapper,
+            self.mapper,
             Derived,
             derived_table,
             inherits=Base,
@@ -3097,7 +3189,8 @@ class InhCondTest(fixtures.TestBase):
         class Derived(Base):
             pass
 
-        mapper(Base, base_table)
+        clear_mappers()
+        self.mapper_registry.map_imperatively(Base, base_table)
 
         # the ForeignKey def is correct but there are two
         # different metadatas.  Would like the traditional
@@ -3108,7 +3201,7 @@ class InhCondTest(fixtures.TestBase):
             "Foreign key associated with column 'derived.id' "
             "could not find table 'base' with which to generate "
             "a foreign key to target column 'id'",
-            mapper,
+            self.mapper,
             Derived,
             derived_table,
             inherits=Base,
@@ -3129,14 +3222,15 @@ class InhCondTest(fixtures.TestBase):
         class Derived(Base):
             pass
 
-        mapper(Base, base_table)
+        clear_mappers()
+        self.mapper_registry.map_imperatively(Base, base_table)
 
         assert_raises_message(
             sa_exc.NoReferencedColumnError,
             "Could not initialize target column for ForeignKey "
             "'base.q' on table "
             "'derived': table 'base' has no column named 'q'",
-            mapper,
+            self.mapper,
             Derived,
             derived_table,
             inherits=Base,
@@ -3177,19 +3271,21 @@ class PKDiscriminatorTest(fixtures.MappedTest):
         class A(Child):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parents,
             properties={"children": relationship(Child, backref="parent")},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Child,
             children,
             polymorphic_on=children.c.type,
             polymorphic_identity=1,
         )
 
-        mapper(A, inherits=Child, polymorphic_identity=2)
+        self.mapper_registry.map_imperatively(
+            A, inherits=Child, polymorphic_identity=2
+        )
 
         s = fixture_session()
         p = Parent("p1")
@@ -3250,11 +3346,19 @@ class NoPolyIdentInMiddleTest(fixtures.MappedTest):
             cls.tables.base,
         )
 
-        mapper(A, base, polymorphic_on=base.c.type)
-        mapper(B, inherits=A)
-        mapper(C, inherits=B, polymorphic_identity="c")
-        mapper(D, inherits=B, polymorphic_identity="d")
-        mapper(E, inherits=A, polymorphic_identity="e")
+        cls.mapper_registry.map_imperatively(
+            A, base, polymorphic_on=base.c.type
+        )
+        cls.mapper_registry.map_imperatively(B, inherits=A)
+        cls.mapper_registry.map_imperatively(
+            C, inherits=B, polymorphic_identity="c"
+        )
+        cls.mapper_registry.map_imperatively(
+            D, inherits=B, polymorphic_identity="d"
+        )
+        cls.mapper_registry.map_imperatively(
+            E, inherits=A, polymorphic_identity="e"
+        )
 
     def test_load_from_middle(self):
         C, B = self.classes.C, self.classes.B
@@ -3338,14 +3442,16 @@ class DeleteOrphanTest(fixtures.MappedTest):
         class Parent(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base,
             single,
             polymorphic_on=single.c.type,
             polymorphic_identity="base",
         )
-        mapper(SubClass, inherits=Base, polymorphic_identity="sub")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            SubClass, inherits=Base, polymorphic_identity="sub"
+        )
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -3632,12 +3738,12 @@ class NameConflictTest(fixtures.MappedTest):
         class Foo(Content):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Content,
             self.tables.content,
             polymorphic_on=self.tables.content.c.type,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo, self.tables.foo, inherits=Content, polymorphic_identity="foo"
         )
         sess = fixture_session()
index de0c72f68f67213452d0233f67bc9433858dbdde..63a170581762402252653f3a9ea83af16d99dc34 100644 (file)
@@ -8,7 +8,6 @@ from sqlalchemy.orm import class_mapper
 from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import polymorphic_union
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import assert_raises
@@ -149,15 +148,17 @@ class ConcreteTest(fixtures.MappedTest):
             "type",
             "pjoin",
         )
-        employee_mapper = mapper(Employee, pjoin, polymorphic_on=pjoin.c.type)
-        mapper(
+        employee_mapper = self.mapper_registry.map_imperatively(
+            Employee, pjoin, polymorphic_on=pjoin.c.type
+        )
+        self.mapper_registry.map_imperatively(
             Manager,
             managers_table,
             inherits=employee_mapper,
             concrete=True,
             polymorphic_identity="manager",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineers_table,
             inherits=employee_mapper,
@@ -200,15 +201,17 @@ class ConcreteTest(fixtures.MappedTest):
             "type",
             "pjoin2",
         )
-        employee_mapper = mapper(Employee, pjoin, polymorphic_on=pjoin.c.type)
-        mapper(
+        employee_mapper = self.mapper_registry.map_imperatively(
+            Employee, pjoin, polymorphic_on=pjoin.c.type
+        )
+        self.mapper_registry.map_imperatively(
             Manager,
             managers_table,
             inherits=employee_mapper,
             concrete=True,
             polymorphic_identity="manager",
         )
-        engineer_mapper = mapper(
+        engineer_mapper = self.mapper_registry.map_imperatively(
             Engineer,
             engineers_table,
             with_polymorphic=("*", pjoin2),
@@ -217,7 +220,7 @@ class ConcreteTest(fixtures.MappedTest):
             concrete=True,
             polymorphic_identity="engineer",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Hacker,
             hackers_table,
             inherits=engineer_mapper,
@@ -331,15 +334,17 @@ class ConcreteTest(fixtures.MappedTest):
                 test_calls.engineer_info_class()
                 return cls.manager_data
 
-        employee_mapper = mapper(Employee, pjoin, polymorphic_on=pjoin.c.type)
-        mapper(
+        employee_mapper = self.mapper_registry.map_imperatively(
+            Employee, pjoin, polymorphic_on=pjoin.c.type
+        )
+        self.mapper_registry.map_imperatively(
             ManagerWHybrid,
             managers_table,
             inherits=employee_mapper,
             concrete=True,
             polymorphic_identity="manager",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineers_table,
             inherits=employee_mapper,
@@ -392,20 +397,20 @@ class ConcreteTest(fixtures.MappedTest):
             "type",
             "pjoin2",
         )
-        employee_mapper = mapper(
+        employee_mapper = self.mapper_registry.map_imperatively(
             Employee,
             employees_table,
             with_polymorphic=("*", pjoin),
             polymorphic_on=pjoin.c.type,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers_table,
             inherits=employee_mapper,
             concrete=True,
             polymorphic_identity="manager",
         )
-        engineer_mapper = mapper(
+        engineer_mapper = self.mapper_registry.map_imperatively(
             Engineer,
             engineers_table,
             with_polymorphic=("*", pjoin2),
@@ -414,7 +419,7 @@ class ConcreteTest(fixtures.MappedTest):
             concrete=True,
             polymorphic_identity="engineer",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Hacker,
             hackers_table,
             inherits=engineer_mapper,
@@ -484,24 +489,24 @@ class ConcreteTest(fixtures.MappedTest):
             "type",
             "pjoin2",
         )
-        employee_mapper = mapper(
+        employee_mapper = self.mapper_registry.map_imperatively(
             Employee, employees_table, polymorphic_identity="employee"
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers_table,
             inherits=employee_mapper,
             concrete=True,
             polymorphic_identity="manager",
         )
-        engineer_mapper = mapper(
+        engineer_mapper = self.mapper_registry.map_imperatively(
             Engineer,
             engineers_table,
             inherits=employee_mapper,
             concrete=True,
             polymorphic_identity="engineer",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Hacker,
             hackers_table,
             inherits=engineer_mapper,
@@ -613,20 +618,22 @@ class ConcreteTest(fixtures.MappedTest):
             "type",
             "pjoin",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"employees": relationship(Employee)},
         )
-        employee_mapper = mapper(Employee, pjoin, polymorphic_on=pjoin.c.type)
-        mapper(
+        employee_mapper = self.mapper_registry.map_imperatively(
+            Employee, pjoin, polymorphic_on=pjoin.c.type
+        )
+        self.mapper_registry.map_imperatively(
             Manager,
             managers_table,
             inherits=employee_mapper,
             concrete=True,
             polymorphic_identity="manager",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineers_table,
             inherits=employee_mapper,
@@ -732,24 +739,36 @@ class PropertyInheritanceTest(fixtures.MappedTest):
             self.tables.dest_table,
         )
 
-        mapper(A, a_table, properties={"some_dest": relationship(Dest)})
-        mapper(B, b_table, inherits=A, concrete=True)
-        mapper(Dest, dest_table)
+        self.mapper_registry.map_imperatively(
+            A, a_table, properties={"some_dest": relationship(Dest)}
+        )
+        self.mapper_registry.map_imperatively(
+            B, b_table, inherits=A, concrete=True
+        )
+        self.mapper_registry.map_imperatively(Dest, dest_table)
         b = B()
         dest = Dest()
         assert_raises(AttributeError, setattr, b, "some_dest", dest)
         clear_mappers()
 
-        mapper(A, a_table, properties={"a_id": a_table.c.id})
-        mapper(B, b_table, inherits=A, concrete=True)
-        mapper(Dest, dest_table)
+        self.mapper_registry.map_imperatively(
+            A, a_table, properties={"a_id": a_table.c.id}
+        )
+        self.mapper_registry.map_imperatively(
+            B, b_table, inherits=A, concrete=True
+        )
+        self.mapper_registry.map_imperatively(Dest, dest_table)
         b = B()
         assert_raises(AttributeError, setattr, b, "a_id", 3)
         clear_mappers()
 
-        mapper(A, a_table, properties={"a_id": a_table.c.id})
-        mapper(B, b_table, inherits=A, concrete=True)
-        mapper(Dest, dest_table)
+        self.mapper_registry.map_imperatively(
+            A, a_table, properties={"a_id": a_table.c.id}
+        )
+        self.mapper_registry.map_imperatively(
+            B, b_table, inherits=A, concrete=True
+        )
+        self.mapper_registry.map_imperatively(Dest, dest_table)
 
     def test_inheriting(self):
         A, B, b_table, a_table, Dest, dest_table = (
@@ -761,14 +780,14 @@ class PropertyInheritanceTest(fixtures.MappedTest):
             self.tables.dest_table,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a_table,
             properties={
                 "some_dest": relationship(Dest, back_populates="many_a")
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b_table,
             inherits=A,
@@ -778,7 +797,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Dest,
             dest_table,
             properties={
@@ -817,9 +836,11 @@ class PropertyInheritanceTest(fixtures.MappedTest):
         )
 
         # test issue #3630, no error or warning is generated
-        mapper(A, a_table)
-        mapper(B, b_table, inherits=A, concrete=True)
-        mapper(
+        self.mapper_registry.map_imperatively(A, a_table)
+        self.mapper_registry.map_imperatively(
+            B, b_table, inherits=A, concrete=True
+        )
+        self.mapper_registry.map_imperatively(
             Dest,
             dest_table,
             properties={
@@ -841,17 +862,17 @@ class PropertyInheritanceTest(fixtures.MappedTest):
 
         # this is the opposite mapping as that of #3630, never generated
         # an error / warning
-        mapper(
+        self.mapper_registry.map_imperatively(
             A, a_table, properties={"dest": relationship(Dest, backref="a")}
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b_table,
             inherits=A,
             concrete=True,
             properties={"dest": relationship(Dest, backref="a1")},
         )
-        mapper(Dest, dest_table)
+        self.mapper_registry.map_imperatively(Dest, dest_table)
         configure_mappers()
 
     def test_polymorphic_backref(self):
@@ -872,7 +893,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
         ajoin = polymorphic_union(
             {"a": a_table, "b": b_table, "c": c_table}, "type", "ajoin"
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a_table,
             with_polymorphic=("*", ajoin),
@@ -882,7 +903,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
                 "some_dest": relationship(Dest, back_populates="many_a")
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b_table,
             inherits=A,
@@ -893,7 +914,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C,
             c_table,
             inherits=A,
@@ -904,7 +925,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Dest,
             dest_table,
             properties={
@@ -973,7 +994,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
         ajoin = polymorphic_union(
             {"a": a_table, "b": b_table, "c": c_table}, "type", "ajoin"
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a_table,
             with_polymorphic=("*", ajoin),
@@ -983,7 +1004,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
                 "some_dest": relationship(Dest, back_populates="many_a")
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b_table,
             inherits=A,
@@ -994,7 +1015,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C,
             c_table,
             inherits=A,
@@ -1005,7 +1026,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Dest,
             dest_table,
             properties={
@@ -1106,7 +1127,7 @@ class ManyToManyTest(fixtures.MappedTest):
             self.classes.Sub,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base,
             base,
             properties={
@@ -1118,7 +1139,7 @@ class ManyToManyTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Sub,
             sub,
             inherits=Base,
@@ -1132,7 +1153,7 @@ class ManyToManyTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Related, related)
+        self.mapper_registry.map_imperatively(Related, related)
         sess = fixture_session()
         b1, s1, r1, r2, r3 = Base(), Sub(), Related(), Related(), Related()
         b1.related.append(r1)
@@ -1205,20 +1226,20 @@ class ColKeysTest(fixtures.MappedTest):
         class Office(Location):
             pass
 
-        location_mapper = mapper(
+        location_mapper = self.mapper_registry.map_imperatively(
             Location,
             pjoin,
             polymorphic_on=pjoin.c.type,
             polymorphic_identity="location",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Office,
             offices_table,
             inherits=location_mapper,
             concrete=True,
             polymorphic_identity="office",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Refugee,
             refugees_table,
             inherits=location_mapper,
index 7f347e40f92487396ad675247febadb380db1baf..f692b5f86c9e044b097be6937b88f8848b3b020b 100644 (file)
@@ -7,7 +7,6 @@ from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy import Text
 from sqlalchemy.orm import backref
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import polymorphic_union
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
@@ -196,9 +195,11 @@ class MagazineTest(fixtures.MappedTest):
             "MagazinePage",
             "ClassifiedPage",
         )
-        mapper(Publication, self.tables.publication)
+        self.mapper_registry.map_imperatively(
+            Publication, self.tables.publication
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Issue,
             self.tables.issue,
             properties={
@@ -209,9 +210,11 @@ class MagazineTest(fixtures.MappedTest):
             },
         )
 
-        mapper(LocationName, self.tables.location_name)
+        self.mapper_registry.map_imperatively(
+            LocationName, self.tables.location_name
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Location,
             self.tables.location,
             properties={
@@ -227,9 +230,9 @@ class MagazineTest(fixtures.MappedTest):
             },
         )
 
-        mapper(PageSize, self.tables.page_size)
+        self.mapper_registry.map_imperatively(PageSize, self.tables.page_size)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Magazine,
             self.tables.magazine,
             properties={
@@ -254,7 +257,7 @@ class MagazineTest(fixtures.MappedTest):
                 None,
                 "page_join",
             )
-            page_mapper = mapper(
+            page_mapper = self.mapper_registry.map_imperatively(
                 Page,
                 self.tables.page,
                 with_polymorphic=("*", page_join),
@@ -265,7 +268,7 @@ class MagazineTest(fixtures.MappedTest):
             page_join = self.tables.page.outerjoin(
                 self.tables.magazine_page
             ).outerjoin(self.tables.classified_page)
-            page_mapper = mapper(
+            page_mapper = self.mapper_registry.map_imperatively(
                 Page,
                 self.tables.page,
                 with_polymorphic=("*", page_join),
@@ -273,7 +276,7 @@ class MagazineTest(fixtures.MappedTest):
                 polymorphic_identity="p",
             )
         else:
-            page_mapper = mapper(
+            page_mapper = self.mapper_registry.map_imperatively(
                 Page,
                 self.tables.page,
                 polymorphic_on=self.tables.page.c.type,
@@ -291,7 +294,7 @@ class MagazineTest(fixtures.MappedTest):
                 None,
                 "page_join",
             )
-            magazine_page_mapper = mapper(
+            magazine_page_mapper = self.mapper_registry.map_imperatively(
                 MagazinePage,
                 self.tables.magazine_page,
                 with_polymorphic=("*", magazine_join),
@@ -310,7 +313,7 @@ class MagazineTest(fixtures.MappedTest):
             magazine_join = self.tables.page.join(
                 self.tables.magazine_page
             ).outerjoin(self.tables.classified_page)
-            magazine_page_mapper = mapper(
+            magazine_page_mapper = self.mapper_registry.map_imperatively(
                 MagazinePage,
                 self.tables.magazine_page,
                 with_polymorphic=("*", magazine_join),
@@ -326,7 +329,7 @@ class MagazineTest(fixtures.MappedTest):
                 },
             )
         else:
-            magazine_page_mapper = mapper(
+            magazine_page_mapper = self.mapper_registry.map_imperatively(
                 MagazinePage,
                 self.tables.magazine_page,
                 inherits=page_mapper,
@@ -341,7 +344,7 @@ class MagazineTest(fixtures.MappedTest):
                 },
             )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             ClassifiedPage,
             self.tables.classified_page,
             inherits=magazine_page_mapper,
index f790b11ac296d6e2a2e03f8b81012d6fa11d568d..60acab87d60d2e7a5c67d5ebda56853a2fec1565 100644 (file)
@@ -5,7 +5,6 @@ from sqlalchemy import Sequence
 from sqlalchemy import String
 from sqlalchemy import Table
 from sqlalchemy.orm import class_mapper
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
@@ -88,10 +87,10 @@ class InheritTest(fixtures.MappedTest):
         class Group(Principal):
             pass
 
-        mapper(Principal, principals)
-        mapper(User, users, inherits=Principal)
+        self.mapper_registry.map_imperatively(Principal, principals)
+        self.mapper_registry.map_imperatively(User, users, inherits=Principal)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Group,
             groups,
             inherits=Principal,
@@ -159,8 +158,8 @@ class InheritTest2(fixtures.MappedTest):
         class Bar(Foo):
             pass
 
-        mapper(Foo, foo)
-        mapper(Bar, bar, inherits=Foo)
+        self.mapper_registry.map_imperatively(Foo, foo)
+        self.mapper_registry.map_imperatively(Bar, bar, inherits=Foo)
         print(foo.join(bar).primary_key)
         print(class_mapper(Bar).primary_key)
         b = Bar("somedata")
@@ -178,12 +177,12 @@ class InheritTest2(fixtures.MappedTest):
             def __init__(self, data=None):
                 self.data = data
 
-        mapper(Foo, foo)
+        self.mapper_registry.map_imperatively(Foo, foo)
 
         class Bar(Foo):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Bar,
             bar,
             inherits=Foo,
@@ -289,13 +288,13 @@ class InheritTest3(fixtures.MappedTest):
             def __repr__(self):
                 return "Foo id %d, data %s" % (self.id, self.data)
 
-        mapper(Foo, foo)
+        self.mapper_registry.map_imperatively(Foo, foo)
 
         class Bar(Foo):
             def __repr__(self):
                 return "Bar id %d, data %s" % (self.id, self.data)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Bar,
             bar,
             inherits=Foo,
@@ -325,13 +324,13 @@ class InheritTest3(fixtures.MappedTest):
             def __repr__(self):
                 return "Foo id %d, data %s" % (self.id, self.data)
 
-        mapper(Foo, foo)
+        self.mapper_registry.map_imperatively(Foo, foo)
 
         class Bar(Foo):
             def __repr__(self):
                 return "Bar id %d, data %s" % (self.id, self.data)
 
-        mapper(Bar, bar, inherits=Foo)
+        self.mapper_registry.map_imperatively(Bar, bar, inherits=Foo)
 
         class Blub(Bar):
             def __repr__(self):
@@ -342,7 +341,7 @@ class InheritTest3(fixtures.MappedTest):
                     repr([f for f in self.foos]),
                 )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Blub,
             blub,
             inherits=Bar,
index d5305c47306c6a71aef9881fb37e7a3f02e4a658..ef3466ddf764c38e81d5762d9f38f1a35efd1c57 100644 (file)
@@ -5,7 +5,6 @@ from sqlalchemy import testing
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.fixtures import fixture_session
@@ -18,8 +17,7 @@ class PolymorphicCircularTest(fixtures.MappedTest):
 
     @classmethod
     def define_tables(cls, metadata):
-        global Table1, Table1B, Table2, Table3, Data
-        table1 = Table(
+        Table(
             "table1",
             metadata,
             Column(
@@ -32,19 +30,19 @@ class PolymorphicCircularTest(fixtures.MappedTest):
             Column("name", String(30)),
         )
 
-        table2 = Table(
+        Table(
             "table2",
             metadata,
             Column("id", Integer, ForeignKey("table1.id"), primary_key=True),
         )
 
-        table3 = Table(
+        Table(
             "table3",
             metadata,
             Column("id", Integer, ForeignKey("table1.id"), primary_key=True),
         )
 
-        data = Table(
+        Table(
             "data",
             metadata,
             Column(
@@ -54,6 +52,12 @@ class PolymorphicCircularTest(fixtures.MappedTest):
             Column("data", String(30)),
         )
 
+    @classmethod
+    def setup_mappers(cls):
+        global Table1, Table1B, Table2, Table3, Data
+        table1, table2, table3, data = cls.tables(
+            "table1", "table2", "table3", "data"
+        )
         # join = polymorphic_union(
         #   {
         #   'table3' : table1.join(table3),
@@ -104,7 +108,7 @@ class PolymorphicCircularTest(fixtures.MappedTest):
         try:
             # this is how the mapping used to work.  ensure that this raises an
             # error now
-            table1_mapper = mapper(
+            table1_mapper = cls.mapper_registry.map_imperatively(
                 Table1,
                 table1,
                 select_table=join,
@@ -119,7 +123,9 @@ class PolymorphicCircularTest(fixtures.MappedTest):
                         uselist=False,
                         primaryjoin=join.c.id == join.c.related_id,
                     ),
-                    "data": relationship(mapper(Data, data)),
+                    "data": relationship(
+                        cls.mapper_registry.map_imperatively(Data, data)
+                    ),
                 },
             )
             configure_mappers()
@@ -137,7 +143,7 @@ class PolymorphicCircularTest(fixtures.MappedTest):
         # gets an exception instead of it silently not eager loading.
         # NOTE: using "nxt" instead of "next" to avoid 2to3 turning it into
         # __next__() for some reason.
-        table1_mapper = mapper(
+        table1_mapper = cls.mapper_registry.map_imperatively(
             Table1,
             table1,
             # select_table=join,
@@ -153,21 +159,25 @@ class PolymorphicCircularTest(fixtures.MappedTest):
                     primaryjoin=table1.c.id == table1.c.related_id,
                 ),
                 "data": relationship(
-                    mapper(Data, data), lazy="joined", order_by=data.c.id
+                    cls.mapper_registry.map_imperatively(Data, data),
+                    lazy="joined",
+                    order_by=data.c.id,
                 ),
             },
         )
 
-        mapper(Table1B, inherits=table1_mapper, polymorphic_identity="table1b")
+        cls.mapper_registry.map_imperatively(
+            Table1B, inherits=table1_mapper, polymorphic_identity="table1b"
+        )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Table2,
             table2,
             inherits=table1_mapper,
             polymorphic_identity="table2",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Table3,
             table3,
             inherits=table1_mapper,
index c33f3e0de033a96928d67466f2e134ccb99eae4b..8c03a40d643a177a0b09a3bed858abdbfc336402 100644 (file)
@@ -6,7 +6,6 @@ from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import Table
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import polymorphic_union
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
@@ -131,7 +130,7 @@ class InsertOrderTest(PolymorphTest):
             "pjoin",
         )
 
-        person_mapper = mapper(
+        person_mapper = self.mapper_registry.map_imperatively(
             Person,
             people,
             with_polymorphic=("*", person_join),
@@ -139,19 +138,19 @@ class InsertOrderTest(PolymorphTest):
             polymorphic_identity="person",
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=person_mapper,
             polymorphic_identity="engineer",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=person_mapper,
             polymorphic_identity="manager",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={
@@ -272,7 +271,7 @@ class RoundTripTest(PolymorphTest):
             manager_with_polymorphic = None
 
         if redefine_colprop:
-            person_mapper = mapper(
+            person_mapper = cls.mapper_registry.map_imperatively(
                 Person,
                 people,
                 with_polymorphic=person_with_polymorphic,
@@ -281,7 +280,7 @@ class RoundTripTest(PolymorphTest):
                 properties={"person_name": people.c.name},
             )
         else:
-            person_mapper = mapper(
+            person_mapper = cls.mapper_registry.map_imperatively(
                 Person,
                 people,
                 with_polymorphic=person_with_polymorphic,
@@ -289,13 +288,13 @@ class RoundTripTest(PolymorphTest):
                 polymorphic_identity="person",
             )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=person_mapper,
             polymorphic_identity="engineer",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Manager,
             managers,
             inherits=person_mapper,
@@ -303,9 +302,11 @@ class RoundTripTest(PolymorphTest):
             polymorphic_identity="manager",
         )
 
-        mapper(Boss, boss, inherits=Manager, polymorphic_identity="boss")
+        cls.mapper_registry.map_imperatively(
+            Boss, boss, inherits=Manager, polymorphic_identity="boss"
+        )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={
index e940cb0f424cd268a007237a520630c59b7ef227..cede0cbb5b1424dafe8bb291174c64e4b594f0e1 100644 (file)
@@ -8,7 +8,6 @@ from sqlalchemy import LargeBinary
 from sqlalchemy import String
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import deferred
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.fixtures import fixture_session
@@ -136,20 +135,22 @@ class InheritTest(fixtures.MappedTest):
             pass
 
     def test_one(self):
-        product_mapper = mapper(
+        product_mapper = self.mapper_registry.map_imperatively(
             Product,
             products_table,
             polymorphic_on=products_table.c.product_type,
             polymorphic_identity="product",
         )
 
-        mapper(Detail, inherits=product_mapper, polymorphic_identity="detail")
+        self.mapper_registry.map_imperatively(
+            Detail, inherits=product_mapper, polymorphic_identity="detail"
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Assembly, inherits=product_mapper, polymorphic_identity="assembly"
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SpecLine,
             specification_table,
             properties=dict(
@@ -199,16 +200,18 @@ class InheritTest(fixtures.MappedTest):
         )
 
     def test_two(self):
-        product_mapper = mapper(
+        product_mapper = self.mapper_registry.map_imperatively(
             Product,
             products_table,
             polymorphic_on=products_table.c.product_type,
             polymorphic_identity="product",
         )
 
-        mapper(Detail, inherits=product_mapper, polymorphic_identity="detail")
+        self.mapper_registry.map_imperatively(
+            Detail, inherits=product_mapper, polymorphic_identity="detail"
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SpecLine,
             specification_table,
             properties=dict(
@@ -241,18 +244,20 @@ class InheritTest(fixtures.MappedTest):
         )
 
     def test_three(self):
-        product_mapper = mapper(
+        product_mapper = self.mapper_registry.map_imperatively(
             Product,
             products_table,
             polymorphic_on=products_table.c.product_type,
             polymorphic_identity="product",
         )
-        mapper(Detail, inherits=product_mapper, polymorphic_identity="detail")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Detail, inherits=product_mapper, polymorphic_identity="detail"
+        )
+        self.mapper_registry.map_imperatively(
             Assembly, inherits=product_mapper, polymorphic_identity="assembly"
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SpecLine,
             specification_table,
             properties=dict(
@@ -279,7 +284,7 @@ class InheritTest(fixtures.MappedTest):
             ),
         )
 
-        document_mapper = mapper(
+        document_mapper = self.mapper_registry.map_imperatively(
             Document,
             documents_table,
             polymorphic_on=documents_table.c.document_type,
@@ -294,7 +299,7 @@ class InheritTest(fixtures.MappedTest):
                 ),
             ),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             RasterDocument,
             inherits=document_mapper,
             polymorphic_identity="raster_document",
@@ -327,18 +332,20 @@ class InheritTest(fixtures.MappedTest):
         corresponding to an inheriting mapper but not the base mapper,
         is created."""
 
-        product_mapper = mapper(
+        product_mapper = self.mapper_registry.map_imperatively(
             Product,
             products_table,
             polymorphic_on=products_table.c.product_type,
             polymorphic_identity="product",
         )
-        mapper(Detail, inherits=product_mapper, polymorphic_identity="detail")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Detail, inherits=product_mapper, polymorphic_identity="detail"
+        )
+        self.mapper_registry.map_imperatively(
             Assembly, inherits=product_mapper, polymorphic_identity="assembly"
         )
 
-        document_mapper = mapper(
+        document_mapper = self.mapper_registry.map_imperatively(
             Document,
             documents_table,
             polymorphic_on=documents_table.c.document_type,
@@ -353,7 +360,7 @@ class InheritTest(fixtures.MappedTest):
                 ),
             ),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             RasterDocument,
             inherits=document_mapper,
             polymorphic_identity="raster_document",
@@ -387,7 +394,7 @@ class InheritTest(fixtures.MappedTest):
     def test_five(self):
         """tests the late compilation of mappers"""
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SpecLine,
             specification_table,
             properties=dict(
@@ -412,7 +419,7 @@ class InheritTest(fixtures.MappedTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Product,
             products_table,
             polymorphic_on=products_table.c.product_type,
@@ -427,9 +434,11 @@ class InheritTest(fixtures.MappedTest):
             },
         )
 
-        mapper(Detail, inherits=Product, polymorphic_identity="detail")
+        self.mapper_registry.map_imperatively(
+            Detail, inherits=Product, polymorphic_identity="detail"
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Document,
             documents_table,
             polymorphic_on=documents_table.c.document_type,
@@ -440,13 +449,15 @@ class InheritTest(fixtures.MappedTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             RasterDocument,
             inherits=Document,
             polymorphic_identity="raster_document",
         )
 
-        mapper(Assembly, inherits=Product, polymorphic_identity="assembly")
+        self.mapper_registry.map_imperatively(
+            Assembly, inherits=Product, polymorphic_identity="assembly"
+        )
 
         session = fixture_session()
 
index 164b13f2e35506d54edd4082f879be1d56072146..e795f0c7ff7692d8e394a86c32852a6024045f9b 100644 (file)
@@ -10,7 +10,6 @@ from sqlalchemy.orm import backref
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import contains_eager
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -99,14 +98,14 @@ class SelfReferentialTestJoinedToBase(fixtures.MappedTest):
     def setup_mappers(cls):
         engineers, people = cls.tables.engineers, cls.tables.people
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
@@ -221,18 +220,18 @@ class SelfReferentialJ2JTest(fixtures.MappedTest):
         managers = cls.tables.managers
         people = cls.tables.people
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Manager, managers, inherits=Person, polymorphic_identity="manager"
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
@@ -442,14 +441,14 @@ class SelfReferentialJ2JSelfTest(fixtures.MappedTest):
         engineers = cls.tables.engineers
         people = cls.tables.people
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
@@ -615,7 +614,7 @@ class M2MFilterTest(fixtures.MappedTest):
         class Organization(cls.Comparable):
             pass
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Organization,
             organizations,
             properties={
@@ -627,14 +626,14 @@ class M2MFilterTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
@@ -755,9 +754,11 @@ class SelfReferentialM2MTest(fixtures.MappedTest, AssertsCompiledSQL):
         Child2 = cls.classes.Child2
         secondary = cls.tables.secondary
 
-        mapper(Parent, parent, polymorphic_on=parent.c.cls)
+        cls.mapper_registry.map_imperatively(
+            Parent, parent, polymorphic_on=parent.c.cls
+        )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Child1,
             child1,
             inherits=Parent,
@@ -774,7 +775,9 @@ class SelfReferentialM2MTest(fixtures.MappedTest, AssertsCompiledSQL):
             },
         )
 
-        mapper(Child2, child2, inherits=Parent, polymorphic_identity="child2")
+        cls.mapper_registry.map_imperatively(
+            Child2, child2, inherits=Parent, polymorphic_identity="child2"
+        )
 
     def test_query_crit(self):
         Child1, Child2 = self.classes.Child1, self.classes.Child2
@@ -1044,13 +1047,13 @@ class EagerToSubclassTest(fixtures.MappedTest):
         related = cls.tables.related
         Related = cls.classes.Related
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={"children": relationship(Sub, order_by=sub.c.data)},
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Base,
             base,
             polymorphic_on=base.c.type,
@@ -1058,9 +1061,11 @@ class EagerToSubclassTest(fixtures.MappedTest):
             properties={"related": relationship(Related)},
         )
 
-        mapper(Sub, sub, inherits=Base, polymorphic_identity="s")
+        cls.mapper_registry.map_imperatively(
+            Sub, sub, inherits=Base, polymorphic_identity="s"
+        )
 
-        mapper(Related, related)
+        cls.mapper_registry.map_imperatively(Related, related)
 
     @classmethod
     def insert_data(cls, connection):
@@ -1220,14 +1225,14 @@ class SubClassEagerToSubClassTest(fixtures.MappedTest):
         subparent = cls.tables.subparent
         Subparent = cls.classes.Subparent
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent,
             parent,
             polymorphic_on=parent.c.type,
             polymorphic_identity="b",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Subparent,
             subparent,
             inherits=Parent,
@@ -1235,11 +1240,13 @@ class SubClassEagerToSubClassTest(fixtures.MappedTest):
             properties={"children": relationship(Sub, order_by=base.c.id)},
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Base, base, polymorphic_on=base.c.type, polymorphic_identity="b"
         )
 
-        mapper(Sub, sub, inherits=Base, polymorphic_identity="s")
+        cls.mapper_registry.map_imperatively(
+            Sub, sub, inherits=Base, polymorphic_identity="s"
+        )
 
     @classmethod
     def insert_data(cls, connection):
@@ -1411,22 +1418,24 @@ class SameNamedPropTwoPolymorphicSubClassesTest(fixtures.MappedTest):
         C = cls.classes.C
         D = cls.classes.D
 
-        mapper(A, cls.tables.a, polymorphic_on=cls.tables.a.c.type)
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            A, cls.tables.a, polymorphic_on=cls.tables.a.c.type
+        )
+        cls.mapper_registry.map_imperatively(
             B,
             cls.tables.b,
             inherits=A,
             polymorphic_identity="b",
             properties={"related": relationship(D, secondary=cls.tables.btod)},
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C,
             cls.tables.c,
             inherits=A,
             polymorphic_identity="c",
             properties={"related": relationship(D, secondary=cls.tables.ctod)},
         )
-        mapper(D, cls.tables.d)
+        cls.mapper_registry.map_imperatively(D, cls.tables.d)
 
     @classmethod
     def insert_data(cls, connection):
@@ -1576,15 +1585,15 @@ class SubClassToSubClassFromParentTest(fixtures.MappedTest):
         B = cls.classes.B
         D = cls.classes.D
 
-        mapper(Z, cls.tables.z)
-        mapper(
+        cls.mapper_registry.map_imperatively(Z, cls.tables.z)
+        cls.mapper_registry.map_imperatively(
             A,
             cls.tables.a,
             polymorphic_on=cls.tables.a.c.type,
             with_polymorphic="*",
             properties={"zs": relationship(Z, lazy="subquery")},
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             B,
             cls.tables.b,
             inherits=A,
@@ -1597,7 +1606,9 @@ class SubClassToSubClassFromParentTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(D, cls.tables.d, inherits=A, polymorphic_identity="d")
+        cls.mapper_registry.map_imperatively(
+            D, cls.tables.d, inherits=A, polymorphic_identity="d"
+        )
 
     @classmethod
     def insert_data(cls, connection):
@@ -1733,21 +1744,25 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
     def setup_mappers(cls):
         Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = cls._classes()
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent, cls.tables.parent, properties={"sub1": relationship(Sub1)}
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Base1, cls.tables.base1, properties={"sub2": relationship(Sub2)}
         )
-        mapper(Sub1, cls.tables.sub1, inherits=Base1)
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            Sub1, cls.tables.sub1, inherits=Base1
+        )
+        cls.mapper_registry.map_imperatively(
             Base2,
             cls.tables.base2,
             properties={"ep1": relationship(EP1), "ep2": relationship(EP2)},
         )
-        mapper(Sub2, cls.tables.sub2, inherits=Base2)
-        mapper(EP1, cls.tables.ep1)
-        mapper(EP2, cls.tables.ep2)
+        cls.mapper_registry.map_imperatively(
+            Sub2, cls.tables.sub2, inherits=Base2
+        )
+        cls.mapper_registry.map_imperatively(EP1, cls.tables.ep1)
+        cls.mapper_registry.map_imperatively(EP2, cls.tables.ep2)
 
     def test_one(self):
         Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = self._classes()
@@ -2742,10 +2757,10 @@ class MultipleAdaptUsesEntityOverTableTest(
     def setup_mappers(cls):
         A, B, C, D = cls.classes.A, cls.classes.B, cls.classes.C, cls.classes.D
         a, b, c, d = cls.tables.a, cls.tables.b, cls.tables.c, cls.tables.d
-        mapper(A, a)
-        mapper(B, b, inherits=A)
-        mapper(C, c, inherits=A)
-        mapper(D, d, inherits=A)
+        cls.mapper_registry.map_imperatively(A, a)
+        cls.mapper_registry.map_imperatively(B, b, inherits=A)
+        cls.mapper_registry.map_imperatively(C, c, inherits=A)
+        cls.mapper_registry.map_imperatively(D, d, inherits=A)
 
     def _two_join_fixture(self):
         B, C, D = (self.classes.B, self.classes.C, self.classes.D)
@@ -2845,7 +2860,7 @@ class SameNameOnJoined(fixtures.MappedTest):
         class B(cls.Comparable):
             pass
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             A,
             cls.tables.a,
             polymorphic_on=cls.tables.a.c.t,
@@ -2853,7 +2868,7 @@ class SameNameOnJoined(fixtures.MappedTest):
             properties={"bs": relationship(B, cascade="all, delete-orphan")},
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             ASub,
             cls.tables.a_sub,
             inherits=A,
@@ -2861,7 +2876,7 @@ class SameNameOnJoined(fixtures.MappedTest):
             properties={"bs": relationship(B, cascade="all, delete-orphan")},
         )
 
-        mapper(B, cls.tables.b)
+        cls.mapper_registry.map_imperatively(B, cls.tables.b)
 
     def test_persist(self):
         A, ASub, B = self.classes("A", "ASub", "B")
index 4f6c4a8bd402bb0d7aa5c218176d076f61ac8968..47827e8887db491604d4a2923834da7eecc7e580 100644 (file)
@@ -2,7 +2,6 @@ from sqlalchemy import ForeignKey
 from sqlalchemy import Integer
 from sqlalchemy import select
 from sqlalchemy import String
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
@@ -41,9 +40,9 @@ class InheritingSelectablesTest(fixtures.MappedTest):
         class Baz(Foo):
             pass
 
-        mapper(Foo, foo, polymorphic_on=foo.c.b)
+        self.mapper_registry.map_imperatively(Foo, foo, polymorphic_on=foo.c.b)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Baz,
             baz,
             with_polymorphic=(
@@ -56,7 +55,7 @@ class InheritingSelectablesTest(fixtures.MappedTest):
             polymorphic_identity="baz",
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Bar,
             bar,
             with_polymorphic=(
@@ -110,13 +109,15 @@ class JoinFromSelectPersistenceTest(fixtures.MappedTest):
         base, child = self.tables.base, self.tables.child
 
         base_select = select(base).alias()
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base,
             base_select,
             polymorphic_on=base_select.c.type,
             polymorphic_identity="base",
         )
-        mapper(Child, child, inherits=Base, polymorphic_identity="child")
+        self.mapper_registry.map_imperatively(
+            Child, child, inherits=Base, polymorphic_identity="child"
+        )
 
         sess = fixture_session()
 
index 1976dab060f2216bbe560b755915c565f78ed8a5..a3230f91d80b7d3b35bc2f436add2b15e53bc2a0 100644 (file)
@@ -14,7 +14,6 @@ from sqlalchemy import util
 from sqlalchemy.orm import aliased
 from sqlalchemy.orm import Bundle
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import subqueryload
@@ -108,10 +107,10 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
             cls.classes.Engineer,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Report, reports, properties={"employee": relationship(Employee)}
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Employee,
             employees,
             polymorphic_on=employees.c.type,
@@ -119,9 +118,13 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
                 "reports": relationship(Report, back_populates="employee")
             },
         )
-        mapper(Manager, inherits=Employee, polymorphic_identity="manager")
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            Manager, inherits=Employee, polymorphic_identity="manager"
+        )
+        cls.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
+        cls.mapper_registry.map_imperatively(
             JuniorEngineer,
             inherits=Engineer,
             polymorphic_identity="juniorengineer",
@@ -713,19 +716,19 @@ class RelationshipFromSingleTest(
             cls.classes.Manager,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Employee,
             employee,
             polymorphic_on=employee.c.type,
             polymorphic_identity="employee",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Manager,
             inherits=Employee,
             polymorphic_identity="manager",
             properties={"stuff": relationship(Stuff)},
         )
-        mapper(Stuff, employee_stuff)
+        cls.mapper_registry.map_imperatively(Stuff, employee_stuff)
 
     @classmethod
     def setup_classes(cls):
@@ -857,17 +860,23 @@ class RelationshipToSingleTest(
             self.classes.Engineer,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={
                 "employees": relationship(Employee, backref="company")
             },
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Manager, inherits=Employee, polymorphic_identity="manager")
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Manager, inherits=Employee, polymorphic_identity="manager"
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
+        self.mapper_registry.map_imperatively(
             JuniorEngineer,
             inherits=Engineer,
             polymorphic_identity="juniorengineer",
@@ -908,11 +917,15 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company, companies, properties={"employee": relationship(Employee)}
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         sess = fixture_session()
         self.assert_compile(
@@ -937,13 +950,13 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"employees": relationship(Employee)},
         )
-        mapper(Employee, employees)
-        mapper(Engineer, inherits=Employee)
+        self.mapper_registry.map_imperatively(Employee, employees)
+        self.mapper_registry.map_imperatively(Engineer, inherits=Employee)
 
         sess = fixture_session()
         self.assert_compile(
@@ -965,13 +978,17 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"engineers": relationship(Engineer)},
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         sess = fixture_session()
         self.assert_compile(
@@ -992,13 +1009,17 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"engineers": relationship(Engineer)},
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         eng_alias = aliased(Engineer)
         sess = fixture_session()
@@ -1022,13 +1043,17 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"engineers": relationship(Engineer)},
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         sess = fixture_session()
         self.assert_compile(
@@ -1056,13 +1081,17 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"engineers": relationship(Engineer)},
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         eng_alias = aliased(Engineer)
         sess = fixture_session()
@@ -1091,13 +1120,17 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"engineers": relationship(Engineer)},
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         sess = fixture_session()
         self.assert_compile(
@@ -1123,13 +1156,17 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"engineers": relationship(Engineer)},
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         eng_alias = aliased(Engineer)
         sess = fixture_session()
@@ -1156,14 +1193,16 @@ class RelationshipToSingleTest(
         )
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(Company, companies)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, companies)
+        self.mapper_registry.map_imperatively(
             Employee,
             employees,
             polymorphic_on=employees.c.type,
             properties={"company": relationship(Company)},
         )
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
 
         sess = fixture_session()
         engineer_count = (
@@ -1196,16 +1235,22 @@ class RelationshipToSingleTest(
 
         companies, employees = self.tables.companies, self.tables.employees
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={
                 "employees": relationship(Employee, backref="company")
             },
         )
-        mapper(Employee, employees, polymorphic_on=employees.c.type)
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
-        mapper(Manager, inherits=Employee, polymorphic_identity="manager")
+        self.mapper_registry.map_imperatively(
+            Employee, employees, polymorphic_on=employees.c.type
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
+        self.mapper_registry.map_imperatively(
+            Manager, inherits=Employee, polymorphic_identity="manager"
+        )
 
         s = fixture_session()
 
@@ -1279,22 +1324,26 @@ class RelationshipToSingleTest(
             self.classes.Engineer,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={
                 "engineers": relationship(Engineer, back_populates="company")
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Employee,
             employees,
             polymorphic_on=employees.c.type,
             properties={"company": relationship(Company)},
         )
-        mapper(Manager, inherits=Employee, polymorphic_identity="manager")
-        mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Manager, inherits=Employee, polymorphic_identity="manager"
+        )
+        self.mapper_registry.map_imperatively(
+            Engineer, inherits=Employee, polymorphic_identity="engineer"
+        )
+        self.mapper_registry.map_imperatively(
             JuniorEngineer,
             inherits=Engineer,
             polymorphic_identity="juniorengineer",
@@ -1446,7 +1495,7 @@ class ManyToManyToSingleTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.Parent,
             cls.tables.parent,
             properties={
@@ -1460,17 +1509,17 @@ class ManyToManyToSingleTest(fixtures.MappedTest, AssertsCompiledSQL):
                 ),
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.Child,
             cls.tables.child,
             polymorphic_on=cls.tables.child.c.discriminator,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.SubChild1,
             inherits=cls.classes.Child,
             polymorphic_identity="sub1",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.SubChild2,
             inherits=cls.classes.Child,
             polymorphic_identity="sub2",
@@ -1587,19 +1636,21 @@ class SingleOnJoinedTest(fixtures.MappedTest):
         class Manager(Employee):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             persons_table,
             polymorphic_on=persons_table.c.type,
             polymorphic_identity="person",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Employee,
             employees_table,
             inherits=Person,
             polymorphic_identity="engineer",
         )
-        mapper(Manager, inherits=Employee, polymorphic_identity="manager")
+        self.mapper_registry.map_imperatively(
+            Manager, inherits=Employee, polymorphic_identity="manager"
+        )
 
         sess = fixture_session()
         sess.add(Person(name="p1"))
index 30e6f3541f2df52ae848a85c128ce4e54f774e97..baf48a016c300be3ff4eaa358fdbd43ed90cc934 100644 (file)
@@ -3,7 +3,6 @@ from sqlalchemy import func
 from sqlalchemy import Integer
 from sqlalchemy import select
 from sqlalchemy import String
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
@@ -92,15 +91,15 @@ class AssociationTest(fixtures.MappedTest):
             "items", "item_keywords", "keywords"
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(
             KeywordAssociation,
             item_keywords,
             properties={"keyword": relationship(Keyword, lazy="joined")},
             primary_key=[item_keywords.c.item_id, item_keywords.c.keyword_id],
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
index 8667307e4eec5eb030d28903bdc68a3a308f3b8e..6f983e0ed13b51a568970968fd9ddb7772cb7b7c 100644 (file)
@@ -15,7 +15,6 @@ from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy import text
 from sqlalchemy.orm import backref
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import eq_
@@ -112,11 +111,11 @@ class EagerTest(fixtures.MappedTest):
             cls.tables.categories,
         )
 
-        mapper(Owner, owners)
+        cls.mapper_registry.map_imperatively(Owner, owners)
 
-        mapper(Category, categories)
+        cls.mapper_registry.map_imperatively(Category, categories)
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Option,
             options,
             properties=dict(
@@ -125,7 +124,7 @@ class EagerTest(fixtures.MappedTest):
             ),
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Thing,
             tests,
             properties=dict(
@@ -396,9 +395,9 @@ class EagerTest2(fixtures.MappedTest):
         )
 
         # set up bi-directional eager loads
-        mapper(Left, left)
-        mapper(Right, right)
-        mapper(
+        cls.mapper_registry.map_imperatively(Left, left)
+        cls.mapper_registry.map_imperatively(Right, right)
+        cls.mapper_registry.map_imperatively(
             Middle,
             middle,
             properties=dict(
@@ -495,8 +494,8 @@ class EagerTest3(fixtures.MappedTest):
             self.tables.datas,
         )
 
-        mapper(Data, datas)
-        mapper(
+        self.mapper_registry.map_imperatively(Data, datas)
+        self.mapper_registry.map_imperatively(
             Foo,
             foo,
             properties={
@@ -506,7 +505,9 @@ class EagerTest3(fixtures.MappedTest):
             },
         )
 
-        mapper(Stat, stats, properties={"data": relationship(Data)})
+        self.mapper_registry.map_imperatively(
+            Stat, stats, properties={"data": relationship(Data)}
+        )
 
         session = fixture_session()
 
@@ -613,8 +614,8 @@ class EagerTest4(fixtures.MappedTest):
             self.tables.departments,
         )
 
-        mapper(Employee, employees)
-        mapper(
+        self.mapper_registry.map_imperatively(Employee, employees)
+        self.mapper_registry.map_imperatively(
             Department,
             departments,
             properties=dict(
@@ -734,9 +735,9 @@ class EagerTest5(fixtures.MappedTest):
             self.tables.derivedII,
         )
 
-        mapper(Comment, comments)
+        self.mapper_registry.map_imperatively(Comment, comments)
 
-        baseMapper = mapper(
+        baseMapper = self.mapper_registry.map_imperatively(
             Base,
             base,
             properties=dict(
@@ -746,9 +747,13 @@ class EagerTest5(fixtures.MappedTest):
             ),
         )
 
-        mapper(Derived, derived, inherits=baseMapper)
+        self.mapper_registry.map_imperatively(
+            Derived, derived, inherits=baseMapper
+        )
 
-        mapper(DerivedII, derivedII, inherits=baseMapper)
+        self.mapper_registry.map_imperatively(
+            DerivedII, derivedII, inherits=baseMapper
+        )
 
         sess = fixture_session()
         d = Derived("uid1", "x", "y")
@@ -873,15 +878,15 @@ class EagerTest6(fixtures.MappedTest):
             self.classes.InheritedPart,
         )
 
-        p_m = mapper(Part, parts)
+        p_m = self.mapper_registry.map_imperatively(Part, parts)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             InheritedPart,
             inherited_part,
             properties=dict(part=relationship(Part, lazy="joined")),
         )
 
-        d_m = mapper(
+        d_m = self.mapper_registry.map_imperatively(
             Design,
             design,
             properties=dict(
@@ -893,7 +898,7 @@ class EagerTest6(fixtures.MappedTest):
             ),
         )
 
-        mapper(DesignType, design_types)
+        self.mapper_registry.map_imperatively(DesignType, design_types)
 
         d_m.add_property(
             "type", relationship(DesignType, lazy="joined", backref="designs")
@@ -1004,15 +1009,15 @@ class EagerTest7(fixtures.MappedTest):
             self.classes.Address,
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={"addresses": relationship(Address, lazy="joined")},
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Invoice,
             invoices,
             properties={"company": relationship(Company, lazy="joined")},
@@ -1148,7 +1153,7 @@ class EagerTest8(fixtures.MappedTest):
         # concerning corresponding_column() being extremely accurate
         # as well as how mapper sets up its column properties
 
-        mapper(Task_Type, task_type)
+        self.mapper_registry.map_imperatively(Task_Type, task_type)
 
         j = sa.outerjoin(task, msg, task.c.id == msg.c.task_id)
         jj = (
@@ -1162,7 +1167,7 @@ class EagerTest8(fixtures.MappedTest):
         )
         jjj = sa.join(task, jj, task.c.id == jj.c.task_id)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Joined,
             jjj,
             properties=dict(type=relationship(Task_Type, lazy="joined")),
@@ -1255,11 +1260,11 @@ class EagerTest9(fixtures.MappedTest):
             cls.classes.Entry,
         )
 
-        mapper(Account, accounts)
+        cls.mapper_registry.map_imperatively(Account, accounts)
 
-        mapper(Transaction, transactions)
+        cls.mapper_registry.map_imperatively(Transaction, transactions)
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Entry,
             entries,
             properties=dict(
index ab31058a5b2d1f00a4a15cbbff7d943726708b13..fd5d908cf50ba5e8986bc6d20e177cc997f86a2a 100644 (file)
@@ -13,7 +13,6 @@ from sqlalchemy import testing
 from sqlalchemy import text
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm import backref
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import eq_
@@ -34,8 +33,8 @@ class O2MCollectionTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, backref="user")),
@@ -397,8 +396,8 @@ class O2OScalarBackrefMoveTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -596,8 +595,8 @@ class O2OScalarMoveTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -648,8 +647,8 @@ class O2OScalarOrphanTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -697,7 +696,7 @@ class M2MCollectionMoveTest(_fixtures.FixtureTest):
             cls.classes.Item,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -706,7 +705,7 @@ class M2MCollectionMoveTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
 
     def test_add_remove_pending_backref(self):
         """test that pending doesn't add an item that's not a net add."""
@@ -834,7 +833,7 @@ class M2MScalarMoveTest(_fixtures.FixtureTest):
             cls.classes.Item,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -846,7 +845,7 @@ class M2MScalarMoveTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
 
     def test_collection_move_preloaded(self):
         Item, Keyword = self.classes.Item, self.classes.Keyword
@@ -926,8 +925,8 @@ class O2MStaleBackrefTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, backref="user")),
@@ -962,7 +961,7 @@ class M2MStaleBackrefTest(_fixtures.FixtureTest):
             cls.classes.Item,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -971,7 +970,7 @@ class M2MStaleBackrefTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
 
     def test_backref_pop_m2m(self):
         Keyword, Item = self.classes.Keyword, self.classes.Item
index f584f22aea492ceeef07ea8864a8cc543ecfff66..3df5a27177762253074b7eb191a3ae3f4169071c 100644 (file)
@@ -12,7 +12,6 @@ from sqlalchemy import true
 from sqlalchemy import update
 from sqlalchemy.orm import aliased
 from sqlalchemy.orm import backref
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import sessionmaker
@@ -46,8 +45,8 @@ class BindIntegrationTest(_fixtures.FixtureTest):
         users_unbound = users.to_metadata(m2)
         addresses_unbound = addresses.to_metadata(m2)
 
-        mapper(Address, addresses_unbound)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses_unbound)
+        self.mapper_registry.map_imperatively(
             User,
             users_unbound,
             properties={
@@ -103,8 +102,8 @@ class BindIntegrationTest(_fixtures.FixtureTest):
         users_unbound = users.to_metadata(m2)
         addresses_unbound = addresses.to_metadata(m2)
 
-        mapper(Address, addresses_unbound)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses_unbound)
+        self.mapper_registry.map_imperatively(
             User,
             users_unbound,
             properties={
@@ -155,7 +154,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
     def test_bind_from_metadata(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         session = fixture_session()
 
@@ -261,8 +260,10 @@ class BindIntegrationTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         e1 = engines.testing_engine()
         e2 = engines.testing_engine()
@@ -333,8 +334,10 @@ class BindIntegrationTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         e1 = engines.testing_engine()
         e2 = engines.testing_engine()
@@ -397,7 +400,9 @@ class BindIntegrationTest(_fixtures.FixtureTest):
             testing.db,
         )
 
-        mapper(self.classes.User, self.tables.users)
+        self.mapper_registry.map_imperatively(
+            self.classes.User, self.tables.users
+        )
         u_object = self.classes.User()
 
         assert_raises_message(
@@ -412,7 +417,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
     def test_bound_connection(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         c = testing.db.connect()
         sess = Session(bind=c)
         sess.begin()
@@ -440,7 +445,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
     def test_bound_connection_transactional(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         with testing.db.connect() as c:
 
             sess = Session(bind=c, autocommit=False)
@@ -508,7 +513,7 @@ class SessionBindTest(fixtures.MappedTest):
         test_table.to_metadata(meta)
 
         assert meta.tables["test_table"].bind is None
-        mapper(Foo, meta.tables["test_table"])
+        cls.mapper_registry.map_imperatively(Foo, meta.tables["test_table"])
 
     def test_session_bind(self):
         Foo = self.classes.Foo
@@ -580,14 +585,18 @@ class GetBindTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.ClassWMixin, cls.tables.w_mixin_table)
-        mapper(cls.classes.BaseClass, cls.tables.base_table)
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            cls.classes.ClassWMixin, cls.tables.w_mixin_table
+        )
+        cls.mapper_registry.map_imperatively(
+            cls.classes.BaseClass, cls.tables.base_table
+        )
+        cls.mapper_registry.map_imperatively(
             cls.classes.JoinedSubClass,
             cls.tables.joined_sub_table,
             inherits=cls.classes.BaseClass,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.ConcreteSubClass,
             cls.tables.concrete_sub_table,
             inherits=cls.classes.BaseClass,
index 7e47507c002e8eb121547904f451db8ab3a298c4..b69d8263a6d0a92919b12497c272f4c89121a763 100644 (file)
@@ -3,7 +3,6 @@ from sqlalchemy import ForeignKey
 from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing import mock
@@ -42,7 +41,9 @@ class BulkInsertUpdateVersionId(BulkTest, fixtures.MappedTest):
     def setup_mappers(cls):
         Foo, version_table = cls.classes.Foo, cls.tables.version_table
 
-        mapper(Foo, version_table, version_id_col=version_table.c.version_id)
+        cls.mapper_registry.map_imperatively(
+            Foo, version_table, version_id_col=version_table.c.version_id
+        )
 
     @testing.emits_warning(r".*versioning cannot be verified")
     def test_bulk_insert_via_save(self):
@@ -77,9 +78,9 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
         User, Address, Order = cls.classes("User", "Address", "Order")
         u, a, o = cls.tables("users", "addresses", "orders")
 
-        mapper(User, u)
-        mapper(Address, a)
-        mapper(Order, o)
+        cls.mapper_registry.map_imperatively(User, u)
+        cls.mapper_registry.map_imperatively(Address, a)
+        cls.mapper_registry.map_imperatively(Order, o)
 
     def test_bulk_save_return_defaults(self):
         (User,) = self.classes("User")
@@ -329,7 +330,7 @@ class BulkUDPostfetchTest(BulkTest, fixtures.MappedTest):
         A = cls.classes.A
         a = cls.tables.a
 
-        mapper(A, a)
+        cls.mapper_registry.map_imperatively(A, a)
 
     def test_insert_w_fetch(self):
         A = self.classes.A
@@ -402,8 +403,8 @@ class BulkUDTestAltColKeys(BulkTest, fixtures.MappedTest):
             "people_keys", "people_attrs", "people_both"
         )
 
-        mapper(PersonKeys, people_keys)
-        mapper(
+        cls.mapper_registry.map_imperatively(PersonKeys, people_keys)
+        cls.mapper_registry.map_imperatively(
             PersonAttrs,
             people_attrs,
             properties={
@@ -412,7 +413,7 @@ class BulkUDTestAltColKeys(BulkTest, fixtures.MappedTest):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             PersonBoth,
             people_both,
             properties={
@@ -623,12 +624,18 @@ class BulkInheritanceTest(BulkTest, fixtures.MappedTest):
         )
         p, e, m, b = cls.tables("people", "engineers", "managers", "boss")
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person, p, polymorphic_on=p.c.type, polymorphic_identity="person"
         )
-        mapper(Engineer, e, inherits=Person, polymorphic_identity="engineer")
-        mapper(Manager, m, inherits=Person, polymorphic_identity="manager")
-        mapper(Boss, b, inherits=Manager, polymorphic_identity="boss")
+        cls.mapper_registry.map_imperatively(
+            Engineer, e, inherits=Person, polymorphic_identity="engineer"
+        )
+        cls.mapper_registry.map_imperatively(
+            Manager, m, inherits=Person, polymorphic_identity="manager"
+        )
+        cls.mapper_registry.map_imperatively(
+            Boss, b, inherits=Manager, polymorphic_identity="boss"
+        )
 
     def test_bulk_save_joined_inh_return_defaults(self):
         Person, Engineer, Manager, Boss = self.classes(
index db4267fc39a88dae3745a86a1813b831f3b9fc21..92c4c19c28f2cb57a6c1c0b59872652162993353 100644 (file)
@@ -8,7 +8,6 @@ from sqlalchemy import testing
 from sqlalchemy import tuple_
 from sqlalchemy.orm import aliased
 from sqlalchemy.orm import Bundle
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.sql.elements import ClauseList
@@ -61,12 +60,14 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.Data,
             cls.tables.data,
             properties={"others": relationship(cls.classes.Other)},
         )
-        mapper(cls.classes.Other, cls.tables.other)
+        cls.mapper_registry.map_imperatively(
+            cls.classes.Other, cls.tables.other
+        )
 
     @classmethod
     def insert_data(cls, connection):
index fd808278b2e7bf56f952433d27f81a4442dc42df..3c6536195a7eb9e738247e10c87d11d69a20cf94 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import lazyload
 from sqlalchemy.orm import Load
 from sqlalchemy.orm import load_only
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import Query
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
@@ -716,7 +715,7 @@ class RoundTripTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -726,7 +725,7 @@ class RoundTripTest(QueryTest, AssertsCompiledSQL):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
index 9a37d8d127c6e769c0d736100997dfc43c003970..3e42368df2ddbb1f825b6f4699736c281da3cef8 100644 (file)
@@ -14,7 +14,6 @@ from sqlalchemy.orm import class_mapper
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import foreign
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import object_mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
@@ -72,7 +71,7 @@ class CascadeArgTest(fixtures.MappedTest):
         User, Address = self.classes.User, self.classes.Address
         users, addresses = self.tables.users, self.tables.addresses
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -83,7 +82,7 @@ class CascadeArgTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         assert_raises_message(
             sa_exc.ArgumentError,
             "On User.addresses, can't set passive_deletes='all' "
@@ -105,7 +104,7 @@ class CascadeArgTest(fixtures.MappedTest):
     def test_bad_cascade(self):
         addresses, Address = self.tables.addresses, self.classes.Address
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         assert_raises_message(
             sa_exc.ArgumentError,
             r"Invalid cascade option\(s\): 'fake', 'fake2'",
@@ -140,8 +139,10 @@ class CascadeArgTest(fixtures.MappedTest):
         rel.cascade = "save-update, merge, expunge"
         eq_(rel.cascade, set(["save-update", "merge", "expunge"]))
 
-        mapper(User, users, properties={"addresses": rel})
-        am = mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": rel}
+        )
+        am = self.mapper_registry.map_imperatively(Address, addresses)
         configure_mappers()
 
         eq_(rel.cascade, set(["save-update", "merge", "expunge"]))
@@ -249,9 +250,9 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
             cls.tables.addresses,
         )
 
-        mapper(Address, addresses)
-        mapper(Order, orders)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(Order, orders)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -264,7 +265,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Dingaling,
             dingalings,
             properties={"address": relationship(Address)},
@@ -704,8 +705,8 @@ class O2MCascadeTest(fixtures.MappedTest):
             cls.tables.addresses,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
@@ -780,11 +781,14 @@ class O2MCascadeDeleteNoOrphanTest(fixtures.MappedTest):
             cls.tables.users,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
-                orders=relationship(mapper(Order, orders), cascade="all")
+                orders=relationship(
+                    cls.mapper_registry.map_imperatively(Order, orders),
+                    cascade="all",
+                )
             ),
         )
 
@@ -848,8 +852,8 @@ class O2OSingleParentTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -916,8 +920,8 @@ class O2OSingleParentNoFlushTest(fixtures.MappedTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1120,8 +1124,12 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
             addresses_rel = {}
             user_rel = {}
 
-        mapper(User, users, properties=addresses_rel)
-        mapper(Address, addresses, properties=user_rel)
+        self.mapper_registry.map_imperatively(
+            User, users, properties=addresses_rel
+        )
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties=user_rel
+        )
 
     def _many_to_many_fixture(
         self,
@@ -1181,8 +1189,12 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
             keywords_rel = {}
             items_rel = {}
 
-        mapper(Item, items, properties=keywords_rel)
-        mapper(Keyword, keywords, properties=items_rel)
+        self.mapper_registry.map_imperatively(
+            Item, items, properties=keywords_rel
+        )
+        self.mapper_registry.map_imperatively(
+            Keyword, keywords, properties=items_rel
+        )
 
     def test_o2m_only_child_pending(self):
         User, Address = self.classes.User, self.classes.Address
@@ -1649,8 +1661,8 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1684,7 +1696,7 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1693,7 +1705,7 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -1722,7 +1734,7 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -1734,7 +1746,7 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         sess = fixture_session()
 
@@ -1832,14 +1844,14 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
             cls.classes.Foo,
         )
 
-        mapper(Extra, extra)
-        mapper(
+        cls.mapper_registry.map_imperatively(Extra, extra)
+        cls.mapper_registry.map_imperatively(
             Pref,
             prefs,
             properties=dict(extra=relationship(Extra, cascade="all, delete")),
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1858,7 +1870,7 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
                 ),
             ),
         )  # straight m2o
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
 
     @classmethod
     def insert_data(cls, connection):
@@ -2066,7 +2078,7 @@ class M2OCascadeDeleteOrphanTestTwo(fixtures.MappedTest):
             cls.classes.T1,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             T1,
             t1,
             properties=dict(
@@ -2075,7 +2087,7 @@ class M2OCascadeDeleteOrphanTestTwo(fixtures.MappedTest):
                 )
             ),
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             T2,
             t2,
             properties=dict(
@@ -2087,7 +2099,7 @@ class M2OCascadeDeleteOrphanTestTwo(fixtures.MappedTest):
                 )
             ),
         )
-        mapper(T3, t3)
+        cls.mapper_registry.map_imperatively(T3, t3)
 
     def test_cascade_delete(self):
         T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
@@ -2226,9 +2238,13 @@ class M2OCascadeDeleteNoOrphanTest(fixtures.MappedTest):
             cls.classes.T1,
         )
 
-        mapper(T1, t1, properties={"t2": relationship(T2, cascade="all")})
-        mapper(T2, t2, properties={"t3": relationship(T3, cascade="all")})
-        mapper(T3, t3)
+        cls.mapper_registry.map_imperatively(
+            T1, t1, properties={"t2": relationship(T2, cascade="all")}
+        )
+        cls.mapper_registry.map_imperatively(
+            T2, t2, properties={"t3": relationship(T3, cascade="all")}
+        )
+        cls.mapper_registry.map_imperatively(T3, t3)
 
     def test_cascade_delete(self):
         T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
@@ -2387,7 +2403,7 @@ class M2MCascadeTest(fixtures.MappedTest):
         # if no backref here, delete-orphan failed until [ticket:427]
         # was fixed
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -2399,7 +2415,7 @@ class M2MCascadeTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         sess = fixture_session()
         b1 = B(data="b1")
@@ -2424,7 +2440,7 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             # if no backref here, delete-orphan
@@ -2439,7 +2455,7 @@ class M2MCascadeTest(fixtures.MappedTest):
             },
         )
         # failed until [ticket:427] was fixed
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         sess = fixture_session()
         b1 = B(data="b1")
@@ -2466,7 +2482,7 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -2480,12 +2496,12 @@ class M2MCascadeTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b,
             properties={"cs": relationship(C, cascade="all, delete-orphan")},
         )
-        mapper(C, c)
+        self.mapper_registry.map_imperatively(C, c)
 
         sess = fixture_session()
         b1 = B(data="b1", cs=[C(data="c1")])
@@ -2511,7 +2527,7 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -2523,7 +2539,7 @@ class M2MCascadeTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         sess = fixture_session()
         a1 = A(data="a1", bs=[B(data="b1")])
@@ -2547,7 +2563,7 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -2556,7 +2572,7 @@ class M2MCascadeTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
         assert_raises_message(
             sa_exc.ArgumentError,
             "For many-to-many relationship A.bs, delete-orphan cascade",
@@ -2572,7 +2588,7 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -2584,7 +2600,7 @@ class M2MCascadeTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         b1 = B(data="b1")
         A(data="a1", bs=[b1])
@@ -2603,7 +2619,7 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -2616,7 +2632,7 @@ class M2MCascadeTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         b1 = B(data="b1")
         a1 = A(data="a1", bs=[b1])
@@ -2637,12 +2653,12 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={"bs": relationship(B, secondary=atob, backref="as")},
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         s = fixture_session()
         a1 = A(bs=[None])
@@ -2664,12 +2680,12 @@ class M2MCascadeTest(fixtures.MappedTest):
             self.tables.atob,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={"bs": relationship(B, secondary=atob, backref="as")},
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         s = fixture_session()
         a1 = A()
@@ -2705,7 +2721,7 @@ class O2MSelfReferentialDetelOrphanTest(fixtures.MappedTest):
     def setup_mappers(cls):
         Node = cls.classes.Node
         node = cls.tables.node
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Node,
             node,
             properties={
@@ -2747,8 +2763,8 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
             cls.tables.users,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2758,7 +2774,7 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Dingaling,
             dingalings,
             properties={
@@ -2929,9 +2945,9 @@ class PendingOrphanTestSingleLevel(fixtures.MappedTest):
             self.tables.addresses,
         )
 
-        mapper(Order, orders)
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -2976,8 +2992,8 @@ class PendingOrphanTestSingleLevel(fixtures.MappedTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -3012,8 +3028,8 @@ class PendingOrphanTestSingleLevel(fixtures.MappedTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -3087,14 +3103,14 @@ class PendingOrphanTestTwoLevel(fixtures.MappedTest):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             order,
             properties={
                 "items": relationship(Item, cascade="all, delete-orphan")
             },
         )
-        mapper(Item, item)
+        self.mapper_registry.map_imperatively(Item, item)
         s = fixture_session()
         o1 = Order()
         s.add(o1)
@@ -3115,14 +3131,14 @@ class PendingOrphanTestTwoLevel(fixtures.MappedTest):
             self.classes.Order,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             order,
             properties={
                 "items": relationship(Item, cascade="all, delete-orphan")
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             item,
             properties={
@@ -3131,7 +3147,7 @@ class PendingOrphanTestTwoLevel(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Attribute, attribute)
+        self.mapper_registry.map_imperatively(Attribute, attribute)
         s = fixture_session()
         o1 = Order()
         s.add(o1)
@@ -3223,8 +3239,10 @@ class DoubleParentO2MOrphanTest(fixtures.MappedTest):
         class SalesRep(fixtures.ComparableEntity):
             pass
 
-        mapper(Customer, customers, legacy_is_orphan=legacy_is_orphan)
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Customer, customers, legacy_is_orphan=legacy_is_orphan
+        )
+        self.mapper_registry.map_imperatively(
             Account,
             accounts,
             properties=dict(
@@ -3236,7 +3254,7 @@ class DoubleParentO2MOrphanTest(fixtures.MappedTest):
                 )
             ),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             SalesRep,
             sales_reps,
             properties=dict(
@@ -3393,8 +3411,8 @@ class DoubleParentM2OOrphanTest(fixtures.MappedTest):
         class Business(fixtures.ComparableEntity):
             pass
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Home,
             homes,
             properties={
@@ -3403,7 +3421,7 @@ class DoubleParentM2OOrphanTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Business,
             businesses,
             properties={
@@ -3453,8 +3471,8 @@ class DoubleParentM2OOrphanTest(fixtures.MappedTest):
         class Business(fixtures.ComparableEntity):
             pass
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Home,
             homes,
             properties={
@@ -3463,7 +3481,7 @@ class DoubleParentM2OOrphanTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Business,
             businesses,
             properties={
@@ -3508,12 +3526,12 @@ class CollectionAssignmentOrphanTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             table_a,
             properties={"bs": relationship(B, cascade="all, delete-orphan")},
         )
-        mapper(B, table_b)
+        self.mapper_registry.map_imperatively(B, table_b)
 
         a1 = A(name="a1", bs=[B(name="b1"), B(name="b2"), B(name="b3")])
 
@@ -3591,8 +3609,10 @@ class OrphanCriterionTest(fixtures.MappedTest):
             def __init__(self, cores):
                 self.cores = cores
 
-        mapper(Core, self.tables.core, legacy_is_orphan=legacy_is_orphan)
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Core, self.tables.core, legacy_is_orphan=legacy_is_orphan
+        )
+        self.mapper_registry.map_imperatively(
             RelatedOne,
             self.tables.related_one,
             properties={
@@ -3601,7 +3621,7 @@ class OrphanCriterionTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             RelatedTwo,
             self.tables.related_two,
             properties={
@@ -3789,12 +3809,12 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={"child": relationship(Child, uselist=False)},
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         self._do_move_test(True)
         self._do_move_test(False)
 
@@ -3806,12 +3826,12 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={"child": relationship(Child, uselist=True)},
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         self._do_move_test(True)
         self._do_move_test(False)
 
@@ -3823,7 +3843,7 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -3834,7 +3854,7 @@ class O2MConflictTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         self._do_move_test(True)
         self._do_move_test(False)
 
@@ -3846,7 +3866,7 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -3855,7 +3875,7 @@ class O2MConflictTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         self._do_move_test(True)
         self._do_move_test(False)
 
@@ -3867,7 +3887,7 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -3876,7 +3896,7 @@ class O2MConflictTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         self._do_move_test(True)
         self._do_move_test(False)
 
@@ -3888,7 +3908,7 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -3900,7 +3920,7 @@ class O2MConflictTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         self._do_move_test(True)
         self._do_move_test(False)
 
@@ -3912,8 +3932,8 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(Parent, parent)
-        mapper(
+        self.mapper_registry.map_imperatively(Parent, parent)
+        self.mapper_registry.map_imperatively(
             Child,
             child,
             properties={
@@ -3938,8 +3958,8 @@ class O2MConflictTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(Parent, parent)
-        mapper(
+        self.mapper_registry.map_imperatively(Parent, parent)
+        self.mapper_registry.map_imperatively(
             Child,
             child,
             properties={
@@ -4004,12 +4024,12 @@ class PartialFlushTest(fixtures.MappedTest):
         class Child(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base,
             base,
             properties={"children": relationship(Child, backref="parent")},
         )
-        mapper(Child, noninh_child)
+        self.mapper_registry.map_imperatively(Child, noninh_child)
 
         sess = fixture_session()
 
@@ -4066,9 +4086,9 @@ class PartialFlushTest(fixtures.MappedTest):
         class Child(Base):
             pass
 
-        mapper(Base, base)
+        self.mapper_registry.map_imperatively(Base, base)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Child,
             inh_child,
             inherits=Base,
@@ -4081,7 +4101,7 @@ class PartialFlushTest(fixtures.MappedTest):
             },
         )
 
-        mapper(Parent, parent, inherits=Base)
+        self.mapper_registry.map_imperatively(Parent, parent, inherits=Base)
 
         sess = fixture_session()
         p1 = Parent()
@@ -4302,8 +4322,8 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
             self.tables.users,
         )
 
-        mapper(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -4350,8 +4370,8 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
             self.tables.users,
         )
 
-        mapper(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -4389,8 +4409,8 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
             self.tables.users,
         )
 
-        mapper(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -4428,8 +4448,8 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
             self.tables.users,
         )
 
-        mapper(Order, orders)
-        umapper = mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        umapper = self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
index 4ca2f999c3e74e2de3a52f90ea36caaad2faceb6..81ace4a98cbac2c6650c4c18f1b2415c814c8c27 100644 (file)
@@ -12,7 +12,6 @@ from sqlalchemy import util
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm import declarative_base
 from sqlalchemy.orm import instrumentation
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 import sqlalchemy.orm.collections as collections
 from sqlalchemy.orm.collections import collection
@@ -1853,8 +1852,8 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
             self.classes.Child,
         )
 
-        mapper(Child, children)
-        mapper(
+        self.mapper_registry.map_imperatively(Child, children)
+        self.mapper_registry.map_imperatively(
             Parent,
             parents,
             properties={
@@ -1938,8 +1937,8 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
             self.classes.Child,
         )
 
-        mapper(Child, children)
-        mapper(
+        self.mapper_registry.map_imperatively(Child, children)
+        self.mapper_registry.map_imperatively(
             Parent,
             parents,
             properties={
@@ -2105,10 +2104,12 @@ class ColumnMappedWSerialize(fixtures.MappedTest):
         Foo = self.classes.Foo
         Bar = self.classes.Bar
         bar = self.tables["x.bar"]
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo, self.tables.foo, properties={"foo_id": self.tables.foo.c.id}
         )
-        mapper(Bar, bar, inherits=Foo, properties={"bar_id": bar.c.id})
+        self.mapper_registry.map_imperatively(
+            Bar, bar, inherits=Foo, properties={"bar_id": bar.c.id}
+        )
 
         bar_spec = Bar(foo_id=1, bar_id=2, bat_id=3)
         self._run_test(
@@ -2125,7 +2126,7 @@ class ColumnMappedWSerialize(fixtures.MappedTest):
 
         s = select(self.tables.foo).alias()
         Foo = self.classes.Foo
-        mapper(Foo, s)
+        self.mapper_registry.map_imperatively(Foo, s)
         self._run_test([(Foo.b, Foo(b=5), 5), (s.c.b, Foo(b=5), 5)])
 
     def _run_test(self, specs):
@@ -2186,12 +2187,12 @@ class CustomCollectionsTest(fixtures.MappedTest):
         class Bar(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             sometable,
             properties={"bars": relationship(Bar, collection_class=MyList)},
         )
-        mapper(Bar, someothertable)
+        self.mapper_registry.map_imperatively(Bar, someothertable)
         f = Foo()
         assert isinstance(f.bars, MyList)
 
@@ -2209,12 +2210,12 @@ class CustomCollectionsTest(fixtures.MappedTest):
         class Bar(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             sometable,
             properties={"bars": relationship(Bar, collection_class=set)},
         )
-        mapper(Bar, someothertable)
+        self.mapper_registry.map_imperatively(Bar, someothertable)
         f = Foo()
         f.bars.add(Bar())
         f.bars.add(Bar())
@@ -2250,14 +2251,14 @@ class CustomCollectionsTest(fixtures.MappedTest):
                 if id(item) in self:
                     del self[id(item)]
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             sometable,
             properties={
                 "bars": relationship(Bar, collection_class=AppenderDict)
             },
         )
-        mapper(Bar, someothertable)
+        self.mapper_registry.map_imperatively(Bar, someothertable)
         f = Foo()
         f.bars.set(Bar())
         f.bars.set(Bar())
@@ -2285,7 +2286,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
             def __init__(self, data):
                 self.data = data
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             sometable,
             properties={
@@ -2297,7 +2298,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Bar, someothertable)
+        self.mapper_registry.map_imperatively(Bar, someothertable)
 
         f = Foo()
         col = collections.collection_adapter(f.bars)
@@ -2384,14 +2385,14 @@ class CustomCollectionsTest(fixtures.MappedTest):
         class Child(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             sometable,
             properties={
                 "children": relationship(Child, collection_class=listcls)
             },
         )
-        mapper(Child, someothertable)
+        self.mapper_registry.map_imperatively(Child, someothertable)
 
         control = list()
         p = Parent()
@@ -2531,14 +2532,14 @@ class CustomCollectionsTest(fixtures.MappedTest):
             def __iter__(self):
                 return iter(self.data)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             sometable,
             properties={
                 "children": relationship(Child, collection_class=MyCollection)
             },
         )
-        mapper(Child, someothertable)
+        self.mapper_registry.map_imperatively(Child, someothertable)
 
         control = list()
         p1 = Parent()
index 20d8ecc2db1ecf5ff163f25036b07861575cb0de..73ca571cb7451e88d67fe63d2fde2c81efa1b78c 100644 (file)
@@ -9,14 +9,13 @@ from sqlalchemy import Unicode
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.testing import fixtures
 
 
-class CompileTest(fixtures.ORMTest):
+class CompileTest(fixtures.MappedTest):
     """test various mapper compilation scenarios"""
 
     def teardown_test(self):
@@ -78,7 +77,7 @@ class CompileTest(fixtures.ORMTest):
 
         order_join = order.select().alias("pjoin")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             order,
             with_polymorphic=("*", order_join),
@@ -91,7 +90,7 @@ class CompileTest(fixtures.ORMTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Product,
             product,
             properties={
@@ -101,7 +100,7 @@ class CompileTest(fixtures.ORMTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Employee,
             employee,
             properties={
@@ -111,7 +110,7 @@ class CompileTest(fixtures.ORMTest):
             },
         )
 
-        mapper(OrderProduct, orderproduct)
+        self.mapper_registry.map_imperatively(OrderProduct, orderproduct)
 
         # this requires that the compilation of order_mapper's "surrogate
         # mapper" occur after the initial setup of MapperProperty objects on
@@ -160,7 +159,7 @@ class CompileTest(fixtures.ORMTest):
 
         order_join = order.select().alias("pjoin")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             order,
             with_polymorphic=("*", order_join),
@@ -173,7 +172,7 @@ class CompileTest(fixtures.ORMTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Product,
             product,
             properties={
@@ -183,7 +182,7 @@ class CompileTest(fixtures.ORMTest):
             },
         )
 
-        mapper(OrderProduct, orderproduct)
+        self.mapper_registry.map_imperatively(OrderProduct, orderproduct)
 
         assert_raises_message(
             sa_exc.ArgumentError, "Error creating backref", configure_mappers
@@ -222,9 +221,9 @@ class CompileTest(fixtures.ORMTest):
         class Host(object):
             pass
 
-        mapper(Node, node_table)
-        mapper(Host, host_table)
-        mapper(
+        self.mapper_registry.map_imperatively(Node, node_table)
+        self.mapper_registry.map_imperatively(Host, host_table)
+        self.mapper_registry.map_imperatively(
             NodeName,
             node_name_table,
             properties={
@@ -252,8 +251,12 @@ class CompileTest(fixtures.ORMTest):
         class B(object):
             pass
 
-        mapper(A, a, properties={"b": relationship(B, backref="a")})
-        mapper(B, b, properties={"a": relationship(A, backref="b")})
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"b": relationship(B, backref="a")}
+        )
+        self.mapper_registry.map_imperatively(
+            B, b, properties={"a": relationship(A, backref="b")}
+        )
 
         assert_raises_message(
             sa_exc.ArgumentError, "Error creating backref", configure_mappers
@@ -279,7 +282,7 @@ class CompileTest(fixtures.ORMTest):
         class C(B):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -287,8 +290,8 @@ class CompileTest(fixtures.ORMTest):
                 "c": relationship(C, backref="a"),
             },
         )
-        mapper(B, b)
-        mapper(C, None, inherits=B)
+        self.mapper_registry.map_imperatively(B, b)
+        self.mapper_registry.map_imperatively(C, None, inherits=B)
 
         assert_raises_message(
             sa_exc.ArgumentError, "Error creating backref", configure_mappers
index b91c21d32379520652e873bf7a86bde13d4588e9..2f3b9a70e4005c892fab728804d49018ae8079db 100644 (file)
@@ -9,7 +9,6 @@ from sqlalchemy.orm import aliased
 from sqlalchemy.orm import composite
 from sqlalchemy.orm import CompositeProperty
 from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import assert_raises_message
@@ -79,8 +78,10 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                 if args:
                     self.start, self.end = args
 
-        mapper(Graph, graphs, properties={"edges": relationship(Edge)})
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            Graph, graphs, properties={"edges": relationship(Edge)}
+        )
+        cls.mapper_registry.map_imperatively(
             Edge,
             edges,
             properties={
@@ -475,7 +476,7 @@ class NestedTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                 self.ab = ab
 
         stuff = self.tables.stuff
-        mapper(
+        self.mapper_registry.map_imperatively(
             Thing,
             stuff,
             properties={
@@ -541,7 +542,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
             def __init__(self, version):
                 self.version = version
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Graph,
             graphs,
             properties={
@@ -658,7 +659,7 @@ class DefaultsTest(fixtures.MappedTest):
                     self.x4,
                 )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Foobar,
             foobars,
             properties=dict(
@@ -754,7 +755,7 @@ class MappedSelectTest(fixtures.MappedTest):
             .alias("descriptions_values")
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Descriptions,
             descriptions,
             properties={
@@ -765,7 +766,7 @@ class MappedSelectTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Values,
             desc_values,
             properties={
@@ -851,12 +852,12 @@ class ManyToOneTest(fixtures.MappedTest):
                     and other.b2 == self.b2
                 )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             A,
             a,
             properties={"b2": relationship(B), "c": composite(C, "b1", "b2")},
         )
-        mapper(B, b)
+        cls.mapper_registry.map_imperatively(B, b)
 
     def test_early_configure(self):
         # test [ticket:2935], that we can call a composite
@@ -955,7 +956,7 @@ class ConfigurationTest(fixtures.MappedTest):
             self.classes.Point,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Edge,
             edge,
             properties={
@@ -973,7 +974,7 @@ class ConfigurationTest(fixtures.MappedTest):
             self.classes.Point,
         )
 
-        m = mapper(Edge, edge)
+        m = self.mapper_registry.map_imperatively(Edge, edge)
         m.add_property("start", sa.orm.composite(Point, Edge.x1, Edge.y1))
         m.add_property("end", sa.orm.composite(Point, Edge.x2, Edge.y2))
 
@@ -986,7 +987,7 @@ class ConfigurationTest(fixtures.MappedTest):
             self.classes.Point,
         )
 
-        m = mapper(Edge, edge)
+        m = self.mapper_registry.map_imperatively(Edge, edge)
         m.add_property("start", sa.orm.composite(Point, "x1", "y1"))
         m.add_property("end", sa.orm.composite(Point, "x2", "y2"))
 
@@ -998,7 +999,7 @@ class ConfigurationTest(fixtures.MappedTest):
             self.classes.Edge,
             self.classes.Point,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Edge,
             edge,
             properties={
@@ -1018,7 +1019,7 @@ class ConfigurationTest(fixtures.MappedTest):
             self.classes.Edge,
             self.classes.Point,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Edge,
             edge,
             properties={
@@ -1098,7 +1099,7 @@ class ComparatorTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                     diff_y = clauses[1] - other.y
                     return diff_x * diff_x + diff_y * diff_y <= d * d
 
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Edge,
                 edge,
                 properties={
@@ -1112,7 +1113,7 @@ class ComparatorTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                 },
             )
         else:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Edge,
                 edge,
                 properties={
index 2adc438422253a2e26cb4d366dd75e05ef02cb05..284a45caa33a7f828a355b26001310d5a63b38ba 100644 (file)
@@ -17,7 +17,6 @@ from sqlalchemy.orm import contains_eager
 from sqlalchemy.orm import deferred
 from sqlalchemy.orm import join as orm_join
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import query_expression
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import undefer
@@ -489,13 +488,13 @@ class LoadersInSubqueriesTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="joined")},
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         return User, Address
 
@@ -504,7 +503,7 @@ class LoadersInSubqueriesTest(QueryTest, AssertsCompiledSQL):
         User = self.classes.User
         users = self.tables.users
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -522,7 +521,7 @@ class LoadersInSubqueriesTest(QueryTest, AssertsCompiledSQL):
         User = self.classes.User
         users = self.tables.users
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -793,7 +792,7 @@ class ExtraColsTest(QueryTest, AssertsCompiledSQL):
         )
         addresses, Address = (self.tables.addresses, self.classes.Address)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=util.OrderedDict(
@@ -802,7 +801,7 @@ class ExtraColsTest(QueryTest, AssertsCompiledSQL):
                 ]
             ),
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         return User
 
@@ -814,7 +813,7 @@ class ExtraColsTest(QueryTest, AssertsCompiledSQL):
         )
         addresses, Address = (self.tables.addresses, self.classes.Address)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=util.OrderedDict(
@@ -833,7 +832,7 @@ class ExtraColsTest(QueryTest, AssertsCompiledSQL):
                 ]
             ),
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         return User
 
@@ -846,7 +845,7 @@ class ExtraColsTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=util.OrderedDict(
@@ -867,7 +866,7 @@ class ExtraColsTest(QueryTest, AssertsCompiledSQL):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -888,12 +887,12 @@ class ExtraColsTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -2290,7 +2289,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
         class Foo(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             self.tables.users,
             properties={
index 697009c2a58d163b91da063e1ac4887394d5ae3e..c75f2a549a5004d0d4ad47bb023f6f11c9132a48 100644 (file)
@@ -14,7 +14,6 @@ from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy.orm import backref
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
@@ -66,7 +65,7 @@ class SelfReferentialTest(fixtures.MappedTest):
     def test_single(self):
         C1, t1 = self.classes.C1, self.tables.t1
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C1,
             t1,
             properties={
@@ -103,7 +102,7 @@ class SelfReferentialTest(fixtures.MappedTest):
 
         C1, t1 = self.classes.C1, self.tables.t1
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C1,
             t1,
             properties={
@@ -136,13 +135,14 @@ class SelfReferentialTest(fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C1,
             t1,
             properties={
                 "c1s": relationship(C1, cascade="all"),
                 "c2s": relationship(
-                    mapper(C2, t2), cascade="all, delete-orphan"
+                    self.mapper_registry.map_imperatively(C2, t2),
+                    cascade="all, delete-orphan",
                 ),
             },
         )
@@ -164,7 +164,9 @@ class SelfReferentialTest(fixtures.MappedTest):
     def test_setnull_ondelete(self):
         C1, t1 = self.classes.C1, self.tables.t1
 
-        mapper(C1, t1, properties={"children": relationship(C1)})
+        self.mapper_registry.map_imperatively(
+            C1, t1, properties={"children": relationship(C1)}
+        )
 
         sess = fixture_session()
         c1 = C1()
@@ -213,7 +215,7 @@ class SelfReferentialNoPKTest(fixtures.MappedTest):
     def setup_mappers(cls):
         item, TT = cls.tables.item, cls.classes.TT
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             TT,
             item,
             properties={
@@ -307,9 +309,9 @@ class InheritTestOne(fixtures.MappedTest):
             cls.classes.Child2,
         )
 
-        mapper(Parent, parent)
-        mapper(Child1, child1, inherits=Parent)
-        mapper(
+        cls.mapper_registry.map_imperatively(Parent, parent)
+        cls.mapper_registry.map_imperatively(Child1, child1, inherits=Parent)
+        cls.mapper_registry.map_imperatively(
             Child2,
             child2,
             inherits=Parent,
@@ -401,15 +403,17 @@ class InheritTestTwo(fixtures.MappedTest):
             self.classes.B,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={"cs": relationship(C, primaryjoin=a.c.cid == c.c.id)},
         )
 
-        mapper(B, b, inherits=A, inherit_condition=b.c.id == a.c.id)
+        self.mapper_registry.map_imperatively(
+            B, b, inherits=A, inherit_condition=b.c.id == a.c.id
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C,
             c,
             properties={
@@ -481,21 +485,21 @@ class BiDirectionalManyToOneTest(fixtures.MappedTest):
             cls.classes.T1,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
                 "t2": relationship(T2, primaryjoin=t1.c.t2id == t2.c.id)
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             T2,
             t2,
             properties={
                 "t1": relationship(T1, primaryjoin=t2.c.t1id == t1.c.id)
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             T3, t3, properties={"t1": relationship(T1), "t2": relationship(T2)}
         )
 
@@ -591,7 +595,7 @@ class BiDirectionalOneToManyTest(fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C2,
             t2,
             properties={
@@ -600,7 +604,7 @@ class BiDirectionalOneToManyTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             C1,
             t1,
             properties={
@@ -685,7 +689,7 @@ class BiDirectionalOneToManyTest2(fixtures.MappedTest):
             cls.classes.C1,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C2,
             t2,
             properties={
@@ -694,14 +698,16 @@ class BiDirectionalOneToManyTest2(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C1,
             t1,
             properties={
                 "c2s": relationship(
                     C2, primaryjoin=t1.c.c1 == t2.c.c2, uselist=True
                 ),
-                "data": relationship(mapper(C1Data, t1_data)),
+                "data": relationship(
+                    cls.mapper_registry.map_imperatively(C1Data, t1_data)
+                ),
             },
         )
 
@@ -807,8 +813,8 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
             self.classes.Person,
         )
 
-        mapper(Ball, ball)
-        mapper(
+        self.mapper_registry.map_imperatively(Ball, ball)
+        self.mapper_registry.map_imperatively(
             Person,
             person,
             properties=dict(
@@ -846,8 +852,8 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
             self.classes.Person,
         )
 
-        mapper(Ball, ball)
-        mapper(
+        self.mapper_registry.map_imperatively(Ball, ball)
+        self.mapper_registry.map_imperatively(
             Person,
             person,
             properties=dict(
@@ -894,8 +900,8 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
             self.classes.Person,
         )
 
-        mapper(Ball, ball)
-        mapper(
+        self.mapper_registry.map_imperatively(Ball, ball)
+        self.mapper_registry.map_imperatively(
             Person,
             person,
             properties=dict(
@@ -1006,8 +1012,8 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
             self.classes.Person,
         )
 
-        mapper(Ball, ball)
-        mapper(
+        self.mapper_registry.map_imperatively(Ball, ball)
+        self.mapper_registry.map_imperatively(
             Person,
             person,
             properties=dict(
@@ -1071,8 +1077,8 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
             self.classes.Person,
         )
 
-        mapper(Ball, ball)
-        mapper(
+        self.mapper_registry.map_imperatively(Ball, ball)
+        self.mapper_registry.map_imperatively(
             Person,
             person,
             properties=dict(
@@ -1206,7 +1212,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
             self.classes.Person,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Ball,
             ball,
             properties={
@@ -1220,7 +1226,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Person, person)
+        self.mapper_registry.map_imperatively(Person, person)
 
         sess = fixture_session(autocommit=False, expire_on_commit=True)
         p1 = Person()
@@ -1288,7 +1294,7 @@ class SelfReferentialPostUpdateTest(fixtures.MappedTest):
 
         node, Node = self.tables.node, self.classes.Node
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             node,
             properties={
@@ -1458,7 +1464,7 @@ class SelfReferentialPostUpdateTest2(fixtures.MappedTest):
 
         A, a_table = self.classes.A, self.tables.a_table
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a_table,
             properties={
@@ -1536,7 +1542,7 @@ class SelfReferentialPostUpdateTest3(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -1550,7 +1556,7 @@ class SelfReferentialPostUpdateTest3(fixtures.MappedTest):
                 ),
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Child,
             child,
             properties={"parent": relationship(Child, remote_side=child.c.id)},
@@ -1681,7 +1687,7 @@ class PostUpdateBatchingTest(fixtures.MappedTest):
             self.classes.Child3,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -1711,9 +1717,9 @@ class PostUpdateBatchingTest(fixtures.MappedTest):
                 ),
             },
         )
-        mapper(Child1, child1)
-        mapper(Child2, child2)
-        mapper(Child3, child3)
+        self.mapper_registry.map_imperatively(Child1, child1)
+        self.mapper_registry.map_imperatively(Child2, child2)
+        self.mapper_registry.map_imperatively(Child3, child3)
 
         sess = fixture_session()
 
index 2debc3ddf421663dc2875b348b0ab3dc5f12c271..14132e5d721ffa00cf58f5647d5cfa7e05b580ba 100644 (file)
@@ -9,7 +9,6 @@ from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import declared_attr
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import registry as declarative_registry
 from sqlalchemy.orm import registry
 from sqlalchemy.orm import relationship
@@ -88,19 +87,21 @@ class DataclassesTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
         Widget = cls.classes.Widget
         SpecialWidget = cls.classes.SpecialWidget
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Widget,
             widgets,
             polymorphic_on=widgets.c.type,
             polymorphic_identity="normal",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             SpecialWidget,
             widgets,
             inherits=Widget,
             polymorphic_identity="special",
         )
-        mapper(Account, accounts, properties={"widgets": relationship(Widget)})
+        cls.mapper_registry.map_imperatively(
+            Account, accounts, properties={"widgets": relationship(Widget)}
+        )
 
     def check_account_dataclass(self, obj):
         assert dataclasses.is_dataclass(obj)
index e5206d2ae1cfbbefe65edd8b20a09ddc494426cd..249a446ea7467ace687e51aa053275dacf606317 100644 (file)
@@ -1,7 +1,6 @@
 import sqlalchemy as sa
 from sqlalchemy import testing
 from sqlalchemy import util
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.testing import eq_
@@ -67,11 +66,11 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
             self.tables.addresses,
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -84,7 +83,7 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -97,7 +96,7 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -141,11 +140,11 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
             self.tables.addresses,
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -158,7 +157,7 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -171,7 +170,7 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -620,12 +619,13 @@ class NoLoadTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        m = mapper(
+        m = self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="noload"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="noload",
                 )
             ),
         )
@@ -651,12 +651,13 @@ class NoLoadTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        m = mapper(
+        m = self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="noload"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="noload",
                 )
             ),
         )
@@ -681,8 +682,10 @@ class NoLoadTest(_fixtures.FixtureTest):
             self.tables.users,
             self.classes.User,
         )
-        mapper(Address, addresses, properties={"user": relationship(User)})
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         a1 = (
             s.query(Address)
index abf9b8e0311e50f7b80f9bae2446d244d6552b7f..fc8e455ea5b5c788b93f7df542a649023725af7a 100644 (file)
@@ -5,7 +5,6 @@ from sqlalchemy import Identity
 from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.assertsql import assert_engine
@@ -153,7 +152,7 @@ class TriggerDefaultsTest(fixtures.MappedTest):
     def setup_mappers(cls):
         Default, dt = cls.classes.Default, cls.tables.dt
 
-        mapper(Default, dt)
+        cls.mapper_registry.map_imperatively(Default, dt)
 
     def test_insert(self):
         Default = self.classes.Default
@@ -210,7 +209,9 @@ class ExcludedDefaultsTest(fixtures.MappedTest):
         class Foo(fixtures.BasicEntity):
             pass
 
-        mapper(Foo, dt, exclude_properties=("col1",))
+        self.mapper_registry.map_imperatively(
+            Foo, dt, exclude_properties=("col1",)
+        )
 
         f1 = Foo()
         sess = fixture_session()
@@ -248,10 +249,14 @@ class ComputedDefaultsOnUpdateTest(fixtures.MappedTest):
     def setup_mappers(cls):
         Thing = cls.classes.Thing
 
-        mapper(Thing, cls.tables.test, eager_defaults=True)
+        cls.mapper_registry.map_imperatively(
+            Thing, cls.tables.test, eager_defaults=True
+        )
 
         ThingNoEager = cls.classes.ThingNoEager
-        mapper(ThingNoEager, cls.tables.test, eager_defaults=False)
+        cls.mapper_registry.map_imperatively(
+            ThingNoEager, cls.tables.test, eager_defaults=False
+        )
 
     @testing.combinations(("eager", True), ("noneager", False), id_="ia")
     def test_insert_computed(self, eager):
@@ -439,7 +444,7 @@ class IdentityDefaultsOnUpdateTest(fixtures.MappedTest):
     def setup_mappers(cls):
         Thing = cls.classes.Thing
 
-        mapper(Thing, cls.tables.test)
+        cls.mapper_registry.map_imperatively(Thing, cls.tables.test)
 
     def test_insert_identity(self):
         Thing = self.classes.Thing
index 7b8166c2e8a8171cba6e551ec55d4478cc63aee2..9f9068783faaf6739935cb3f4fdf82338fa46304 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import deferred
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import Load
 from sqlalchemy.orm import load_only
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import query_expression
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
@@ -48,7 +47,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         Order, orders = self.classes.Order, self.tables.orders
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -88,7 +87,9 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         Order, orders = self.classes.Order, self.tables.orders
 
-        mapper(Order, orders, properties={"id": deferred(orders.c.id)})
+        self.mapper_registry.map_imperatively(
+            Order, orders, properties={"id": deferred(orders.c.id)}
+        )
 
         # right now, it's not that graceful :)
         q = fixture_session().query(Order)
@@ -101,7 +102,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         Order, orders = self.classes.Order, self.tables.orders
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -120,7 +121,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_synonym_group_bug(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -136,7 +137,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_unsaved_2(self):
         Order, orders = self.classes.Order, self.tables.orders
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -156,7 +157,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -178,7 +179,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_unsaved_group_2(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -199,7 +200,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_save(self):
         Order, orders = self.classes.Order, self.tables.orders
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -215,7 +216,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -279,7 +280,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -310,7 +311,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -346,7 +347,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             orders.c.description,
             orders.c.isopen,
         ).alias()
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             order_select,
             properties={"description": deferred(order_select.c.description)},
@@ -366,7 +367,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         q = sess.query(Order).order_by(Order.id).options(defer("user_id"))
@@ -413,7 +414,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_undefer_group(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -456,7 +457,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_undefer_group_multi(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -501,7 +502,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_undefer_group_multi_pathed(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -551,12 +552,12 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, order_by=orders.c.id)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -614,12 +615,12 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, order_by=orders.c.id)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -680,12 +681,12 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, order_by=orders.c.id)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -740,12 +741,12 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, order_by=orders.c.id)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -799,7 +800,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_undefer_star(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=util.OrderedDict(
@@ -829,7 +830,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -862,7 +863,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -882,7 +883,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_raise_on_col_rowproc_only(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -905,7 +906,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_locates_col_w_option_rowproc_only(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         stmt = sa.select(Order).order_by(Order.id)
@@ -926,7 +927,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_raise_on_col_w_option_rowproc_only(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         stmt = sa.select(Order).order_by(Order.id)
@@ -956,17 +957,17 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(description=deferred(items.c.description)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(items=relationship(Item, secondary=order_items)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, order_by=orders.c.id)),
@@ -1005,12 +1006,12 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         items = self.tables.items
         order_items = self.tables.order_items
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"orders": relationship(Order, lazy="joined")},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1019,7 +1020,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
 
@@ -1047,8 +1048,10 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         users, User = self.tables.users, self.classes.User
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(User, users, properties={"orders": relationship(Order)})
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"orders": relationship(Order)}
+        )
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         q = sess.query(User).options(
@@ -1069,7 +1072,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_load_only_no_pk(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         q = sess.query(Order).options(load_only("isopen", "description"))
@@ -1083,7 +1086,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_load_only_no_pk_rt(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         q = (
@@ -1096,7 +1099,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_load_only_w_deferred(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -1118,7 +1121,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
     def test_load_only_synonym(self, type_):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"desc": synonym("description")},
@@ -1151,8 +1154,10 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         users = self.tables.users
         addresses = self.tables.addresses
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         expected = [
@@ -1200,9 +1205,9 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         addresses = self.tables.addresses
         orders = self.tables.orders
 
-        mapper(User, users)
-        mapper(Address, addresses)
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         q = sess.query(User, Order, Address).options(
@@ -1230,7 +1235,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         addresses = self.tables.addresses
         orders = self.tables.orders
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=util.OrderedDict(
@@ -1241,8 +1246,8 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             ),
         )
 
-        mapper(Address, addresses)
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
 
@@ -2196,8 +2201,12 @@ class DeferredPopulationTest(fixtures.MappedTest):
         class Thing(cls.Basic):
             pass
 
-        mapper(Human, human, properties={"thing": relationship(Thing)})
-        mapper(Thing, thing, properties={"name": deferred(thing.c.name)})
+        cls.mapper_registry.map_imperatively(
+            Human, human, properties={"thing": relationship(Thing)}
+        )
+        cls.mapper_registry.map_imperatively(
+            Thing, thing, properties={"name": deferred(thing.c.name)}
+        )
 
     @classmethod
     def insert_data(cls, connection):
index 95ed09a74933cc24ab7d5601001cd4c41a1eb109..ddfad7e0f0d47dd9e5e96119d9040abb21a1e0fb 100644 (file)
@@ -17,11 +17,13 @@ from sqlalchemy import table
 from sqlalchemy import testing
 from sqlalchemy import text
 from sqlalchemy import true
+from sqlalchemy import util
 from sqlalchemy.engine import default
 from sqlalchemy.orm import aliased
 from sqlalchemy.orm import as_declarative
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm import backref
+from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import collections
 from sqlalchemy.orm import column_property
 from sqlalchemy.orm import configure_mappers
@@ -890,7 +892,7 @@ class SelfRefFromSelfTest(fixtures.MappedTest, AssertsCompiledSQL):
     def setup_mappers(cls):
         Node, nodes = cls.classes.Node, cls.tables.nodes
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -1076,7 +1078,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2462,8 +2464,8 @@ class AutocommitClosesOnFailTest(fixtures.MappedTest):
             cls.tables.t1,
         )
 
-        mapper(T1, t1)
-        mapper(T2, t2)
+        cls.mapper_registry.map_imperatively(T1, t1)
+        cls.mapper_registry.map_imperatively(T2, t2)
 
     def test_close_transaction_on_commit_fail(self):
         T2 = self.classes.T2
@@ -2598,7 +2600,7 @@ class DeprecatedMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
                 # non-standard comparator
                 return self.__clause_element__().op("&=")(other)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2651,7 +2653,7 @@ class DeprecatedMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
 
             name = property(_get_name, _set_name)
 
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
 
         m.add_property("_name", deferred(users.c.name))
         m.add_property("name", synonym("_name"))
@@ -2688,7 +2690,7 @@ class DeprecatedOptionAllTest(OptionsPathTest, _fixtures.FixtureTest):
             self.classes.Keyword,
             self.classes.Item,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2696,22 +2698,22 @@ class DeprecatedOptionAllTest(OptionsPathTest, _fixtures.FixtureTest):
                 "orders": relationship(Order),
             },
         )
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
                 "items": relationship(Item, secondary=self.tables.order_items)
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Keyword,
             keywords,
             properties={
                 "keywords": column_property(keywords.c.name + "some keyword")
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2739,8 +2741,8 @@ class DeprecatedOptionAllTest(OptionsPathTest, _fixtures.FixtureTest):
             self.tables.addresses,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2872,16 +2874,20 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
         openorders = sa.alias(orders, "openorders")
         closedorders = sa.alias(orders, "closedorders")
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            open_mapper = mapper(Order, openorders, non_primary=True)
-            closed_mapper = mapper(Order, closedorders, non_primary=True)
-        mapper(
+            open_mapper = self.mapper_registry.map_imperatively(
+                Order, openorders, non_primary=True
+            )
+            closed_mapper = self.mapper_registry.map_imperatively(
+                Order, closedorders, non_primary=True
+            )
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -2923,16 +2929,20 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
         openorders = sa.alias(orders, "openorders")
         closedorders = sa.alias(orders, "closedorders")
 
-        mapper(Address, addresses)
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            open_mapper = mapper(Order, openorders, non_primary=True)
-            closed_mapper = mapper(Order, closedorders, non_primary=True)
+            open_mapper = self.mapper_registry.map_imperatively(
+                Order, openorders, non_primary=True
+            )
+            closed_mapper = self.mapper_registry.map_imperatively(
+                Order, closedorders, non_primary=True
+            )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -2975,16 +2985,20 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
         openorders = sa.alias(orders, "openorders")
         closedorders = sa.alias(orders, "closedorders")
 
-        mapper(Address, addresses)
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            open_mapper = mapper(Order, openorders, non_primary=True)
-            closed_mapper = mapper(Order, closedorders, non_primary=True)
+            open_mapper = self.mapper_registry.map_imperatively(
+                Order, openorders, non_primary=True
+            )
+            closed_mapper = self.mapper_registry.map_imperatively(
+                Order, closedorders, non_primary=True
+            )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -3028,16 +3042,20 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
         openorders = sa.alias(orders, "openorders")
         closedorders = sa.alias(orders, "closedorders")
 
-        mapper(Address, addresses)
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            open_mapper = mapper(Order, openorders, non_primary=True)
-            closed_mapper = mapper(Order, closedorders, non_primary=True)
+            open_mapper = self.mapper_registry.map_imperatively(
+                Order, openorders, non_primary=True
+            )
+            closed_mapper = self.mapper_registry.map_imperatively(
+                Order, closedorders, non_primary=True
+            )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -3186,6 +3204,9 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
 class NonPrimaryMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
     __dialect__ = "default"
 
+    def teardown_test(self):
+        clear_mappers()
+
     def test_non_primary_identity_class(self):
         User = self.classes.User
         users, addresses = self.tables.users, self.tables.addresses
@@ -3193,8 +3214,10 @@ class NonPrimaryMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         class AddressUser(User):
             pass
 
-        mapper(User, users, polymorphic_identity="user")
-        m2 = mapper(
+        self.mapper_registry.map_imperatively(
+            User, users, polymorphic_identity="user"
+        )
+        m2 = self.mapper_registry.map_imperatively(
             AddressUser,
             addresses,
             inherits=User,
@@ -3204,7 +3227,9 @@ class NonPrimaryMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            m3 = mapper(AddressUser, addresses, non_primary=True)
+            m3 = self.mapper_registry.map_imperatively(
+                AddressUser, addresses, non_primary=True
+            )
         assert m3._identity_class is m2._identity_class
         eq_(
             m2.identity_key_from_instance(AddressUser()),
@@ -3219,12 +3244,12 @@ class NonPrimaryMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(Address, addresses)
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
-            m = mapper(  # noqa F841
+            m = self.mapper_registry.map_imperatively(  # noqa F841
                 User,
                 users,
                 non_primary=True,
@@ -3240,6 +3265,69 @@ class NonPrimaryMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
     def test_illegal_non_primary_2(self):
         User, users = self.classes.User, self.tables.users
 
+        assert_raises_message(
+            sa.exc.InvalidRequestError,
+            "Configure a primary mapper first",
+            self.mapper_registry.map_imperatively,
+            User,
+            users,
+            non_primary=True,
+        )
+
+    def test_illegal_non_primary_3(self):
+        users, addresses = self.tables.users, self.tables.addresses
+
+        class Base(object):
+            pass
+
+        class Sub(Base):
+            pass
+
+        self.mapper_registry.map_imperatively(Base, users)
+        assert_raises_message(
+            sa.exc.InvalidRequestError,
+            "Configure a primary mapper first",
+            self.mapper_registry.map_imperatively,
+            Sub,
+            addresses,
+            non_primary=True,
+        )
+
+    def test_illegal_non_primary_legacy(self):
+        users, Address, addresses, User = (
+            self.tables.users,
+            self.classes.Address,
+            self.tables.addresses,
+            self.classes.User,
+        )
+
+        with testing.expect_deprecated(
+            "Calling the mapper.* function directly outside of a declarative "
+        ):
+            mapper(User, users)
+        with testing.expect_deprecated(
+            "Calling the mapper.* function directly outside of a declarative "
+        ):
+            mapper(Address, addresses)
+        with testing.expect_deprecated(
+            "The mapper.non_primary parameter is deprecated"
+        ):
+            m = mapper(  # noqa F841
+                User,
+                users,
+                non_primary=True,
+                properties={"addresses": relationship(Address)},
+            )
+        assert_raises_message(
+            sa.exc.ArgumentError,
+            "Attempting to assign a new relationship 'addresses' "
+            "to a non-primary mapper on class 'User'",
+            configure_mappers,
+        )
+
+    def test_illegal_non_primary_2_legacy(self):
+        User, users = self.classes.User, self.tables.users
+
         with testing.expect_deprecated(
             "The mapper.non_primary parameter is deprecated"
         ):
@@ -3252,7 +3340,7 @@ class NonPrimaryMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
                 non_primary=True,
             )
 
-    def test_illegal_non_primary_3(self):
+    def test_illegal_non_primary_3_legacy(self):
         users, addresses = self.tables.users, self.tables.addresses
 
         class Base(object):
@@ -3261,9 +3349,12 @@ class NonPrimaryMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         class Sub(Base):
             pass
 
-        mapper(Base, users)
         with testing.expect_deprecated(
-            "The mapper.non_primary parameter is deprecated"
+            "Calling the mapper.* function directly outside of a declarative "
+        ):
+            mapper(Base, users)
+        with testing.expect_deprecated(
+            "The mapper.non_primary parameter is deprecated",
         ):
             assert_raises_message(
                 sa.exc.InvalidRequestError,
@@ -3665,7 +3756,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(sess, "after_bulk_update", legacy)
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with testing.expect_deprecated(
             'The argument signature for the "SessionEvents.after_bulk_update" '
@@ -3695,7 +3786,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(sess, "after_bulk_delete", legacy)
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with testing.expect_deprecated(
             'The argument signature for the "SessionEvents.after_bulk_delete" '
@@ -3726,9 +3817,11 @@ class ImmediateTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(User, users, properties=dict(addresses=relationship(Address)))
+        cls.mapper_registry.map_imperatively(
+            User, users, properties=dict(addresses=relationship(Address))
+        )
 
     def test_value(self):
         User = self.classes.User
@@ -4914,7 +5007,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
     def setup_mappers(cls):
         Node, nodes = cls.classes.Node, cls.tables.nodes
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -5431,16 +5524,18 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     @classmethod
     def setup_classes(cls):
-        table1, table2 = cls.tables.table1, cls.tables.table2
-
         class T1(cls.Comparable):
             pass
 
         class T2(cls.Comparable):
             pass
 
-        mapper(T1, table1)
-        mapper(T2, table2)
+    @classmethod
+    def setup_mappers(cls):
+        T1, T2 = cls.classes("T1", "T2")
+        table1, table2 = cls.tables.table1, cls.tables.table2
+        cls.mapper_registry.map_imperatively(T1, table1)
+        cls.mapper_registry.map_imperatively(T2, table2)
 
     def test_mapped_to_select_implicit_left_w_aliased(self):
         T1, T2 = self.classes.T1, self.classes.T2
@@ -5513,7 +5608,7 @@ class MultiplePathTest(fixtures.MappedTest, AssertsCompiledSQL):
         class T2(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -5521,7 +5616,7 @@ class MultiplePathTest(fixtures.MappedTest, AssertsCompiledSQL):
                 "t2s_2": relationship(T2, secondary=t1t2_2),
             },
         )
-        mapper(T2, t2)
+        self.mapper_registry.map_imperatively(T2, t2)
 
         with testing.expect_deprecated_20(join_strings_dep):
             q = (
@@ -5544,7 +5639,7 @@ class MultiplePathTest(fixtures.MappedTest, AssertsCompiledSQL):
         )
 
 
-class BindSensitiveStringifyTest(fixtures.TestBase):
+class BindSensitiveStringifyTest(fixtures.MappedTest):
     def _fixture(self):
         # building a totally separate metadata /mapping here
         # because we need to control if the MetaData is bound or not
@@ -5560,7 +5655,8 @@ class BindSensitiveStringifyTest(fixtures.TestBase):
             Column("name", String(50)),
         )
 
-        mapper(User, user_table)
+        clear_mappers()
+        self.mapper_registry.map_imperatively(User, user_table)
         return User
 
     def _dialect_fixture(self):
@@ -5763,3 +5859,101 @@ class ExplicitJoinTest(fixtures.MappedTest):
                 .all(),
                 [],
             )
+
+
+class RequirementsTest(fixtures.MappedTest):
+
+    """Tests the contract for user classes."""
+
+    @classmethod
+    def define_tables(cls, metadata):
+        Table(
+            "ht1",
+            metadata,
+            Column(
+                "id", Integer, primary_key=True, test_needs_autoincrement=True
+            ),
+            Column("value", String(10)),
+        )
+        Table(
+            "ht2",
+            metadata,
+            Column(
+                "id", Integer, primary_key=True, test_needs_autoincrement=True
+            ),
+            Column("ht1_id", Integer, ForeignKey("ht1.id")),
+            Column("value", String(10)),
+        )
+        Table(
+            "ht3",
+            metadata,
+            Column(
+                "id", Integer, primary_key=True, test_needs_autoincrement=True
+            ),
+            Column("value", String(10)),
+        )
+        Table(
+            "ht4",
+            metadata,
+            Column("ht1_id", Integer, ForeignKey("ht1.id"), primary_key=True),
+            Column("ht3_id", Integer, ForeignKey("ht3.id"), primary_key=True),
+        )
+        Table(
+            "ht5",
+            metadata,
+            Column("ht1_id", Integer, ForeignKey("ht1.id"), primary_key=True),
+        )
+        Table(
+            "ht6",
+            metadata,
+            Column("ht1a_id", Integer, ForeignKey("ht1.id"), primary_key=True),
+            Column("ht1b_id", Integer, ForeignKey("ht1.id"), primary_key=True),
+            Column("value", String(10)),
+        )
+
+    if util.py2k:
+
+        def test_baseclass_map_imperatively(self):
+            ht1 = self.tables.ht1
+
+            class OldStyle:
+                pass
+
+            assert_raises(
+                sa.exc.ArgumentError,
+                self.mapper_registry.map_imperatively,
+                OldStyle,
+                ht1,
+            )
+
+            assert_raises(
+                sa.exc.ArgumentError,
+                self.mapper_registry.map_imperatively,
+                123,
+            )
+
+        def test_baseclass_legacy_mapper(self):
+            ht1 = self.tables.ht1
+
+            class OldStyle:
+                pass
+
+            assert_raises(
+                sa.exc.ArgumentError,
+                mapper,
+                OldStyle,
+                ht1,
+            )
+
+            assert_raises(
+                sa.exc.ArgumentError,
+                mapper,
+                123,
+            )
+
+            class NoWeakrefSupport(str):
+                pass
+
+            # TODO: is weakref support detectable without an instance?
+            # self.assertRaises(
+            #  sa.exc.ArgumentError, mapper, NoWeakrefSupport, t2)
index 4a936dd3e524bd287cc110738b5382cbdef11645..8479152bfa8f7b32a170171ef438113528bf3c10 100644 (file)
@@ -10,7 +10,6 @@ from sqlalchemy.orm import attributes
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import noload
 from sqlalchemy.orm import Query
 from sqlalchemy.orm import relationship
@@ -34,7 +33,7 @@ class _DynamicFixture(object):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -43,7 +42,7 @@ class _DynamicFixture(object):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         return User, Address
 
     def _order_item_fixture(self, items_args={}):
@@ -55,7 +54,7 @@ class _DynamicFixture(object):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -64,7 +63,7 @@ class _DynamicFixture(object):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
         return Order, Item
 
     def _user_order_item_fixture(self):
@@ -92,7 +91,7 @@ class _DynamicFixture(object):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -101,7 +100,7 @@ class _DynamicFixture(object):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -110,7 +109,7 @@ class _DynamicFixture(object):
                 ),
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -119,7 +118,7 @@ class _DynamicFixture(object):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         return User, Order, Item, Keyword
 
@@ -293,12 +292,12 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
             self.tables.addresses,
             self.classes.User,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user": relationship(User, lazy="dynamic")},
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         assert_raises_message(
             exc.InvalidRequestError,
             "On relationship Address.user, 'dynamic' loaders cannot be "
@@ -314,14 +313,14 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
             self.tables.addresses,
             self.classes.User,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
                 "user": relationship(User, uselist=True, lazy="dynamic")
             },
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         assert_raises_message(
             exc.SAWarning,
             "On relationship Address.user, 'dynamic' loaders cannot be "
@@ -431,7 +430,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -440,7 +439,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
                 )
             },
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         ad = sess.query(Address).get(1)
@@ -548,7 +547,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -560,7 +559,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
         o = sess.query(Order).first()
@@ -589,7 +588,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -598,7 +597,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
         u1 = sess.query(User).first()
@@ -632,7 +631,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
         class ItemKeyword(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -641,12 +640,12 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             ItemKeyword,
             item_keywords,
             primary_key=[item_keywords.c.item_id, item_keywords.c.keyword_id],
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={"item_keywords": relationship(ItemKeyword)},
@@ -981,7 +980,7 @@ class UOWTest(
     def test_self_referential(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
index 41c715efa3d2a4e0f2b6ee33c27acea2f43539f9..cb3ce8bfd5fc57808f7ff4da8c324b82c0826773 100644 (file)
@@ -24,7 +24,6 @@ from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import lazyload
 from sqlalchemy.orm import Load
 from sqlalchemy.orm import load_only
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import undefer
@@ -60,12 +59,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=Address.id,
                 )
@@ -95,12 +94,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=Address.id,
                 )
@@ -130,10 +129,15 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.users,
         )
 
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         sess.query(User).all()
-        m.add_property("addresses", relationship(mapper(Address, addresses)))
+        m.add_property(
+            "addresses",
+            relationship(
+                self.mapper_registry.map_imperatively(Address, addresses)
+            ),
+        )
 
         sess.expunge_all()
 
@@ -165,7 +169,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -174,7 +178,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         user = sess.query(User).get(7)
@@ -194,12 +198,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=addresses.c.email_address,
                 )
@@ -231,12 +235,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=[addresses.c.email_address, addresses.c.id],
                 )
@@ -271,8 +275,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -313,8 +317,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -355,8 +359,10 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(User, users, properties=dict(addresses=relationship(Address)))
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties=dict(addresses=relationship(Address))
+        )
 
         sess = fixture_session()
         q = (
@@ -399,7 +405,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -407,7 +413,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 "user": relationship(User, lazy="joined"),
             },
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -457,12 +463,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         # trigger, etc.)
         sa.orm.clear_mappers()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user_id": deferred(addresses.c.user_id)},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="joined")},
@@ -487,7 +493,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
 
         sa.orm.clear_mappers()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -496,7 +502,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -504,7 +510,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 "dingalings": relationship(Dingaling, lazy="joined"),
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Dingaling,
             dingalings,
             properties={"address_id": deferred(dingalings.c.address_id)},
@@ -530,12 +536,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
     def test_aliased_stmt_includes_unnamed_fn(self):
         User, Address = self.classes("User", "Address")
         users, addresses = self.tables("users", "addresses")
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="joined")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
 
@@ -569,14 +575,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
 
         User, Address = self.classes("User", "Address")
         users, addresses = self.tables("users", "addresses")
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(Address, order_by=addresses.c.id)
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
 
@@ -629,14 +635,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.item_keywords,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "orders": relationship(Order, order_by=orders.c.id)  # o2m, m2o
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -645,7 +651,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -654,7 +660,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         for opt, count in [
             ((joinedload(User.orders, Order.items),), 10),
@@ -695,12 +701,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="dynamic")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         assert_raises_message(
             sa.exc.InvalidRequestError,
@@ -718,8 +724,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -765,8 +771,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -804,8 +810,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -852,8 +858,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -865,12 +871,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(Order, orders)
         closed_mapper = aliased(Order, orders)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -928,8 +934,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -941,7 +947,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(
             Order, select(orders).where(orders.c.isopen == 1).alias()
@@ -950,7 +956,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             Order, select(orders).where(orders.c.isopen == 0).alias()
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -994,8 +1000,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.users,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1007,8 +1013,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1099,12 +1105,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         elif type_ == "subquery":
             target = select(users).subquery()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             target,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
 
@@ -1128,7 +1134,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.users,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1136,8 +1142,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 "orders": relationship(Order, lazy="joined"),
             },
         )
-        mapper(Address, addresses)
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         self.allusers = fixture_session().query(User).all()
 
@@ -1179,8 +1185,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1192,12 +1198,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=addresses.c.id,
                 ),
@@ -1232,12 +1238,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             u2.select(),
         ).alias("u")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=addresses.c.id,
                 )
@@ -1265,12 +1271,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=addresses.c.email_address,
                 )
@@ -1304,8 +1310,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -1361,8 +1367,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.users,
         )
 
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -1370,8 +1376,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             ),
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1445,7 +1451,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             )
             .alias("useralias")
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             sel,
             properties={
@@ -1457,7 +1463,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session()
         eq_(
@@ -1503,8 +1509,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -1544,8 +1550,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -1609,12 +1615,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=odict(orders=relationship(Order, backref="user")),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=odict(
@@ -1629,8 +1635,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 ]
             ),
         )
-        mapper(Address, addresses)
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
 
@@ -1779,12 +1785,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="joined", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="joined",
+                    uselist=False,
                 )
             ),
         )
@@ -1804,12 +1812,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="joined", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="joined",
+                    uselist=False,
                 )
             ),
         )
@@ -1837,11 +1847,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
-                user=relationship(mapper(User, users), lazy="joined")
+                user=relationship(
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="joined",
+                )
             ),
         )
         sess = fixture_session()
@@ -1870,12 +1883,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
 
         # use a primaryjoin intended to defeat SA's usage of
         # query.get() for a many-to-one lazyload
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     primaryjoin=and_(
                         addresses.c.id == orders.c.address_id,
                         addresses.c.email_address != None,  # noqa
@@ -1919,7 +1932,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Order,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1928,8 +1941,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -1973,8 +1986,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             .alias("max_orders")
         )
 
-        mapper(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2021,12 +2034,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Order,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"order": relationship(Order, uselist=False)},
         )
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
         s = fixture_session()
         assert_raises(
             sa.exc.SAWarning, s.query(User).options(joinedload(User.order)).all
@@ -2055,7 +2068,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -2067,13 +2080,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy=False,
                     order_by=addresses.c.id,
                 ),
@@ -2102,11 +2115,11 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
 
         s = sa.select(orders).where(orders.c.isopen == 1).alias("openorders")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order, s, properties={"user": relationship(User, lazy="joined")}
         )
-        mapper(User, users)
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(Item, items)
 
         q = fixture_session().query(Order)
         eq_(
@@ -2130,12 +2143,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=addresses.c.id,
                 )
@@ -2157,12 +2170,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     innerjoin=True,
                     order_by=addresses.c.id,
@@ -2207,14 +2220,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 orders=relationship(Order, innerjoin="unnested", lazy=False)
             ),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -2226,7 +2239,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
         self.assert_compile(
@@ -2296,7 +2309,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -2305,7 +2318,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -2318,7 +2331,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
         self.assert_compile(
@@ -2419,12 +2432,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, order_by=orders.c.id)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -2433,7 +2446,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
         q = sess.query(User).options(
@@ -2497,7 +2510,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         Order, orders = self.classes.Order, self.tables.orders
         Address, addresses = self.classes.Address, self.tables.addresses
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=odict(
@@ -2507,8 +2520,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 ]
             ),
         )
-        mapper(Order, orders)
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         q = sess.query(User).options(
@@ -2539,7 +2552,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         Order, orders = self.classes.Order, self.tables.orders
         Address, addresses = self.classes.Address, self.tables.addresses
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=odict(
@@ -2549,8 +2562,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 ]
             ),
         )
-        mapper(Order, orders)
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         q = sess.query(User).options(
@@ -2601,14 +2614,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.item_keywords,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "orders": relationship(Order, backref="user")
             },  # o2m, m2o
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -2617,7 +2630,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -2626,7 +2639,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         sess = fixture_session()
         q = (
@@ -2682,12 +2695,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, lazy=False)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -2699,7 +2712,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
 
@@ -2746,12 +2759,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, lazy=False)),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -2760,7 +2773,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
 
@@ -2793,7 +2806,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -2804,7 +2817,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -2813,7 +2826,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             ),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
         sess = fixture_session()
         self.assert_compile(
             sess.query(User).options(joinedload(User.orders, innerjoin=True)),
@@ -2920,19 +2933,19 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.orders,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, lazy="select")),
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
                 items=relationship(Item, secondary=order_items, lazy="joined")
             ),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
 
@@ -3154,8 +3167,10 @@ class InnerJoinSplicingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             cls.classes.D2,
             cls.classes.E1,
         )
-        mapper(A, cls.tables.a, properties={"bs": relationship(B)})
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            A, cls.tables.a, properties={"bs": relationship(B)}
+        )
+        cls.mapper_registry.map_imperatively(
             B,
             cls.tables.b,
             properties=odict(
@@ -3165,23 +3180,23 @@ class InnerJoinSplicingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                 ]
             ),
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C1,
             cls.tables.c1,
             properties={"d1s": relationship(D1, order_by=cls.tables.d1.c.id)},
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C2,
             cls.tables.c2,
             properties={"d2s": relationship(D2, order_by=cls.tables.d2.c.id)},
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             D1,
             cls.tables.d1,
             properties={"e1s": relationship(E1, order_by=cls.tables.e1.c.id)},
         )
-        mapper(D2, cls.tables.d2)
-        mapper(E1, cls.tables.e1)
+        cls.mapper_registry.map_imperatively(D2, cls.tables.d2)
+        cls.mapper_registry.map_imperatively(E1, cls.tables.e1)
 
     @classmethod
     def _fixture_data(cls):
@@ -3453,9 +3468,13 @@ class InnerJoinSplicingWSecondaryTest(
             cls.classes.C,
             cls.classes.D,
         )
-        mapper(A, cls.tables.a, properties={"b": relationship(B)})
-        mapper(B, cls.tables.b, properties=odict([("c", relationship(C))]))
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            A, cls.tables.a, properties={"b": relationship(B)}
+        )
+        cls.mapper_registry.map_imperatively(
+            B, cls.tables.b, properties=odict([("c", relationship(C))])
+        )
+        cls.mapper_registry.map_imperatively(
             C,
             cls.tables.c,
             properties=odict(
@@ -3471,7 +3490,7 @@ class InnerJoinSplicingWSecondaryTest(
                 ]
             ),
         )
-        mapper(D, cls.tables.d)
+        cls.mapper_registry.map_imperatively(D, cls.tables.d)
 
     @classmethod
     def _fixture_data(cls):
@@ -3553,8 +3572,10 @@ class SubqueryAliasingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
     def _fixture(self, props):
         A, B = self.classes.A, self.classes.B
         b_table, a_table = self.tables.b, self.tables.a
-        mapper(A, a_table, properties=props)
-        mapper(B, b_table, properties={"a": relationship(A, backref="bs")})
+        self.mapper_registry.map_imperatively(A, a_table, properties=props)
+        self.mapper_registry.map_imperatively(
+            B, b_table, properties={"a": relationship(A, backref="bs")}
+        )
 
     def test_column_property(self):
         A = self.classes.A
@@ -3729,17 +3750,19 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
             self.classes.Address,
             self.classes.Dingaling,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={"addresses": relationship(Address)},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             self.tables.addresses,
             properties={"dingaling": relationship(Dingaling)},
         )
-        mapper(Dingaling, self.tables.dingalings)
+        self.mapper_registry.map_imperatively(
+            Dingaling, self.tables.dingalings
+        )
 
         sess = fixture_session(autoflush=False)
         return User, Address, Dingaling, sess
@@ -3750,29 +3773,29 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
             self.classes.Order,
             self.classes.Item,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User, self.tables.users, properties={"orders": relationship(Order)}
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             self.tables.orders,
             properties={
                 "items": relationship(Item, secondary=self.tables.order_items)
             },
         )
-        mapper(Item, self.tables.items)
+        self.mapper_registry.map_imperatively(Item, self.tables.items)
 
         sess = fixture_session(autoflush=False)
         return User, Order, Item, sess
 
     def _eager_config_fixture(self):
         User, Address = self.classes.User, self.classes.Address
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={"addresses": relationship(Address, lazy="joined")},
         )
-        mapper(Address, self.tables.addresses)
+        self.mapper_registry.map_imperatively(Address, self.tables.addresses)
         sess = fixture_session(autoflush=False)
         return User, Address, sess
 
@@ -3797,7 +3820,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     )
     def test_refresh_no_recursion(self, strat):
         User, Address = self.classes.User, self.classes.Address
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={
@@ -3806,7 +3829,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             self.tables.addresses,
             properties={
@@ -3982,7 +4005,7 @@ class AddEntityTest(_fixtures.FixtureTest):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -3990,8 +4013,8 @@ class AddEntityTest(_fixtures.FixtureTest):
                 "orders": relationship(Order),
             },
         )
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -4003,7 +4026,7 @@ class AddEntityTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
         oalias = sa.orm.aliased(Order)
@@ -4042,7 +4065,7 @@ class AddEntityTest(_fixtures.FixtureTest):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -4050,8 +4073,8 @@ class AddEntityTest(_fixtures.FixtureTest):
                 "orders": relationship(Order),
             },
         )
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -4060,7 +4083,7 @@ class AddEntityTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
 
@@ -4148,7 +4171,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -4157,7 +4180,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         sess = fixture_session()
         eq_(
@@ -4189,7 +4212,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -4265,7 +4288,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -4312,7 +4335,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -4373,7 +4396,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -4448,7 +4471,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"children": relationship(Node, lazy="joined")},
@@ -4521,8 +4544,8 @@ class MixedSelfReferentialEagerTest(fixtures.MappedTest):
         class B(cls.Comparable):
             pass
 
-        mapper(A, a_table)
-        mapper(
+        cls.mapper_registry.map_imperatively(A, a_table)
+        cls.mapper_registry.map_imperatively(
             B,
             b_table,
             properties={
@@ -4640,7 +4663,7 @@ class SelfReferentialM2MEagerTest(fixtures.MappedTest):
         class Widget(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Widget,
             widget,
             properties={
@@ -4707,7 +4730,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             cls.tables.addresses,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -4715,8 +4738,8 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 "orders": relationship(Order, backref="user"),  # o2m, m2o
             },
         )
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -4725,7 +4748,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -4734,7 +4757,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
 
     def test_two_entities(self):
         Item, Order, User, Address = (
@@ -5083,13 +5106,13 @@ class SubqueryTest(fixtures.MappedTest):
         else:
             user_score = user_score.scalar_subquery()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Tag,
             tags_table,
             properties={"query_score": sa.orm.column_property(tag_score)},
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users_table,
             properties={
@@ -5225,7 +5248,7 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
         class Stuff(fixtures.ComparableEntity):
             pass
 
-        mapper(Stuff, stuff)
+        self.mapper_registry.map_imperatively(Stuff, stuff)
         if aliasstuff:
             salias = stuff.alias()
         else:
@@ -5268,7 +5291,7 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
             stuff_view = stuff_view.scalar_subquery()
 
         if ondate:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 User,
                 users,
                 properties={
@@ -5282,7 +5305,7 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
                 },
             )
         else:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 User,
                 users,
                 properties={
@@ -5389,8 +5412,10 @@ class CyclicalInheritingEagerTestOne(fixtures.MappedTest):
         class SubT2(T2):
             pass
 
-        mapper(T, t1, polymorphic_on=t1.c.type, polymorphic_identity="t1")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            T, t1, polymorphic_on=t1.c.type, polymorphic_identity="t1"
+        )
+        self.mapper_registry.map_imperatively(
             SubT,
             None,
             inherits=T,
@@ -5403,8 +5428,12 @@ class CyclicalInheritingEagerTestOne(fixtures.MappedTest):
                 )
             },
         )
-        mapper(T2, t2, polymorphic_on=t2.c.type, polymorphic_identity="t2")
-        mapper(SubT2, None, inherits=T2, polymorphic_identity="subt2")
+        self.mapper_registry.map_imperatively(
+            T2, t2, polymorphic_on=t2.c.type, polymorphic_identity="t2"
+        )
+        self.mapper_registry.map_imperatively(
+            SubT2, None, inherits=T2, polymorphic_identity="subt2"
+        )
 
         # testing a particular endless loop condition in eager load setup
         fixture_session().query(SubT).all()
@@ -6243,9 +6272,9 @@ class DeepOptionsTest(_fixtures.FixtureTest):
             cls.tables.orders,
         )
 
-        mapper(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -6255,7 +6284,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -6263,7 +6292,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(orders=relationship(Order, order_by=orders.c.id)),
@@ -6431,13 +6460,13 @@ class SecondaryOptionsTest(fixtures.MappedTest):
         class Related(cls.Comparable):
             pass
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Base,
             base,
             polymorphic_on=base.c.type,
             properties={"related": relationship(Related, uselist=False)},
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Child1,
             child1,
             inherits=Base,
@@ -6450,8 +6479,10 @@ class SecondaryOptionsTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Child2, child2, inherits=Base, polymorphic_identity="child2")
-        mapper(Related, related)
+        cls.mapper_registry.map_imperatively(
+            Child2, child2, inherits=Base, polymorphic_identity="child2"
+        )
+        cls.mapper_registry.map_imperatively(Related, related)
 
     @classmethod
     def insert_data(cls, connection):
index db56eeb833fab1dd70bda29b6521ace0db48e858..62acca582701ac0f595988a195a5ffaad970de07 100644 (file)
@@ -11,7 +11,6 @@ from sqlalchemy import String
 from sqlalchemy import tuple_
 from sqlalchemy.orm import evaluator
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import assert_raises
 from sqlalchemy.testing import assert_raises_message
@@ -62,7 +61,7 @@ class EvaluateTest(fixtures.MappedTest):
     def setup_mappers(cls):
         users, User = cls.tables.users, cls.classes.User
 
-        mapper(User, users)
+        cls.mapper_registry.map_imperatively(User, users)
 
     def test_compare_to_value(self):
         User = self.classes.User
index 8062ca7b66b15ebacbce16f8c26ce5bb549b9eb9..297dfd23240b950e65505cecfb9a35c547074d01 100644 (file)
@@ -651,8 +651,8 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         class B(A):
             pass
 
-        mapper(A, users)
-        mapper(
+        self.mapper_registry.map_imperatively(A, users)
+        self.mapper_registry.map_imperatively(
             B, addresses, inherits=A, properties={"address_id": addresses.c.id}
         )
 
@@ -722,7 +722,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
     def test_init_allow_kw_modify(self):
         User, users = self.classes.User, self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         @event.listens_for(User, "init")
         def add_name(obj, args, kwargs):
@@ -739,7 +739,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
                 if kw.get("fail"):
                     raise Exception("failure")
 
-        mapper(Thing, users)
+        self.mapper_registry.map_imperatively(Thing, users)
 
         canary = Mock()
         event.listen(Thing, "init_failure", canary)
@@ -752,7 +752,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
     def test_listen_doesnt_force_compile(self):
         User, users = self.classes.User, self.tables.users
-        m = mapper(
+        m = self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -768,7 +768,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_basic(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         canary = self.listen_all(User)
         named_canary = self.listen_all(User, named=True)
 
@@ -804,7 +804,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_insert_before_configured(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         canary = Mock()
 
@@ -823,7 +823,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_insert_flags(self):
         users, User = self.tables.users, self.classes.User
 
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
 
         canary = Mock()
 
@@ -856,7 +856,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_merge(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         canary = []
 
@@ -887,8 +887,8 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         class AdminUser(User):
             pass
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             AdminUser,
             addresses,
             inherits=User,
@@ -951,7 +951,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         canary1 = self.listen_all(User, propagate=True)
         canary2 = self.listen_all(User)
@@ -959,7 +959,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         class AdminUser(User):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             AdminUser,
             addresses,
             inherits=User,
@@ -1026,14 +1026,14 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
                 "keywords": relationship(Keyword, secondary=item_keywords)
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         canary1 = self.listen_all(Item)
         canary2 = self.listen_all(Keyword)
@@ -1060,7 +1060,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         m1 = Mock()
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         assert_raises_message(
             sa.exc.SAWarning,
             r"before_configured' and 'after_configured' ORM events only "
@@ -1089,7 +1089,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         m1 = Mock()
         m2 = Mock()
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         event.listen(mapper, "before_configured", m1)
         event.listen(mapper, "after_configured", m2)
@@ -1114,9 +1114,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(Mapper, "instrument_class", instrument_class)
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         eq_(canary, [User])
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         eq_(canary, [User, Address])
 
     def test_instrument_class_precedes_class_instrumentation(self):
@@ -1145,9 +1145,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         def class_instrument(class_):
             canary.class_instrument(class_)
 
-        mapper(MyClass, users)
+        self.mapper_registry.map_imperatively(MyClass, users)
 
-        mapper(MySubClass, inherits=MyClass)
+        self.mapper_registry.map_imperatively(MySubClass, inherits=MyClass)
 
         m1 = MyClass()
         assert attributes.instance_state(m1)
@@ -1186,7 +1186,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         """
 
         User, users = self.classes.User, self.tables.users
-        ump = mapper(User, users)
+        ump = self.mapper_registry.map_imperatively(User, users)
 
         AnotherBase = declarative_base()
 
@@ -1428,7 +1428,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(User, "before_insert", evt, raw=True)
 
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
         m.dispatch.before_insert(5, 6, 7)
         eq_(canary, [5])
 
@@ -1454,11 +1454,11 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(User, "before_insert", canary, propagate=True, raw=True)
 
-        m = mapper(SubUser, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
         m.dispatch.before_insert(5, 6, 7)
         eq_(canary.mock_calls, [call(5, 6, 7)])
 
-        m2 = mapper(SubSubUser, users)
+        m2 = self.mapper_registry.map_imperatively(SubSubUser, users)
 
         m2.dispatch.before_insert(8, 9, 10)
         eq_(canary.mock_calls, [call(5, 6, 7), call(8, 9, 10)])
@@ -1482,7 +1482,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(User, "before_insert", evt, propagate=False)
 
-        m = mapper(SubUser, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
         m.dispatch.before_insert(5, 6, 7)
         eq_(canary, [])
 
@@ -1498,7 +1498,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         class SubUser(User):
             pass
 
-        m = mapper(SubUser, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
 
         canary = []
 
@@ -1525,12 +1525,12 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         class SubSubUser(SubUser):
             pass
 
-        m = mapper(SubUser, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
 
         canary = Mock()
         event.listen(User, "before_insert", canary, propagate=True, raw=True)
 
-        m2 = mapper(SubSubUser, users)
+        m2 = self.mapper_registry.map_imperatively(SubSubUser, users)
 
         m.dispatch.before_insert(5, 6, 7)
         eq_(canary.mock_calls, [call(5, 6, 7)])
@@ -1550,7 +1550,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         class SubUser(User):
             pass
 
-        m = mapper(SubUser, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
 
         canary = []
 
@@ -1578,7 +1578,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(User, "load", evt, raw=True)
 
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
         m.class_manager.dispatch.load(5)
         eq_(canary, [5])
 
@@ -1604,8 +1604,8 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(User, "load", evt, propagate=True, raw=True)
 
-        m = mapper(SubUser, users)
-        m2 = mapper(SubUser2, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
+        m2 = self.mapper_registry.map_imperatively(SubUser2, users)
 
         m.class_manager.dispatch.load(5)
         eq_(canary, [5])
@@ -1635,8 +1635,8 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         event.listen(User, "load", canary, propagate=True, raw=False)
 
         # reversing these fixes....
-        m = mapper(SubUser, users)
-        m2 = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
+        m2 = self.mapper_registry.map_imperatively(User, users)
 
         instance = Mock()
         m.class_manager.dispatch.load(instance)
@@ -1646,7 +1646,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         m2.class_manager.dispatch.load(instance)
         eq_(canary.mock_calls, [call(instance.obj()), call(instance.obj())])
 
-        m3 = mapper(SubUser2, users)
+        m3 = self.mapper_registry.map_imperatively(SubUser2, users)
         m3.class_manager.dispatch.load(instance)
         eq_(
             canary.mock_calls,
@@ -1671,7 +1671,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(User, "load", evt, propagate=False)
 
-        m = mapper(SubUser, users)
+        m = self.mapper_registry.map_imperatively(SubUser, users)
         m.class_manager.dispatch.load(5)
         eq_(canary, [])
 
@@ -1756,7 +1756,7 @@ class DeferredMapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         event.listen(User, "attribute_instrument", evt, propagate=False)
 
-        mapper(SubUser, users)
+        self.mapper_registry.map_imperatively(SubUser, users)
         instrumentation._instrumentation_factory.dispatch.attribute_instrument(
             5
         )
@@ -1770,7 +1770,7 @@ class LoadTest(_fixtures.FixtureTest):
     def setup_mappers(cls):
         User, users = cls.classes.User, cls.tables.users
 
-        mapper(User, users)
+        cls.mapper_registry.map_imperatively(User, users)
 
     def _fixture(self):
         User = self.classes.User
@@ -1833,8 +1833,8 @@ class RemovalTest(_fixtures.FixtureTest):
         class AdminUser(User):
             pass
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             AdminUser,
             addresses,
             inherits=User,
@@ -1868,7 +1868,7 @@ class RemovalTest(_fixtures.FixtureTest):
         class User(Foo):
             pass
 
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
 
         u1 = User()
         m.dispatch.before_insert(m, None, attributes.instance_state(u1))
@@ -1884,7 +1884,7 @@ class RemovalTest(_fixtures.FixtureTest):
         class Bar(Foo):
             pass
 
-        m = mapper(Bar, users)
+        m = self.mapper_registry.map_imperatively(Bar, users)
         b1 = Bar()
         m.dispatch.before_insert(m, None, attributes.instance_state(b1))
         eq_(fn.call_count, 1)
@@ -1898,7 +1898,7 @@ class RemovalTest(_fixtures.FixtureTest):
             pass
 
         event.listen(User, "load", fn)
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
 
         u1 = User()
         m.class_manager.dispatch.load(u1._sa_instance_state, "u1")
@@ -1917,7 +1917,7 @@ class RefreshTest(_fixtures.FixtureTest):
     def setup_mappers(cls):
         User, users = cls.classes.User, cls.tables.users
 
-        mapper(User, users)
+        cls.mapper_registry.map_imperatively(User, users)
 
     def _fixture(self):
         User = self.classes.User
@@ -2191,7 +2191,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_flush_autocommit_hook(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess, canary = self._listener_fixture(
             autoflush=False, autocommit=True, expire_on_commit=False
@@ -2219,7 +2219,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_rollback_hook(self):
         User, users = self.classes.User, self.tables.users
         sess, canary = self._listener_fixture()
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u = User(name="u1", id=1)
         sess.add(u)
@@ -2261,7 +2261,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
     def test_can_use_session_in_outer_rollback_hook(self):
         User, users = self.classes.User, self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2304,7 +2304,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         sess, canary = self._listener_fixture()
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u = User(name="u1")
         sess.add(u)
@@ -2329,7 +2329,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         sess, canary = self._listener_fixture()
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u = User(name="u1")
         sess.add(u)
         sess.flush()
@@ -2364,7 +2364,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
             else:
                 assert inst not in session.new
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u = User(name="u1")
         sess.add(u)
         sess.flush()
@@ -2383,7 +2383,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
             else:
                 assert inst in session.new
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u = User(name="u1")
         sess.add(u)
         sess.flush()
@@ -2412,7 +2412,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         event.listen(sess, "after_begin", canary.after_begin)
         event.listen(sess, "after_bulk_update", canary.after_bulk_update)
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess.query(User).update({"name": "foo"})
 
@@ -2432,7 +2432,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         event.listen(sess, "after_begin", canary.after_begin)
         event.listen(sess, "after_bulk_delete", canary.after_bulk_delete)
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess.query(User).delete()
 
@@ -2453,7 +2453,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_reentrant_flush(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         def before_flush(session, flush_context, objects):
             session.flush()
@@ -2468,7 +2468,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_before_flush_affects_flush_plan(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         def before_flush(session, flush_context, objects):
             for obj in list(session.new) + list(session.dirty):
@@ -2521,7 +2521,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_before_flush_affects_dirty(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         def before_flush(session, flush_context, objects):
             for obj in list(session.identity_map.values()):
@@ -2546,7 +2546,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_snapshot_still_present_after_commit(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2568,7 +2568,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
     def test_snapshot_still_present_after_rollback(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2596,7 +2596,7 @@ class SessionLifecycleEventsTest(_RemoveListeners, _fixtures.FixtureTest):
 
         if include_address:
             addresses, Address = self.tables.addresses, self.classes.Address
-            mapper(
+            self.mapper_registry.map_imperatively(
                 User,
                 users,
                 properties={
@@ -2605,9 +2605,9 @@ class SessionLifecycleEventsTest(_RemoveListeners, _fixtures.FixtureTest):
                     )
                 },
             )
-            mapper(Address, addresses)
+            self.mapper_registry.map_imperatively(Address, addresses)
         else:
-            mapper(User, users)
+            self.mapper_registry.map_imperatively(User, users)
 
         listener = Mock()
 
@@ -3142,7 +3142,7 @@ class QueryEventsTest(
         User = cls.classes.User
         users = cls.tables.users
 
-        mapper(User, users)
+        cls.mapper_registry.map_imperatively(User, users)
 
     def test_before_compile(self):
         @event.listens_for(query.Query, "before_compile", retval=True)
@@ -3305,7 +3305,9 @@ class RefreshFlushInReturningTest(fixtures.MappedTest):
     def setup_mappers(cls):
         Thing = cls.classes.Thing
 
-        mapper(Thing, cls.tables.test, eager_defaults=True)
+        cls.mapper_registry.map_imperatively(
+            Thing, cls.tables.test, eager_defaults=True
+        )
 
     def test_no_attr_events_flush(self):
         Thing = self.classes.Thing
index 6c6c795b1a9e6bb16097916b5a1a772e8aba8657..92a7ea42d37e49110d418b1dd2375854942e1f75 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import lazyload
 from sqlalchemy.orm import make_transient_to_detached
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import strategies
@@ -43,12 +42,12 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(7)
@@ -90,8 +89,10 @@ class ExpireTest(_fixtures.FixtureTest):
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
 
         s = fixture_session()
 
@@ -107,7 +108,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_persistence_check(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         u = s.query(User).get(7)
         s.expunge_all()
@@ -122,7 +123,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_get_refreshes(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
         u = s.query(User).get(10)
         s.expire_all()
@@ -145,7 +146,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_get_on_deleted_expunges(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
         u = s.query(User).get(10)
 
@@ -160,7 +161,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_refresh_on_deleted_raises(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
         u = s.query(User).get(10)
         s.expire_all()
@@ -181,7 +182,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_rollback_undoes_expunge_from_deleted(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
         u = s.query(User).get(10)
         s.expire_all()
@@ -204,7 +205,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         Order, orders = self.classes.Order, self.tables.orders
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -236,7 +237,9 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_deferred_notfound(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users, properties={"name": deferred(users.c.name)})
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"name": deferred(users.c.name)}
+        )
         s = fixture_session(autocommit=False)
         u = s.query(User).get(10)
 
@@ -259,7 +262,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -268,7 +271,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=True, autocommit=False)
         u = s.query(User).get(8)
         adlist = u.addresses
@@ -303,7 +306,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -312,7 +315,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=True, autocommit=False)
         u = s.query(User).get(8)
         assert_raises_message(
@@ -326,7 +329,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_refresh_cancels_expire(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         u = s.query(User).get(7)
         s.expire(u)
@@ -341,7 +344,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_expire_doesntload_on_set(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(7)
@@ -359,7 +362,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_no_session(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u = sess.query(User).get(7)
 
@@ -372,7 +375,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         # this was the opposite in 0.4, but the reasoning there seemed off.
         # expiring a pending instance makes no sense, so should raise
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u = User(id=15)
         sess.add(u)
@@ -385,7 +388,7 @@ class ExpireTest(_fixtures.FixtureTest):
         # an instance is pending, but has expired attributes.  this
         # is actually part of a larger behavior when postfetch needs to
         # occur during a flush() on an instance that was just inserted
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(7)
 
@@ -401,7 +404,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         # same as test_no_instance_key, but the PK columns
         # are absent.  ensure an error is raised.
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u = sess.query(User).get(7)
 
@@ -418,7 +421,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         Order, orders = self.classes.Order, self.tables.orders
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
         sess = fixture_session(autoflush=False)
         o = sess.query(Order).get(3)
         sess.expire(o)
@@ -469,7 +472,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session(autoflush=False)
         o = sess.query(Order).get(3)
@@ -495,7 +498,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -504,7 +507,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=False)
         u = s.query(User).get(8)
         assert u.addresses[0].email_address == "ed@wood.com"
@@ -521,7 +524,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -530,7 +533,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=False)
         u = s.query(User).get(8)
         assert u.addresses[0].email_address == "ed@wood.com"
@@ -563,12 +566,12 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, cascade=cascade)},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=False)
 
         u = s.query(User).get(8)
@@ -595,12 +598,12 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u = sess.query(User).get(7)
@@ -626,7 +629,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -635,7 +638,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u = sess.query(User).get(7)
@@ -675,7 +678,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -684,7 +687,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(7)
@@ -720,13 +723,15 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"orders": relationship(Order, order_by=orders.c.id)},
         )
-        mapper(Address, addresses, properties={"user": relationship(User)})
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session(autoflush=False)
 
@@ -821,7 +826,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -830,7 +835,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(8)
         sess.expire(u, ["name", "addresses"])
@@ -851,7 +856,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         # changed in #1763, eager loaders are run when we unexpire
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -860,7 +865,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         u = sess.query(User).get(8)
         sess.expire(u)
@@ -880,12 +885,12 @@ class ExpireTest(_fixtures.FixtureTest):
 
         # changed in #1763, eager loaders are run when we unexpire
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         u = sess.query(User).options(joinedload(User.addresses)).get(8)
         sess.expire(u)
@@ -901,7 +906,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.tables.addresses,
             self.classes.User,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -910,7 +915,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         u = sess.query(User).get(8)
         sess.expire(u)
@@ -928,7 +933,9 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_expire_synonym(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users, properties={"uname": sa.orm.synonym("name")})
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"uname": sa.orm.synonym("name")}
+        )
 
         sess = fixture_session()
         u = sess.query(User).get(7)
@@ -952,7 +959,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_partial_expire(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session(autoflush=False)
         o = sess.query(Order).get(3)
@@ -1016,12 +1023,12 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(8)
@@ -1074,7 +1081,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1083,7 +1090,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(8)
@@ -1132,12 +1139,12 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(8)
@@ -1160,7 +1167,7 @@ class ExpireTest(_fixtures.FixtureTest):
     def test_partial_expire_deferred(self):
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": sa.orm.deferred(orders.c.description)},
@@ -1195,7 +1202,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         sa.orm.clear_mappers()
 
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
         sess.expunge_all()
 
         # same tests, using deferred at the options level
@@ -1243,7 +1250,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1252,7 +1259,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         u = sess.query(User).get(8)
@@ -1272,7 +1279,7 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1284,7 +1291,7 @@ class ExpireTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         userlist = sess.query(User).order_by(User.id).all()
@@ -1306,7 +1313,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session(autoflush=False)
 
@@ -1356,7 +1363,9 @@ class ExpireTest(_fixtures.FixtureTest):
 
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users, properties={"name": deferred(users.c.name)})
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"name": deferred(users.c.name)}
+        )
 
         sess = fixture_session(autoflush=False)
         u1 = sess.query(User).options(undefer(User.name)).first()
@@ -1405,12 +1414,12 @@ class ExpireTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="noload")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         u1 = sess.query(User).options(lazyload(User.addresses)).first()
@@ -1452,7 +1461,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
     def test_deferred_expire_w_transient_to_detached(self):
         orders, Order = self.tables.orders, self.classes.Order
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -1468,7 +1477,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
     def test_deferred_expire_normally(self):
         orders, Order = self.tables.orders, self.classes.Order
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -1483,7 +1492,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
     def test_deferred_expire_explicit_attrs(self):
         orders, Order = self.tables.orders, self.classes.Order
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": deferred(orders.c.description)},
@@ -1565,13 +1574,13 @@ class PolymorphicExpireTest(fixtures.MappedTest):
             cls.classes.Engineer,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
             polymorphic_identity="person",
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
@@ -1667,12 +1676,12 @@ class ExpiredPendingTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         a1 = Address(email_address="a1")
@@ -1751,9 +1760,11 @@ class LifecycleTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.Data, cls.tables.data)
-        mapper(cls.classes.DataFetched, cls.tables.data_fetched)
-        mapper(
+        cls.mapper_registry.map_imperatively(cls.classes.Data, cls.tables.data)
+        cls.mapper_registry.map_imperatively(
+            cls.classes.DataFetched, cls.tables.data_fetched
+        )
+        cls.mapper_registry.map_imperatively(
             cls.classes.DataDefer,
             cls.tables.data_defer,
             properties={"data": deferred(cls.tables.data_defer.c.data)},
@@ -1865,12 +1876,13 @@ class RefreshTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    backref="user",
                 )
             },
         )
@@ -1908,7 +1920,7 @@ class RefreshTest(_fixtures.FixtureTest):
     def test_persistence_check(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         u = s.query(User).get(7)
         s.expunge_all()
@@ -1922,8 +1934,10 @@ class RefreshTest(_fixtures.FixtureTest):
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
 
         s = fixture_session()
 
@@ -1939,7 +1953,7 @@ class RefreshTest(_fixtures.FixtureTest):
     def test_refresh_expired(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         u = s.query(User).get(7)
         s.expire(u)
@@ -1960,10 +1974,14 @@ class RefreshTest(_fixtures.FixtureTest):
         )
 
         s = fixture_session()
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
-            properties={"addresses": relationship(mapper(Address, addresses))},
+            properties={
+                "addresses": relationship(
+                    self.mapper_registry.map_imperatively(Address, addresses)
+                )
+            },
         )
         q = s.query(User).options(sa.orm.lazyload("addresses"))
         u = q.filter(users.c.id == 8).first()
@@ -1984,12 +2002,13 @@ class RefreshTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), lazy="joined"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="joined",
                 )
             },
         )
@@ -2014,15 +2033,17 @@ class RefreshTest(_fixtures.FixtureTest):
             "users", "addresses", "dingalings"
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"dingalings": relationship(Dingaling)},
         )
 
-        mapper(Dingaling, dingalings)
+        self.mapper_registry.map_imperatively(Dingaling, dingalings)
 
         s = fixture_session()
         q = (
@@ -2063,9 +2084,9 @@ class RefreshTest(_fixtures.FixtureTest):
         )
 
         s = fixture_session()
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
index 863690ffb56301e7b2d71ed51ad40f8df107d186..640ee45d21296a517c431448ba47f541fda5afe9 100644 (file)
@@ -26,7 +26,6 @@ from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import contains_eager
 from sqlalchemy.orm import declarative_base
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm.context import ORMSelectCompileState
@@ -92,7 +91,7 @@ class QueryTest(_fixtures.FixtureTest):
             cls.tables.addresses,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -104,7 +103,7 @@ class QueryTest(_fixtures.FixtureTest):
                 ),  # o2m, m2o
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -113,8 +112,8 @@ class QueryTest(_fixtures.FixtureTest):
                 )  # o2o
             },
         )
-        mapper(Dingaling, dingalings)
-        mapper(
+        cls.mapper_registry.map_imperatively(Dingaling, dingalings)
+        cls.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -124,16 +123,16 @@ class QueryTest(_fixtures.FixtureTest):
                 "address": relationship(Address),  # m2o
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
                 "keywords": relationship(Keyword, secondary=item_keywords)
             },
         )  # m2m
-        mapper(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -143,7 +142,7 @@ class QueryTest(_fixtures.FixtureTest):
             },
         )
 
-        mapper(CompositePk, composite_pk_table)
+        cls.mapper_registry.map_imperatively(CompositePk, composite_pk_table)
 
         configure_mappers()
 
@@ -986,8 +985,6 @@ class AddEntityEquivalenceTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     @classmethod
     def setup_classes(cls):
-        a, c, b, d = (cls.tables.a, cls.tables.c, cls.tables.b, cls.tables.d)
-
         class A(cls.Comparable):
             pass
 
@@ -1000,7 +997,12 @@ class AddEntityEquivalenceTest(fixtures.MappedTest, AssertsCompiledSQL):
         class D(A):
             pass
 
-        mapper(
+    @classmethod
+    def setup_mappers(cls):
+        a, c, b, d = (cls.tables.a, cls.tables.c, cls.tables.b, cls.tables.d)
+        A, B, C, D = cls.classes("A", "B", "C", "D")
+
+        cls.mapper_registry.map_imperatively(
             A,
             a,
             polymorphic_identity="a",
@@ -1010,15 +1012,19 @@ class AddEntityEquivalenceTest(fixtures.MappedTest, AssertsCompiledSQL):
                 "link": relationship(B, uselist=False, backref="back")
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             B,
             b,
             polymorphic_identity="b",
             polymorphic_on=b.c.type,
             with_polymorphic=("*", None),
         )
-        mapper(C, c, inherits=B, polymorphic_identity="c")
-        mapper(D, d, inherits=A, polymorphic_identity="d")
+        cls.mapper_registry.map_imperatively(
+            C, c, inherits=B, polymorphic_identity="c"
+        )
+        cls.mapper_registry.map_imperatively(
+            D, d, inherits=A, polymorphic_identity="d"
+        )
 
     @classmethod
     def insert_data(cls, connection):
@@ -2718,8 +2724,10 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sel = users.select().where(users.c.id.in_([7, 8])).alias()
         sess = fixture_session()
@@ -2764,7 +2772,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
     def test_select_from_aliased_one(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2782,7 +2790,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
     def test_select_from_aliased_two(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2799,7 +2807,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
     def test_select_from_core_alias_one(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2819,7 +2827,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
 
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2893,7 +2901,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
 
     def test_aliased_class_vs_nonaliased(self):
         User, users = self.classes.User, self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         ua = aliased(User)
 
@@ -2945,7 +2953,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
     def test_join_no_order_by(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sel = users.select().where(users.c.id.in_([7, 8]))
         sess = fixture_session()
@@ -2958,12 +2966,13 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
     def test_join_relname_from_selected_from(self):
         User, Address = self.classes.User, self.classes.Address
         users, addresses = self.tables.users, self.tables.addresses
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    backref="user",
                 )
             },
         )
@@ -2979,10 +2988,14 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
     def test_filter_by_selected_from(self):
         User, Address = self.classes.User, self.classes.Address
         users, addresses = self.tables.users, self.tables.addresses
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
-            properties={"addresses": relationship(mapper(Address, addresses))},
+            properties={
+                "addresses": relationship(
+                    self.mapper_registry.map_imperatively(Address, addresses)
+                )
+            },
         )
 
         sess = fixture_session()
@@ -3000,10 +3013,14 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
     def test_join_ent_selected_from(self):
         User, Address = self.classes.User, self.classes.Address
         users, addresses = self.tables.users, self.tables.addresses
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
-            properties={"addresses": relationship(mapper(Address, addresses))},
+            properties={
+                "addresses": relationship(
+                    self.mapper_registry.map_imperatively(Address, addresses)
+                )
+            },
         )
 
         sess = fixture_session()
@@ -3022,8 +3039,10 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sel = users.select().where(users.c.id.in_([7, 8]))
         sess = fixture_session()
@@ -3110,12 +3129,12 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
             self.tables.item_keywords,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"orders": relationship(Order, backref="user")},
         )  # o2m, m2o
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -3125,7 +3144,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
             },
         )  # m2m
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -3134,7 +3153,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
                 )
             },
         )  # m2m
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         sess = fixture_session()
         sel = users.select().where(users.c.id.in_([7, 8]))
@@ -3173,12 +3192,12 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
             self.tables.item_keywords,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"orders": relationship(Order, backref="user")},
         )  # o2m, m2o
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -3187,7 +3206,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
                 )
             },
         )  # m2m
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -3196,7 +3215,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
                 )
             },
         )  # m2m
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         sess = fixture_session()
 
@@ -3303,14 +3322,14 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(Address, order_by=addresses.c.id)
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sel = users.select().where(users.c.id.in_([7, 8]))
         sess = fixture_session()
@@ -3404,8 +3423,8 @@ class CustomJoinTest(QueryTest):
             self.tables.users,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -3417,8 +3436,8 @@ class CustomJoinTest(QueryTest):
                 )
             },
         )
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -3477,8 +3496,8 @@ class CustomJoinTest(QueryTest):
             self.tables.users,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -3490,8 +3509,8 @@ class CustomJoinTest(QueryTest):
                 )
             },
         )
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -3549,7 +3568,7 @@ class ExternalColumnsTest(QueryTest):
         assert_raises_message(
             sa_exc.ArgumentError,
             "not represented in the mapper's table",
-            mapper,
+            self.mapper_registry.map_imperatively,
             User,
             users,
             properties={"concat": (users.c.id * 2)},
@@ -3567,7 +3586,7 @@ class ExternalColumnsTest(QueryTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -3583,7 +3602,7 @@ class ExternalColumnsTest(QueryTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -3735,7 +3754,7 @@ class ExternalColumnsTest(QueryTest):
         # subquery, but "user" still needs to be adapted. therefore the long
         # standing practice of eager adapters being "chained" has been removed
         # since its unnecessary and breaks this exact condition.
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -3753,8 +3772,8 @@ class ExternalColumnsTest(QueryTest):
                 ),
             },
         )
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order, orders, properties={"address": relationship(Address)}
         )  # m2o
 
@@ -3791,13 +3810,13 @@ class ExternalColumnsTest(QueryTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"fullname": column_property(users.c.name.label("x"))},
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -3867,7 +3886,7 @@ class TestOverlyEagerEquivalentCols(fixtures.MappedTest):
         class Sub2(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Base,
             base,
             properties={
@@ -3876,8 +3895,8 @@ class TestOverlyEagerEquivalentCols(fixtures.MappedTest):
             },
         )
 
-        mapper(Sub1, sub1)
-        mapper(Sub2, sub2)
+        self.mapper_registry.map_imperatively(Sub1, sub1)
+        self.mapper_registry.map_imperatively(Sub2, sub2)
         sess = fixture_session()
 
         s11 = Sub1(data="s11")
@@ -3917,8 +3936,10 @@ class LabelCollideTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.Foo, cls.tables.foo)
-        mapper(cls.classes.Bar, cls.tables.foo_bar)
+        cls.mapper_registry.map_imperatively(cls.classes.Foo, cls.tables.foo)
+        cls.mapper_registry.map_imperatively(
+            cls.classes.Bar, cls.tables.foo_bar
+        )
 
     @classmethod
     def insert_data(cls, connection):
index f6f1b5d74f6452cf849958b8185c1d72fa499ce6..1a40447a6dda065b9b487470dbad98b23a3d4081 100644 (file)
@@ -3,7 +3,6 @@ from sqlalchemy import ForeignKey
 from sqlalchemy import func
 from sqlalchemy import Integer
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
@@ -40,7 +39,7 @@ class GenerativeQueryTest(fixtures.MappedTest):
         class Foo(cls.Basic):
             pass
 
-        mapper(Foo, foo)
+        cls.mapper_registry.map_imperatively(Foo, foo)
 
     def test_selectby(self):
         Foo = self.classes.Foo
@@ -187,8 +186,8 @@ class GenerativeTest2(fixtures.MappedTest):
         class Obj2(cls.Basic):
             pass
 
-        mapper(Obj1, table1)
-        mapper(Obj2, table2)
+        cls.mapper_registry.map_imperatively(Obj1, table1)
+        cls.mapper_registry.map_imperatively(Obj2, table2)
 
     @classmethod
     def fixtures(cls):
@@ -241,17 +240,19 @@ class RelationshipsTest(_fixtures.FixtureTest):
             cls.tables.users,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "orders": relationship(
-                    mapper(
+                    cls.mapper_registry.map_imperatively(
                         Order,
                         orders,
                         properties={
                             "addresses": relationship(
-                                mapper(Address, addresses)
+                                cls.mapper_registry.map_imperatively(
+                                    Address, addresses
+                                )
                             )
                         },
                     )
@@ -351,8 +352,8 @@ class CaseSensitiveTest(fixtures.MappedTest):
         class Obj2(cls.Basic):
             pass
 
-        mapper(Obj1, Table1)
-        mapper(Obj2, Table2)
+        cls.mapper_registry.map_imperatively(Obj1, Table1)
+        cls.mapper_registry.map_imperatively(Obj2, Table2)
 
     @classmethod
     def fixtures(cls):
index 50f57724002813f2156ed8cfe1ed2dd45aaac4c3..425dd947d4cef9e3fb42610b42e1400ea98b5696 100644 (file)
@@ -5,7 +5,6 @@ from sqlalchemy import Integer
 from sqlalchemy import testing
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.testing import eq_
@@ -62,8 +61,10 @@ class ParentRemovalTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.Address, cls.tables.addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(
+            cls.classes.Address, cls.tables.addresses
+        )
+        cls.mapper_registry.map_imperatively(
             cls.classes.User,
             cls.tables.users,
             properties={
index 1164b7ffddd5864d4595f29c8fc1d30acd27c3d3..376157bf7f866870bbb7241da0ddc851b1599ad9 100644 (file)
@@ -2,7 +2,6 @@
 
 from sqlalchemy import testing
 from sqlalchemy.orm import immediateload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing.fixtures import fixture_session
@@ -27,8 +26,8 @@ class ImmediateTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy=default_lazy)},
@@ -69,12 +68,12 @@ class ImmediateTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user": relationship(User, lazy=default_lazy)},
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
 
         result = (
@@ -100,8 +99,8 @@ class ImmediateTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="immediate")},
@@ -135,7 +134,7 @@ class ImmediateTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -144,7 +143,7 @@ class ImmediateTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -174,7 +173,7 @@ class ImmediateTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -183,7 +182,7 @@ class ImmediateTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
index 72ab37c7014f88a34da5df9b10dda9ecc3054263..dc732181bb508395aef9ea2b122f241695639bb7 100644 (file)
@@ -65,8 +65,6 @@ class TestORMInspection(_fixtures.FixtureTest):
         assert not insp.is_aliased_class
 
     def test_mapper_selectable_fixed(self):
-        from sqlalchemy.orm import mapper
-
         class Foo(object):
             pass
 
@@ -75,8 +73,10 @@ class TestORMInspection(_fixtures.FixtureTest):
 
         user_table = self.tables.users
         addresses_table = self.tables.addresses
-        mapper(Foo, user_table, with_polymorphic=(Bar,))
-        mapper(
+        self.mapper_registry.map_imperatively(
+            Foo, user_table, with_polymorphic=(Bar,)
+        )
+        self.mapper_registry.map_imperatively(
             Bar,
             addresses_table,
             inherits=Foo,
@@ -244,7 +244,6 @@ class TestORMInspection(_fixtures.FixtureTest):
             HYBRID_METHOD,
         )
         from sqlalchemy import Table, MetaData, Integer, Column
-        from sqlalchemy.orm import mapper
         from sqlalchemy.orm.interfaces import NOT_EXTENSION
 
         class SomeClass(self.classes.User):
@@ -278,9 +277,11 @@ class TestORMInspection(_fixtures.FixtureTest):
             Column("id", Integer, primary_key=True),
             Column("s_id", ForeignKey("sometable.id")),
         )
-        mapper(SomeClass, t, properties={"addresses": relationship(Address)})
-        mapper(Address, ta)
-        mapper(SomeSubClass, inherits=SomeClass)
+        self.mapper_registry.map_imperatively(
+            SomeClass, t, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, ta)
+        self.mapper_registry.map_imperatively(SomeSubClass, inherits=SomeClass)
 
         insp = inspect(SomeSubClass)
         eq_(
@@ -411,10 +412,10 @@ class TestORMInspection(_fixtures.FixtureTest):
             __foo__ = "bar"
             __bat__ = Thing()
 
-        from sqlalchemy.orm import mapper, column_property
+        from sqlalchemy.orm import column_property
         from sqlalchemy.ext.hybrid import hybrid_property
 
-        m = mapper(AnonClass, self.tables.users)
+        m = self.mapper_registry.map_imperatively(AnonClass, self.tables.users)
 
         eq_(set(inspect(AnonClass).attrs.keys()), set(["id", "name"]))
         eq_(
@@ -553,7 +554,6 @@ class %s(SuperCls):
         class MyClass(object):
             pass
 
-        from sqlalchemy.orm import mapper
         from sqlalchemy import Table, MetaData, Column, Integer
 
         names = self._random_names()
@@ -566,7 +566,7 @@ class %s(SuperCls):
             *[Column(name, Integer) for name in names]
         )
 
-        m = mapper(MyClass, t)
+        m = self.mapper_registry.map_imperatively(MyClass, t)
 
         eq_(m.all_orm_descriptors.keys(), ["id"] + names)
 
index c9b2442be4dec8a98e7e8fa6c7682fb8c9d21959..a2d4aa9cac23c31f24262e796274aeb477bdd9bd 100644 (file)
@@ -8,7 +8,6 @@ from sqlalchemy.orm import attributes
 from sqlalchemy.orm import class_mapper
 from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import instrumentation
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import assert_raises
 from sqlalchemy.testing import assert_raises_message
@@ -491,7 +490,7 @@ class InitTest(fixtures.ORMTest):
         assert o.o is Y.outofscope
 
 
-class MapperInitTest(fixtures.ORMTest):
+class MapperInitTest(fixtures.MappedTest):
     def fixture(self):
         return Table(
             "t",
@@ -513,7 +512,7 @@ class MapperInitTest(fixtures.ORMTest):
             def __init__(self, x):
                 pass
 
-        mapper(A, self.fixture())
+        self.mapper_registry.map_imperatively(A, self.fixture())
 
         # B is not mapped in the current implementation
         assert_raises(sa.orm.exc.UnmappedClassError, class_mapper, B)
@@ -533,7 +532,7 @@ class MapperInitTest(fixtures.ORMTest):
             r"unreachable cycles and memory leaks, as SQLAlchemy "
             r"instrumentation often creates reference cycles.  "
             r"Please remove this method.",
-            mapper,
+            self.mapper_registry.map_imperatively,
             A,
             self.fixture(),
         )
@@ -565,7 +564,7 @@ class OnLoadTest(fixtures.ORMTest):
             del A
 
 
-class NativeInstrumentationTest(fixtures.ORMTest):
+class NativeInstrumentationTest(fixtures.MappedTest):
     def test_register_reserved_attribute(self):
         class T(object):
             pass
@@ -597,7 +596,7 @@ class NativeInstrumentationTest(fixtures.ORMTest):
         class T(object):
             pass
 
-        assert_raises(KeyError, mapper, T, t)
+        assert_raises(KeyError, self.mapper_registry.map_imperatively, T, t)
 
     def test_mapped_managerattr(self):
         t = Table(
@@ -610,7 +609,7 @@ class NativeInstrumentationTest(fixtures.ORMTest):
         class T(object):
             pass
 
-        assert_raises(KeyError, mapper, T, t)
+        assert_raises(KeyError, self.mapper_registry.map_imperatively, T, t)
 
 
 class Py3KFunctionInstTest(fixtures.ORMTest):
@@ -693,7 +692,7 @@ def _kw_opt_fixture(self):
         setattr(Py3KFunctionInstTest, k, _locals[k])
 
 
-class MiscTest(fixtures.ORMTest):
+class MiscTest(fixtures.MappedTest):
     """Seems basic, but not directly covered elsewhere!"""
 
     def test_compileonattr(self):
@@ -707,7 +706,7 @@ class MiscTest(fixtures.ORMTest):
         class A(object):
             pass
 
-        mapper(A, t)
+        self.mapper_registry.map_imperatively(A, t)
 
         a = A()
         assert a.id is None
@@ -733,8 +732,10 @@ class MiscTest(fixtures.ORMTest):
         class B(object):
             pass
 
-        mapper(A, t1, properties=dict(bs=relationship(B)))
-        mapper(B, t2)
+        self.mapper_registry.map_imperatively(
+            A, t1, properties=dict(bs=relationship(B))
+        )
+        self.mapper_registry.map_imperatively(B, t2)
 
         a = A()
         assert not a.bs
@@ -780,8 +781,10 @@ class MiscTest(fixtures.ORMTest):
             class B(base):
                 pass
 
-            mapper(A, t1, properties=dict(bs=relationship(B, backref="a")))
-            mapper(B, t2)
+            self.mapper_registry.map_imperatively(
+                A, t1, properties=dict(bs=relationship(B, backref="a"))
+            )
+            self.mapper_registry.map_imperatively(B, t2)
 
             b = B()
             assert b.a is None
@@ -825,8 +828,10 @@ class MiscTest(fixtures.ORMTest):
             class B(base):
                 pass
 
-            mapper(A, t1)
-            mapper(B, t2, properties=dict(a=relationship(A, backref="bs")))
+            self.mapper_registry.map_imperatively(A, t1)
+            self.mapper_registry.map_imperatively(
+                B, t2, properties=dict(a=relationship(A, backref="bs"))
+            )
 
             a = A()
             b = B()
index d785c2ba03b8a80a151453098ebc40ae2b60dbb1..eb7dfd6f38726c18374edf73a9267328af23843d 100644 (file)
@@ -24,7 +24,6 @@ from sqlalchemy.orm import aliased
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import join
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import outerjoin
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
@@ -199,7 +198,7 @@ class JoinOnSynonymTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         User = cls.classes.User
         Address = cls.classes.Address
         users, addresses = (cls.tables.users, cls.tables.addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -207,7 +206,7 @@ class JoinOnSynonymTest(_fixtures.FixtureTest, AssertsCompiledSQL):
                 "ad_syn": synonym("addresses"),
             },
         )
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
     def test_join_on_synonym(self):
         User = self.classes.User
@@ -1775,16 +1774,18 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     @classmethod
     def setup_classes(cls):
-        table1, table2 = cls.tables.table1, cls.tables.table2
-
         class T1(cls.Comparable):
             pass
 
         class T2(cls.Comparable):
             pass
 
-        mapper(T1, table1)
-        mapper(T2, table2)
+    @classmethod
+    def setup_mappers(cls):
+        table1, table2 = cls.tables.table1, cls.tables.table2
+        T1, T2 = cls.classes("T1", "T2")
+        cls.mapper_registry.map_imperatively(T1, table1)
+        cls.mapper_registry.map_imperatively(T2, table2)
 
     def test_select_mapped_to_mapped_explicit_left(self):
         T1, T2 = self.classes.T1, self.classes.T2
@@ -2002,19 +2003,23 @@ class SelfRefMixedTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     @classmethod
     def setup_classes(cls):
+        class Node(cls.Comparable):
+            pass
+
+        class Sub(cls.Comparable):
+            pass
+
+    @classmethod
+    def setup_mappers(cls):
         nodes, assoc_table, sub_table = (
             cls.tables.nodes,
             cls.tables.assoc_table,
             cls.tables.sub_table,
         )
 
-        class Node(cls.Comparable):
-            pass
-
-        class Sub(cls.Comparable):
-            pass
+        Node, Sub = cls.classes("Node", "Sub")
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2033,7 +2038,7 @@ class SelfRefMixedTest(fixtures.MappedTest, AssertsCompiledSQL):
                 ),
             },
         )
-        mapper(Sub, sub_table)
+        cls.mapper_registry.map_imperatively(Sub, sub_table)
 
     def test_o2m_aliased_plus_o2m(self):
         Node, Sub = self.classes.Node, self.classes.Sub
@@ -2080,7 +2085,7 @@ class SelfRefMixedTest(fixtures.MappedTest, AssertsCompiledSQL):
         )
 
 
-class CreateJoinsTest(fixtures.ORMTest, AssertsCompiledSQL):
+class CreateJoinsTest(fixtures.MappedTest, AssertsCompiledSQL):
     __dialect__ = "default"
 
     def _inherits_fixture(self):
@@ -2116,20 +2121,20 @@ class CreateJoinsTest(fixtures.ORMTest, AssertsCompiledSQL):
         class C(Base):
             pass
 
-        mapper(Base, base)
-        mapper(
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(
             A,
             a,
             inherits=Base,
             properties={"b": relationship(B, primaryjoin=a.c.b_id == b.c.id)},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             B,
             b,
             inherits=Base,
             properties={"c": relationship(C, primaryjoin=b.c.c_id == c.c.id)},
         )
-        mapper(C, c, inherits=Base)
+        self.mapper_registry.map_imperatively(C, c, inherits=Base)
         return A, B, C, Base
 
     def test_double_level_aliased_exists(self):
@@ -2189,8 +2194,8 @@ class JoinToNonPolyAliasesTest(fixtures.MappedTest, AssertsCompiledSQL):
         class Child(cls.Comparable):
             pass
 
-        mp = mapper(Parent, parent)
-        mapper(Child, child)
+        mp = cls.mapper_registry.map_imperatively(Parent, parent)
+        cls.mapper_registry.map_imperatively(Child, child)
 
         derived = select(child).alias()
         npc = aliased(Child, derived)
@@ -2275,7 +2280,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
     def setup_mappers(cls):
         Node, nodes = cls.classes.Node, cls.tables.nodes
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2882,7 +2887,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest):
             cls.tables.node_to_nodes,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -3010,8 +3015,6 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
 
     @classmethod
     def setup_classes(cls):
-        people, bookcases, books = cls.tables("people", "bookcases", "books")
-
         class Person(cls.Comparable):
             pass
 
@@ -3021,8 +3024,12 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
         class Book(cls.Comparable):
             pass
 
-        mapper(Person, people)
-        mapper(
+    @classmethod
+    def setup_mappers(cls):
+        Person, Bookcase, Book = cls.classes("Person", "Bookcase", "Book")
+        people, bookcases, books = cls.tables("people", "bookcases", "books")
+        cls.mapper_registry.map_imperatively(Person, people)
+        cls.mapper_registry.map_imperatively(
             Bookcase,
             bookcases,
             properties={
@@ -3030,7 +3037,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
                 "books": relationship(Book),
             },
         )
-        mapper(Book, books)
+        cls.mapper_registry.map_imperatively(Book, books)
 
     def test_select_subquery(self):
         Person, Book = self.classes("Person", "Book")
index a1657d746c38b606c07eaeb345328208cdc42b7d..30048585bc5514a5bd20541e26bdb65174bc8553 100644 (file)
@@ -9,7 +9,6 @@ from sqlalchemy import testing
 from sqlalchemy import update
 from sqlalchemy.future import select
 from sqlalchemy.orm import aliased
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -44,7 +43,7 @@ class LambdaTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -52,7 +51,7 @@ class LambdaTest(QueryTest, AssertsCompiledSQL):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -444,7 +443,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
         Address = cls.classes.Address
         addresses = cls.tables.addresses
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -452,7 +451,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
                 "addresses": relationship(Address),
             },
         )
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
     def test_update(self):
         User, Address = self.classes("User", "Address")
index d75b46886c6cf02ce4a34a39075ee588ebd6cb1d..457cfee4e2aaf40601a9850734c1ae794474b309 100644 (file)
@@ -21,7 +21,6 @@ from sqlalchemy.orm import aliased
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import assert_raises
@@ -50,12 +49,13 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 )
             },
         )
@@ -81,12 +81,13 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 )
             },
         )
@@ -104,12 +105,12 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="select",
                     order_by=addresses.c.email_address,
                 )
@@ -141,9 +142,9 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, lazy="select")),
@@ -175,9 +176,9 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -213,7 +214,7 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -222,7 +223,7 @@ class LazyTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         user = sess.query(User).get(7)
@@ -258,8 +259,8 @@ class LazyTest(_fixtures.FixtureTest):
             self.tables.addresses,
         )
 
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -268,12 +269,13 @@ class LazyTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 ),
                 "orders": relationship(Order, lazy="select"),
             },
@@ -312,8 +314,8 @@ class LazyTest(_fixtures.FixtureTest):
             self.tables.addresses,
         )
 
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -322,12 +324,13 @@ class LazyTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 ),
                 "orders": relationship(Order, lazy="select"),
             },
@@ -357,12 +360,12 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.Order,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"order": relationship(Order, uselist=False)},
         )
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
         s = fixture_session()
         u1 = s.query(User).filter(User.id == 7).one()
         assert_raises(sa.exc.SAWarning, getattr, u1, "order")
@@ -375,12 +378,12 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="select",
                     primaryjoin=and_(
                         users.c.id == addresses.c.user_id,
@@ -413,12 +416,14 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="select", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
+                    uselist=False,
                 )
             ),
         )
@@ -434,13 +439,13 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             primary_key=[addresses.c.user_id, addresses.c.email_address],
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -489,9 +494,9 @@ class LazyTest(_fixtures.FixtureTest):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -503,7 +508,7 @@ class LazyTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(
             Order, select(orders).where(orders.c.isopen == 1).alias()
@@ -512,7 +517,7 @@ class LazyTest(_fixtures.FixtureTest):
             Order, select(orders).where(orders.c.isopen == 0).alias()
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -548,9 +553,9 @@ class LazyTest(_fixtures.FixtureTest):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -562,11 +567,11 @@ class LazyTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(Order, orders)
         closed_mapper = aliased(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -678,12 +683,12 @@ class LazyTest(_fixtures.FixtureTest):
         elif type_ == "subquery":
             target = select(users).subquery()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             target,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
 
@@ -699,8 +704,8 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -734,12 +739,14 @@ class LazyTest(_fixtures.FixtureTest):
             users.c.id == addresses.c.user_id,
             addresses.c.user_id == users.c.id,
         ):
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Address,
                 addresses,
                 properties=dict(
                     user=relationship(
-                        mapper(User, users), lazy="select", primaryjoin=pj
+                        self.mapper_registry.map_imperatively(User, users),
+                        lazy="select",
+                        primaryjoin=pj,
                     )
                 ),
             )
@@ -771,8 +778,8 @@ class LazyTest(_fixtures.FixtureTest):
             self.tables.users,
             self.classes.User,
         )
-        um = mapper(User, users)
-        am = mapper(
+        um = self.mapper_registry.map_imperatively(User, users)
+        am = self.mapper_registry.map_imperatively(
             Address, addresses, properties={"user": relationship(User)}
         )
 
@@ -876,10 +883,14 @@ class LazyTest(_fixtures.FixtureTest):
                 Column("email_address", String(50), nullable=False),
             )
 
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Address,
                 addresses,
-                properties=dict(user=relationship(mapper(User, users))),
+                properties=dict(
+                    user=relationship(
+                        self.mapper_registry.map_imperatively(User, users)
+                    )
+                ),
             )
 
             with fixture_session() as sess:
@@ -908,11 +919,14 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
-                user=relationship(mapper(User, users), lazy="select")
+                user=relationship(
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="select",
+                )
             ),
         )
         sess = fixture_session()
@@ -933,12 +947,12 @@ class LazyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session(autoflush=False)
         ad = sess.query(Address).filter_by(id=1).one()
         assert ad.user.id == 7
@@ -1018,8 +1032,8 @@ class GetterStateTest(_fixtures.FixtureTest):
         class Article(fixtures.ComparableEntity):
             pass
 
-        mapper(Category, category)
-        mapper(
+        self.mapper_registry.map_imperatively(Category, category)
+        self.mapper_registry.map_imperatively(
             Article,
             article,
             properties={
@@ -1053,14 +1067,14 @@ class GetterStateTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(Address, back_populates="user")
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -1232,9 +1246,11 @@ class M2OGetTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
 
         sess = fixture_session()
         ad1 = Address(email_address="somenewaddress", id=12)
@@ -1305,7 +1321,7 @@ class CorrelatedTest(fixtures.MappedTest):
         class Stuff(fixtures.ComparableEntity):
             pass
 
-        mapper(Stuff, stuff)
+        self.mapper_registry.map_imperatively(Stuff, stuff)
 
         stuff_view = (
             sa.select(stuff.c.id)
@@ -1315,7 +1331,7 @@ class CorrelatedTest(fixtures.MappedTest):
             .limit(1)
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             user_t,
             properties={
@@ -1382,7 +1398,7 @@ class O2MWOSideFixedTest(fixtures.MappedTest):
         Person, City = cls.classes.Person, cls.classes.City
         city, person = cls.tables.city, cls.tables.person
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             person,
             properties={
@@ -1395,7 +1411,7 @@ class O2MWOSideFixedTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(City, city)
+        cls.mapper_registry.map_imperatively(City, city)
 
     def _fixture(self, include_other):
         city, person = self.tables.city, self.tables.person
@@ -1507,12 +1523,12 @@ class RefersToSelfLazyLoadInterferenceTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.A,
             cls.tables.a,
             properties={"b": relationship(cls.classes.B)},
         )
-        bm = mapper(
+        bm = cls.mapper_registry.map_imperatively(
             cls.classes.B,
             cls.tables.b,
             properties={
@@ -1522,7 +1538,7 @@ class RefersToSelfLazyLoadInterferenceTest(fixtures.MappedTest):
                 "zc": relationship(cls.classes.C),
             },
         )
-        mapper(cls.classes.C, cls.tables.c)
+        cls.mapper_registry.map_imperatively(cls.classes.C, cls.tables.c)
 
         bmp = bm._props
         configure_mappers()
@@ -1589,7 +1605,7 @@ class TypeCoerceTest(fixtures.MappedTest, testing.AssertsExecutionResults):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.Person,
             cls.tables.person,
             properties=dict(
@@ -1606,7 +1622,7 @@ class TypeCoerceTest(fixtures.MappedTest, testing.AssertsExecutionResults):
             ),
         )
 
-        mapper(cls.classes.Pet, cls.tables.pets)
+        cls.mapper_registry.map_imperatively(cls.classes.Pet, cls.tables.pets)
 
     def test_lazyload_singlecast(self):
         Person = self.classes.Person
@@ -1670,8 +1686,8 @@ class CompositeSimpleM2OTest(fixtures.MappedTest):
             pass
 
     def test_use_get_sameorder(self):
-        mapper(self.classes.A, self.tables.a)
-        m_b = mapper(
+        self.mapper_registry.map_imperatively(self.classes.A, self.tables.a)
+        m_b = self.mapper_registry.map_imperatively(
             self.classes.B,
             self.tables.b_sameorder,
             properties={"a": relationship(self.classes.A)},
@@ -1681,8 +1697,8 @@ class CompositeSimpleM2OTest(fixtures.MappedTest):
         is_true(m_b.relationships.a.strategy.use_get)
 
     def test_use_get_reverseorder(self):
-        mapper(self.classes.A, self.tables.a)
-        m_b = mapper(
+        self.mapper_registry.map_imperatively(self.classes.A, self.tables.a)
+        m_b = self.mapper_registry.map_imperatively(
             self.classes.B,
             self.tables.b_differentorder,
             properties={"a": relationship(self.classes.A)},
@@ -1692,8 +1708,8 @@ class CompositeSimpleM2OTest(fixtures.MappedTest):
         is_true(m_b.relationships.a.strategy.use_get)
 
     def test_dont_use_get_pj_is_different(self):
-        mapper(self.classes.A, self.tables.a)
-        m_b = mapper(
+        self.mapper_registry.map_imperatively(self.classes.A, self.tables.a)
+        m_b = self.mapper_registry.map_imperatively(
             self.classes.B,
             self.tables.b_sameorder,
             properties={
index 84fb4975db22a4f1e1c062ff6bb0ac7de904adcc..a835b2908c1d58ca107e3ed890929c1c76c7485a 100644 (file)
@@ -4,7 +4,6 @@ from sqlalchemy import testing
 from sqlalchemy.engine import result_tuple
 from sqlalchemy.orm import aliased
 from sqlalchemy.orm import loading
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import mock
 from sqlalchemy.testing.assertions import assert_raises
@@ -23,7 +22,7 @@ class InstanceProcessorTest(_fixtures.FixtureTest):
         User, Order, Address = self.classes("User", "Order", "Address")
         users, orders, addresses = self.tables("users", "orders", "addresses")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -33,12 +32,12 @@ class InstanceProcessorTest(_fixtures.FixtureTest):
                 ),
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"address": relationship(Address, lazy="joined")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
 
index f82c5cf7c9fd8fd2fc4971bb2007e999fbf84f8b..e073754848ec9a00fa4e5a77f87e881757aa4b70 100644 (file)
@@ -2,7 +2,6 @@ from sqlalchemy import exc
 from sqlalchemy import testing
 from sqlalchemy.engine import default
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.testing import AssertsCompiledSQL
@@ -15,7 +14,7 @@ class ForUpdateTest(_fixtures.FixtureTest):
     @classmethod
     def setup_mappers(cls):
         User, users = cls.classes.User, cls.tables.users
-        mapper(User, users)
+        cls.mapper_registry.map_imperatively(User, users)
 
     def _assert(
         self,
@@ -76,8 +75,10 @@ class BackendTest(_fixtures.FixtureTest):
     def setup_mappers(cls):
         User, users = cls.classes.User, cls.tables.users
         Address, addresses = cls.classes.Address, cls.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
     def test_inner_joinedload_w_limit(self):
         User = self.classes.User
@@ -162,8 +163,10 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
     def setup_mappers(cls):
         User, users = cls.classes.User, cls.tables.users
         Address, addresses = cls.classes.Address, cls.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
     def test_default_update(self):
         User = self.classes.User
index 79c63872dc411771c871c447c8dd8834dbd95a8f..32dfe3af4ecdc780a81f4d9ef8af0a3640182340 100644 (file)
@@ -5,7 +5,6 @@ from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.testing import eq_
@@ -120,7 +119,7 @@ class M2MTest(fixtures.MappedTest):
             self.tables.transition,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Place,
             place,
             properties={
@@ -129,7 +128,7 @@ class M2MTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Transition,
             transition,
             properties={
@@ -152,7 +151,7 @@ class M2MTest(fixtures.MappedTest):
             self.tables.place_place,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Place,
             place,
             properties={
@@ -200,7 +199,7 @@ class M2MTest(fixtures.MappedTest):
             self.tables.place_place,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Place,
             place,
             properties={
@@ -250,14 +249,14 @@ class M2MTest(fixtures.MappedTest):
             self.tables.place_output,
         )
 
-        mapper(PlaceThingy, place_thingy)
-        mapper(
+        self.mapper_registry.map_imperatively(PlaceThingy, place_thingy)
+        self.mapper_registry.map_imperatively(
             Place,
             place,
             properties={"thingies": relationship(PlaceThingy, lazy="joined")},
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Transition,
             transition,
             properties=dict(
@@ -295,8 +294,8 @@ class M2MTest(fixtures.MappedTest):
             self.tables.place_output,
         )
 
-        mapper(Place, place)
-        mapper(
+        self.mapper_registry.map_imperatively(Place, place)
+        self.mapper_registry.map_imperatively(
             Transition,
             transition,
             properties=dict(
@@ -365,7 +364,7 @@ class M2MTest(fixtures.MappedTest):
             self.tables.transition,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Place,
             place,
             properties={
@@ -374,7 +373,7 @@ class M2MTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Transition, transition)
+        self.mapper_registry.map_imperatively(Transition, transition)
 
         p1 = Place("place1")
         t1 = Transition("t1")
@@ -456,7 +455,7 @@ class AssortedPersistenceTests(fixtures.MappedTest):
             self.tables.right,
         )
         A, B = self.classes.A, self.classes.B
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             left,
             properties={
@@ -465,7 +464,7 @@ class AssortedPersistenceTests(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, right)
+        self.mapper_registry.map_imperatively(B, right)
 
     def _bidirectional_onescalar_fixture(self):
         left, secondary, right = (
@@ -474,7 +473,7 @@ class AssortedPersistenceTests(fixtures.MappedTest):
             self.tables.right,
         )
         A, B = self.classes.A, self.classes.B
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             left,
             properties={
@@ -486,7 +485,7 @@ class AssortedPersistenceTests(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, right)
+        self.mapper_registry.map_imperatively(B, right)
 
     def test_session_delete(self):
         self._standard_bidirectional_fixture()
index 3ba4e90db324e47bf9a8ad85cc0172a97282d34d..6c8b26c71104d33daeea0339ffde9090e4775fef 100644 (file)
@@ -23,7 +23,6 @@ from sqlalchemy.orm import deferred
 from sqlalchemy.orm import dynamic_loader
 from sqlalchemy.orm import Load
 from sqlalchemy.orm import load_only
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import reconstructor
 from sqlalchemy.orm import registry
 from sqlalchemy.orm import relationship
@@ -291,13 +290,23 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         User, users = self.classes.User, self.tables.users
 
         s = sa.select(users.c.name).alias("foo")
-        assert_raises(sa.exc.ArgumentError, mapper, User, s)
+        assert_raises(
+            sa.exc.ArgumentError,
+            self.mapper_registry.map_imperatively,
+            User,
+            s,
+        )
 
     def test_no_pks_2(self):
         User, users = self.classes.User, self.tables.users
 
         s = sa.select(users.c.name).alias()
-        assert_raises(sa.exc.ArgumentError, mapper, User, s)
+        assert_raises(
+            sa.exc.ArgumentError,
+            self.mapper_registry.map_imperatively,
+            User,
+            s,
+        )
 
     def test_reconfigure_on_other_mapper(self):
         """A configure trigger on an already-configured mapper
@@ -365,7 +374,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         assert_raises_message(
             sa.exc.ArgumentError,
             "not represented in the mapper's table",
-            mapper,
+            self.mapper_registry.map_imperatively,
             User,
             users,
             properties={"foo": addresses.c.user_id},
@@ -974,7 +983,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         assert_raises_message(
             sa.exc.SAWarning,
             "Reassigning polymorphic association for identity 'user'",
-            mapper,
+            self.mapper_registry.map_imperatively,
             MyUser,
             users,
             inherits=User,
@@ -1226,7 +1235,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         assert_raises_message(
             sa.exc.InvalidRequestError,
             "Implicitly",
-            mapper,
+            self.mapper_registry.map_imperatively,
             User,
             usersaddresses,
             primary_key=[users.c.id],
@@ -1792,7 +1801,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
 
         assert_raises(
             sa.exc.ArgumentError,
-            mapper,
+            self.mapper_registry.map_imperatively,
             User,
             users,
             properties=util.OrderedDict(
@@ -1803,9 +1812,10 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
             ),
         )
 
+        clear_mappers()
         assert_raises(
             sa.exc.ArgumentError,
-            mapper,
+            self.mapper_registry.map_imperatively,
             User,
             users,
             properties=util.OrderedDict(
@@ -2273,25 +2283,6 @@ class RequirementsTest(fixtures.MappedTest):
             Column("value", String(10)),
         )
 
-    if util.py2k:
-
-        def test_baseclass(self):
-            ht1 = self.tables.ht1
-
-            class OldStyle:
-                pass
-
-            assert_raises(sa.exc.ArgumentError, mapper, OldStyle, ht1)
-
-            assert_raises(sa.exc.ArgumentError, mapper, 123)
-
-            class NoWeakrefSupport(str):
-                pass
-
-            # TODO: is weakref support detectable without an instance?
-            # self.assertRaises(
-            #  sa.exc.ArgumentError, mapper, NoWeakrefSupport, t2)
-
     class _ValueBase(object):
         def __init__(self, value="abc", id_=None):
             self.id = id_
@@ -2650,13 +2641,14 @@ class MagicNamesTest(fixtures.MappedTest):
             class T(object):
                 pass
 
+            clear_mappers()
             assert_raises_message(
                 KeyError,
                 (
                     "%r: requested attribute name conflicts with "
                     "instrumentation attribute of the same name." % reserved
                 ),
-                mapper,
+                self.mapper_registry.map_imperatively,
                 T,
                 t,
             )
@@ -2672,13 +2664,14 @@ class MagicNamesTest(fixtures.MappedTest):
             class M(object):
                 pass
 
+            clear_mappers()
             assert_raises_message(
                 KeyError,
                 (
                     "requested attribute name conflicts with "
                     "instrumentation attribute of the same name"
                 ),
-                mapper,
+                self.mapper_registry.map_imperatively,
                 M,
                 maps,
                 properties={reserved: maps.c.state},
@@ -3154,7 +3147,7 @@ class ConfigureOrNotConfigureTest(_fixtures.FixtureTest, AssertsCompiledSQL):
 
         users = self.tables.users
 
-        um = mapper(User, users)
+        um = self.mapper_registry.map_imperatively(User, users)
 
         if use_bound:
             stmt = select(User).options(
@@ -3179,12 +3172,12 @@ class ConfigureOrNotConfigureTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         User, Address = self.classes("User", "Address")
         users, addresses = self.tables("users", "addresses")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        am = mapper(Address, addresses)
+        am = self.mapper_registry.map_imperatively(Address, addresses)
 
         if use_legacy_query:
             s = Session()
index cf4e81c98e0e272fc5ea47f6b8d5598dfb927b64..7d61a872227838c9fb7c7c353ddd24826b1b3375 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import defer
 from sqlalchemy.orm import deferred
 from sqlalchemy.orm import foreign
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -61,12 +60,12 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.users,
         )
 
-        mapper(
+        self.mapper(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper(Address, addresses)
 
         s = fixture_session()
         u = User(
@@ -86,7 +85,7 @@ class MergeTest(_fixtures.FixtureTest):
     def test_transient_to_pending(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         load = self.load_tracker(User)
 
@@ -106,7 +105,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u = User(name="fred")
 
@@ -118,7 +117,7 @@ class MergeTest(_fixtures.FixtureTest):
     def test_warn_transient_already_pending_nopk(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autoflush=False)
         u = User(name="fred")
 
@@ -133,7 +132,7 @@ class MergeTest(_fixtures.FixtureTest):
     def test_warn_transient_already_pending_pk(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autoflush=False)
         u = User(id=1, name="fred")
 
@@ -153,7 +152,7 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.users,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -162,7 +161,7 @@ class MergeTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         load = self.load_tracker(User)
         self.load_tracker(Address, load)
 
@@ -211,12 +210,12 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.users,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
         u = User(
@@ -244,7 +243,7 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.users,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -253,7 +252,7 @@ class MergeTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         load = self.load_tracker(User)
         self.load_tracker(Address, load)
 
@@ -296,7 +295,7 @@ class MergeTest(_fixtures.FixtureTest):
     def test_transient_to_persistent(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         load = self.load_tracker(User)
 
         sess = fixture_session()
@@ -325,7 +324,7 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.users,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -338,7 +337,7 @@ class MergeTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         load = self.load_tracker(User)
         self.load_tracker(Address, load)
@@ -416,7 +415,7 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -428,7 +427,7 @@ class MergeTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         load = self.load_tracker(User)
         self.load_tracker(Address, load)
 
@@ -478,12 +477,14 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), cascade="all", backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    cascade="all",
+                    backref="user",
                 )
             },
         )
@@ -543,7 +544,7 @@ class MergeTest(_fixtures.FixtureTest):
     def test_merge_empty_attributes(self):
         User, dingalings = self.classes.User, self.tables.dingalings
 
-        mapper(User, dingalings)
+        self.mapper_registry.map_imperatively(User, dingalings)
 
         sess = fixture_session(autoflush=False)
 
@@ -612,12 +613,12 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     backref="user",
                     collection_class=attribute_mapped_collection(
                         "email_address"
@@ -643,12 +644,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    backref="user",
                 )
             },
         )
@@ -783,7 +785,7 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.CompositePk,
             self.tables.composite_pk_table,
         )
-        mapper(CompositePk, composite_pk_table)
+        self.mapper_registry.map_imperatively(CompositePk, composite_pk_table)
         cp1 = CompositePk(j=1, k=1)
 
         sess = fixture_session()
@@ -805,7 +807,7 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.composite_pk_table,
         )
         User, users = (self.classes.User, self.tables.users)
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -815,7 +817,7 @@ class MergeTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(CompositePk, composite_pk_table)
+        self.mapper_registry.map_imperatively(CompositePk, composite_pk_table)
 
         u1 = User(id=5, name="some user")
         cp1 = CompositePk(j=1, k=1)
@@ -845,12 +847,12 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user": relationship(User, cascade="save-update")},
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(name="fred")
         a1 = Address(email_address="asdf", user=u1)
@@ -881,10 +883,14 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
-            properties={"addresses": relationship(mapper(Address, addresses))},
+            properties={
+                "addresses": relationship(
+                    self.mapper_registry.map_imperatively(Address, addresses)
+                )
+            },
         )
 
         load = self.load_tracker(User)
@@ -927,8 +933,10 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses, properties={"user": relationship(User)})
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(id=1, name="u1")
         a1 = Address(id=1, email_address="a1", user=u1)
@@ -961,12 +969,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
                 "items": relationship(
-                    mapper(Item, items), secondary=order_items
+                    self.mapper_registry.map_imperatively(Item, items),
+                    secondary=order_items,
                 )
             },
         )
@@ -1018,12 +1027,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "address": relationship(
-                    mapper(Address, addresses), uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    uselist=False,
                 )
             },
         )
@@ -1062,12 +1072,14 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "address": relationship(
-                    mapper(Address, addresses), uselist=False, backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    uselist=False,
+                    backref="user",
                 )
             },
         )
@@ -1095,7 +1107,7 @@ class MergeTest(_fixtures.FixtureTest):
     def test_transient_no_load(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         u = User()
@@ -1118,12 +1130,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    backref="user",
                 )
             },
         )
@@ -1177,10 +1190,14 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
-            properties={"addresses": relationship(mapper(Address, addresses))},
+            properties={
+                "addresses": relationship(
+                    self.mapper_registry.map_imperatively(Address, addresses)
+                )
+            },
         )
         with fixture_session(expire_on_commit=False) as sess:
             u = User()
@@ -1213,7 +1230,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         with fixture_session(expire_on_commit=False) as sess:
             u = User()
             u.id = 7
@@ -1252,12 +1269,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    backref="user",
                 )
             },
         )
@@ -1306,12 +1324,12 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     backref="user",
                     cascade="all, delete-orphan",
                 )
@@ -1390,7 +1408,9 @@ class MergeTest(_fixtures.FixtureTest):
 
             value = property(_getValue, _setValue)
 
-        mapper(User, users, properties={"uid": synonym("id")})
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"uid": synonym("id")}
+        )
 
         sess = fixture_session()
         u = User()
@@ -1411,12 +1431,13 @@ class MergeTest(_fixtures.FixtureTest):
         )
 
         s = fixture_session(autoflush=True, autocommit=False)
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    backref="user",
                 )
             },
         )
@@ -1440,12 +1461,13 @@ class MergeTest(_fixtures.FixtureTest):
         )
 
         sess = fixture_session(autoflush=True, autocommit=False)
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), backref="user"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    backref="user",
                 )
             },
         )
@@ -1465,7 +1487,7 @@ class MergeTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1474,7 +1496,7 @@ class MergeTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u = User(
             id=7, name="fred", addresses=[Address(id=1, email_address="fred1")]
@@ -1502,7 +1524,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u = User(id=7)
         sess = fixture_session(autoflush=True, autocommit=False)
         u = sess.merge(u)
@@ -1528,7 +1550,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         sess = fixture_session()
 
-        umapper = mapper(User, users)
+        umapper = self.mapper_registry.map_imperatively(User, users)
 
         sess.add_all([User(id=1, name="u1"), User(id=2, name="u2")])
         sess.commit()
@@ -1581,9 +1603,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(User, users, properties={"orders": relationship(Order)})
-        mapper(Order, orders, properties={"address": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"orders": relationship(Order)}
+        )
+        self.mapper_registry.map_imperatively(
+            Order, orders, properties={"address": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User(id=7, name="x")
         u1.orders = [
@@ -1615,9 +1641,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(User, users, properties={"orders": relationship(Order)})
-        mapper(Order, orders, properties={"address": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"orders": relationship(Order)}
+        )
+        self.mapper_registry.map_imperatively(
+            Order, orders, properties={"address": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User(id=7, name="x")
         u1.orders = [
@@ -1644,9 +1674,13 @@ class MergeTest(_fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(User, users, properties={"orders": relationship(Order)})
-        mapper(Order, orders, properties={"address": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"orders": relationship(Order)}
+        )
+        self.mapper_registry.map_imperatively(
+            Order, orders, properties={"address": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         sess.add(Address(id=1, email_address="z"))
@@ -1705,7 +1739,7 @@ class M2ONoUseGetLoadingTest(fixtures.MappedTest):
     def setup_mappers(cls):
         User, Address = cls.classes.User, cls.classes.Address
         user, address = cls.tables.user, cls.tables.address
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             user,
             properties={
@@ -1723,7 +1757,7 @@ class M2ONoUseGetLoadingTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, address)
+        cls.mapper_registry.map_imperatively(Address, address)
         configure_mappers()
         assert Address.user.property._use_get is False
 
@@ -1851,7 +1885,9 @@ class DeferredMergeTest(fixtures.MappedTest):
     def test_deferred_column_mapping(self):
         # defer 'excerpt' at mapping level instead of query level
         Book, book = self.classes.Book, self.tables.book
-        mapper(Book, book, properties={"excerpt": deferred(book.c.excerpt)})
+        self.mapper_registry.map_imperatively(
+            Book, book, properties={"excerpt": deferred(book.c.excerpt)}
+        )
         sess = fixture_session()
 
         b = Book(
@@ -1896,7 +1932,7 @@ class DeferredMergeTest(fixtures.MappedTest):
 
     def test_deferred_column_query(self):
         Book, book = self.classes.Book, self.tables.book
-        mapper(Book, book)
+        self.mapper_registry.map_imperatively(Book, book)
         sess = fixture_session()
 
         b = Book(
@@ -1961,7 +1997,7 @@ class MutableMergeTest(fixtures.MappedTest):
     def test_list(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(Data, data)
+        self.mapper_registry.map_imperatively(Data, data)
         sess = fixture_session()
         d = Data(data=["this", "is", "a", "list"])
 
@@ -1991,7 +2027,7 @@ class CompositeNullPksTest(fixtures.MappedTest):
     def test_merge_allow_partial(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(Data, data)
+        self.mapper_registry.map_imperatively(Data, data)
         sess = fixture_session()
 
         d1 = Data(pk1="someval", pk2=None)
@@ -2004,7 +2040,9 @@ class CompositeNullPksTest(fixtures.MappedTest):
     def test_merge_disallow_partial(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(Data, data, allow_partial_pks=False)
+        self.mapper_registry.map_imperatively(
+            Data, data, allow_partial_pks=False
+        )
         sess = fixture_session()
 
         d1 = Data(pk1="someval", pk2=None)
@@ -2042,7 +2080,7 @@ class LoadOnPendingTest(fixtures.MappedTest):
             pass
 
     def _setup_delete_orphan_o2o(self):
-        mapper(
+        self.mapper_registry.map_imperatively(
             self.classes.Rock,
             self.tables.rocks,
             properties={
@@ -2054,7 +2092,9 @@ class LoadOnPendingTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(self.classes.Bug, self.tables.bugs)
+        self.mapper_registry.map_imperatively(
+            self.classes.Bug, self.tables.bugs
+        )
         self.sess = fixture_session()
 
     def _merge_delete_orphan_o2o_with(self, bug):
@@ -2113,7 +2153,7 @@ class PolymorphicOnTest(fixtures.MappedTest):
             pass
 
     def _setup_polymorphic_on_mappers(self):
-        employee_mapper = mapper(
+        employee_mapper = self.mapper_registry.map_imperatively(
             self.classes.Employee,
             self.tables.employees,
             polymorphic_on=case(
@@ -2127,12 +2167,12 @@ class PolymorphicOnTest(fixtures.MappedTest):
             ),
             polymorphic_identity="employee",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             self.classes.Manager,
             inherits=employee_mapper,
             polymorphic_identity="manager",
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             self.classes.Engineer,
             inherits=employee_mapper,
             polymorphic_identity="engineer",
index 422b72bb3625cb081322fdf4d8fa52181e010ba7..9f31c4b800602ad7d66fabe450f74e00e55fb256 100644 (file)
@@ -12,7 +12,6 @@ from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
 from sqlalchemy import TypeDecorator
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm.session import make_transient
 from sqlalchemy.testing import assert_raises
@@ -108,7 +107,7 @@ class NaturalPKTest(fixtures.MappedTest):
     def test_entity(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
@@ -134,7 +133,7 @@ class NaturalPKTest(fixtures.MappedTest):
     def test_load_after_expire(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
@@ -161,7 +160,7 @@ class NaturalPKTest(fixtures.MappedTest):
     def test_update_to_sql_expr(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
@@ -180,7 +179,7 @@ class NaturalPKTest(fixtures.MappedTest):
         # such as to bump a server side trigger
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
@@ -197,7 +196,7 @@ class NaturalPKTest(fixtures.MappedTest):
     def test_flush_new_pk_after_expire(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
 
@@ -226,7 +225,7 @@ class NaturalPKTest(fixtures.MappedTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -235,7 +234,7 @@ class NaturalPKTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
@@ -325,8 +324,8 @@ class NaturalPKTest(fixtures.MappedTest):
                 addresses.insert(), dict(email="jack2", username="jack")
             )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user": relationship(User, passive_updates=False)},
@@ -350,8 +349,8 @@ class NaturalPKTest(fixtures.MappedTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -429,7 +428,7 @@ class NaturalPKTest(fixtures.MappedTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -438,7 +437,7 @@ class NaturalPKTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
@@ -484,8 +483,8 @@ class NaturalPKTest(fixtures.MappedTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -564,7 +563,7 @@ class NaturalPKTest(fixtures.MappedTest):
             self.tables.users_to_items,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -576,7 +575,7 @@ class NaturalPKTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
         u1 = User(username="jack")
@@ -635,8 +634,8 @@ class NaturalPKTest(fixtures.MappedTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -761,8 +760,10 @@ class TransientExceptionTesst(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
 
         sess = fixture_session()
         u1 = User(id=5, name="u1")
@@ -815,7 +816,7 @@ class ReversePKsTest(fixtures.MappedTest):
 
         PUBLISHED, EDITABLE, ARCHIVED = 1, 2, 3
 
-        mapper(User, user)
+        self.mapper_registry.map_imperatively(User, user)
 
         session = fixture_session()
 
@@ -855,7 +856,7 @@ class ReversePKsTest(fixtures.MappedTest):
 
         PUBLISHED, EDITABLE, ARCHIVED = 1, 2, 3
 
-        mapper(User, user)
+        self.mapper_registry.map_imperatively(User, user)
 
         session = fixture_session()
 
@@ -909,7 +910,7 @@ class SelfReferentialTest(fixtures.MappedTest):
     def test_one_to_many_on_m2o(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -948,7 +949,7 @@ class SelfReferentialTest(fixtures.MappedTest):
     def test_one_to_many_on_o2m(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -993,7 +994,7 @@ class SelfReferentialTest(fixtures.MappedTest):
     def _test_many_to_one(self, passive):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -1079,7 +1080,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1088,7 +1089,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(username="jack", fullname="jack")
@@ -1227,7 +1228,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1236,7 +1237,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         a1 = Address(username="ed", email="ed@host1")
@@ -1268,7 +1269,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1277,7 +1278,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         a1 = Address(username="ed", email="ed@host1")
@@ -1315,8 +1316,8 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -1357,8 +1358,8 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
         )
 
         # tests [ticket:1856]
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -1384,8 +1385,8 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user": relationship(User, passive_updates=True)},
@@ -1442,7 +1443,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1451,7 +1452,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         a1, a2 = (
@@ -1565,7 +1566,7 @@ class JoinedInheritanceTest(fixtures.MappedTest):
             "person", "manager", "engineer", "owner"
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             person,
             polymorphic_on=person.c.type,
@@ -1573,7 +1574,7 @@ class JoinedInheritanceTest(fixtures.MappedTest):
             passive_updates=passive_updates,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineer,
             inherits=Person,
@@ -1587,12 +1588,12 @@ class JoinedInheritanceTest(fixtures.MappedTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Manager, manager, inherits=Person, polymorphic_identity="manager"
         )
 
         if threelevel:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Owner, owner, inherits=Manager, polymorphic_identity="owner"
             )
 
@@ -1816,7 +1817,7 @@ class UnsortablePKTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.Data, cls.tables.data)
+        cls.mapper_registry.map_imperatively(cls.classes.Data, cls.tables.data)
 
     def test_updates_sorted(self):
         Data = self.classes.Data
@@ -1898,14 +1899,14 @@ class JoinedInheritancePKOnFKTest(fixtures.MappedTest):
             self.tables.engineer,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Person,
             person,
             polymorphic_on=person.c.type,
             polymorphic_identity="person",
             passive_updates=passive_updates,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Engineer,
             engineer,
             inherits=Person,
index 83213839faedb54acb87eaede1581e0d67645773..efc49d641e50a8c7ba882ec3d241ef075b2e2ec1 100644 (file)
@@ -2,7 +2,6 @@ from sqlalchemy import ForeignKey
 from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.fixtures import fixture_session
@@ -57,8 +56,8 @@ class O2OTest(fixtures.MappedTest):
             self.classes.Jack,
         )
 
-        mapper(Port, port)
-        mapper(
+        self.mapper_registry.map_imperatively(Port, port)
+        self.mapper_registry.map_imperatively(
             Jack,
             jack,
             properties=dict(
@@ -122,8 +121,8 @@ class O2OTest(fixtures.MappedTest):
             self.classes.Jack,
         )
 
-        mapper(Port, port)
-        mapper(
+        self.mapper_registry.map_imperatively(Port, port)
+        self.mapper_registry.map_imperatively(
             Jack,
             jack,
             properties=dict(
@@ -161,8 +160,8 @@ class O2OTest(fixtures.MappedTest):
             self.classes.Jack,
         )
 
-        mapper(Port, port)
-        mapper(
+        self.mapper_registry.map_imperatively(Port, port)
+        self.mapper_registry.map_imperatively(
             Jack,
             jack,
             properties=dict(
index cd91e222e137d0ae3fcb5cf4a3f8d190ff9eb365..ebbbe738de246f7ce1ac71ee3a81679b9ee283dc 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import Load
 from sqlalchemy.orm import load_only
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import strategy_options
 from sqlalchemy.orm import subqueryload
@@ -26,6 +25,7 @@ from sqlalchemy.orm import with_polymorphic
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.assertions import assert_raises_message
 from sqlalchemy.testing.assertions import AssertsCompiledSQL
+from sqlalchemy.testing.assertions import emits_warning
 from sqlalchemy.testing.assertions import eq_
 from sqlalchemy.testing.fixtures import fixture_session
 from test.orm import _fixtures
@@ -52,7 +52,7 @@ class QueryTest(_fixtures.FixtureTest):
         class SubItem(cls.classes.Item):
             pass
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             SubItem,
             None,
             inherits=cls.classes.Item,
@@ -70,7 +70,9 @@ class QueryTest(_fixtures.FixtureTest):
             def some_attr(self):
                 return "hi"
 
-        mapper(OrderWProp, None, inherits=cls.classes.Order)
+        cls.mapper_registry.map_imperatively(
+            OrderWProp, None, inherits=cls.classes.Order
+        )
 
 
 class PathTest(object):
@@ -273,7 +275,7 @@ class OfTypePathingTest(PathTest, QueryTest):
         class SubAddr(Address):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SubAddr,
             inherits=Address,
             properties={
@@ -284,6 +286,7 @@ class OfTypePathingTest(PathTest, QueryTest):
 
         return User, Address, SubAddr
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_col_attr_unbound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -299,6 +302,7 @@ class OfTypePathingTest(PathTest, QueryTest):
             [(User, "addresses"), (User, "addresses", SubAddr, "sub_attr")],
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_col_attr_bound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -316,6 +320,7 @@ class OfTypePathingTest(PathTest, QueryTest):
             [(User, "addresses"), (User, "addresses", SubAddr, "sub_attr")],
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_col_attr_string_unbound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -329,6 +334,7 @@ class OfTypePathingTest(PathTest, QueryTest):
             [(User, "addresses"), (User, "addresses", SubAddr, "sub_attr")],
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_col_attr_string_bound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -346,6 +352,7 @@ class OfTypePathingTest(PathTest, QueryTest):
             [(User, "addresses"), (User, "addresses", SubAddr, "sub_attr")],
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_rel_attr_unbound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -359,6 +366,7 @@ class OfTypePathingTest(PathTest, QueryTest):
             l1, q, [(User, "addresses"), (User, "addresses", SubAddr, "dings")]
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_rel_attr_bound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -374,6 +382,7 @@ class OfTypePathingTest(PathTest, QueryTest):
             l1, q, [(User, "addresses"), (User, "addresses", SubAddr, "dings")]
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_rel_attr_string_unbound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -385,6 +394,7 @@ class OfTypePathingTest(PathTest, QueryTest):
             l1, q, [(User, "addresses"), (User, "addresses", SubAddr, "dings")]
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_oftype_only_rel_attr_string_bound(self):
         User, Address, SubAddr = self._fixture()
 
@@ -700,6 +710,7 @@ class OptionsTest(PathTest, QueryTest):
         opt = self._option_fixture(ac.orders, Order.items)
         self._assert_path_result(opt, q, [])
 
+    @emits_warning("This declarative base already contains a class")
     def test_from_base_to_subclass_attr(self):
         Dingaling, Address = self.classes.Dingaling, self.classes.Address
 
@@ -708,7 +719,7 @@ class OptionsTest(PathTest, QueryTest):
         class SubAddr(Address):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SubAddr,
             inherits=Address,
             properties={"flub": relationship(Dingaling, viewonly=True)},
@@ -719,6 +730,7 @@ class OptionsTest(PathTest, QueryTest):
 
         self._assert_path_result(opt, q, [(SubAddr, "flub")])
 
+    @emits_warning("This declarative base already contains a class")
     def test_from_subclass_to_subclass_attr(self):
         Dingaling, Address = self.classes.Dingaling, self.classes.Address
 
@@ -727,7 +739,7 @@ class OptionsTest(PathTest, QueryTest):
         class SubAddr(Address):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SubAddr,
             inherits=Address,
             properties={"flub": relationship(Dingaling, viewonly=True)},
@@ -746,7 +758,7 @@ class OptionsTest(PathTest, QueryTest):
         class SubAddr(Address):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SubAddr,
             inherits=Address,
             properties={"flub": relationship(Dingaling, viewonly=True)},
@@ -759,6 +771,7 @@ class OptionsTest(PathTest, QueryTest):
             opt, q, [(Address, inspect(Address).attrs.user)]
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_of_type(self):
         User, Address = self.classes.User, self.classes.Address
 
@@ -767,7 +780,7 @@ class OptionsTest(PathTest, QueryTest):
         class SubAddr(Address):
             pass
 
-        mapper(SubAddr, inherits=Address)
+        self.mapper_registry.map_imperatively(SubAddr, inherits=Address)
 
         q = sess.query(User)
         opt = self._option_fixture(
@@ -790,6 +803,7 @@ class OptionsTest(PathTest, QueryTest):
             ],
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_of_type_string_attr(self):
         User, Address = self.classes.User, self.classes.Address
 
@@ -798,7 +812,7 @@ class OptionsTest(PathTest, QueryTest):
         class SubAddr(Address):
             pass
 
-        mapper(SubAddr, inherits=Address)
+        self.mapper_registry.map_imperatively(SubAddr, inherits=Address)
 
         q = sess.query(User)
         opt = self._option_fixture(User.addresses.of_type(SubAddr), "user")
@@ -819,6 +833,7 @@ class OptionsTest(PathTest, QueryTest):
             ],
         )
 
+    @emits_warning("This declarative base already contains a class")
     def test_of_type_plus_level(self):
         Dingaling, User, Address = (
             self.classes.Dingaling,
@@ -831,7 +846,7 @@ class OptionsTest(PathTest, QueryTest):
         class SubAddr(Address):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SubAddr,
             inherits=Address,
             properties={"flub": relationship(Dingaling, viewonly=True)},
@@ -1316,7 +1331,7 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
             cls.tables.orders,
             cls.classes.Order,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1324,8 +1339,8 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
                 "orders": relationship(Order),
             },
         )
-        mapper(Address, addresses)
-        mapper(Order, orders)
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(Order, orders)
         keywords, items, item_keywords, Keyword, Item = (
             cls.tables.keywords,
             cls.tables.items,
@@ -1333,14 +1348,14 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
             cls.classes.Keyword,
             cls.classes.Item,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Keyword,
             keywords,
             properties={
                 "keywords": column_property(keywords.c.name + "some keyword")
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -1353,7 +1368,9 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
             def some_attr(self):
                 return "hi"
 
-        mapper(OrderWProp, None, inherits=cls.classes.Order)
+        cls.mapper_registry.map_imperatively(
+            OrderWProp, None, inherits=cls.classes.Order
+        )
 
     def _assert_option(self, entity_list, option):
         Item = self.classes.Item
@@ -1995,12 +2012,12 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="select",
                     order_by=addresses.c.id,
                 ),
@@ -2030,12 +2047,13 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), order_by=addresses.c.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=addresses.c.id,
                 )
             ),
         )
@@ -2060,12 +2078,13 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 )
             ),
         )
@@ -2097,12 +2116,13 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="joined"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="joined",
                 )
             ),
         )
@@ -2131,12 +2151,12 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="joined",
                     order_by=addresses.c.id,
                 )
@@ -2201,11 +2221,11 @@ class MapperOptionsTest(_fixtures.FixtureTest):
         # users, they will have no addresses or orders.  the number of lazy
         # loads when traversing the whole thing will be three for the
         # addresses and three for the orders.
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2218,7 +2238,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(
@@ -2231,7 +2251,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -2277,12 +2297,13 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="joined"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="joined",
                 )
             ),
         )
@@ -2310,13 +2331,15 @@ class MapperOptionsTest(_fixtures.FixtureTest):
             self.tables.orders,
         )
 
-        mapper(User, users, properties=dict(orders=relationship(Order)))
-        mapper(
+        self.mapper_registry.map_imperatively(
+            User, users, properties=dict(orders=relationship(Order))
+        )
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties=dict(items=relationship(Item, secondary=order_items)),
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         sess = fixture_session()
 
index 317f84dec1ad1b3c39ea1a7fd2351ad387aa96ca..8f4683d15c6eb4d9c38621e442c426256f565b68 100644 (file)
@@ -12,7 +12,6 @@ from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import instrumentation
 from sqlalchemy.orm import lazyload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import state as sa_state
 from sqlalchemy.orm import subqueryload
@@ -101,17 +100,17 @@ class PickleTest(fixtures.MappedTest):
             self.tables.dingalings,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"dingaling": relationship(Dingaling)},
         )
-        mapper(Dingaling, dingalings)
+        self.mapper_registry.map_imperatively(Dingaling, dingalings)
         sess = fixture_session()
         u1 = User(name="ed")
         u1.addresses.append(Address(email_address="ed@bar.com"))
@@ -123,12 +122,12 @@ class PickleTest(fixtures.MappedTest):
     def test_transient(self):
         users, addresses = (self.tables.users, self.tables.addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(name="ed")
@@ -145,7 +144,7 @@ class PickleTest(fixtures.MappedTest):
     def test_no_mappers(self):
         users = self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u1 = User(name="ed")
         u1_pickled = pickle.dumps(u1, -1)
 
@@ -162,13 +161,13 @@ class PickleTest(fixtures.MappedTest):
     def test_no_instrumentation(self):
         users = self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u1 = User(name="ed")
         u1_pickled = pickle.dumps(u1, -1)
 
         clear_mappers()
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = pickle.loads(u1_pickled)
         # this fails unless the InstanceState
@@ -178,7 +177,7 @@ class PickleTest(fixtures.MappedTest):
     def test_class_deferred_cols(self):
         addresses, users = (self.tables.addresses, self.tables.users)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -186,7 +185,7 @@ class PickleTest(fixtures.MappedTest):
                 "addresses": relationship(Address, backref="user"),
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -229,12 +228,12 @@ class PickleTest(fixtures.MappedTest):
     def test_instance_lazy_relation_loaders(self):
         users, addresses = (self.tables.users, self.tables.addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="noload")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(name="ed", addresses=[Address(email_address="ed@bar.com")])
@@ -253,12 +252,12 @@ class PickleTest(fixtures.MappedTest):
     def test_lazyload_extra_criteria_not_supported(self):
         users, addresses = (self.tables.users, self.tables.addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address)},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(
@@ -296,12 +295,12 @@ class PickleTest(fixtures.MappedTest):
     def test_invalidated_flag_pickle(self):
         users, addresses = (self.tables.users, self.tables.addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="noload")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User()
         u1.addresses.append(Address())
@@ -312,12 +311,12 @@ class PickleTest(fixtures.MappedTest):
     def test_invalidated_flag_deepcopy(self):
         users, addresses = (self.tables.users, self.tables.addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="noload")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User()
         u1.addresses.append(Address())
@@ -329,12 +328,12 @@ class PickleTest(fixtures.MappedTest):
     def test_instance_deferred_cols(self):
         users, addresses = (self.tables.users, self.tables.addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         with fixture_session(expire_on_commit=False) as sess:
             u1 = User(name="ed")
@@ -391,12 +390,12 @@ class PickleTest(fixtures.MappedTest):
     def test_pickle_protocols(self):
         users, addresses = (self.tables.users, self.tables.addresses)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(name="ed")
@@ -413,7 +412,7 @@ class PickleTest(fixtures.MappedTest):
 
     def test_09_pickle(self):
         users = self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         sess.add(User(id=1, name="ed"))
         sess.commit()
@@ -448,7 +447,7 @@ class PickleTest(fixtures.MappedTest):
 
     def test_11_pickle(self):
         users = self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(id=1, name="ed")
         sess.add(u1)
@@ -480,7 +479,7 @@ class PickleTest(fixtures.MappedTest):
 
     def test_state_info_pickle(self):
         users = self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(id=1, name="ed")
 
@@ -577,7 +576,7 @@ class PickleTest(fixtures.MappedTest):
         )
         p = Table("p", m, Column("id", String, primary_key=True))
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             p,
             properties={
@@ -585,8 +584,8 @@ class PickleTest(fixtures.MappedTest):
                 "children2": relationship(Child2),
             },
         )
-        mapper(Child1, c1)
-        mapper(Child2, c2)
+        self.mapper_registry.map_imperatively(Child1, c1)
+        self.mapper_registry.map_imperatively(Child2, c2)
 
         obj = Parent()
         screen1 = Screen(obj)
@@ -599,7 +598,7 @@ class PickleTest(fixtures.MappedTest):
             pass
 
         users = self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         for sa_exc in (
             orm_exc.UnmappedInstanceError(Foo()),
@@ -613,7 +612,7 @@ class PickleTest(fixtures.MappedTest):
     def test_attribute_mapped_collection(self):
         users, addresses = self.tables.users, self.tables.addresses
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -625,7 +624,7 @@ class PickleTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         u1 = User()
         u1.addresses = {"email1": Address(email_address="email1")}
         for loads, dumps in picklers():
@@ -636,7 +635,7 @@ class PickleTest(fixtures.MappedTest):
     def test_column_mapped_collection(self):
         users, addresses = self.tables.users, self.tables.addresses
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -648,7 +647,7 @@ class PickleTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         u1 = User()
         u1.addresses = {
             "email1": Address(email_address="email1"),
@@ -662,7 +661,7 @@ class PickleTest(fixtures.MappedTest):
     def test_composite_column_mapped_collection(self):
         users, addresses = self.tables.users, self.tables.addresses
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -674,7 +673,7 @@ class PickleTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         u1 = User()
         u1.addresses = {
             (1, "email1"): Address(id=1, email_address="email1"),
@@ -743,13 +742,13 @@ class PolymorphicDeferredTest(fixtures.MappedTest):
     def test_polymorphic_deferred(self):
         email_users, users = (self.tables.email_users, self.tables.users)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             polymorphic_identity="user",
             polymorphic_on=users.c.type,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             EmailUser,
             email_users,
             inherits=User,
@@ -782,7 +781,7 @@ class TupleLabelTest(_fixtures.FixtureTest):
             cls.tables.addresses,
             cls.tables.orders,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -795,8 +794,8 @@ class TupleLabelTest(_fixtures.FixtureTest):
                 ),
             },
         )
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             Order, orders, properties={"address": relationship(Address)}
         )  # m2o
 
@@ -893,7 +892,7 @@ class CustomSetupTeardownTest(fixtures.MappedTest):
 
         users = self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User()
         attributes.manager_of_class(User).teardown_instance(u1)
index 16e5accfd31f310c96a941b87e3dfc7c21b4007d..80fb913ffcb6ba17525d877094689313ba0e712e 100644 (file)
@@ -44,13 +44,13 @@ from sqlalchemy.orm import aliased
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import Bundle
+from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import column_property
 from sqlalchemy.orm import contains_eager
 from sqlalchemy.orm import defer
 from sqlalchemy.orm import deferred
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import lazyload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import Query
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
@@ -196,9 +196,11 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
                 Column("id", Integer, primary_key=True),
                 Column("name", String, key="uname"),
             )
-            mapper(User, uwkey)
+            self.mapper_registry.map_imperatively(User, uwkey)
         else:
-            mapper(User, users, properties={"uname": users.c.name})
+            self.mapper_registry.map_imperatively(
+                User, users, properties={"uname": users.c.name}
+            )
 
         s = fixture_session()
         if legacy:
@@ -241,7 +243,7 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
         """test #6979"""
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s = fixture_session()
 
@@ -267,7 +269,7 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s = fixture_session()
 
@@ -289,7 +291,7 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s = fixture_session()
 
@@ -307,7 +309,7 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s = fixture_session()
 
@@ -322,8 +324,10 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
 
@@ -551,8 +555,8 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         user_alias = aliased(User)
         user_alias_id_label = user_alias.id.label("foo")
@@ -579,8 +583,10 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
         q = (
@@ -615,8 +621,10 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
 
@@ -641,8 +649,10 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
 
@@ -672,8 +682,10 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = fixture_session()
 
@@ -702,8 +714,10 @@ class RowTupleTest(QueryTest, AssertsCompiledSQL):
 
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         class MyType(TypeDecorator):
             impl = Integer
@@ -975,10 +989,15 @@ class RowLabelingTest(QueryTest):
                     String,
                 ),
             )
-            mapper(Foo, users, properties={"uname": users.c.name})
+            self.mapper_registry.map_imperatively(
+                Foo, users, properties={"uname": users.c.name}
+            )
         else:
             users = self.tables.users
-            mapper(Foo, users, properties={"uname": users.c.name})
+            clear_mappers()
+            self.mapper_registry.map_imperatively(
+                Foo, users, properties={"uname": users.c.name}
+            )
 
         return Foo
 
@@ -1226,7 +1245,7 @@ class GetTest(QueryTest):
         assert_raises(sa_exc.InvalidRequestError, q.get, (5,))
 
     @testing.fixture
-    def outerjoin_mapping(self):
+    def outerjoin_mapping(self, registry):
         users, addresses = self.tables.users, self.tables.addresses
 
         s = users.outerjoin(addresses)
@@ -1234,7 +1253,7 @@ class GetTest(QueryTest):
         class UserThing(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        registry.map_imperatively(
             UserThing,
             s,
             properties={
@@ -1319,7 +1338,7 @@ class GetTest(QueryTest):
             pass
 
         s = users.select().where(users.c.id != 12).alias("users")
-        m = mapper(SomeUser, s)
+        m = self.mapper_registry.map_imperatively(SomeUser, s)
         assert s.primary_key == m.primary_key
 
         sess = fixture_session()
@@ -1367,7 +1386,7 @@ class GetTest(QueryTest):
         class LocalFoo(self.classes.Base):
             pass
 
-        mapper(LocalFoo, table)
+        self.mapper_registry.map_imperatively(LocalFoo, table)
         with Session(connection) as sess:
             eq_(
                 sess.get(LocalFoo, ustring),
@@ -2614,20 +2633,20 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         else:
             stmt = stmt.scalar_subquery()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"ead": column_property(stmt)},
             with_polymorphic="*" if polymorphic else None,
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
     def _func_fixture(self, label=False):
         User = self.classes.User
         users = self.tables.users
 
         if label:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 User,
                 users,
                 properties={
@@ -2637,7 +2656,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
                 },
             )
         else:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 User,
                 users,
                 properties={
@@ -4147,7 +4166,7 @@ class SetOpsWDeferredTest(QueryTest, AssertsCompiledSQL):
         User = self.classes.User
         users = self.tables.users
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -5254,7 +5273,7 @@ class YieldTest(_fixtures.FixtureTest):
     def _eagerload_mappings(self, addresses_lazy=True, user_lazy=True):
         User, Address = self.classes("User", "Address")
         users, addresses = self.tables("users", "addresses")
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -5265,7 +5284,7 @@ class YieldTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
     def test_basic(self):
         self._eagerload_mappings()
@@ -5461,7 +5480,7 @@ class YieldIterationTest(_fixtures.FixtureTest):
     def setup_mappers(cls):
         User = cls.classes.User
         users = cls.tables.users
-        mapper(User, users)
+        cls.mapper_registry.map_imperatively(User, users)
 
     @classmethod
     def fixtures(cls):
@@ -6590,8 +6609,8 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
             self.tables.has_dingaling,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -6606,8 +6625,8 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
                 ),
             },
         )
-        mapper(Dingaling, dingalings)
-        mapper(
+        self.mapper_registry.map_imperatively(Dingaling, dingalings)
+        self.mapper_registry.map_imperatively(
             HasDingaling,
             has_dingaling,
             properties={
@@ -6881,7 +6900,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
             cls.tables.addresses,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -6894,8 +6913,8 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
                 "orders_syn_2": synonym("orders_syn"),
             },
         )
-        mapper(Address, addresses)
-        mapper(
+        cls.mapper_registry.map_imperatively(Address, addresses)
+        cls.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -6904,7 +6923,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
                 "items_syn": synonym("items"),
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -6913,7 +6932,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
+        cls.mapper_registry.map_imperatively(Keyword, keywords)
 
     def test_options(self):
         User, Order = self.classes.User, self.classes.Order
@@ -7079,9 +7098,11 @@ class ImmediateTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
-        mapper(User, users, properties=dict(addresses=relationship(Address)))
+        cls.mapper_registry.map_imperatively(
+            User, users, properties=dict(addresses=relationship(Address))
+        )
 
     def test_one(self):
         User, Address = self.classes.User, self.classes.Address
index 8cf02adacaef4b4f6ee022a2957f02bc75a94041..571d2723200a2e09a4c1a8ba9e85f6ca5e069a6f 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy.orm import aliased
 from sqlalchemy.orm import defer
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import lazyload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import registry
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
@@ -40,12 +39,13 @@ class _Fixtures(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), order_by=Address.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=Address.id,
                 )
             },
         )
@@ -58,7 +58,7 @@ class _Fixtures(_fixtures.FixtureTest):
             "orders", "items", "order_items"
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -68,7 +68,7 @@ class _Fixtures(_fixtures.FixtureTest):
                 ),
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         return Order, Item
 
@@ -79,12 +79,12 @@ class _Fixtures(_fixtures.FixtureTest):
             "users", "orders", "items", "order_items"
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"orders": relationship(Order, order_by=orders.c.id)},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -94,7 +94,7 @@ class _Fixtures(_fixtures.FixtureTest):
                 ),
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         return User, Order, Item
 
@@ -108,7 +108,7 @@ class _Fixtures(_fixtures.FixtureTest):
         class UserWFoob(HasFoob, self.Comparable):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             UserWFoob,
             users,
         )
@@ -126,7 +126,7 @@ class _Fixtures(_fixtures.FixtureTest):
         class UserWFoob(HasFoob, self.Comparable):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             UserWFoob,
             users,
         )
index f9c8bae7aa50c3d8ecad696a14d4f603bee2df36..a25e39c82b7e62fd0575f16b4ba228ad00ac2c10 100644 (file)
@@ -23,7 +23,6 @@ from sqlalchemy.orm import declarative_base
 from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import foreign
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import remote
 from sqlalchemy.orm import selectinload
@@ -257,7 +256,7 @@ class DependencyTwoParentTest(fixtures.MappedTest):
             cls.tables.tbl_d,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             A,
             tbl_a,
             properties=dict(
@@ -266,8 +265,8 @@ class DependencyTwoParentTest(fixtures.MappedTest):
                 )
             ),
         )
-        mapper(B, tbl_b)
-        mapper(
+        cls.mapper_registry.map_imperatively(B, tbl_b)
+        cls.mapper_registry.map_imperatively(
             C,
             tbl_c,
             properties=dict(
@@ -276,7 +275,9 @@ class DependencyTwoParentTest(fixtures.MappedTest):
                 )
             ),
         )
-        mapper(D, tbl_d, properties=dict(b_row=relationship(B)))
+        cls.mapper_registry.map_imperatively(
+            D, tbl_d, properties=dict(b_row=relationship(B))
+        )
 
     @classmethod
     def insert_data(cls, connection):
@@ -338,8 +339,10 @@ class M2ODontOverwriteFKTest(fixtures.MappedTest):
         class B(fixtures.BasicEntity):
             pass
 
-        mapper(A, a, properties={"b": relationship(B, uselist=uselist)})
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"b": relationship(B, uselist=uselist)}
+        )
+        self.mapper_registry.map_imperatively(B, b)
         return A, B
 
     def test_joinedload_doesnt_produce_bogus_event(self):
@@ -461,7 +464,7 @@ class DirectSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
         Entity = self.classes.Entity
         entity = self.tables.entity
 
-        m = mapper(
+        m = self.mapper_registry.map_imperatively(
             Entity,
             entity,
             properties={
@@ -484,7 +487,7 @@ class DirectSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
         Entity = self.classes.Entity
         entity = self.tables.entity
 
-        m = mapper(
+        m = self.mapper_registry.map_imperatively(
             Entity,
             entity,
             properties={
@@ -632,14 +635,13 @@ class DirectSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
         )
 
 
-class OverlappingFksSiblingTest(fixtures.TestBase):
+class OverlappingFksSiblingTest(fixtures.MappedTest):
     """Test multiple relationships that use sections of the same
     composite foreign key.
 
     """
 
-    def teardown_test(self):
-        clear_mappers()
+    run_define_tables = "each"
 
     def _fixture_one(
         self,
@@ -651,7 +653,7 @@ class OverlappingFksSiblingTest(fixtures.TestBase):
         add_b_a_overlaps=None,
     ):
 
-        Base = declarative_base(metadata=self.metadata)
+        Base = self.mapper_registry.generate_base()
 
         class A(Base):
 
@@ -717,13 +719,14 @@ class OverlappingFksSiblingTest(fixtures.TestBase):
             __mapper_args__ = {"polymorphic_identity": "bsub2"}
 
         configure_mappers()
-        self.metadata.create_all(testing.db)
+        assert self.tables_test_metadata is Base.metadata
+        self.tables_test_metadata.create_all(testing.db)
 
         return A, AMember, B, BSub1, BSub2
 
     def _fixture_two(self, setup_backrefs=False, setup_overlaps=False):
 
-        Base = declarative_base(metadata=self.metadata)
+        Base = self.mapper_registry.generate_base()
 
         # purposely using the comma to make sure parsing the comma works
 
@@ -752,7 +755,7 @@ class OverlappingFksSiblingTest(fixtures.TestBase):
         configure_mappers()
 
     def _fixture_three(self, use_same_mappers, setup_overlaps):
-        Base = declarative_base(metadata=self.metadata)
+        Base = self.mapper_registry.generate_base()
 
         class Child(Base):
             __tablename__ = "child"
@@ -804,7 +807,7 @@ class OverlappingFksSiblingTest(fixtures.TestBase):
         configure_mappers()
 
     def _fixture_four(self):
-        Base = declarative_base(metadata=self.metadata)
+        Base = self.mapper_registry.generate_base()
 
         class A(Base):
             __tablename__ = "a"
@@ -879,7 +882,7 @@ class OverlappingFksSiblingTest(fixtures.TestBase):
 
     @testing.combinations((True,), (False,), argnames="set_overlaps")
     def test_fixture_five(self, metadata, set_overlaps):
-        Base = declarative_base(metadata=self.metadata)
+        Base = self.mapper_registry.generate_base()
 
         if set_overlaps:
             overlaps = "as,cs"
@@ -1109,8 +1112,8 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
             self.tables.company_t,
         )
 
-        mapper(Company, company_t)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, company_t)
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_t,
             properties={
@@ -1152,8 +1155,8 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
             self.tables.company_t,
         )
 
-        mapper(Company, company_t)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, company_t)
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_t,
             properties={
@@ -1186,8 +1189,8 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
             self.tables.company_t,
         )
 
-        mapper(Company, company_t)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, company_t)
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_t,
             properties={
@@ -1210,8 +1213,8 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
             self.tables.company_t,
         )
 
-        mapper(Company, company_t)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, company_t)
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_t,
             properties={
@@ -1247,8 +1250,8 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
             self.tables.company_t,
         )
 
-        mapper(Company, company_t)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, company_t)
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_t,
             properties={
@@ -1277,8 +1280,8 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
             self.tables.company_t,
         )
 
-        mapper(Company, company_t)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, company_t)
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_t,
             properties={
@@ -1311,8 +1314,8 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
             self.tables.company_t,
         )
 
-        mapper(Company, company_t)
-        mapper(
+        self.mapper_registry.map_imperatively(Company, company_t)
+        self.mapper_registry.map_imperatively(
             Employee,
             employee_t,
             properties={
@@ -1496,7 +1499,7 @@ class CompositeJoinPartialFK(fixtures.MappedTest, AssertsCompiledSQL):
         class Child(cls.Comparable):
             pass
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -1510,7 +1513,7 @@ class CompositeJoinPartialFK(fixtures.MappedTest, AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Child, child)
+        cls.mapper_registry.map_imperatively(Child, child)
 
     def test_joins_fully(self):
         Parent = self.classes.Parent
@@ -1564,10 +1567,10 @@ class SynonymsAsFKsTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             B, tableB, properties={"a_id": synonym("_a_id", map_column=True)}
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             tableA,
             properties={
@@ -1635,7 +1638,7 @@ class FKsAsPksTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             tableA,
             properties={
@@ -1644,7 +1647,7 @@ class FKsAsPksTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, tableB)
+        self.mapper_registry.map_imperatively(B, tableB)
 
         configure_mappers()
         assert A.b.property.strategy.use_get
@@ -1669,12 +1672,12 @@ class FKsAsPksTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             tableA,
             properties={"bs": relationship(B, cascade="save-update")},
         )
-        mapper(B, tableB)
+        self.mapper_registry.map_imperatively(B, tableB)
 
         a1 = A()
         a1.bs.append(B())
@@ -1699,10 +1702,10 @@ class FKsAsPksTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             B, tableB, properties={"a": relationship(A, cascade="save-update")}
         )
-        mapper(A, tableA)
+        self.mapper_registry.map_imperatively(A, tableA)
 
         b1 = B()
         a1 = A()
@@ -1742,10 +1745,10 @@ class FKsAsPksTest(fixtures.MappedTest):
         class C(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C, tableC, properties={"a": relationship(A, cascade="save-update")}
         )
-        mapper(A, tableA)
+        self.mapper_registry.map_imperatively(A, tableA)
 
         c1 = C()
         c1.id = 5
@@ -1755,7 +1758,12 @@ class FKsAsPksTest(fixtures.MappedTest):
             # test that no error is raised.
             sess.flush()
 
-    def test_delete_cascade_BtoA(self):
+    @testing.combinations(
+        "save-update, delete",
+        # "save-update, delete-orphan",
+        "save-update, delete, delete-orphan",
+    )
+    def test_delete_cascade_BtoA(self, cascade):
         """No 'blank the PK' error when the child is to
         be deleted as part of a cascade"""
 
@@ -1766,34 +1774,32 @@ class FKsAsPksTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        for cascade in (
-            "save-update, delete",
-            # "save-update, delete-orphan",
-            "save-update, delete, delete-orphan",
-        ):
-            mapper(
-                B,
-                tableB,
-                properties={
-                    "a": relationship(A, cascade=cascade, single_parent=True)
-                },
-            )
-            mapper(A, tableA)
+        self.mapper_registry.map_imperatively(
+            B,
+            tableB,
+            properties={
+                "a": relationship(A, cascade=cascade, single_parent=True)
+            },
+        )
+        self.mapper_registry.map_imperatively(A, tableA)
 
-            b1 = B()
-            a1 = A()
-            b1.a = a1
-            with fixture_session() as sess:
-                sess.add(b1)
-                sess.flush()
-                sess.delete(b1)
-                sess.flush()
-                assert a1 not in sess
-                assert b1 not in sess
-
-            sa.orm.clear_mappers()
-
-    def test_delete_cascade_AtoB(self):
+        b1 = B()
+        a1 = A()
+        b1.a = a1
+        with fixture_session() as sess:
+            sess.add(b1)
+            sess.flush()
+            sess.delete(b1)
+            sess.flush()
+            assert a1 not in sess
+            assert b1 not in sess
+
+    @testing.combinations(
+        "save-update, delete",
+        # "save-update, delete-orphan",
+        "save-update, delete, delete-orphan",
+    )
+    def test_delete_cascade_AtoB(self, cascade):
         """No 'blank the PK' error when the child is to
         be deleted as part of a cascade"""
 
@@ -1804,29 +1810,22 @@ class FKsAsPksTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        for cascade in (
-            "save-update, delete",
-            # "save-update, delete-orphan",
-            "save-update, delete, delete-orphan",
-        ):
-            mapper(
-                A, tableA, properties={"bs": relationship(B, cascade=cascade)}
-            )
-            mapper(B, tableB)
-
-            a1 = A()
-            b1 = B()
-            a1.bs.append(b1)
-            with fixture_session() as sess:
-                sess.add(a1)
-                sess.flush()
+        self.mapper_registry.map_imperatively(
+            A, tableA, properties={"bs": relationship(B, cascade=cascade)}
+        )
+        self.mapper_registry.map_imperatively(B, tableB)
 
-                sess.delete(a1)
-                sess.flush()
-                assert a1 not in sess
-                assert b1 not in sess
+        a1 = A()
+        b1 = B()
+        a1.bs.append(b1)
+        with fixture_session() as sess:
+            sess.add(a1)
+            sess.flush()
 
-            sa.orm.clear_mappers()
+            sess.delete(a1)
+            sess.flush()
+            assert a1 not in sess
+            assert b1 not in sess
 
     def test_delete_manual_AtoB(self):
         tableB, A, B, tableA = (
@@ -1836,8 +1835,10 @@ class FKsAsPksTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        mapper(A, tableA, properties={"bs": relationship(B, cascade="none")})
-        mapper(B, tableB)
+        self.mapper_registry.map_imperatively(
+            A, tableA, properties={"bs": relationship(B, cascade="none")}
+        )
+        self.mapper_registry.map_imperatively(B, tableB)
 
         a1 = A()
         b1 = B()
@@ -1861,8 +1862,10 @@ class FKsAsPksTest(fixtures.MappedTest):
             self.tables.tableA,
         )
 
-        mapper(B, tableB, properties={"a": relationship(A, cascade="none")})
-        mapper(A, tableA)
+        self.mapper_registry.map_imperatively(
+            B, tableB, properties={"a": relationship(A, cascade="none")}
+        )
+        self.mapper_registry.map_imperatively(A, tableA)
 
         b1 = B()
         a1 = A()
@@ -1924,8 +1927,10 @@ class UniqueColReferenceSwitchTest(fixtures.MappedTest):
             self.tables.table_a,
         )
 
-        mapper(A, table_a)
-        mapper(B, table_b, properties={"a": relationship(A, backref="bs")})
+        self.mapper_registry.map_imperatively(A, table_a)
+        self.mapper_registry.map_imperatively(
+            B, table_b, properties={"a": relationship(A, backref="bs")}
+        )
 
         session = fixture_session()
         a1, a2 = A(ident="uuid1"), A(ident="uuid2")
@@ -1987,9 +1992,9 @@ class RelationshipToSelectableTest(fixtures.MappedTest):
             .alias("container_select")
         )
 
-        mapper(LineItem, items)
+        self.mapper_registry.map_imperatively(LineItem, items)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Container,
             container_select,
             properties=dict(
@@ -2073,7 +2078,7 @@ class FKEquatedToConstantTest(fixtures.MappedTest):
         class TagInstance(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Tag,
             tags,
             properties={
@@ -2088,7 +2093,7 @@ class FKEquatedToConstantTest(fixtures.MappedTest):
             },
         )
 
-        mapper(TagInstance, tag_foo)
+        self.mapper_registry.map_imperatively(TagInstance, tag_foo)
 
         sess = fixture_session()
         t1 = Tag(data="some tag")
@@ -2148,7 +2153,7 @@ class BackrefPropagatesForwardsArgs(fixtures.MappedTest):
             self.tables.addresses,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2160,7 +2165,7 @@ class BackrefPropagatesForwardsArgs(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         u1 = User(name="u1", addresses=[Address(email="a1")])
@@ -2224,9 +2229,9 @@ class AmbiguousJoinInterpretedAsSelfRef(fixtures.MappedTest):
         class Subscriber(cls.Comparable):
             pass
 
-        mapper(Address, address)
+        cls.mapper_registry.map_imperatively(Address, address)
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Subscriber,
             subscriber_and_address,
             properties={
@@ -2281,7 +2286,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2289,7 +2294,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -2319,7 +2324,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2327,7 +2332,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -2347,7 +2352,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             self.tables.users,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2355,8 +2360,8 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             },
         )
 
-        mapper(Dingaling, dingalings)
-        mapper(
+        self.mapper_registry.map_imperatively(Dingaling, dingalings)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"dingaling": relationship(Dingaling)},
@@ -2380,7 +2385,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2388,7 +2393,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
             },
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Addr,
             addr,
             properties={
@@ -2419,7 +2424,7 @@ class NoLoadBackPopulates(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2429,7 +2434,9 @@ class NoLoadBackPopulates(_fixtures.FixtureTest):
             },
         )
 
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
 
         u1 = User()
         a1 = Address()
@@ -2444,9 +2451,11 @@ class NoLoadBackPopulates(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -2463,10 +2472,8 @@ class NoLoadBackPopulates(_fixtures.FixtureTest):
 
 
 class JoinConditionErrorTest(fixtures.TestBase):
-    def test_clauseelement_pj(self):
-        from sqlalchemy.orm import declarative_base
-
-        Base = declarative_base()
+    def test_clauseelement_pj(self, registry):
+        Base = registry.generate_base()
 
         class C1(Base):
             __tablename__ = "c1"
@@ -2480,10 +2487,8 @@ class JoinConditionErrorTest(fixtures.TestBase):
 
         assert_raises(sa.exc.ArgumentError, configure_mappers)
 
-    def test_clauseelement_pj_false(self):
-        from sqlalchemy.orm import declarative_base
-
-        Base = declarative_base()
+    def test_clauseelement_pj_false(self, registry):
+        Base = registry.generate_base()
 
         class C1(Base):
             __tablename__ = "c1"
@@ -2497,7 +2502,7 @@ class JoinConditionErrorTest(fixtures.TestBase):
 
         assert_raises(sa.exc.ArgumentError, configure_mappers)
 
-    def test_only_column_elements(self):
+    def test_only_column_elements(self, registry):
         m = MetaData()
         t1 = Table(
             "t1",
@@ -2513,46 +2518,45 @@ class JoinConditionErrorTest(fixtures.TestBase):
         class C2(object):
             pass
 
-        mapper(
+        registry.map_imperatively(
             C1,
             t1,
             properties={"c2": relationship(C2, primaryjoin=t1.join(t2))},
         )
-        mapper(C2, t2)
+        registry.map_imperatively(C2, t2)
         assert_raises(sa.exc.ArgumentError, configure_mappers)
 
-    def test_invalid_string_args(self):
-        from sqlalchemy.orm import declarative_base
-
-        for argname, arg in [
-            ("remote_side", ["c1.id"]),
-            ("remote_side", ["id"]),
-            ("foreign_keys", ["c1id"]),
-            ("foreign_keys", ["C2.c1id"]),
-            ("order_by", ["id"]),
-        ]:
-            clear_mappers()
-            kw = {argname: arg}
-            Base = declarative_base()
-
-            class C1(Base):
-                __tablename__ = "c1"
-                id = Column("id", Integer, primary_key=True)
-
-            class C2(Base):
-                __tablename__ = "c2"
-                id_ = Column("id", Integer, primary_key=True)
-                c1id = Column("c1id", Integer, ForeignKey("c1.id"))
-                c2 = relationship(C1, **kw)
+    @testing.combinations(
+        ("remote_side", ["c1.id"]),
+        ("remote_side", ["id"]),
+        ("foreign_keys", ["c1id"]),
+        ("foreign_keys", ["C2.c1id"]),
+        ("order_by", ["id"]),
+        argnames="argname, arg",
+    )
+    def test_invalid_string_args(self, registry, argname, arg):
 
-            assert_raises_message(
-                sa.exc.ArgumentError,
-                "Column expression expected "
-                "for argument '%s'; got '%s'" % (argname, arg[0]),
-                configure_mappers,
-            )
+        kw = {argname: arg}
+        Base = registry.generate_base()
+
+        class C1(Base):
+            __tablename__ = "c1"
+            id = Column("id", Integer, primary_key=True)
+
+        class C2(Base):
+            __tablename__ = "c2"
+            id_ = Column("id", Integer, primary_key=True)
+            c1id = Column("c1id", Integer, ForeignKey("c1.id"))
+            c2 = relationship(C1, **kw)
+
+        assert_raises_message(
+            sa.exc.ArgumentError,
+            "Column expression expected "
+            "for argument '%s'; got '%s'" % (argname, arg[0]),
+            configure_mappers,
+        )
 
-    def test_fk_error_not_raised_unrelated(self):
+    def test_fk_error_not_raised_unrelated(self, registry):
         m = MetaData()
         t1 = Table(
             "t1",
@@ -2575,11 +2579,11 @@ class JoinConditionErrorTest(fixtures.TestBase):
         class C2(object):
             pass
 
-        mapper(C1, t1, properties={"c2": relationship(C2)})
-        mapper(C2, t3)
+        registry.map_imperatively(C1, t1, properties={"c2": relationship(C2)})
+        registry.map_imperatively(C2, t3)
         assert C1.c2.property.primaryjoin.compare(t1.c.id == t3.c.t1id)
 
-    def test_join_error_raised(self):
+    def test_join_error_raised(self, registry):
         m = MetaData()
         t1 = Table("t1", m, Column("id", Integer, primary_key=True))
         t2 = Table("t2", m, Column("id", Integer, primary_key=True))  # noqa
@@ -2597,8 +2601,8 @@ class JoinConditionErrorTest(fixtures.TestBase):
         class C2(object):
             pass
 
-        mapper(C1, t1, properties={"c2": relationship(C2)})
-        mapper(C2, t3)
+        registry.map_imperatively(C1, t1, properties={"c2": relationship(C2)})
+        registry.map_imperatively(C2, t3)
 
         assert_raises(sa.exc.ArgumentError, configure_mappers)
 
@@ -2661,9 +2665,11 @@ class TypeMatchTest(fixtures.MappedTest):
         class C(fixtures.BasicEntity):
             pass
 
-        mapper(A, a, properties={"bs": relationship(B)})
-        mapper(B, b)
-        mapper(C, c)
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B)}
+        )
+        self.mapper_registry.map_imperatively(B, b)
+        self.mapper_registry.map_imperatively(C, c)
 
         a1 = A()
         b1 = B()
@@ -2693,9 +2699,11 @@ class TypeMatchTest(fixtures.MappedTest):
         class C(fixtures.BasicEntity):
             pass
 
-        mapper(A, a, properties={"bs": relationship(B, cascade="none")})
-        mapper(B, b)
-        mapper(C, c)
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B, cascade="none")}
+        )
+        self.mapper_registry.map_imperatively(B, b)
+        self.mapper_registry.map_imperatively(C, c)
 
         a1 = A()
         b1 = B()
@@ -2722,9 +2730,11 @@ class TypeMatchTest(fixtures.MappedTest):
         class C(B):
             pass
 
-        mapper(A, a, properties={"bs": relationship(B, cascade="none")})
-        mapper(B, b)
-        mapper(C, c, inherits=B)
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B, cascade="none")}
+        )
+        self.mapper_registry.map_imperatively(B, b)
+        self.mapper_registry.map_imperatively(C, c, inherits=B)
 
         a1 = A()
         b1 = B()
@@ -2751,9 +2761,11 @@ class TypeMatchTest(fixtures.MappedTest):
         class D(fixtures.BasicEntity):
             pass
 
-        mapper(A, a)
-        mapper(B, b, inherits=A)
-        mapper(D, d, properties={"a": relationship(A, cascade="none")})
+        self.mapper_registry.map_imperatively(A, a)
+        self.mapper_registry.map_imperatively(B, b, inherits=A)
+        self.mapper_registry.map_imperatively(
+            D, d, properties={"a": relationship(A, cascade="none")}
+        )
         b1 = B()
         d1 = D()
         d1.a = b1
@@ -2776,9 +2788,11 @@ class TypeMatchTest(fixtures.MappedTest):
         class D(fixtures.BasicEntity):
             pass
 
-        mapper(A, a)
-        mapper(B, b)
-        mapper(D, d, properties={"a": relationship(A)})
+        self.mapper_registry.map_imperatively(A, a)
+        self.mapper_registry.map_imperatively(B, b)
+        self.mapper_registry.map_imperatively(
+            D, d, properties={"a": relationship(A)}
+        )
         b1 = B()
         d1 = D()
         d1.a = b1
@@ -2831,8 +2845,8 @@ class TypedAssociationTable(fixtures.MappedTest):
         class T2(fixtures.BasicEntity):
             pass
 
-        mapper(T2, t2)
-        mapper(
+        self.mapper_registry.map_imperatively(T2, t2)
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={"t2s": relationship(T2, secondary=t3, backref="t1s")},
@@ -2894,7 +2908,7 @@ class CustomOperatorTest(fixtures.MappedTest, AssertsCompiledSQL):
         class B(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             self.tables.a,
             properties={
@@ -2907,7 +2921,7 @@ class CustomOperatorTest(fixtures.MappedTest, AssertsCompiledSQL):
                 )
             },
         )
-        mapper(B, self.tables.b)
+        self.mapper_registry.map_imperatively(B, self.tables.b)
         self.assert_compile(
             fixture_session().query(A).join(A.bs),
             "SELECT a.id AS a_id, a.foo AS a_foo "
@@ -2955,7 +2969,7 @@ class ViewOnlyHistoryTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             self.tables.t1,
             properties={
@@ -2964,7 +2978,7 @@ class ViewOnlyHistoryTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, self.tables.t2)
+        self.mapper_registry.map_imperatively(B, self.tables.t2)
 
         configure_mappers()
 
@@ -2988,7 +3002,7 @@ class ViewOnlyHistoryTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             self.tables.t1,
             properties={
@@ -2997,7 +3011,7 @@ class ViewOnlyHistoryTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, self.tables.t2)
+        self.mapper_registry.map_imperatively(B, self.tables.t2)
 
         configure_mappers()
 
@@ -3021,12 +3035,12 @@ class ViewOnlyHistoryTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             self.tables.t1,
             properties={"bs": relationship(B, viewonly=True)},
         )
-        mapper(B, self.tables.t2)
+        self.mapper_registry.map_imperatively(B, self.tables.t2)
 
         a1 = A()
         b1 = B()
@@ -3042,8 +3056,8 @@ class ViewOnlyHistoryTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(A, self.tables.t1)
-        mapper(
+        self.mapper_registry.map_imperatively(A, self.tables.t1)
+        self.mapper_registry.map_imperatively(
             B, self.tables.t2, properties={"a": relationship(A, viewonly=True)}
         )
 
@@ -3090,7 +3104,7 @@ class ViewOnlyM2MBackrefTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             t1,
             properties={
@@ -3099,7 +3113,7 @@ class ViewOnlyM2MBackrefTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, t2)
+        self.mapper_registry.map_imperatively(B, t2)
 
         configure_mappers()
 
@@ -3168,7 +3182,7 @@ class ViewOnlyOverlappingNames(fixtures.MappedTest):
         class C3(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C1,
             t1,
             properties={
@@ -3184,8 +3198,10 @@ class ViewOnlyOverlappingNames(fixtures.MappedTest):
                 ),
             },
         )
-        mapper(C2, t2)
-        mapper(C3, t3, properties={"t2": relationship(C2)})
+        self.mapper_registry.map_imperatively(C2, t2)
+        self.mapper_registry.map_imperatively(
+            C3, t3, properties={"t2": relationship(C2)}
+        )
 
         c1 = C1()
         c1.data = "c1data"
@@ -3324,12 +3340,12 @@ class ViewOnlySyncBackref(fixtures.MappedTest):
             )
             return
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             self.tables.t1,
             properties={"bs": rel()},
         )
-        mapper(B, self.tables.t2)
+        self.mapper_registry.map_imperatively(B, self.tables.t2)
 
         if case.B_a_init_error:
             assert_raises_message(
@@ -3430,7 +3446,7 @@ class ViewOnlyUniqueNames(fixtures.MappedTest):
         class C3(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             C1,
             t1,
             properties={
@@ -3446,8 +3462,10 @@ class ViewOnlyUniqueNames(fixtures.MappedTest):
                 ),
             },
         )
-        mapper(C2, t2)
-        mapper(C3, t3, properties={"t2": relationship(C2)})
+        self.mapper_registry.map_imperatively(C2, t2)
+        self.mapper_registry.map_imperatively(
+            C3, t3, properties={"t2": relationship(C2)}
+        )
 
         c1 = C1()
         c1.data = "c1data"
@@ -3473,7 +3491,7 @@ class ViewOnlyLocalRemoteM2M(fixtures.TestBase):
 
     """test that local-remote is correctly determined for m2m"""
 
-    def test_local_remote(self):
+    def test_local_remote(self, registry):
         meta = MetaData()
 
         t1 = Table("t1", meta, Column("id", Integer, primary_key=True))
@@ -3491,8 +3509,8 @@ class ViewOnlyLocalRemoteM2M(fixtures.TestBase):
         class B(object):
             pass
 
-        mapper(B, t2)
-        m = mapper(
+        registry.map_imperatively(B, t2)
+        m = registry.map_imperatively(
             A,
             t1,
             properties=dict(
@@ -3531,7 +3549,7 @@ class ViewOnlyNonEquijoin(fixtures.MappedTest):
         class Bar(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -3544,7 +3562,7 @@ class ViewOnlyNonEquijoin(fixtures.MappedTest):
             },
         )
 
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         with fixture_session() as sess:
             sess.add_all(
@@ -3604,7 +3622,7 @@ class ViewOnlyRepeatedRemoteColumn(fixtures.MappedTest):
         class Bar(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -3618,7 +3636,7 @@ class ViewOnlyRepeatedRemoteColumn(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         sess = fixture_session()
         b1 = Bar(id=1, data="b1")
@@ -3679,7 +3697,7 @@ class ViewOnlyRepeatedLocalColumn(fixtures.MappedTest):
         class Bar(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -3692,7 +3710,7 @@ class ViewOnlyRepeatedLocalColumn(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         sess = fixture_session()
         f1 = Foo(id=1, data="f1")
@@ -3779,7 +3797,7 @@ class ViewOnlyComplexJoin(_RelationshipErrors, fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -3796,7 +3814,7 @@ class ViewOnlyComplexJoin(_RelationshipErrors, fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             T2,
             t2,
             properties={
@@ -3804,7 +3822,7 @@ class ViewOnlyComplexJoin(_RelationshipErrors, fixtures.MappedTest):
                 "t3s": relationship(T3, secondary=t2tot3),
             },
         )
-        mapper(T3, t3)
+        self.mapper_registry.map_imperatively(T3, t3)
 
         sess = fixture_session()
         sess.add(T2(data="t2", t1=T1(data="t1"), t3s=[T3(data="t3")]))
@@ -3825,7 +3843,7 @@ class ViewOnlyComplexJoin(_RelationshipErrors, fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -3841,7 +3859,7 @@ class ViewOnlyComplexJoin(_RelationshipErrors, fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             T2,
             t2,
             properties={
@@ -3849,7 +3867,7 @@ class ViewOnlyComplexJoin(_RelationshipErrors, fixtures.MappedTest):
                 "t3s": relationship(T3, secondary=t2tot3),
             },
         )
-        mapper(T3, t3)
+        self.mapper_registry.map_imperatively(T3, t3)
         self._assert_raises_no_local_remote(configure_mappers, "T1.t3s")
 
 
@@ -4033,7 +4051,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
         )
 
         # old _local_remote_pairs
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4045,7 +4063,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(T2, t2)
+        self.mapper_registry.map_imperatively(T2, t2)
         self._test_onetomany()
 
     def test_onetomany_funcfk_annotated(self):
@@ -4057,7 +4075,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
         )
 
         # use annotation
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4067,7 +4085,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(T2, t2)
+        self.mapper_registry.map_imperatively(T2, t2)
         self._test_onetomany()
 
     def _test_onetomany(self):
@@ -4109,8 +4127,8 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(T1, t1)
-        mapper(
+        self.mapper_registry.map_imperatively(T1, t1)
+        self.mapper_registry.map_imperatively(
             T2,
             t2,
             properties={
@@ -4150,7 +4168,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4162,7 +4180,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(T2, t2)
+        self.mapper_registry.map_imperatively(T2, t2)
 
         sess = fixture_session()
         a1 = T1(id="NuMbeR1", data="a1")
@@ -4194,8 +4212,8 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(T1, t1)
-        mapper(
+        self.mapper_registry.map_imperatively(T1, t1)
+        self.mapper_registry.map_imperatively(
             T2,
             t2,
             properties={
@@ -4235,7 +4253,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4248,7 +4266,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(T2, t2)
+        self.mapper_registry.map_imperatively(T2, t2)
         assert_raises(sa.exc.ArgumentError, sa.orm.configure_mappers)
 
     def test_escalation_2(self):
@@ -4259,7 +4277,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
             self.tables.t1,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4270,7 +4288,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(T2, t2)
+        self.mapper_registry.map_imperatively(T2, t2)
         assert_raises(sa.exc.ArgumentError, sa.orm.configure_mappers)
 
 
@@ -4293,7 +4311,9 @@ class InvalidRemoteSideTest(fixtures.MappedTest):
     def test_o2m_backref(self):
         T1, t1 = self.classes.T1, self.tables.t1
 
-        mapper(T1, t1, properties={"t1s": relationship(T1, backref="parent")})
+        self.mapper_registry.map_imperatively(
+            T1, t1, properties={"t1s": relationship(T1, backref="parent")}
+        )
 
         assert_raises_message(
             sa.exc.ArgumentError,
@@ -4306,7 +4326,7 @@ class InvalidRemoteSideTest(fixtures.MappedTest):
     def test_m2o_backref(self):
         T1, t1 = self.classes.T1, self.tables.t1
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4329,7 +4349,7 @@ class InvalidRemoteSideTest(fixtures.MappedTest):
     def test_o2m_explicit(self):
         T1, t1 = self.classes.T1, self.tables.t1
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4349,7 +4369,7 @@ class InvalidRemoteSideTest(fixtures.MappedTest):
     def test_m2o_explicit(self):
         T1, t1 = self.classes.T1, self.tables.t1
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T1,
             t1,
             properties={
@@ -4403,17 +4423,19 @@ class AmbiguousFKResolutionTest(_RelationshipErrors, fixtures.MappedTest):
     def test_ambiguous_fks_o2m(self):
         A, B = self.classes.A, self.classes.B
         a, b = self.tables.a, self.tables.b
-        mapper(A, a, properties={"bs": relationship(B)})
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B)}
+        )
+        self.mapper_registry.map_imperatively(B, b)
         self._assert_raises_ambig_join(configure_mappers, "A.bs", None)
 
     def test_with_fks_o2m(self):
         A, B = self.classes.A, self.classes.B
         a, b = self.tables.a, self.tables.b
-        mapper(
+        self.mapper_registry.map_imperatively(
             A, a, properties={"bs": relationship(B, foreign_keys=b.c.aid_1)}
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
         sa.orm.configure_mappers()
         assert A.bs.property.primaryjoin.compare(a.c.id == b.c.aid_1)
         eq_(A.bs.property._calculated_foreign_keys, set([b.c.aid_1]))
@@ -4421,14 +4443,14 @@ class AmbiguousFKResolutionTest(_RelationshipErrors, fixtures.MappedTest):
     def test_with_pj_o2m(self):
         A, B = self.classes.A, self.classes.B
         a, b = self.tables.a, self.tables.b
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
                 "bs": relationship(B, primaryjoin=a.c.id == b.c.aid_1)
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
         sa.orm.configure_mappers()
         assert A.bs.property.primaryjoin.compare(a.c.id == b.c.aid_1)
         eq_(A.bs.property._calculated_foreign_keys, set([b.c.aid_1]))
@@ -4436,14 +4458,14 @@ class AmbiguousFKResolutionTest(_RelationshipErrors, fixtures.MappedTest):
     def test_with_annotated_pj_o2m(self):
         A, B = self.classes.A, self.classes.B
         a, b = self.tables.a, self.tables.b
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
                 "bs": relationship(B, primaryjoin=a.c.id == foreign(b.c.aid_1))
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
         sa.orm.configure_mappers()
         assert A.bs.property.primaryjoin.compare(a.c.id == b.c.aid_1)
         eq_(A.bs.property._calculated_foreign_keys, set([b.c.aid_1]))
@@ -4451,15 +4473,19 @@ class AmbiguousFKResolutionTest(_RelationshipErrors, fixtures.MappedTest):
     def test_no_fks_m2m(self):
         A, B = self.classes.A, self.classes.B
         a, b, a_to_b = self.tables.a, self.tables.b, self.tables.atob
-        mapper(A, a, properties={"bs": relationship(B, secondary=a_to_b)})
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B, secondary=a_to_b)}
+        )
+        self.mapper_registry.map_imperatively(B, b)
         self._assert_raises_no_join(sa.orm.configure_mappers, "A.bs", a_to_b)
 
     def test_ambiguous_fks_m2m(self):
         A, B = self.classes.A, self.classes.B
         a, b, a_to_b = self.tables.a, self.tables.b, self.tables.atob_ambiguous
-        mapper(A, a, properties={"bs": relationship(B, secondary=a_to_b)})
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(
+            A, a, properties={"bs": relationship(B, secondary=a_to_b)}
+        )
+        self.mapper_registry.map_imperatively(B, b)
 
         self._assert_raises_ambig_join(
             configure_mappers, "A.bs", "atob_ambiguous"
@@ -4468,7 +4494,7 @@ class AmbiguousFKResolutionTest(_RelationshipErrors, fixtures.MappedTest):
     def test_with_fks_m2m(self):
         A, B = self.classes.A, self.classes.B
         a, b, a_to_b = self.tables.a, self.tables.b, self.tables.atob_ambiguous
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -4479,7 +4505,7 @@ class AmbiguousFKResolutionTest(_RelationshipErrors, fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
         sa.orm.configure_mappers()
 
 
@@ -4600,7 +4626,7 @@ class SecondaryNestedJoinTest(
         j = sa.join(b, d, b.c.d_id == d.c.id).join(c, c.c.d_id == d.c.id)
         # j = join(b, d, b.c.d_id == d.c.id).join(c, c.c.d_id == d.c.id) \
         # .alias()
-        mapper(
+        cls.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -4615,9 +4641,13 @@ class SecondaryNestedJoinTest(
                 ),
             },
         )
-        mapper(B, b, properties={"d": relationship(D)})
-        mapper(C, c, properties={"a": relationship(A), "d": relationship(D)})
-        mapper(D, d)
+        cls.mapper_registry.map_imperatively(
+            B, b, properties={"d": relationship(D)}
+        )
+        cls.mapper_registry.map_imperatively(
+            C, c, properties={"a": relationship(A), "d": relationship(D)}
+        )
+        cls.mapper_registry.map_imperatively(D, d)
 
     @classmethod
     def insert_data(cls, connection):
@@ -4774,8 +4804,10 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(Foo, foos, properties={"bars": relationship(Bar)})
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(
+            Foo, foos, properties={"bars": relationship(Bar)}
+        )
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_join(sa.orm.configure_mappers, "Foo.bars", None)
 
@@ -4787,8 +4819,10 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(Foo, foos, properties={"foos": relationship(Foo)})
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(
+            Foo, foos, properties={"foos": relationship(Foo)}
+        )
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_join(configure_mappers, "Foo.foos", None)
 
@@ -4800,14 +4834,14 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
                 "bars": relationship(Bar, primaryjoin=foos.c.id > bars.c.fid)
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_relevant_fks(
             configure_mappers, "foos.id > bars.fid", "Foo.bars", "primary"
@@ -4821,7 +4855,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -4832,7 +4866,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
         self._assert_raises_no_equality(
             sa.orm.configure_mappers,
             "foos.id > bars.fid",
@@ -4856,7 +4890,7 @@ class InvalidRelationshipEscalationTest(
         # in this case we don't get eq_pairs, but we hit the
         # "works if viewonly" rule.  so here we add another clause regarding
         # "try foreign keys".
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -4869,7 +4903,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars_with_fks)
+        self.mapper_registry.map_imperatively(Bar, bars_with_fks)
 
         self._assert_raises_no_equality(
             sa.orm.configure_mappers,
@@ -4887,7 +4921,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -4898,7 +4932,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_ambiguous_direction(
             sa.orm.configure_mappers, "Foo.bars"
@@ -4912,7 +4946,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -4925,7 +4959,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_local_remote(configure_mappers, "Foo.bars")
 
@@ -4937,7 +4971,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -4950,7 +4984,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_local_remote(configure_mappers, "Foo.bars")
 
@@ -4962,14 +4996,14 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
                 "foos": relationship(Foo, primaryjoin=foos.c.id > foos.c.fid)
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_relevant_fks(
             configure_mappers, "foos.id > foos.fid", "Foo.foos", "primary"
@@ -4983,7 +5017,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -4994,7 +5028,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_equality(
             configure_mappers, "foos.id > foos.fid", "Foo.foos", "primary"
@@ -5010,7 +5044,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5019,7 +5053,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_relevant_fks(
             sa.orm.configure_mappers,
@@ -5028,8 +5062,8 @@ class InvalidRelationshipEscalationTest(
             "primary",
         )
 
-        sa.orm.clear_mappers()
-        mapper(
+        self.mapper_registry.dispose()
+        self.mapper_registry.map_imperatively(
             Foo,
             foos_with_fks,
             properties={
@@ -5040,7 +5074,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars_with_fks)
+        self.mapper_registry.map_imperatively(Bar, bars_with_fks)
         sa.orm.configure_mappers()
 
     def test_no_equated_self_ref_viewonly(self):
@@ -5053,7 +5087,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5062,7 +5096,7 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_relevant_fks(
             sa.orm.configure_mappers,
@@ -5071,8 +5105,8 @@ class InvalidRelationshipEscalationTest(
             "primary",
         )
 
-        sa.orm.clear_mappers()
-        mapper(
+        self.mapper_registry.dispose()
+        self.mapper_registry.map_imperatively(
             Foo,
             foos_with_fks,
             properties={
@@ -5083,13 +5117,13 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars_with_fks)
+        self.mapper_registry.map_imperatively(Bar, bars_with_fks)
         sa.orm.configure_mappers()
 
     def test_no_equated_self_ref_viewonly_fks(self):
         Foo, foos = self.classes.Foo, self.tables.foos
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5115,21 +5149,22 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
                 "bars": relationship(Bar, primaryjoin=foos.c.id == bars.c.fid)
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_relevant_fks(
             configure_mappers, "foos.id = bars.fid", "Foo.bars", "primary"
         )
 
-        sa.orm.clear_mappers()
-        mapper(
+        self.mapper_registry.dispose()
+
+        self.mapper_registry.map_imperatively(
             Foo,
             foos_with_fks,
             properties={
@@ -5138,13 +5173,13 @@ class InvalidRelationshipEscalationTest(
                 )
             },
         )
-        mapper(Bar, bars_with_fks)
+        self.mapper_registry.map_imperatively(Bar, bars_with_fks)
         sa.orm.configure_mappers()
 
     def test_equated_self_ref(self):
         Foo, foos = self.classes.Foo, self.tables.foos
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5163,7 +5198,7 @@ class InvalidRelationshipEscalationTest(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5226,12 +5261,12 @@ class InvalidRelationshipEscalationTestM2M(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={"bars": relationship(Bar, secondary=foobars)},
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_join(configure_mappers, "Foo.bars", "foobars")
 
@@ -5244,7 +5279,7 @@ class InvalidRelationshipEscalationTestM2M(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5255,7 +5290,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_join(configure_mappers, "Foo.bars", "foobars")
 
@@ -5269,7 +5304,7 @@ class InvalidRelationshipEscalationTestM2M(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5281,7 +5316,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
         sa.orm.configure_mappers()
         eq_(Foo.bars.property.synchronize_pairs, [(foos.c.id, foobars.c.fid)])
         eq_(
@@ -5289,8 +5324,8 @@ class InvalidRelationshipEscalationTestM2M(
             [(bars.c.id, foobars.c.bid)],
         )
 
-        sa.orm.clear_mappers()
-        mapper(
+        self.mapper_registry.dispose()
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5302,7 +5337,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
         sa.orm.configure_mappers()
         eq_(
             Foo.bars.property.synchronize_pairs,
@@ -5324,7 +5359,7 @@ class InvalidRelationshipEscalationTestM2M(
 
         # ensure m2m backref is set up with correct annotations
         # [ticket:2578]
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5333,7 +5368,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
         sa.orm.configure_mappers()
         eq_(Foo.bars.property._join_condition.local_columns, set([foos.c.id]))
         eq_(Bar.foos.property._join_condition.local_columns, set([bars.c.id]))
@@ -5348,7 +5383,7 @@ class InvalidRelationshipEscalationTestM2M(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5360,14 +5395,14 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_equality(
             configure_mappers, "foos.id > foobars.fid", "Foo.bars", "primary"
         )
 
-        sa.orm.clear_mappers()
-        mapper(
+        self.mapper_registry.dispose()
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5379,7 +5414,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
         self._assert_raises_no_equality(
             configure_mappers,
             "foos.id > foobars_with_fks.fid",
@@ -5387,8 +5422,8 @@ class InvalidRelationshipEscalationTestM2M(
             "primary",
         )
 
-        sa.orm.clear_mappers()
-        mapper(
+        self.mapper_registry.dispose()
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5401,7 +5436,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
         sa.orm.configure_mappers()
 
     def test_bad_secondaryjoin(self):
@@ -5413,7 +5448,7 @@ class InvalidRelationshipEscalationTestM2M(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5426,7 +5461,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
         self._assert_raises_no_relevant_fks(
             configure_mappers,
             "foobars.bid <= bars.id",
@@ -5443,7 +5478,7 @@ class InvalidRelationshipEscalationTestM2M(
             self.tables.foos,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             foos,
             properties={
@@ -5456,7 +5491,7 @@ class InvalidRelationshipEscalationTestM2M(
                 )
             },
         )
-        mapper(Bar, bars)
+        self.mapper_registry.map_imperatively(Bar, bars)
 
         self._assert_raises_no_equality(
             configure_mappers,
@@ -5487,7 +5522,7 @@ class ActiveHistoryFlagTest(_fixtures.FixtureTest):
     def test_column_property_flag(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -5505,12 +5540,12 @@ class ActiveHistoryFlagTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user": relationship(User, active_history=True)},
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u1 = User(name="jack")
         u2 = User(name="ed")
         a1 = Address(email_address="a1", user=u1)
@@ -5533,7 +5568,7 @@ class ActiveHistoryFlagTest(_fixtures.FixtureTest):
                     and other.description == self.description
                 )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -5869,14 +5904,14 @@ class InactiveHistoryNoRaiseTest(_fixtures.FixtureTest):
             opts["lazy"] = "raise"
         opts["_legacy_inactive_history_style"] = legacy_inactive_history_style
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
                 "user": relationship(User, back_populates="addresses", **opts)
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -5978,8 +6013,8 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, lazy="raise")),
@@ -6008,8 +6043,10 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(User, users, properties=dict(addresses=relationship(Address)))
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties=dict(addresses=relationship(Address))
+        )
         q = fixture_session().query(User)
         result = [None]
 
@@ -6038,8 +6075,8 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, lazy="raise")),
@@ -6065,8 +6102,10 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.tables.users,
             self.classes.User,
         )
-        mapper(Address, addresses, properties={"user": relationship(User)})
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         a1 = (
             s.query(Address)
@@ -6091,8 +6130,10 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.tables.users,
             self.classes.User,
         )
-        mapper(Address, addresses, properties={"user": relationship(User)})
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         a1 = (
             s.query(Address)
@@ -6129,7 +6170,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.tables.users,
             self.classes.User,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
@@ -6142,7 +6183,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         u1 = s.query(User).first()  # noqa
         a1 = (
@@ -6167,8 +6208,8 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, backref="user")),
@@ -6205,8 +6246,8 @@ class RaiseLoadTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, backref="user")),
@@ -6302,12 +6343,12 @@ class RelationDeprecationTest(fixtures.MappedTest):
             self.classes.Address,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users_table,
             properties=dict(addresses=relationship(Address, backref="user")),
         )
-        mapper(Address, addresses_table)
+        self.mapper_registry.map_imperatively(Address, addresses_table)
 
         session = fixture_session()
 
@@ -6347,7 +6388,7 @@ class SecondaryIncludesLocalColsTest(fixtures.MappedTest):
             .alias()
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             A,
             a,
             properties=dict(
@@ -6359,7 +6400,7 @@ class SecondaryIncludesLocalColsTest(fixtures.MappedTest):
                 )
             ),
         )
-        mapper(B, b)
+        cls.mapper_registry.map_imperatively(B, b)
 
     @classmethod
     def insert_data(cls, connection):
index 9604adc6c5930bb678592bab4c2ead62b7511a7a..5c9888b304bddbc99cb4e9510a8739db970fd655 100644 (file)
@@ -3,7 +3,6 @@ from sqlalchemy import ForeignKey
 from sqlalchemy import Integer
 from sqlalchemy import String
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import query
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import scoped_session
@@ -54,12 +53,12 @@ class ScopedSessionTest(fixtures.MappedTest):
             query = Session.query_property()
             custom_query = Session.query_property(query_cls=CustomQuery)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             SomeObject,
             table1,
             properties={"options": relationship(SomeOtherObject)},
         )
-        mapper(SomeOtherObject, table2)
+        self.mapper_registry.map_imperatively(SomeOtherObject, table2)
 
         s = SomeObject(id=1, data="hello")
         sso = SomeOtherObject()
index c22391b44763bec3ac5f58c48dea6b49d17f4480..3a7029110e460f7511ff5ec63dac3827d3a75fe0 100644 (file)
@@ -5,7 +5,6 @@ from sqlalchemy import Integer
 from sqlalchemy import select
 from sqlalchemy import String
 from sqlalchemy import testing
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import assert_raises
 from sqlalchemy.testing import assert_raises_message
@@ -42,7 +41,9 @@ class SelectableNoFromsTest(fixtures.MappedTest, AssertsCompiledSQL):
         Subset = self.classes.Subset
 
         selectable = select(column("x"), column("y"), column("z")).alias()
-        mapper(Subset, selectable, primary_key=[selectable.c.x])
+        self.mapper_registry.map_imperatively(
+            Subset, selectable, primary_key=[selectable.c.x]
+        )
 
         self.assert_compile(
             fixture_session().query(Subset),
@@ -58,7 +59,7 @@ class SelectableNoFromsTest(fixtures.MappedTest, AssertsCompiledSQL):
         assert_raises_message(
             sa.exc.ArgumentError,
             "could not assemble any primary key columns",
-            mapper,
+            self.mapper_registry.map_imperatively,
             Subset,
             selectable,
         )
@@ -67,13 +68,18 @@ class SelectableNoFromsTest(fixtures.MappedTest, AssertsCompiledSQL):
         Subset, common = self.classes.Subset, self.tables.common
 
         subset_select = select(common.c.id, common.c.data)
-        assert_raises(sa.exc.ArgumentError, mapper, Subset, subset_select)
+        assert_raises(
+            sa.exc.ArgumentError,
+            self.mapper_registry.map_imperatively,
+            Subset,
+            subset_select,
+        )
 
     def test_basic(self):
         Subset, common = self.classes.Subset, self.tables.common
 
         subset_select = select(common.c.id, common.c.data).alias()
-        mapper(Subset, subset_select)
+        self.mapper_registry.map_imperatively(Subset, subset_select)
         sess = Session(bind=testing.db)
         sess.add(Subset(data=1))
         sess.flush()
index 4dbd269996e46505eb294308f6c9c248a4fc248e..ceaead9c430ed8df1940e2d4d7d29074504db0ff 100644 (file)
@@ -12,7 +12,6 @@ from sqlalchemy.orm import defaultload
 from sqlalchemy.orm import defer
 from sqlalchemy.orm import deferred
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -56,12 +55,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), order_by=Address.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=Address.id,
                 )
             },
         )
@@ -99,15 +99,15 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(Dingaling, dingalings)
-        mapper(
+        self.mapper_registry.map_imperatively(Dingaling, dingalings)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
                 "dingalings": relationship(Dingaling, order_by=Dingaling.id)
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -209,12 +209,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), order_by=Address.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=Address.id,
                 )
             },
         )
@@ -241,12 +242,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), order_by=Address.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=Address.id,
                 )
             },
         )
@@ -275,12 +277,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="dynamic")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
 
         # previously this would not raise, but would emit
@@ -301,8 +303,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -331,8 +333,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -364,8 +366,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -397,12 +399,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="selectin",
                     order_by=addresses.c.email_address,
                 )
@@ -434,12 +436,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="selectin",
                     order_by=[addresses.c.email_address, addresses.c.id],
                 )
@@ -474,8 +476,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -516,8 +518,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -587,14 +589,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.item_keywords,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "orders": relationship(Order, order_by=orders.c.id)  # o2m, m2o
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -603,7 +605,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -612,7 +614,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         callables = {
             "joinedload": joinedload,
@@ -671,7 +673,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         }
 
         for o, i, k, count in configs:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 User,
                 users,
                 properties={
@@ -680,7 +682,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                     )
                 },
             )
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Order,
                 orders,
                 properties={
@@ -692,7 +694,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                     )
                 },
             )
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Item,
                 items,
                 properties={
@@ -704,7 +706,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                     )
                 },
             )
-            mapper(Keyword, keywords)
+            self.mapper_registry.map_imperatively(Keyword, keywords)
 
             try:
                 self._do_query_tests([], count)
@@ -754,8 +756,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -789,8 +791,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -841,8 +843,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -854,7 +856,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(
             Order, select(orders).where(orders.c.isopen == 1).alias()
@@ -863,7 +865,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             Order, select(orders).where(orders.c.isopen == 0).alias()
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -911,8 +913,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -924,12 +926,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(Order, orders)
         closed_mapper = aliased(Order, orders)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -987,8 +989,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.users,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1000,8 +1002,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1095,12 +1097,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         elif type_ == "subquery":
             target = select(users).subquery()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             target,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
 
@@ -1136,8 +1138,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1149,12 +1151,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="selectin",
                     order_by=addresses.c.id,
                 ),
@@ -1181,12 +1183,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="selectin", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="selectin",
+                    uselist=False,
                 )
             ),
         )
@@ -1206,12 +1210,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="selectin", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="selectin",
+                    uselist=False,
                 )
             ),
         )
@@ -1231,11 +1237,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
-                user=relationship(mapper(User, users), lazy="selectin")
+                user=relationship(
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="selectin",
+                )
             ),
         )
         sess = fixture_session()
@@ -1257,12 +1266,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Address,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"address": relationship(Address, lazy="selectin")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
         q = sess.query(Order).filter(Order.id.in_([4, 5])).order_by(Order.id)
@@ -1291,14 +1300,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Address,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
                 "address": relationship(Address, lazy="selectin", uselist=True)
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
         q = sess.query(Order).filter(Order.id.in_([4, 5])).order_by(Order.id)
@@ -1315,12 +1324,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="selectin"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="selectin",
                 )
             ),
         )
@@ -1350,8 +1360,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             .alias("max_orders")
         )
 
-        mapper(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1401,12 +1411,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Order,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"order": relationship(Order, uselist=False)},
         )
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
         s = fixture_session()
         assert_raises(
             sa.exc.SAWarning,
@@ -1426,17 +1436,19 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
             self.classes.Address,
             self.classes.Dingaling,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={"addresses": relationship(Address)},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             self.tables.addresses,
             properties={"dingaling": relationship(Dingaling)},
         )
-        mapper(Dingaling, self.tables.dingalings)
+        self.mapper_registry.map_imperatively(
+            Dingaling, self.tables.dingalings
+        )
 
         sess = fixture_session(autoflush=False)
         return User, Address, Dingaling, sess
@@ -1447,35 +1459,35 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
             self.classes.Order,
             self.classes.Item,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User, self.tables.users, properties={"orders": relationship(Order)}
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             self.tables.orders,
             properties={
                 "items": relationship(Item, secondary=self.tables.order_items)
             },
         )
-        mapper(Item, self.tables.items)
+        self.mapper_registry.map_imperatively(Item, self.tables.items)
 
         sess = fixture_session(autoflush=False)
         return User, Order, Item, sess
 
     def _eager_config_fixture(self, default_lazy="selectin"):
         User, Address = self.classes.User, self.classes.Address
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={"addresses": relationship(Address, lazy=default_lazy)},
         )
-        mapper(Address, self.tables.addresses)
+        self.mapper_registry.map_imperatively(Address, self.tables.addresses)
         sess = fixture_session(autoflush=False)
         return User, Address, sess
 
     def _deferred_config_fixture(self):
         User, Address = self.classes.User, self.classes.Address
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={
@@ -1483,7 +1495,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
                 "addresses": relationship(Address, lazy="selectin"),
             },
         )
-        mapper(Address, self.tables.addresses)
+        self.mapper_registry.map_imperatively(Address, self.tables.addresses)
         sess = fixture_session(autoflush=False)
         return User, Address, sess
 
@@ -1670,7 +1682,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -1679,7 +1691,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         sess = fixture_session()
 
@@ -1758,7 +1770,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
         engineers = cls.tables.engineers
         paperwork = cls.tables.paperwork
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
@@ -1770,14 +1782,14 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
             polymorphic_identity="engineer",
         )
 
-        mapper(Paperwork, paperwork)
+        cls.mapper_registry.map_imperatively(Paperwork, paperwork)
 
     @classmethod
     def insert_data(cls, connection):
@@ -2522,14 +2534,14 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
         machines = cls.tables.machines
         machine_type = cls.tables.machine_type
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={
                 "employees": relationship(Person, order_by=people.c.person_id)
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
@@ -2537,7 +2549,7 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
             with_polymorphic="*",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
@@ -2549,10 +2561,10 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Machine, machines, properties={"type": relationship(MachineType)}
         )
-        mapper(MachineType, machine_type)
+        cls.mapper_registry.map_imperatively(MachineType, machine_type)
 
     @classmethod
     def insert_data(cls, connection):
@@ -2618,7 +2630,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2694,7 +2706,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2740,7 +2752,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2798,7 +2810,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"children": relationship(Node, order_by=nodes.c.id)},
@@ -2853,7 +2865,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"children": relationship(Node, lazy="selectin")},
index b8997015f5212d5d3922c1c7be6ae799ce6bcf84..efe10f4ccfd10bed4a018f194df1904e47d069be 100644 (file)
@@ -17,7 +17,6 @@ from sqlalchemy.orm import exc as orm_exc
 from sqlalchemy.orm import joinedload
 from sqlalchemy.orm import make_transient
 from sqlalchemy.orm import make_transient_to_detached
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import object_session
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
@@ -95,7 +94,7 @@ class TransScopingTest(_fixtures.FixtureTest):
         c = testing.db.connect()
         c.exec_driver_sql("select * from users")
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = Session(bind=c)
         s.add(User(name="first"))
         s.flush()
@@ -109,7 +108,7 @@ class TransScopingTest(_fixtures.FixtureTest):
         c = testing.db.connect()
         c.exec_driver_sql("select * from users")
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = Session(bind=c)
         s.add(User(name="first"))
         s.flush()
@@ -145,7 +144,7 @@ class TransScopingTest(_fixtures.FixtureTest):
         # test the new autobegin behavior introduced in #5074
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s = Session(testing.db)
 
@@ -168,7 +167,7 @@ class TransScopingTest(_fixtures.FixtureTest):
 
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s.add(User(name="u1"))
         s.commit()
 
@@ -200,7 +199,7 @@ class TransScopingTest(_fixtures.FixtureTest):
 
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(name="u1")
         s.add(u1)
@@ -244,7 +243,7 @@ class TransScopingTest(_fixtures.FixtureTest):
 
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s = Session(
             testing.db,
@@ -310,7 +309,7 @@ class TransScopingTest(_fixtures.FixtureTest):
     def test_transaction(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         conn1 = testing.db.connect()
         conn2 = testing.db.connect()
 
@@ -344,7 +343,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
     def test_close_all_sessions(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s1 = fixture_session()
         u1 = User()
@@ -365,7 +364,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
     def test_session_close_all_deprecated(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s1 = fixture_session()
         u1 = User()
@@ -398,7 +397,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
     def test_make_transient(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autoflush=False)
         sess.add(User(name="test"))
         sess.flush()
@@ -446,7 +445,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
         # test for [ticket:2182]
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(name="test")
         sess.add(u1)
@@ -461,7 +460,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
     def test_make_transient_to_detached(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(id=1, name="test")
         sess.add(u1)
@@ -477,7 +476,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
     def test_make_transient_to_detached_no_session_allowed(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(id=1, name="test")
         sess.add(u1)
@@ -491,7 +490,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
     def test_make_transient_to_detached_no_key_allowed(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(id=1, name="test")
         sess.add(u1)
@@ -537,7 +536,7 @@ class SessionStateTest(_fixtures.FixtureTest):
         User, users = self.classes.User, self.tables.users
 
         bind = testing.db
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         conn1 = bind.connect()
         conn2 = bind.connect()
 
@@ -562,7 +561,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_with_no_autoflush(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
 
         u = User()
@@ -592,8 +591,10 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_autoflush_exception_addition(self):
         User, users = self.classes.User, self.tables.users
         Address, addresses = self.classes.Address, self.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         s = Session(testing.db)
 
@@ -615,7 +616,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_deleted_flag(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -646,7 +647,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_deleted_adds_to_imap_unconditionally(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         u1 = User(name="u1")
@@ -680,7 +681,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_autoflush_unbound(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         with fixture_session(autocommit=False, autoflush=True) as sess:
             u = User()
             u.name = "ed"
@@ -719,7 +720,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_autoflush_2(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         conn1 = testing.db.connect()
         sess = Session(bind=conn1, autocommit=False, autoflush=True)
         u = User()
@@ -740,7 +741,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_autocommit_doesnt_raise_on_pending(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         session = Session(testing.db, autocommit=True)
 
         session.add(User(name="ed"))
@@ -798,14 +799,14 @@ class SessionStateTest(_fixtures.FixtureTest):
         )
 
         s = fixture_session()
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(Address, cascade="all, delete")
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         user = User(name="u1")
 
@@ -864,7 +865,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_already_attached(self):
         User = self.classes.User
         users = self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s1 = fixture_session()
         s2 = fixture_session()
@@ -885,7 +886,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_identity_conflict(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with fixture_session() as s:
             s.execute(users.delete())
@@ -912,12 +913,12 @@ class SessionStateTest(_fixtures.FixtureTest):
         users, User = self.tables.users, self.classes.User
         addresses, Address = self.tables.addresses, self.classes.Address
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         session = fixture_session()
 
@@ -949,7 +950,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_pickled_update(self):
         users, User = self.tables.users, pickleable.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess1 = fixture_session()
         sess2 = fixture_session()
         u1 = User(name="u1")
@@ -966,7 +967,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_duplicate_update(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         Session = sessionmaker()
         sess = fixture_session()
 
@@ -1025,8 +1026,8 @@ class SessionStateTest(_fixtures.FixtureTest):
                 sess.add(self)
                 Foo.__init__(self)
 
-        mapper(Foo, users)
-        mapper(Bar, users)
+        self.mapper_registry.map_imperatively(Foo, users)
+        self.mapper_registry.map_imperatively(Bar, users)
 
         b = Bar()
         assert b in sess
@@ -1035,7 +1036,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_identity_map_mutate(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -1053,7 +1054,7 @@ class SessionStateTest(_fixtures.FixtureTest):
 
     def _test_extra_dirty_state(self):
         users, User = self.tables.users, self.classes.User
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
 
         s = fixture_session()
 
@@ -1098,7 +1099,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_deleted_auto_expunged(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         sess.add(User(name="x"))
         sess.commit()
@@ -1119,7 +1120,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_explicit_expunge_pending(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(name="x")
         sess.add(u1)
@@ -1138,7 +1139,7 @@ class SessionStateTest(_fixtures.FixtureTest):
     def test_explicit_expunge_deleted(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         sess.add(User(name="x"))
         sess.commit()
@@ -1176,12 +1177,12 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
             cls.classes.User,
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
     def test_deferred_expression_unflushed(self):
         """test that an expression which is dependent on object state is
@@ -1352,8 +1353,10 @@ class SessionStateWFixtureTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(User, users, properties={"addresses": relationship(Address)})
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
 
         sess = fixture_session(autocommit=False, autoflush=True)
         u = sess.query(User).get(8)
@@ -1379,8 +1382,8 @@ class SessionStateWFixtureTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1418,7 +1421,9 @@ class NoCyclesOnTransientDetachedTest(_fixtures.FixtureTest):
     run_inserts = None
 
     def setup_test(self):
-        mapper(self.classes.User, self.tables.users)
+        self.mapper_registry.map_imperatively(
+            self.classes.User, self.tables.users
+        )
 
     def _assert_modified(self, u1):
         assert sa.orm.attributes.instance_state(u1).modified
@@ -1569,7 +1574,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
         users, User = self.tables.users, self.classes.User
 
         s = fixture_session()
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s.add(User(name="ed"))
         s.flush()
@@ -1601,7 +1606,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
         users, User = self.tables.users, pickleable.User
 
         s = fixture_session()
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s.add(User(name="ed"))
         s.flush()
@@ -1638,12 +1643,12 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
         )
 
         s = fixture_session()
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         s.add(User(name="ed", addresses=[Address(email_address="ed1")]))
         s.commit()
 
@@ -1676,14 +1681,14 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
         )
 
         s = fixture_session()
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "address": relationship(Address, backref="user", uselist=False)
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         s.add(User(name="ed", address=Address(email_address="ed1")))
         s.commit()
 
@@ -1710,7 +1715,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
     def test_auto_detach_on_gc_session(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = Session(testing.db)
 
@@ -1741,7 +1746,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
         # test issue #4068
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -1773,8 +1778,10 @@ class IsModifiedTest(_fixtures.FixtureTest):
     def _default_mapping_fixture(self):
         User, Address = self.classes.User, self.classes.Address
         users, addresses = self.tables.users, self.tables.addresses
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
         return User, Address
 
     def test_is_modified(self):
@@ -1840,7 +1847,9 @@ class IsModifiedTest(_fixtures.FixtureTest):
 
         s = fixture_session()
 
-        mapper(User, users, properties={"uname": sa.orm.synonym("name")})
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"uname": sa.orm.synonym("name")}
+        )
         u = User(uname="fred")
         assert s.is_modified(u)
         s.add(u)
@@ -1865,12 +1874,12 @@ class DisposedStates(fixtures.MappedTest):
         )
 
     @classmethod
-    def setup_classes(cls):
+    def setup_mappers(cls):
         class T(cls.Basic):
             def __init__(self, data):
                 self.data = data
 
-        mapper(T, cls.tables.t1)
+        cls.mapper_registry.map_imperatively(T, cls.tables.t1)
 
     def teardown_test(self):
         from sqlalchemy.orm.session import _sessions
@@ -1947,7 +1956,7 @@ class DisposedStates(fixtures.MappedTest):
         sess.rollback()
 
 
-class SessionInterface(fixtures.TestBase):
+class SessionInterface(fixtures.MappedTest):
     """Bogus args to Session methods produce actionable exceptions."""
 
     _class_methods = set(
@@ -1977,7 +1986,8 @@ class SessionInterface(fixtures.TestBase):
         return ok
 
     def _map_it(self, cls):
-        return mapper(
+        self.mapper_registry.dispose()
+        return self.mapper_registry.map_imperatively(
             cls,
             Table(
                 "t",
@@ -2202,12 +2212,12 @@ class FlushWarningsTest(fixtures.MappedTest):
     def setup_mappers(cls):
         user, User = cls.tables.user, cls.classes.User
         address, Address = cls.tables.address, cls.classes.Address
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             user,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, address)
+        cls.mapper_registry.map_imperatively(Address, address)
 
     def test_o2m_cascade_add(self):
         Address = self.classes.Address
index dc52f562a9a25f3a61eb89722d1685b1a1a41431..70d8d19bd5fcd4fbe8dec2c3cd2a92368077962e 100644 (file)
@@ -13,7 +13,6 @@ from sqlalchemy.orm import close_all_sessions
 from sqlalchemy.orm import defer
 from sqlalchemy.orm import deferred
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import selectinload
 from sqlalchemy.orm import Session
@@ -55,12 +54,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), order_by=Address.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=Address.id,
                 )
             },
         )
@@ -96,12 +96,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="subquery",
                     order_by=Address.id,
                 )
@@ -136,15 +136,15 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(Dingaling, dingalings)
-        mapper(
+        self.mapper_registry.map_imperatively(Dingaling, dingalings)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={
                 "dingalings": relationship(Dingaling, order_by=Dingaling.id)
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -300,12 +300,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), order_by=Address.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=Address.id,
                 )
             },
         )
@@ -332,12 +333,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses), order_by=Address.id
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    order_by=Address.id,
                 )
             },
         )
@@ -366,12 +368,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, lazy="dynamic")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
 
         # previously this would not raise, but would emit
@@ -392,8 +394,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -422,8 +424,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -455,8 +457,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -488,12 +490,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="subquery",
                     order_by=addresses.c.email_address,
                 )
@@ -525,12 +527,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="subquery",
                     order_by=[addresses.c.email_address, addresses.c.id],
                 )
@@ -565,8 +567,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -607,8 +609,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -678,14 +680,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.item_keywords,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "orders": relationship(Order, order_by=orders.c.id)  # o2m, m2o
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -694,7 +696,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
@@ -703,7 +705,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )  # m2m
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         callables = {"joinedload": joinedload, "subqueryload": subqueryload}
 
@@ -752,7 +754,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         }
 
         for o, i, k, count in configs:
-            mapper(
+            self.mapper_registry.map_imperatively(
                 User,
                 users,
                 properties={
@@ -761,7 +763,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                     )
                 },
             )
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Order,
                 orders,
                 properties={
@@ -773,7 +775,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                     )
                 },
             )
-            mapper(
+            self.mapper_registry.map_imperatively(
                 Item,
                 items,
                 properties={
@@ -785,7 +787,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                     )
                 },
             )
-            mapper(Keyword, keywords)
+            self.mapper_registry.map_imperatively(Keyword, keywords)
 
             try:
                 self._do_query_tests([], count)
@@ -835,8 +837,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -870,8 +872,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -906,8 +908,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(addresses=relationship(Address, lazy="subquery")),
@@ -945,8 +947,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -958,7 +960,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(
             Order, select(orders).where(orders.c.isopen == 1).alias()
@@ -967,7 +969,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             Order, select(orders).where(orders.c.isopen == 0).alias()
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1009,8 +1011,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.order_items,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1022,12 +1024,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
+        self.mapper_registry.map_imperatively(Item, items)
 
         open_mapper = aliased(Order, orders)
         closed_mapper = aliased(Order, orders)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1085,8 +1087,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.users,
         )
 
-        mapper(Address, addresses)
-        mapper(
+        self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1098,8 +1100,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -1192,12 +1194,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         elif type_ == "subquery":
             target = select(users).subquery()
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             target,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
 
@@ -1233,8 +1235,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.tables.addresses,
         )
 
-        mapper(Item, items)
-        mapper(
+        self.mapper_registry.map_imperatively(Item, items)
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={
@@ -1246,12 +1248,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
                 )
             },
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="subquery",
                     order_by=addresses.c.id,
                 ),
@@ -1279,12 +1281,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
                 "addresses": relationship(
-                    mapper(Address, addresses),
+                    self.mapper_registry.map_imperatively(Address, addresses),
                     lazy="subquery",
                     order_by=addresses.c.email_address,
                 )
@@ -1317,12 +1319,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="subquery", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="subquery",
+                    uselist=False,
                 )
             ),
         )
@@ -1342,11 +1346,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
-                user=relationship(mapper(User, users), lazy="subquery")
+                user=relationship(
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="subquery",
+                )
             ),
         )
         sess = fixture_session()
@@ -1380,8 +1387,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             .alias("max_orders")
         )
 
-        mapper(Order, orders)
-        mapper(
+        self.mapper_registry.map_imperatively(Order, orders)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1431,12 +1438,12 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             self.classes.Order,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"order": relationship(Order, uselist=False)},
         )
-        mapper(Order, orders)
+        self.mapper_registry.map_imperatively(Order, orders)
         s = fixture_session()
         assert_raises(
             sa.exc.SAWarning,
@@ -1456,17 +1463,19 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
             self.classes.Address,
             self.classes.Dingaling,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={"addresses": relationship(Address)},
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             self.tables.addresses,
             properties={"dingaling": relationship(Dingaling)},
         )
-        mapper(Dingaling, self.tables.dingalings)
+        self.mapper_registry.map_imperatively(
+            Dingaling, self.tables.dingalings
+        )
 
         sess = fixture_session(autoflush=False)
         return User, Address, Dingaling, sess
@@ -1477,35 +1486,35 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
             self.classes.Order,
             self.classes.Item,
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             User, self.tables.users, properties={"orders": relationship(Order)}
         )
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             self.tables.orders,
             properties={
                 "items": relationship(Item, secondary=self.tables.order_items)
             },
         )
-        mapper(Item, self.tables.items)
+        self.mapper_registry.map_imperatively(Item, self.tables.items)
 
         sess = fixture_session(autoflush=False)
         return User, Order, Item, sess
 
     def _eager_config_fixture(self, default_lazy="subquery"):
         User, Address = self.classes.User, self.classes.Address
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={"addresses": relationship(Address, lazy=default_lazy)},
         )
-        mapper(Address, self.tables.addresses)
+        self.mapper_registry.map_imperatively(Address, self.tables.addresses)
         sess = fixture_session(autoflush=False)
         return User, Address, sess
 
     def _deferred_config_fixture(self):
         User, Address = self.classes.User, self.classes.Address
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             self.tables.users,
             properties={
@@ -1513,7 +1522,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
                 "addresses": relationship(Address, lazy="subquery"),
             },
         )
-        mapper(Address, self.tables.addresses)
+        self.mapper_registry.map_imperatively(Address, self.tables.addresses)
         sess = fixture_session(autoflush=False)
         return User, Address, sess
 
@@ -1700,7 +1709,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={
@@ -1709,7 +1718,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         sess = fixture_session()
 
@@ -1791,7 +1800,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
         paperwork = cls.tables.paperwork
         pages = cls.tables.pages
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
@@ -1803,20 +1812,20 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
             polymorphic_identity="engineer",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Paperwork,
             paperwork,
             properties={"pages": relationship(Page, order_by=pages.c.page_id)},
         )
 
-        mapper(Page, pages)
+        cls.mapper_registry.map_imperatively(Page, pages)
 
     @classmethod
     def insert_data(cls, connection):
@@ -2277,14 +2286,14 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
         machines = cls.tables.machines
         machine_type = cls.tables.machine_type
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Company,
             companies,
             properties={
                 "employees": relationship(Person, order_by=people.c.person_id)
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Person,
             people,
             polymorphic_on=people.c.type,
@@ -2292,7 +2301,7 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
             with_polymorphic="*",
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Engineer,
             engineers,
             inherits=Person,
@@ -2304,10 +2313,10 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
             },
         )
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             Machine, machines, properties={"type": relationship(MachineType)}
         )
-        mapper(MachineType, machine_type)
+        cls.mapper_registry.map_imperatively(MachineType, machine_type)
 
     @classmethod
     def insert_data(cls, connection):
@@ -2373,7 +2382,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2449,7 +2458,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2495,7 +2504,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -2553,7 +2562,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"children": relationship(Node, order_by=nodes.c.id)},
@@ -2608,7 +2617,7 @@ class SelfReferentialTest(fixtures.MappedTest):
             def append(self, node):
                 self.children.append(node)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"children": relationship(Node, lazy="subquery")},
@@ -2713,25 +2722,27 @@ class InheritanceToRelatedTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.Foo,
             cls.tables.foo,
             properties={"related": relationship(cls.classes.Related)},
             polymorphic_on=cls.tables.foo.c.type,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.Bar,
             cls.tables.bar,
             polymorphic_identity="bar",
             inherits=cls.classes.Foo,
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.Baz,
             cls.tables.baz,
             polymorphic_identity="baz",
             inherits=cls.classes.Foo,
         )
-        mapper(cls.classes.Related, cls.tables.related)
+        cls.mapper_registry.map_imperatively(
+            cls.classes.Related, cls.tables.related
+        )
 
     def test_caches_query_per_base_subq(self):
         Foo, Bar, Baz, Related = (
@@ -2826,8 +2837,10 @@ class CyclicalInheritingEagerTestOne(fixtures.MappedTest):
         class SubT2(T2):
             pass
 
-        mapper(T, t1, polymorphic_on=t1.c.type, polymorphic_identity="t1")
-        mapper(
+        self.mapper_registry.map_imperatively(
+            T, t1, polymorphic_on=t1.c.type, polymorphic_identity="t1"
+        )
+        self.mapper_registry.map_imperatively(
             SubT,
             None,
             inherits=T,
@@ -2840,8 +2853,12 @@ class CyclicalInheritingEagerTestOne(fixtures.MappedTest):
                 )
             },
         )
-        mapper(T2, t2, polymorphic_on=t2.c.type, polymorphic_identity="t2")
-        mapper(SubT2, None, inherits=T2, polymorphic_identity="subt2")
+        self.mapper_registry.map_imperatively(
+            T2, t2, polymorphic_on=t2.c.type, polymorphic_identity="t2"
+        )
+        self.mapper_registry.map_imperatively(
+            SubT2, None, inherits=T2, polymorphic_identity="subt2"
+        )
 
         # testing a particular endless loop condition in eager load setup
         fixture_session().query(SubT).all()
index 76cd7f7583a2d5dd76eada94ee5e5871cbdca36f..924ae674eb168bd76c063e0c959c171913b22d9d 100644 (file)
@@ -4,7 +4,6 @@ from sqlalchemy import testing
 from sqlalchemy.orm import attributes
 from sqlalchemy.orm import class_mapper
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import sync
 from sqlalchemy.orm import unitofwork
 from sqlalchemy.testing import assert_raises_message
@@ -56,8 +55,8 @@ class SyncTest(
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.A, cls.tables.t1)
-        mapper(cls.classes.B, cls.tables.t2)
+        cls.mapper_registry.map_imperatively(cls.classes.A, cls.tables.t1)
+        cls.mapper_registry.map_imperatively(cls.classes.B, cls.tables.t2)
 
     def _fixture(self):
         A, B = self.classes.A, self.classes.B
index ad57a8031623269ba0fa298cd58cb0d487ef4a5c..1c8fef5cbd6a0f5f891757903a124b8916e06586 100644 (file)
@@ -14,8 +14,8 @@ from sqlalchemy import testing
 from sqlalchemy import text
 from sqlalchemy.future import Engine
 from sqlalchemy.orm import attributes
+from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import session as _session
@@ -58,7 +58,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
         User, users = self.classes.User, self.tables.users
 
         c = conn
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = Session(bind=c)
         s.begin()
         tran = s._legacy_transaction()
@@ -77,7 +77,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_subtransaction_on_external_subtrans(self, conn):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         trans = conn.begin()
         sess = Session(bind=conn, autocommit=False, autoflush=True)
@@ -93,7 +93,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_subtransaction_on_external_no_begin(self, conn):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         trans = conn.begin()
         sess = Session(bind=conn, autocommit=False, autoflush=True)
         u = User(name="ed")
@@ -108,7 +108,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_external_nested_transaction(self, conn):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         trans = conn.begin()
         sess = Session(bind=conn, autocommit=False, autoflush=True)
         u1 = User(name="u1")
@@ -127,7 +127,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_subtransaction_on_external_commit_future(self, future_conn):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         conn = future_conn
         conn.begin()
@@ -144,7 +144,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_subtransaction_on_external_rollback_future(self, future_conn):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         conn = future_conn
         conn.begin()
@@ -162,7 +162,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_savepoint_on_external_future(self, future_conn):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         conn = future_conn
         conn.begin()
@@ -184,7 +184,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_nested_accounting_new_items_removed(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         session = fixture_session()
         session.begin()
@@ -200,7 +200,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_nested_accounting_deleted_items_restored(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         session = fixture_session()
         session.begin()
@@ -287,7 +287,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_dirty_state_transferred_deep_nesting(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with fixture_session() as s:
             u1 = User(name="u1")
@@ -315,7 +315,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_dirty_state_transferred_deep_nesting_future(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with fixture_session(future=True) as s:
             u1 = User(name="u1")
@@ -343,7 +343,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_transactions_isolated(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         s1 = fixture_session(autocommit=False)
         s2 = fixture_session(autocommit=False)
@@ -364,8 +364,8 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
 
         # TODO: mock up a failure condition here
         # to ensure a rollback succeeds
-        mapper(User, users)
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         engine2 = engines.testing_engine()
         sess = fixture_session(autocommit=True, autoflush=False, twophase=True)
@@ -385,7 +385,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     @testing.requires.independent_connections
     def test_invalidate(self):
         User, users = self.classes.User, self.tables.users
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u = User(name="u1")
         sess.add(u)
@@ -414,7 +414,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_subtransaction_on_noautocommit(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autocommit=False, autoflush=True)
         sess.begin(subtransactions=True)
         u = User(name="u1")
@@ -429,7 +429,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_nested_transaction(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         sess.begin()
 
@@ -453,7 +453,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_nested_autotrans(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autocommit=False)
         u = User(name="u1")
         sess.add(u)
@@ -475,7 +475,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_nested_autotrans_future(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autocommit=False, future=True)
         u = User(name="u1")
         sess.add(u)
@@ -497,7 +497,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_nested_transaction_connection_add(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session(autocommit=True)
 
@@ -533,7 +533,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_mixed_transaction_control(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session(autocommit=True)
 
@@ -565,7 +565,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_mixed_transaction_close(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session(autocommit=False)
 
@@ -644,7 +644,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
         we're in commit()"""
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
 
         to_flush = [User(name="ed"), User(name="jack"), User(name="wendy")]
@@ -668,7 +668,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_continue_flushing_guard(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
 
         @event.listens_for(sess, "after_flush_postexec")
@@ -685,7 +685,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_error_on_using_inactive_session_commands(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autocommit=True)
         sess.begin()
         sess.begin(subtransactions=True)
@@ -752,7 +752,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
         # test #4050
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         session = Session(bind=testing.db)
 
         rollback_error = testing.db.dialect.dbapi.InterfaceError(
@@ -869,7 +869,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def _inactive_flushed_session_fixture(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(id=1, name="u1")
         sess.add(u1)
@@ -975,7 +975,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_warning_on_using_inactive_session_rollback_evt(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(id=1, name="u1")
         sess.add(u1)
@@ -1018,7 +1018,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_no_autocommit_with_explicit_commit(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         session = fixture_session(autocommit=False)
         session.add(User(name="ed"))
         session._legacy_transaction().commit()
@@ -1028,7 +1028,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_no_autocommit_with_explicit_commit_future(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         session = fixture_session(autocommit=False, future=True)
         session.add(User(name="ed"))
         session._legacy_transaction().commit()
@@ -1041,7 +1041,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
     def test_report_primary_error_when_rollback_fails(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with fixture_session() as session:
 
@@ -1072,7 +1072,7 @@ class _LocalFixture(FixtureTest):
     def setup_mappers(cls):
         User, Address = cls.classes.User, cls.classes.Address
         users, addresses = cls.tables.users, cls.tables.addresses
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1084,7 +1084,7 @@ class _LocalFixture(FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
 
 def subtransaction_recipe_one(self):
@@ -1207,7 +1207,7 @@ class SubtransactionRecipeTest(FixtureTest):
     ):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         with testing.db.connect() as conn:
             trans = conn.begin()
             sess = Session(conn, future=self.future)
@@ -1224,7 +1224,7 @@ class SubtransactionRecipeTest(FixtureTest):
     def test_recipe_commit_one(self, subtransaction_recipe):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         with fixture_session(future=self.future) as sess:
             with subtransaction_recipe(sess):
                 u = User(name="u1")
@@ -1237,7 +1237,7 @@ class SubtransactionRecipeTest(FixtureTest):
     ):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         with fixture_session(future=self.future) as sess:
             sess.begin()
             with subtransaction_recipe(sess):
@@ -1252,7 +1252,7 @@ class SubtransactionRecipeTest(FixtureTest):
     def test_recipe_mixed_transaction_control(self, subtransaction_recipe):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with fixture_session(future=self.future) as sess:
 
@@ -1282,7 +1282,7 @@ class SubtransactionRecipeTest(FixtureTest):
     ):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         with fixture_session(future=self.future) as sess:
             sess.begin()
 
@@ -1384,7 +1384,7 @@ class CleanSavepointTest(FixtureTest):
     def _run_test(self, update_fn, future=False):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         with fixture_session(future=future) as s:
             u1 = User(name="u1")
@@ -2060,7 +2060,7 @@ class ContextManagerPlusFutureTest(FixtureTest):
     def test_contextmanager_nested_rollback(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2080,7 +2080,7 @@ class ContextManagerPlusFutureTest(FixtureTest):
     def test_contextmanager_commit(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
         with sess.begin():
@@ -2092,7 +2092,7 @@ class ContextManagerPlusFutureTest(FixtureTest):
     def test_contextmanager_rollback(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
 
@@ -2435,7 +2435,7 @@ class ContextManagerPlusFutureTest(FixtureTest):
     ):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         session = fixture_session(
             future=future, expire_on_commit=expire_on_commit
@@ -2593,7 +2593,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
     def test_rollback_recover(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         session = fixture_session()
 
@@ -2622,7 +2622,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
         """test issue #3677"""
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(name="u1")
 
@@ -2645,7 +2645,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
     def test_key_replaced_by_update(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(name="u1")
         u2 = User(name="u2")
@@ -2673,7 +2673,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
     def test_key_replaced_by_update_nested(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(name="u1")
 
@@ -2700,7 +2700,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
     def test_multiple_key_replaced_by_update(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(name="u1")
         u2 = User(name="u2")
@@ -2733,7 +2733,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
     def test_key_replaced_by_oob_insert(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u1 = User(name="u1")
 
@@ -2785,7 +2785,7 @@ class JoinIntoAnExternalTransactionFixture(object):
 
         self.connection.close()
 
-    def test_something(self):
+    def test_something(self, connection):
         A = self.A
 
         a1 = A()
@@ -2816,7 +2816,8 @@ class NewStyleJoinIntoAnExternalTransactionTest(
         class A(object):
             pass
 
-        mapper(A, self.table)
+        clear_mappers()
+        self.mapper_registry.map_imperatively(A, self.table)
         self.A = A
 
         # bind an individual Session to the connection
@@ -2874,21 +2875,21 @@ class NewStyleJoinIntoAnExternalTransactionTest(
 class FutureJoinIntoAnExternalTransactionTest(
     NewStyleJoinIntoAnExternalTransactionTest,
     fixtures.FutureEngineMixin,
-    fixtures.TestBase,
+    fixtures.MappedTest,
 ):
     pass
 
 
 class NonFutureJoinIntoAnExternalTransactionTest(
     NewStyleJoinIntoAnExternalTransactionTest,
-    fixtures.TestBase,
+    fixtures.MappedTest,
 ):
     pass
 
 
 class LegacyJoinIntoAnExternalTransactionTest(
     JoinIntoAnExternalTransactionFixture,
-    fixtures.TestBase,
+    fixtures.MappedTest,
 ):
     def setup_session(self):
         # begin a non-ORM transaction
@@ -2897,7 +2898,9 @@ class LegacyJoinIntoAnExternalTransactionTest(
         class A(object):
             pass
 
-        mapper(A, self.table)
+        # TODO: py2 is not hitting this correctly for some reason,
+        # some mro issue
+        self.mapper_registry.map_imperatively(A, self.table)
         self.A = A
 
         # bind an individual Session to the connection
@@ -2938,7 +2941,7 @@ class LegacyBranchedJoinIntoAnExternalTransactionTest(
         class A(object):
             pass
 
-        mapper(A, self.table)
+        self.mapper_registry.map_imperatively(A, self.table)
         self.A = A
 
         # neutron is doing this inside of a migration
index 9cc39f79cfad20cd9c2b0f193f5b574b4fa2b2da..afba9d95324271fd74928df72a39549e48c03f36 100644 (file)
@@ -18,7 +18,6 @@ from sqlalchemy import testing
 from sqlalchemy.inspection import inspect
 from sqlalchemy.orm import column_property
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm.persistence import _sort_states
@@ -61,8 +60,8 @@ class HistoryTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        am = mapper(Address, addresses)
-        m = mapper(
+        am = self.mapper_registry.map_imperatively(Address, addresses)
+        m = self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
@@ -123,7 +122,7 @@ class UnicodeTest(fixtures.MappedTest):
     def test_basic(self):
         Test, uni_t1 = self.classes.Test, self.tables.uni_t1
 
-        mapper(Test, uni_t1)
+        self.mapper_registry.map_imperatively(Test, uni_t1)
 
         txt = ue("\u0160\u0110\u0106\u010c\u017d")
         t1 = Test(id=1, txt=txt)
@@ -143,8 +142,10 @@ class UnicodeTest(fixtures.MappedTest):
             self.classes.Test2,
         )
 
-        mapper(Test, uni_t1, properties={"t2s": relationship(Test2)})
-        mapper(Test2, uni_t2)
+        self.mapper_registry.map_imperatively(
+            Test, uni_t1, properties={"t2s": relationship(Test2)}
+        )
+        self.mapper_registry.map_imperatively(Test2, uni_t2)
 
         txt = ue("\u0160\u0110\u0106\u010c\u017d")
         t1 = Test(txt=txt)
@@ -212,8 +213,10 @@ class UnicodeSchemaTest(fixtures.MappedTest):
         class B(fixtures.ComparableEntity):
             pass
 
-        mapper(A, t1, properties={"t2s": relationship(B)})
-        mapper(B, t2)
+        self.mapper_registry.map_imperatively(
+            A, t1, properties={"t2s": relationship(B)}
+        )
+        self.mapper_registry.map_imperatively(B, t2)
 
         a1 = A()
         b1 = B()
@@ -252,8 +255,12 @@ class UnicodeSchemaTest(fixtures.MappedTest):
         class B(A):
             pass
 
-        mapper(A, t1, polymorphic_on=t1.c.type, polymorphic_identity="a")
-        mapper(B, t2, inherits=A, polymorphic_identity="b")
+        self.mapper_registry.map_imperatively(
+            A, t1, polymorphic_on=t1.c.type, polymorphic_identity="a"
+        )
+        self.mapper_registry.map_imperatively(
+            B, t2, inherits=A, polymorphic_identity="b"
+        )
         a1 = A(b=5)
         b1 = B(e=7)
 
@@ -292,7 +299,7 @@ class BinaryHistTest(fixtures.MappedTest, testing.AssertsExecutionResults):
         # data = b("this is some data")
         data = b"m\x18"  # m\xf2\r\n\x7f\x10'
 
-        mapper(Foo, t1)
+        self.mapper_registry.map_imperatively(Foo, t1)
 
         s = fixture_session()
 
@@ -355,7 +362,7 @@ class PKTest(fixtures.MappedTest):
     def test_primary_key(self):
         Entry, multipk1 = self.classes.Entry, self.tables.multipk1
 
-        mapper(Entry, multipk1)
+        self.mapper_registry.map_imperatively(Entry, multipk1)
 
         e = Entry(name="entry1", value="this is entry 1", multi_rev=2)
 
@@ -374,7 +381,7 @@ class PKTest(fixtures.MappedTest):
     def test_manual_pk(self):
         Entry, multipk2 = self.classes.Entry, self.tables.multipk2
 
-        mapper(Entry, multipk2)
+        self.mapper_registry.map_imperatively(Entry, multipk2)
 
         e = Entry(pk_col_1="pk1", pk_col_2="pk1_related", data="im the data")
 
@@ -385,7 +392,7 @@ class PKTest(fixtures.MappedTest):
     def test_key_pks(self):
         Entry, multipk3 = self.classes.Entry, self.tables.multipk3
 
-        mapper(Entry, multipk3)
+        self.mapper_registry.map_imperatively(Entry, multipk3)
 
         e = Entry(
             primary="pk1",
@@ -440,8 +447,8 @@ class ForeignPKTest(fixtures.MappedTest):
             self.tables.people,
         )
 
-        mapper(PersonSite, peoplesites)
-        m2 = mapper(
+        self.mapper_registry.map_imperatively(PersonSite, peoplesites)
+        m2 = self.mapper_registry.map_imperatively(
             Person, people, properties={"sites": relationship(PersonSite)}
         )
 
@@ -523,9 +530,9 @@ class ClauseAttributesTest(fixtures.MappedTest):
         User, users_t = cls.classes.User, cls.tables.users_t
         HasBoolean, boolean_t = cls.classes.HasBoolean, cls.tables.boolean_t
         PkDefault, pk_t = cls.classes.PkDefault, cls.tables.pk_t
-        mapper(User, users_t)
-        mapper(HasBoolean, boolean_t)
-        mapper(PkDefault, pk_t)
+        cls.mapper_registry.map_imperatively(User, users_t)
+        cls.mapper_registry.map_imperatively(HasBoolean, boolean_t)
+        cls.mapper_registry.map_imperatively(PkDefault, pk_t)
 
     def test_update(self):
         User = self.classes.User
@@ -689,8 +696,8 @@ class PassiveDeletesTest(fixtures.MappedTest):
             self.tables.mytable,
         )
 
-        mapper(MyOtherClass, myothertable)
-        mapper(
+        self.mapper_registry.map_imperatively(MyOtherClass, myothertable)
+        self.mapper_registry.map_imperatively(
             MyClass,
             mytable,
             properties={
@@ -744,7 +751,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
             self.tables.mytable,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             MyOtherClass,
             myothertable,
             properties={
@@ -753,7 +760,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(MyClass, mytable)
+        self.mapper_registry.map_imperatively(MyClass, mytable)
 
         session = fixture_session()
         mc = MyClass()
@@ -787,7 +794,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
             self.tables.mytable,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             MyOtherClass,
             myothertable,
             properties={
@@ -796,7 +803,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(MyClass, mytable)
+        self.mapper_registry.map_imperatively(MyClass, mytable)
         sa.orm.configure_mappers()
 
 
@@ -872,8 +879,8 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
             self.tables.mytable,
         )
 
-        mapper(MyOtherClass, myothertable)
-        mapper(
+        self.mapper_registry.map_imperatively(MyOtherClass, myothertable)
+        self.mapper_registry.map_imperatively(
             MyClass,
             mytable,
             properties={
@@ -910,8 +917,8 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
             self.tables.mytable,
         )
 
-        mapper(MyOtherClass, myothertable)
-        mapper(
+        self.mapper_registry.map_imperatively(MyOtherClass, myothertable)
+        self.mapper_registry.map_imperatively(
             MyClass,
             mytable,
             properties={
@@ -947,8 +954,8 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
             self.tables.mytable,
         )
 
-        mapper(MyOtherClass, myothertable)
-        mapper(
+        self.mapper_registry.map_imperatively(MyOtherClass, myothertable)
+        self.mapper_registry.map_imperatively(
             MyClass,
             mytable,
             properties={
@@ -981,8 +988,8 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
             self.tables.mytable,
         )
 
-        mapper(MyOtherClass, myothertable)
-        mapper(
+        self.mapper_registry.map_imperatively(MyOtherClass, myothertable)
+        self.mapper_registry.map_imperatively(
             MyClass,
             mytable,
             properties={
@@ -1024,7 +1031,7 @@ class ColumnCollisionTest(fixtures.MappedTest):
         class Book(fixtures.ComparableEntity):
             pass
 
-        mapper(Book, book)
+        self.mapper_registry.map_imperatively(Book, book)
         with fixture_session() as sess:
 
             b1 = Book(book_id="abc", title="def")
@@ -1136,7 +1143,7 @@ class DefaultTest(fixtures.MappedTest):
             self.classes.Hoho,
         )
 
-        mapper(Hoho, default_t)
+        self.mapper_registry.map_imperatively(Hoho, default_t)
 
         h1 = Hoho(hoho=althohoval)
         h2 = Hoho(counter=12)
@@ -1191,7 +1198,7 @@ class DefaultTest(fixtures.MappedTest):
         )
         Secondary = self.classes.Secondary
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Hoho,
             default_t,
             eager_defaults=True,
@@ -1201,7 +1208,9 @@ class DefaultTest(fixtures.MappedTest):
             },
         )
 
-        mapper(Secondary, self.tables.secondary_table)
+        self.mapper_registry.map_imperatively(
+            Secondary, self.tables.secondary_table
+        )
         h1 = Hoho()
 
         session = fixture_session()
@@ -1226,7 +1235,7 @@ class DefaultTest(fixtures.MappedTest):
 
         # populates from the FetchValues explicitly so there is no
         # "post-update"
-        mapper(Hoho, default_t)
+        self.mapper_registry.map_imperatively(Hoho, default_t)
 
         h1 = Hoho(hoho="15", counter=15)
         session = fixture_session()
@@ -1244,7 +1253,7 @@ class DefaultTest(fixtures.MappedTest):
     def test_update(self):
         default_t, Hoho = self.tables.default_t, self.classes.Hoho
 
-        mapper(Hoho, default_t)
+        self.mapper_registry.map_imperatively(Hoho, default_t)
 
         h1 = Hoho()
         session = fixture_session()
@@ -1268,7 +1277,7 @@ class DefaultTest(fixtures.MappedTest):
             self.classes.Secondary,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Hoho,
             default_t,
             properties={
@@ -1277,7 +1286,7 @@ class DefaultTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Secondary, secondary_table)
+        self.mapper_registry.map_imperatively(Secondary, secondary_table)
 
         h1 = Hoho()
         s1 = Secondary(data="s1")
@@ -1335,7 +1344,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
     def test_refreshes(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Data,
             data,
             properties={
@@ -1349,7 +1358,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
     def test_no_refresh_ro_column_property_no_expire_on_flush(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Data,
             data,
             properties={
@@ -1364,7 +1373,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
     def test_no_refresh_ro_column_property_expire_on_flush(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Data,
             data,
             properties={
@@ -1379,7 +1388,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
     def test_no_refresh_ro_deferred_no_expire_on_flush(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Data,
             data,
             properties={
@@ -1395,7 +1404,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
     def test_no_refresh_ro_deferred_expire_on_flush(self):
         Data, data = self.classes.Data, self.tables.data
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Data,
             data,
             properties={
@@ -1411,7 +1420,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
     def test_refreshes_post_init(self):
         Data, data = self.classes.Data, self.tables.data
 
-        m = mapper(Data, data)
+        m = self.mapper_registry.map_imperatively(Data, data)
         m.add_property(
             "aplusb",
             column_property(data.c.a + literal_column("' '") + data.c.b),
@@ -1428,7 +1437,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
         class SubData(Data):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Data,
             data,
             properties={
@@ -1437,7 +1446,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(SubData, subdata, inherits=Data)
+        self.mapper_registry.map_imperatively(SubData, subdata, inherits=Data)
 
         sess = fixture_session()
         sd1 = SubData(a="hello", b="there", c="hi")
@@ -1503,12 +1512,13 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 )
             ),
         )
@@ -1562,12 +1572,13 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 )
             ),
         )
@@ -1631,12 +1642,13 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 )
             ),
         )
@@ -1668,12 +1680,13 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 addresses=relationship(
-                    mapper(Address, addresses), lazy="select"
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
                 )
             ),
         )
@@ -1704,12 +1717,14 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="select", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
+                    uselist=False,
                 )
             ),
         )
@@ -1740,12 +1755,14 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties=dict(
                 address=relationship(
-                    mapper(Address, addresses), lazy="select", uselist=False
+                    self.mapper_registry.map_imperatively(Address, addresses),
+                    lazy="select",
+                    uselist=False,
                 )
             ),
         )
@@ -1771,8 +1788,8 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        m1 = mapper(User, users)
-        mapper(
+        m1 = self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
@@ -1797,8 +1814,8 @@ class OneToManyTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        m2 = mapper(Address, addresses)
-        mapper(
+        m2 = self.mapper_registry.map_imperatively(Address, addresses)
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -1838,7 +1855,7 @@ class SaveTest(_fixtures.FixtureTest):
     def test_basic(self):
         User, users = self.classes.User, self.tables.users
 
-        m = mapper(User, users)
+        m = self.mapper_registry.map_imperatively(User, users)
 
         # save two users
         u = User(name="savetester")
@@ -1893,7 +1910,9 @@ class SaveTest(_fixtures.FixtureTest):
 
             syn_name = property(_get_name, _set_name)
 
-        mapper(SUser, users, properties={"syn_name": sa.orm.synonym("name")})
+        self.mapper_registry.map_imperatively(
+            SUser, users, properties={"syn_name": sa.orm.synonym("name")}
+        )
 
         u = SUser(syn_name="some name")
         eq_(u.syn_name, "User:some name:User")
@@ -1921,10 +1940,14 @@ class SaveTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
-            properties={"addresses": relationship(mapper(Address, addresses))},
+            properties={
+                "addresses": relationship(
+                    self.mapper_registry.map_imperatively(Address, addresses)
+                )
+            },
         )
 
         u = User(name="u1")
@@ -1952,14 +1975,14 @@ class SaveTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        m1 = mapper(User, users)
+        m1 = self.mapper_registry.map_imperatively(User, users)
 
         class AddressUser(User):
             pass
 
         # define a mapper for AddressUser that inherits the User.mapper, and
         # joins on the id column
-        mapper(
+        self.mapper_registry.map_imperatively(
             AddressUser,
             addresses,
             inherits=m1,
@@ -1982,7 +2005,7 @@ class SaveTest(_fixtures.FixtureTest):
 
         orders, Order = self.tables.orders, self.classes.Order
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Order,
             orders,
             properties={"description": sa.orm.deferred(orders.c.description)},
@@ -2036,7 +2059,7 @@ class SaveTest(_fixtures.FixtureTest):
     def test_dont_update_blanks(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         u = User(name="")
         session = fixture_session()
@@ -2065,7 +2088,7 @@ class SaveTest(_fixtures.FixtureTest):
             users, addresses, users.c.id == addresses.c.user_id
         )
 
-        m = mapper(
+        m = self.mapper_registry.map_imperatively(
             User,
             usersaddresses,
             properties=dict(
@@ -2122,7 +2145,7 @@ class SaveTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2131,7 +2154,7 @@ class SaveTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u = User(name="u1")
         u.addresses.append(Address(email_address="u1@e1"))
@@ -2172,7 +2195,7 @@ class SaveTest(_fixtures.FixtureTest):
             def after_insert(self, mapper, connection, instance):
                 assert instance is self.current_instance
 
-        mapper(User, users, batch=False)
+        self.mapper_registry.map_imperatively(User, users, batch=False)
 
         evt = Events()
         event.listen(User, "before_insert", evt.before_insert)
@@ -2198,7 +2221,7 @@ class SaveTest(_fixtures.FixtureTest):
 
         sa.orm.clear_mappers()
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         evt = Events()
         event.listen(User, "before_insert", evt.before_insert)
         event.listen(User, "after_insert", evt.after_insert)
@@ -2220,12 +2243,14 @@ class ManyToOneTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
                 user=relationship(
-                    mapper(User, users), lazy="select", uselist=False
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="select",
+                    uselist=False,
                 )
             ),
         )
@@ -2302,11 +2327,14 @@ class ManyToOneTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
-                user=relationship(mapper(User, users), lazy="select")
+                user=relationship(
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="select",
+                )
             ),
         )
 
@@ -2338,11 +2366,14 @@ class ManyToOneTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
-                user=relationship(mapper(User, users), lazy="select")
+                user=relationship(
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="select",
+                )
             ),
         )
 
@@ -2380,11 +2411,14 @@ class ManyToOneTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
-                user=relationship(mapper(User, users), lazy="select")
+                user=relationship(
+                    self.mapper_registry.map_imperatively(User, users),
+                    lazy="select",
+                )
             ),
         )
 
@@ -2419,7 +2453,7 @@ class ManyToOneTest(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2428,7 +2462,7 @@ class ManyToOneTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         # try it on unsaved objects
         u1 = User(name="u1")
@@ -2461,9 +2495,9 @@ class ManyToManyTest(_fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2612,8 +2646,8 @@ class ManyToManyTest(_fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2648,9 +2682,9 @@ class ManyToManyTest(_fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2678,8 +2712,8 @@ class ManyToManyTest(_fixtures.FixtureTest):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2726,9 +2760,9 @@ class ManyToManyTest(_fixtures.FixtureTest):
         class IKAssociation(fixtures.ComparableEntity):
             pass
 
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             IKAssociation,
             item_keywords,
             primary_key=[item_keywords.c.item_id, item_keywords.c.keyword_id],
@@ -2747,7 +2781,7 @@ class ManyToManyTest(_fixtures.FixtureTest):
             ),
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2805,8 +2839,8 @@ class SaveTest2(_fixtures.FixtureTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties=dict(
@@ -2922,8 +2956,8 @@ class SaveTest3(fixtures.MappedTest):
             self.classes.Item,
         )
 
-        mapper(Keyword, keywords)
-        mapper(
+        self.mapper_registry.map_imperatively(Keyword, keywords)
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties=dict(
@@ -2977,7 +3011,7 @@ class BooleanColTest(fixtures.MappedTest):
         class T(fixtures.ComparableEntity):
             pass
 
-        mapper(T, t1_t)
+        self.mapper_registry.map_imperatively(T, t1_t)
 
         sess = fixture_session()
         t1 = T(value=True, name="t1")
@@ -3091,12 +3125,12 @@ class RowSwitchTest(fixtures.MappedTest):
             self.classes.T5,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T5,
             t5,
             properties={"t6s": relationship(T6, cascade="all, delete-orphan")},
         )
-        mapper(T6, t6)
+        self.mapper_registry.map_imperatively(T6, t6)
 
         sess = fixture_session()
 
@@ -3137,14 +3171,14 @@ class RowSwitchTest(fixtures.MappedTest):
             self.classes.T7,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             T5,
             t5,
             properties={
                 "t7s": relationship(T7, secondary=t5t7, cascade="all")
             },
         )
-        mapper(T7, t7)
+        self.mapper_registry.map_imperatively(T7, t7)
 
         sess = fixture_session()
 
@@ -3194,8 +3228,10 @@ class RowSwitchTest(fixtures.MappedTest):
             self.classes.T5,
         )
 
-        mapper(T6, t6, properties={"t5": relationship(T5)})
-        mapper(T5, t5)
+        self.mapper_registry.map_imperatively(
+            T6, t6, properties={"t5": relationship(T5)}
+        )
+        self.mapper_registry.map_imperatively(T5, t5)
 
         sess = fixture_session()
 
@@ -3257,8 +3293,8 @@ class InheritingRowSwitchTest(fixtures.MappedTest):
             self.tables.child,
         )
 
-        mapper(P, parent)
-        mapper(C, child, inherits=P)
+        self.mapper_registry.map_imperatively(P, parent)
+        self.mapper_registry.map_imperatively(C, child, inherits=P)
 
         sess = fixture_session()
         c1 = C(pid=1, cid=1, pdata="c1", cdata="c1")
@@ -3313,7 +3349,7 @@ class PartialNullPKTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.T1, cls.tables.t1)
+        cls.mapper_registry.map_imperatively(cls.classes.T1, cls.tables.t1)
 
     def test_key_switch(self):
         T1 = self.classes.T1
@@ -3466,9 +3502,9 @@ class EnsurePKSortableTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(cls.classes.T1, cls.tables.t1)
-        mapper(cls.classes.T2, cls.tables.t2)
-        mapper(cls.classes.T3, cls.tables.t3)
+        cls.mapper_registry.map_imperatively(cls.classes.T1, cls.tables.t1)
+        cls.mapper_registry.map_imperatively(cls.classes.T2, cls.tables.t2)
+        cls.mapper_registry.map_imperatively(cls.classes.T3, cls.tables.t3)
 
     def test_exception_persistent_flush_py3k(self):
         s = fixture_session()
index b468fa72e73a7098fc81ce2539fa8da6a977fb6f..71f4609988f0b2f4ee457f15c9ebf70576601a30 100644 (file)
@@ -21,7 +21,6 @@ from sqlalchemy.orm import backref
 from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import declarative_base
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import unitofwork
@@ -76,8 +75,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
 
         a1, a2 = Address(email_address="a1"), Address(email_address="a2")
@@ -125,8 +126,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         a1, a2 = Address(email_address="a1"), Address(email_address="a2")
         u1 = User(name="u1", addresses=[a1, a2])
@@ -156,8 +159,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         a1, a2 = Address(email_address="a1"), Address(email_address="a2")
         u1 = User(name="u1", addresses=[a1, a2])
@@ -189,8 +194,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
         sess = fixture_session()
 
         u1 = User(name="u1")
@@ -241,8 +248,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
         sess = fixture_session()
 
         u1 = User(name="u1")
@@ -276,8 +285,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
         sess = fixture_session()
 
         u1 = User(name="u1")
@@ -314,8 +325,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"parent": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"parent": relationship(User)}
+        )
 
         parent = User(name="p1")
         c1, c2 = (
@@ -395,8 +408,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"parent": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"parent": relationship(User)}
+        )
 
         parent = User(name="p1")
         c1, c2 = (
@@ -460,8 +475,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"parent": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"parent": relationship(User)}
+        )
 
         parent = User(name="p1")
         c1, c2 = (
@@ -524,8 +541,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
         sess = fixture_session()
 
         u1 = User(name="u1")
@@ -555,8 +574,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"user": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"user": relationship(User)}
+        )
         sess = fixture_session()
 
         u1 = User(name="u1")
@@ -595,8 +616,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(Address, addresses, properties={"parent": relationship(User)})
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
+            Address, addresses, properties={"parent": relationship(User)}
+        )
 
         sess = fixture_session()
 
@@ -635,7 +658,9 @@ class RudimentaryFlushTest(UOWTest):
 
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(Node, nodes, properties={"children": relationship(Node)})
+        self.mapper_registry.map_imperatively(
+            Node, nodes, properties={"children": relationship(Node)}
+        )
 
         sess = fixture_session()
 
@@ -670,14 +695,14 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.Item,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Item,
             items,
             properties={
                 "keywords": relationship(Keyword, secondary=item_keywords)
             },
         )
-        mapper(Keyword, keywords)
+        self.mapper_registry.map_imperatively(Keyword, keywords)
 
         sess = fixture_session()
         k1 = Keyword(name="k1")
@@ -722,8 +747,8 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users)
-        mapper(
+        self.mapper_registry.map_imperatively(User, users)
+        self.mapper_registry.map_imperatively(
             Address,
             addresses,
             properties={"user": relationship(User, passive_updates=True)},
@@ -741,8 +766,10 @@ class RudimentaryFlushTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         with fixture_session(autoflush=False) as sess:
             u1 = User(name="ed")
@@ -837,7 +864,9 @@ class SingleCycleTest(UOWTest):
     def test_one_to_many_save(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(Node, nodes, properties={"children": relationship(Node)})
+        self.mapper_registry.map_imperatively(
+            Node, nodes, properties={"children": relationship(Node)}
+        )
         sess = fixture_session()
 
         n2, n3 = Node(data="n2"), Node(data="n3")
@@ -885,7 +914,9 @@ class SingleCycleTest(UOWTest):
     def test_one_to_many_delete_all(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(Node, nodes, properties={"children": relationship(Node)})
+        self.mapper_registry.map_imperatively(
+            Node, nodes, properties={"children": relationship(Node)}
+        )
         sess = fixture_session()
 
         n2, n3 = Node(data="n2", children=[]), Node(data="n3", children=[])
@@ -913,7 +944,9 @@ class SingleCycleTest(UOWTest):
     def test_one_to_many_delete_parent(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(Node, nodes, properties={"children": relationship(Node)})
+        self.mapper_registry.map_imperatively(
+            Node, nodes, properties={"children": relationship(Node)}
+        )
         sess = fixture_session()
 
         n2, n3 = Node(data="n2", children=[]), Node(data="n3", children=[])
@@ -943,7 +976,7 @@ class SingleCycleTest(UOWTest):
     def test_many_to_one_save(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"parent": relationship(Node, remote_side=nodes.c.id)},
@@ -995,7 +1028,7 @@ class SingleCycleTest(UOWTest):
     def test_many_to_one_delete_all(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"parent": relationship(Node, remote_side=nodes.c.id)},
@@ -1027,7 +1060,7 @@ class SingleCycleTest(UOWTest):
     def test_many_to_one_set_null_unloaded(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"parent": relationship(Node, remote_side=nodes.c.id)},
@@ -1054,7 +1087,9 @@ class SingleCycleTest(UOWTest):
     def test_cycle_rowswitch(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(Node, nodes, properties={"children": relationship(Node)})
+        self.mapper_registry.map_imperatively(
+            Node, nodes, properties={"children": relationship(Node)}
+        )
         sess = fixture_session()
 
         n2, n3 = Node(data="n2", children=[]), Node(data="n3", children=[])
@@ -1070,7 +1105,7 @@ class SingleCycleTest(UOWTest):
     def test_bidirectional_mutations_one(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -1096,7 +1131,7 @@ class SingleCycleTest(UOWTest):
     def test_bidirectional_multilevel_save(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -1190,7 +1225,9 @@ class SingleCycleTest(UOWTest):
     def test_singlecycle_flush_size(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(Node, nodes, properties={"children": relationship(Node)})
+        self.mapper_registry.map_imperatively(
+            Node, nodes, properties={"children": relationship(Node)}
+        )
         with fixture_session() as sess:
             n1 = Node(data="ed")
             sess.add(n1)
@@ -1224,7 +1261,7 @@ class SingleCycleTest(UOWTest):
     def test_delete_unloaded_m2o(self):
         Node, nodes = self.classes.Node, self.tables.nodes
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={"parent": relationship(Node, remote_side=nodes.c.id)},
@@ -1329,7 +1366,7 @@ class SingleCyclePlusAttributeTest(
         class FooBar(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -1337,7 +1374,7 @@ class SingleCyclePlusAttributeTest(
                 "foobars": relationship(FooBar),
             },
         )
-        mapper(FooBar, foobars)
+        self.mapper_registry.map_imperatively(FooBar, foobars)
 
         sess = fixture_session()
         n1 = Node(data="n1")
@@ -1394,7 +1431,7 @@ class SingleCycleM2MTest(
         class Node(fixtures.ComparableEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             nodes,
             properties={
@@ -1541,7 +1578,7 @@ class RowswitchAccountingTest(fixtures.MappedTest):
         class Child(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -1553,7 +1590,7 @@ class RowswitchAccountingTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         return Parent, Child
 
     def test_switch_on_update(self):
@@ -1638,13 +1675,15 @@ class RowswitchM2OTest(fixtures.MappedTest):
         class C(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={"bs": relationship(B, cascade="all, delete-orphan")},
         )
-        mapper(B, b, properties={"c": relationship(C)})
-        mapper(C, c)
+        self.mapper_registry.map_imperatively(
+            B, b, properties={"c": relationship(C)}
+        )
+        self.mapper_registry.map_imperatively(C, c)
         return A, B, C
 
     def test_set_none_replaces_m2o(self):
@@ -1742,7 +1781,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
         class Child(fixtures.BasicEntity):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Parent,
             parent,
             properties={
@@ -1755,7 +1794,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
             },
             confirm_deleted_rows=confirm_deleted_rows,
         )
-        mapper(Child, child)
+        self.mapper_registry.map_imperatively(Child, child)
         return Parent, Child
 
     @testing.requires.sane_rowcount
@@ -2033,7 +2072,7 @@ class BatchInsertsTest(fixtures.MappedTest, testing.AssertsExecutionResults):
         class T(fixtures.ComparableEntity):
             pass
 
-        mapper(T, t)
+        self.mapper_registry.map_imperatively(T, t)
         sess = fixture_session()
         sess.add_all(
             [
@@ -2120,7 +2159,7 @@ class LoadersUsingCommittedTest(UOWTest):
             self.classes.User,
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -2132,7 +2171,7 @@ class LoadersUsingCommittedTest(UOWTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
         return fixture_session(expire_on_commit=False)
 
     def test_before_update_m2o(self):
@@ -2271,7 +2310,9 @@ class NoAttrEventInFlushTest(fixtures.MappedTest):
     def setup_mappers(cls):
         Thing = cls.classes.Thing
 
-        mapper(Thing, cls.tables.test, eager_defaults=True)
+        cls.mapper_registry.map_imperatively(
+            Thing, cls.tables.test, eager_defaults=True
+        )
 
     def test_no_attr_events_flush(self):
         Thing = self.classes.Thing
@@ -2322,11 +2363,15 @@ class EagerDefaultsTest(fixtures.MappedTest):
     def setup_mappers(cls):
         Thing = cls.classes.Thing
 
-        mapper(Thing, cls.tables.test, eager_defaults=True)
+        cls.mapper_registry.map_imperatively(
+            Thing, cls.tables.test, eager_defaults=True
+        )
 
         Thing2 = cls.classes.Thing2
 
-        mapper(Thing2, cls.tables.test2, eager_defaults=True)
+        cls.mapper_registry.map_imperatively(
+            Thing2, cls.tables.test2, eager_defaults=True
+        )
 
     def test_insert_defaults_present(self):
         Thing = self.classes.Thing
@@ -2834,7 +2879,7 @@ class TypeWoBoolTest(fixtures.MappedTest, testing.AssertsExecutionResults):
     def setup_mappers(cls):
         Thing = cls.classes.Thing
 
-        mapper(Thing, cls.tables.test)
+        cls.mapper_registry.map_imperatively(Thing, cls.tables.test)
 
     def test_update_against_none(self):
         Thing = self.classes.Thing
@@ -2972,12 +3017,16 @@ class NullEvaluatingTest(fixtures.MappedTest, testing.AssertsExecutionResults):
         Thing = cls.classes.Thing
         AltNameThing = cls.classes.AltNameThing
 
-        mapper(Thing, cls.tables.test)
+        cls.mapper_registry.map_imperatively(Thing, cls.tables.test)
 
-        mapper(AltNameThing, cls.tables.test_w_renames, column_prefix="_foo_")
+        cls.mapper_registry.map_imperatively(
+            AltNameThing, cls.tables.test_w_renames, column_prefix="_foo_"
+        )
 
         if testing.requires.json_type.enabled:
-            mapper(cls.classes.JSONThing, cls.tables.test_has_json)
+            cls.mapper_registry.map_imperatively(
+                cls.classes.JSONThing, cls.tables.test_has_json
+            )
 
     def _assert_col(self, name, value):
         Thing, AltNameThing = self.classes.Thing, self.classes.AltNameThing
@@ -3129,7 +3178,7 @@ class EnsureCacheTest(fixtures.FutureEngineMixin, UOWTest):
     def test_ensure_cache(self):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         cache = {}
         eq_(len(inspect(User)._compiled_cache), 0)
index 54a9d163dddc8b57d0510ae1e7a55d83083274cf..d6806d9bdf6a571ae38c9a9c7064cfa101e616ac 100644 (file)
@@ -17,7 +17,6 @@ from sqlalchemy import text
 from sqlalchemy import update
 from sqlalchemy.orm import backref
 from sqlalchemy.orm import joinedload
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import sessionmaker
@@ -87,7 +86,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
         Address = cls.classes.Address
         addresses = cls.tables.addresses
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -95,7 +94,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
                 "addresses": relationship(Address),
             },
         )
-        mapper(Address, addresses)
+        cls.mapper_registry.map_imperatively(Address, addresses)
 
     def test_illegal_eval(self):
         User = self.classes.User
@@ -240,7 +239,9 @@ class UpdateDeleteTest(fixtures.MappedTest):
         class Foo(object):
             pass
 
-        mapper(Foo, self.tables.users, properties={"uname": synonym("name")})
+        self.mapper_registry.map_imperatively(
+            Foo, self.tables.users, properties={"uname": synonym("name")}
+        )
 
         s = fixture_session()
         jill = s.query(Foo).get(3)
@@ -253,7 +254,9 @@ class UpdateDeleteTest(fixtures.MappedTest):
         class Foo(object):
             pass
 
-        mapper(Foo, self.tables.users, properties={"uname": synonym("name")})
+        self.mapper_registry.map_imperatively(
+            Foo, self.tables.users, properties={"uname": synonym("name")}
+        )
 
         s = fixture_session()
         jill = s.query(Foo).get(3)
@@ -266,7 +269,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
         class Foo(object):
             pass
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             self.tables.users,
             properties={"uname": synonym("name"), "ufoo": synonym("uname")},
@@ -1490,8 +1493,8 @@ class UpdateDeleteIgnoresLoadersTest(fixtures.MappedTest):
             cls.tables.users,
         )
 
-        mapper(User, users)
-        mapper(
+        cls.mapper_registry.map_imperatively(User, users)
+        cls.mapper_registry.map_imperatively(
             Document,
             documents,
             properties={
@@ -1608,8 +1611,8 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
             cls.tables.users,
         )
 
-        mapper(User, users)
-        mapper(
+        cls.mapper_registry.map_imperatively(User, users)
+        cls.mapper_registry.map_imperatively(
             Document,
             documents,
             properties={"user": relationship(User, backref="documents")},
@@ -1790,7 +1793,9 @@ class ExpressionUpdateTest(fixtures.MappedTest):
     @classmethod
     def setup_mappers(cls):
         data = cls.tables.data
-        mapper(cls.classes.Data, data, properties={"cnt": data.c.counter})
+        cls.mapper_registry.map_imperatively(
+            cls.classes.Data, data, properties={"cnt": data.c.counter}
+        )
 
     @testing.provide_metadata
     def test_update_attr_names(self):
@@ -2125,7 +2130,7 @@ class LoadFromReturningTest(fixtures.MappedTest):
         User = cls.classes.User
         users = cls.tables.users
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             User,
             users,
             properties={
index 1a7fa636c4345bb80a52acc95b38d41edab5b54c..ba16d7e9a5246e8074b355e8500051699e6da66a 100644 (file)
@@ -9,7 +9,7 @@ from sqlalchemy import util
 from sqlalchemy.ext.hybrid import hybrid_method
 from sqlalchemy.ext.hybrid import hybrid_property
 from sqlalchemy.orm import aliased
-from sqlalchemy.orm import mapper
+from sqlalchemy.orm import clear_mappers
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import synonym
 from sqlalchemy.orm import util as orm_util
@@ -28,7 +28,7 @@ from test.orm import _fixtures
 from .inheritance import _poly_fixtures
 
 
-class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
+class AliasedClassTest(fixtures.MappedTest, AssertsCompiledSQL):
     __dialect__ = "default"
 
     def _fixture(self, cls, properties={}):
@@ -39,7 +39,10 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
             Column("x", Integer),
             Column("y", Integer),
         )
-        mapper(cls, table, properties=properties)
+        clear_mappers()
+        self.mapper_registry.map_imperatively(
+            cls, table, properties=properties
+        )
         return table
 
     def test_simple(self):
@@ -469,7 +472,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
     def test_identity_key_1(self, ormutil):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         key = ormutil.identity_key(User, [1])
         eq_(key, (User, (1,), None))
@@ -480,7 +483,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
     def test_identity_key_scalar(self, ormutil):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         key = ormutil.identity_key(User, 1)
         eq_(key, (User, (1,), None))
@@ -491,7 +494,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
     def test_identity_key_2(self, ormutil):
         users, User = self.tables.users, self.classes.User
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
         u = User(name="u1")
         s.add(u)
@@ -503,7 +506,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
     def test_identity_key_3(self, ormutil):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         row = {users.c.id: 1, users.c.name: "Frank"}
         key = ormutil.identity_key(User, row=row)
@@ -512,7 +515,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
     def test_identity_key_token(self):
         User, users = self.classes.User, self.tables.users
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
 
         key = orm_util.identity_key(User, [1], identity_token="token")
         eq_(key, (User, (1,), "token"))
index 0254aa24d7c12e4dbf64bdbbd15dc0e219e1e1ee..1c491e75f6745580f6f9854e23a8cb08a7146e21 100644 (file)
@@ -1,6 +1,5 @@
 from sqlalchemy import exc
 from sqlalchemy.orm import collections
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import validates
 from sqlalchemy.testing import assert_raises
@@ -26,7 +25,7 @@ class ValidatorTest(_fixtures.FixtureTest):
                 ne_(name, "fred")
                 return name + " modified"
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
         u1 = User(name="ed")
         eq_(u1.name, "ed modified")
@@ -58,8 +57,10 @@ class ValidatorTest(_fixtures.FixtureTest):
                 assert "@" in ad.email_address
                 return ad
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
         u1 = User(name="edward")
         a0 = Address(email_address="noemail")
@@ -98,10 +99,10 @@ class ValidatorTest(_fixtures.FixtureTest):
             def simple_function(self, key, value):
                 return key, value
 
-        u_m = mapper(
+        u_m = self.mapper_registry.map_imperatively(
             User, users, properties={"addresses": relationship(Address)}
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         eq_(
             dict((k, v[0].__name__) for k, v in list(u_m.validators.items())),
@@ -127,8 +128,10 @@ class ValidatorTest(_fixtures.FixtureTest):
                 canary(key, item, remove)
                 return item
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User()
         u1.name = "ed"
@@ -180,8 +183,10 @@ class ValidatorTest(_fixtures.FixtureTest):
                 item = Address(email_address=item)
                 return item
 
-        mapper(User, users, properties={"addresses": relationship(Address)})
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(
+            User, users, properties={"addresses": relationship(Address)}
+        )
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User()
         u1.addresses.append("e1")
@@ -213,7 +218,7 @@ class ValidatorTest(_fixtures.FixtureTest):
                 item = Address(email_address=item)
                 return item
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={
@@ -225,7 +230,7 @@ class ValidatorTest(_fixtures.FixtureTest):
                 )
             },
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User()
         u1.addresses["e1"] = "e1"
@@ -260,7 +265,7 @@ class ValidatorTest(_fixtures.FixtureTest):
         class User(fixtures.ComparableEntity):
             sv = validates("name")(SomeValidator())
 
-        mapper(User, users)
+        self.mapper_registry.map_imperatively(User, users)
         u1 = User(name="ed")
         eq_(u1.name, "ed modified")
 
@@ -280,7 +285,7 @@ class ValidatorTest(_fixtures.FixtureTest):
             exc.InvalidRequestError,
             "A validation function for mapped attribute "
             "'name' on mapper Mapper|Foo|users already exists",
-            mapper,
+            self.mapper_registry.map_imperatively,
             Foo,
             users,
         )
@@ -298,7 +303,7 @@ class ValidatorTest(_fixtures.FixtureTest):
             exc.InvalidRequestError,
             "A validation function for mapped attribute "
             "'name' on mapper Mapper|Bar|users already exists",
-            mapper,
+            self.mapper_registry.map_imperatively,
             Bar,
             users,
         )
@@ -362,12 +367,12 @@ class ValidatorTest(_fixtures.FixtureTest):
                     canary(key, item)
                     return item
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             User,
             users,
             properties={"addresses": relationship(Address, backref="user")},
         )
-        mapper(Address, addresses)
+        self.mapper_registry.map_imperatively(Address, addresses)
 
         u1 = User()
         u2 = User()
index 43a6ea53bb24e281f9ee4e0e40ebb08221f1f754..57fe0b7a2c7e7b6a243da5a8e63d23f05abd9c8d 100644 (file)
@@ -16,7 +16,6 @@ from sqlalchemy import TypeDecorator
 from sqlalchemy import util
 from sqlalchemy.orm import configure_mappers
 from sqlalchemy.orm import exc as orm_exc
-from sqlalchemy.orm import mapper
 from sqlalchemy.orm import relationship
 from sqlalchemy.orm import Session
 from sqlalchemy.testing import assert_raises
@@ -90,7 +89,7 @@ class NullVersionIdTest(fixtures.MappedTest):
     def _fixture(self):
         Foo, version_table = self.classes.Foo, self.tables.version_table
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             version_table,
             version_id_col=version_table.c.version_id,
@@ -174,7 +173,9 @@ class VersioningTest(fixtures.MappedTest):
     def _fixture(self):
         Foo, version_table = self.classes.Foo, self.tables.version_table
 
-        mapper(Foo, version_table, version_id_col=version_table.c.version_id)
+        self.mapper_registry.map_imperatively(
+            Foo, version_table, version_id_col=version_table.c.version_id
+        )
         s1 = fixture_session()
         return s1
 
@@ -405,7 +406,7 @@ class VersioningTest(fixtures.MappedTest):
         Foo = self.classes.Foo
         version_table = self.tables.version_table
 
-        mapper(Foo, version_table)
+        self.mapper_registry.map_imperatively(Foo, version_table)
         s1 = fixture_session()
         f1s1 = Foo(value="f1 value", version_id=1)
         s1.add(f1s1)
@@ -503,7 +504,7 @@ class VersioningTest(fixtures.MappedTest):
         Foo, version_table = self.classes.Foo, self.tables.version_table
 
         s1 = fixture_session(autocommit=False)
-        mapper(Foo, version_table)
+        self.mapper_registry.map_imperatively(Foo, version_table)
         f1s1 = Foo(value="foo", version_id=0)
         s1.add(f1s1)
         s1.commit()
@@ -634,7 +635,7 @@ class VersionOnPostUpdateTest(fixtures.MappedTest):
         Node = self.classes.Node
         node = self.tables.node
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Node,
             node,
             properties={
@@ -847,13 +848,13 @@ class NoBumpOnRelationshipTest(fixtures.MappedTest):
         A, B = self.classes("A", "B")
         a, b = self.tables("a", "b")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={"bs": relationship(B, backref="a")},
             version_id_col=a.c.version_id,
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         self._run_test()
 
@@ -861,14 +862,14 @@ class NoBumpOnRelationshipTest(fixtures.MappedTest):
         A, B = self.classes("A", "B")
         a, b = self.tables("a", "b")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={"bs": relationship(B, backref="a")},
             version_id_col=a.c.version_id,
             version_id_generator=lambda num: (num or 0) + 1,
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         self._run_test()
 
@@ -876,14 +877,14 @@ class NoBumpOnRelationshipTest(fixtures.MappedTest):
         A, B = self.classes("A", "B")
         a, b = self.tables("a", "b")
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             A,
             a,
             properties={"bs": relationship(B, backref="a")},
             version_id_col=a.c.version_id,
             version_id_generator=False,
         )
-        mapper(B, b)
+        self.mapper_registry.map_imperatively(B, b)
 
         self._run_test(False)
 
@@ -918,7 +919,9 @@ class ColumnTypeTest(fixtures.MappedTest):
     def _fixture(self):
         Foo, version_table = self.classes.Foo, self.tables.version_table
 
-        mapper(Foo, version_table, version_id_col=version_table.c.version_id)
+        self.mapper_registry.map_imperatively(
+            Foo, version_table, version_id_col=version_table.c.version_id
+        )
         s1 = fixture_session()
         return s1
 
@@ -970,7 +973,7 @@ class RowSwitchTest(fixtures.MappedTest):
     def setup_mappers(cls):
         p, c, C, P = cls.tables.p, cls.tables.c, cls.classes.C, cls.classes.P
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             P,
             p,
             version_id_col=p.c.version_id,
@@ -980,7 +983,9 @@ class RowSwitchTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(C, c, version_id_col=c.c.version_id)
+        cls.mapper_registry.map_imperatively(
+            C, c, version_id_col=c.c.version_id
+        )
 
     def test_row_switch(self):
         P = self.classes.P
@@ -1053,7 +1058,7 @@ class AlternateGeneratorTest(fixtures.MappedTest):
     def setup_mappers(cls):
         p, c, C, P = cls.tables.p, cls.tables.c, cls.classes.C, cls.classes.P
 
-        mapper(
+        cls.mapper_registry.map_imperatively(
             P,
             p,
             version_id_col=p.c.version_id,
@@ -1064,7 +1069,7 @@ class AlternateGeneratorTest(fixtures.MappedTest):
                 )
             },
         )
-        mapper(
+        cls.mapper_registry.map_imperatively(
             C,
             c,
             version_id_col=c.c.version_id,
@@ -1181,8 +1186,10 @@ class PlainInheritanceTest(fixtures.MappedTest):
             self.classes.Sub,
         )
 
-        mapper(Base, base, version_id_col=base.c.version_id)
-        mapper(Sub, sub, inherits=Base)
+        self.mapper_registry.map_imperatively(
+            Base, base, version_id_col=base.c.version_id
+        )
+        self.mapper_registry.map_imperatively(Sub, sub, inherits=Base)
 
         s = fixture_session()
         s1 = Sub(data="b", sub_data="s")
@@ -1241,8 +1248,10 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
             self.classes.Sub,
         )
 
-        mapper(Base, base, version_id_col=base.c.version_id)
-        mapper(Sub, sub, inherits=Base)
+        self.mapper_registry.map_imperatively(
+            Base, base, version_id_col=base.c.version_id
+        )
+        self.mapper_registry.map_imperatively(Sub, sub, inherits=Base)
 
         session = fixture_session()
         b1 = Base(data="b1")
@@ -1260,8 +1269,10 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
             self.classes.Sub,
         )
 
-        mapper(Base, base, version_id_col=base.c.version_id)
-        mapper(Sub, sub, inherits=Base)
+        self.mapper_registry.map_imperatively(
+            Base, base, version_id_col=base.c.version_id
+        )
+        self.mapper_registry.map_imperatively(Sub, sub, inherits=Base)
 
         session = fixture_session()
         s1 = Sub(data="s1", sub_data="s1")
@@ -1282,8 +1293,10 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
             self.classes.Sub,
         )
 
-        mapper(Base, base)
-        mapper(Sub, sub, inherits=Base, version_id_col=sub.c.version_id)
+        self.mapper_registry.map_imperatively(Base, base)
+        self.mapper_registry.map_imperatively(
+            Sub, sub, inherits=Base, version_id_col=sub.c.version_id
+        )
 
         session = fixture_session()
         s1 = Sub(data="s1", sub_data="s1")
@@ -1304,7 +1317,9 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
             self.classes.Sub,
         )
 
-        mapper(Base, base, version_id_col=base.c.version_id)
+        self.mapper_registry.map_imperatively(
+            Base, base, version_id_col=base.c.version_id
+        )
 
         assert_raises_message(
             exc.SAWarning,
@@ -1313,7 +1328,7 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
             "automatically populate the inherited versioning column. "
             "version_id_col should only be specified on "
             "the base-most mapper that includes versioning.",
-            mapper,
+            self.mapper_registry.map_imperatively,
             Sub,
             sub,
             inherits=Base,
@@ -1375,7 +1390,7 @@ class ServerVersioningTest(fixtures.MappedTest):
     def _fixture(self, expire_on_commit=True, eager_defaults=False):
         Foo, version_table = self.classes.Foo, self.tables.version_table
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             version_table,
             version_id_col=version_table.c.version_id,
@@ -1689,7 +1704,7 @@ class ManualVersionTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.A,
             cls.tables.a,
             version_id_col=cls.tables.a.c.vid,
@@ -1803,14 +1818,16 @@ class ManualInheritanceVersionTest(fixtures.MappedTest):
 
     @classmethod
     def setup_mappers(cls):
-        mapper(
+        cls.mapper_registry.map_imperatively(
             cls.classes.A,
             cls.tables.a,
             version_id_col=cls.tables.a.c.vid,
             version_id_generator=False,
         )
 
-        mapper(cls.classes.B, cls.tables.b, inherits=cls.classes.A)
+        cls.mapper_registry.map_imperatively(
+            cls.classes.B, cls.tables.b, inherits=cls.classes.A
+        )
 
     def test_no_increment(self):
         sess = fixture_session()
@@ -1872,7 +1889,9 @@ class VersioningMappedSelectTest(fixtures.MappedTest):
             .alias("current_table")
         )
 
-        mapper(Foo, current, version_id_col=version_table.c.version_id)
+        self.mapper_registry.map_imperatively(
+            Foo, current, version_id_col=version_table.c.version_id
+        )
         s1 = fixture_session()
         return s1
 
@@ -1885,7 +1904,7 @@ class VersioningMappedSelectTest(fixtures.MappedTest):
             .alias("current_table")
         )
 
-        mapper(
+        self.mapper_registry.map_imperatively(
             Foo,
             current,
             version_id_col=version_table.c.version_id,