summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing/fixtures.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2021-01-04 15:18:25 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2021-01-05 23:46:02 -0500
commit6fccdf4a285d5332ef49f23dc18c3ce45501d78b (patch)
treed276e13e8960f00dc088c40908e4991248cc8639 /lib/sqlalchemy/testing/fixtures.py
parent640cd8a70f8a664b7834c5f74ec322fdea644043 (diff)
downloadsqlalchemy-6fccdf4a285d5332ef49f23dc18c3ce45501d78b.tar.gz
remove more bound metadata
in Iae6ab95938a7e92b6d42086aec534af27b5577d3 I missed that the "bind" was being stuck onto the MetaData in TablesTest, which led thousands of ORM tests to still use bound metadata. Keep looking for bound metadata. standardize all ORM tests on a single means of getting a Session when the Session API isn't the thing we are directly testing, using a new function fixture_session() that replaces create_session() and uses modern defaults. Change-Id: Iaf71206e9ee568151496d8bc213a069504bf65ef
Diffstat (limited to 'lib/sqlalchemy/testing/fixtures.py')
-rw-r--r--lib/sqlalchemy/testing/fixtures.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py
index 209ea415e..ac4d3d8fa 100644
--- a/lib/sqlalchemy/testing/fixtures.py
+++ b/lib/sqlalchemy/testing/fixtures.py
@@ -176,7 +176,6 @@ class TablesTest(TestBase):
cls.bind = cls.setup_bind()
cls._tables_metadata = sa.MetaData()
- cls._tables_metadata.bind = cls.bind
@classmethod
def _setup_once_inserts(cls):
@@ -354,6 +353,12 @@ def create_session(**kw):
return sa.orm.Session(config.db, **kw)
+def fixture_session(**kw):
+ kw.setdefault("autoflush", True)
+ kw.setdefault("expire_on_commit", True)
+ return sa.orm.Session(config.db, **kw)
+
+
class ORMTest(_ORMTest, TestBase):
pass