summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/aaa_profiling/test_memusage.py51
-rw-r--r--test/aaa_profiling/test_orm.py51
-rw-r--r--test/aaa_profiling/test_resultset.py4
-rw-r--r--test/dialect/mssql/test_query.py11
-rw-r--r--test/dialect/oracle/test_types.py20
-rw-r--r--test/engine/test_deprecations.py96
-rw-r--r--test/engine/test_pool.py2
-rw-r--r--test/ext/declarative/test_inheritance.py12
-rw-r--r--test/ext/test_associationproxy.py16
-rw-r--r--test/ext/test_baked.py71
-rw-r--r--test/ext/test_hybrid.py45
-rw-r--r--test/ext/test_mutable.py130
-rw-r--r--test/ext/test_serializer.py5
-rw-r--r--test/orm/declarative/test_basic.py105
-rw-r--r--test/orm/declarative/test_concurrency.py4
-rw-r--r--test/orm/declarative/test_inheritance.py45
-rw-r--r--test/orm/declarative/test_mixin.py25
-rw-r--r--test/orm/declarative/test_reflection.py10
-rw-r--r--test/orm/inheritance/test_abc_inheritance.py4
-rw-r--r--test/orm/inheritance/test_abc_polymorphic.py4
-rw-r--r--test/orm/inheritance/test_assorted_poly.py49
-rw-r--r--test/orm/inheritance/test_basic.py127
-rw-r--r--test/orm/inheritance/test_concrete.py27
-rw-r--r--test/orm/inheritance/test_magazine.py4
-rw-r--r--test/orm/inheritance/test_manytomany.py12
-rw-r--r--test/orm/inheritance/test_poly_linked_list.py4
-rw-r--r--test/orm/inheritance/test_poly_loading.py19
-rw-r--r--test/orm/inheritance/test_poly_persistence.py22
-rw-r--r--test/orm/inheritance/test_polymorphic_rel.py300
-rw-r--r--test/orm/inheritance/test_productspec.py12
-rw-r--r--test/orm/inheritance/test_relationship.py100
-rw-r--r--test/orm/inheritance/test_selects.py3
-rw-r--r--test/orm/inheritance/test_single.py79
-rw-r--r--test/orm/inheritance/test_with_poly.py12
-rw-r--r--test/orm/test_ac_relationships.py9
-rw-r--r--test/orm/test_association.py24
-rw-r--r--test/orm/test_assorted_eager.py41
-rw-r--r--test/orm/test_backref_mutations.py46
-rw-r--r--test/orm/test_bind.py42
-rw-r--r--test/orm/test_bulk.py38
-rw-r--r--test/orm/test_bundle.py43
-rw-r--r--test/orm/test_cache_key.py104
-rw-r--r--test/orm/test_cascade.py184
-rw-r--r--test/orm/test_collection.py14
-rw-r--r--test/orm/test_compile.py4
-rw-r--r--test/orm/test_composites.py33
-rw-r--r--test/orm/test_core_compilation.py60
-rw-r--r--test/orm/test_cycles.py60
-rw-r--r--test/orm/test_default_strategies.py13
-rw-r--r--test/orm/test_defaults.py17
-rw-r--r--test/orm/test_deferred.py164
-rw-r--r--test/orm/test_deprecations.py408
-rw-r--r--test/orm/test_dynamic.py104
-rw-r--r--test/orm/test_eager_relations.py246
-rw-r--r--test/orm/test_evaluator.py6
-rw-r--r--test/orm/test_events.py92
-rw-r--r--test/orm/test_expire.py120
-rw-r--r--test/orm/test_froms.py196
-rw-r--r--test/orm/test_generative.py34
-rw-r--r--test/orm/test_hasparent.py5
-rw-r--r--test/orm/test_immediate_load.py6
-rw-r--r--test/orm/test_inspect.py7
-rw-r--r--test/orm/test_instrumentation.py6
-rw-r--r--test/orm/test_joins.py204
-rw-r--r--test/orm/test_lambdas.py3
-rw-r--r--test/orm/test_lazy_relations.py54
-rw-r--r--test/orm/test_loading.py12
-rw-r--r--test/orm/test_lockmode.py50
-rw-r--r--test/orm/test_manytomany.py17
-rw-r--r--test/orm/test_mapper.py78
-rw-r--r--test/orm/test_merge.py430
-rw-r--r--test/orm/test_naturalpks.py65
-rw-r--r--test/orm/test_of_type.py63
-rw-r--r--test/orm/test_onetoone.py4
-rw-r--r--test/orm/test_options.py145
-rw-r--r--test/orm/test_pickled.py178
-rw-r--r--test/orm/test_query.py699
-rw-r--r--test/orm/test_relationships.py288
-rw-r--r--test/orm/test_scoping.py2
-rw-r--r--test/orm/test_selectable.py3
-rw-r--r--test/orm/test_selectin_relations.py134
-rw-r--r--test/orm/test_session.py127
-rw-r--r--test/orm/test_subquery_relations.py116
-rw-r--r--test/orm/test_sync.py4
-rw-r--r--test/orm/test_transaction.py165
-rw-r--r--test/orm/test_unitofwork.py516
-rw-r--r--test/orm/test_unitofworkv2.py423
-rw-r--r--test/orm/test_update_delete.py113
-rw-r--r--test/orm/test_utils.py19
-rw-r--r--test/orm/test_validators.py6
-rw-r--r--test/orm/test_versioning.py77
-rw-r--r--test/sql/test_functions.py12
-rw-r--r--test/sql/test_query.py14
-rw-r--r--test/sql/test_sequences.py2
94 files changed, 3899 insertions, 3731 deletions
diff --git a/test/aaa_profiling/test_memusage.py b/test/aaa_profiling/test_memusage.py
index 7858e697d..75a4f51cf 100644
--- a/test/aaa_profiling/test_memusage.py
+++ b/test/aaa_profiling/test_memusage.py
@@ -38,6 +38,7 @@ from sqlalchemy.sql.visitors import replacement_traverse
from sqlalchemy.testing import engines
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.testing.util import gc_collect
@@ -535,7 +536,7 @@ class MemUsageWBackendTest(EnsureZeroed):
@testing.emits_warning("Compiled statement cache for.*")
def test_many_updates(self):
- metadata = MetaData(self.engine)
+ metadata = MetaData()
wide_table = Table(
"t",
@@ -551,8 +552,8 @@ class MemUsageWBackendTest(EnsureZeroed):
mapper(Wide, wide_table, _compiled_cache_size=10)
- metadata.create_all()
- with Session() as session:
+ metadata.create_all(self.engine)
+ with Session(self.engine) as session:
w1 = Wide()
session.add(w1)
session.commit()
@@ -561,7 +562,7 @@ class MemUsageWBackendTest(EnsureZeroed):
@profile_memory()
def go():
- with Session() as session:
+ with Session(self.engine) as session:
w1 = session.query(Wide).first()
x = counter[0]
dec = 10
@@ -578,7 +579,7 @@ class MemUsageWBackendTest(EnsureZeroed):
try:
go()
finally:
- metadata.drop_all()
+ metadata.drop_all(self.engine)
@testing.requires.savepoints
@testing.provide_metadata
@@ -1031,7 +1032,7 @@ class MemUsageWBackendTest(EnsureZeroed):
t2_mapper = mapper(T2, t2)
t1_mapper.add_property("bar", relationship(t2_mapper))
- s1 = Session()
+ s1 = fixture_session()
# this causes the path_registry to be invoked
s1.query(t1_mapper)._compile_context()
@@ -1151,7 +1152,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
@assert_cycles()
def go():
@@ -1163,7 +1164,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
@assert_cycles()
def go():
@@ -1223,7 +1224,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
u1 = aliased(User)
@@ -1248,7 +1249,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
def generate():
objects = s.query(User).filter(User.id == 7).all()
@@ -1264,7 +1265,7 @@ class CycleTest(_fixtures.FixtureTest):
def test_orm_objects_from_query_w_selectinload(self):
User, Address = self.classes("User", "Address")
- s = Session()
+ s = fixture_session()
def generate():
objects = s.query(User).options(selectinload(User.addresses)).all()
@@ -1328,7 +1329,7 @@ class CycleTest(_fixtures.FixtureTest):
def test_orm_objects_from_query_w_joinedload(self):
User, Address = self.classes("User", "Address")
- s = Session()
+ s = fixture_session()
def generate():
objects = s.query(User).options(joinedload(User.addresses)).all()
@@ -1344,7 +1345,7 @@ class CycleTest(_fixtures.FixtureTest):
def test_query_filtered(self):
User, Address = self.classes("User", "Address")
- s = Session()
+ s = fixture_session()
@assert_cycles()
def go():
@@ -1355,7 +1356,7 @@ class CycleTest(_fixtures.FixtureTest):
def test_query_joins(self):
User, Address = self.classes("User", "Address")
- s = Session()
+ s = fixture_session()
# cycles here are due to ClauseElement._cloned_set, others
# as of cache key
@@ -1368,7 +1369,7 @@ class CycleTest(_fixtures.FixtureTest):
def test_query_joinedload(self):
User, Address = self.classes("User", "Address")
- s = Session()
+ s = fixture_session()
def generate():
s.query(User).options(joinedload(User.addresses)).all()
@@ -1388,7 +1389,7 @@ class CycleTest(_fixtures.FixtureTest):
@assert_cycles()
def go():
- str(users.join(addresses))
+ str(users.join(addresses).compile(testing.db))
go()
@@ -1400,7 +1401,7 @@ class CycleTest(_fixtures.FixtureTest):
@assert_cycles(7)
def go():
s = select(users).select_from(users.join(addresses))
- state = s._compile_state_factory(s, s.compile())
+ state = s._compile_state_factory(s, s.compile(testing.db))
state.froms
go()
@@ -1410,7 +1411,7 @@ class CycleTest(_fixtures.FixtureTest):
@assert_cycles()
def go():
- str(orm_join(User, Address, User.addresses))
+ str(orm_join(User, Address, User.addresses).compile(testing.db))
go()
@@ -1418,7 +1419,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
@assert_cycles()
def go():
@@ -1430,7 +1431,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
@assert_cycles()
def go():
@@ -1442,7 +1443,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
stmt = s.query(User).join(User.addresses).statement
@@ -1460,7 +1461,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
stmt = s.query(User).join(User.addresses).statement
@@ -1475,7 +1476,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
stmt = s.query(User).join(User.addresses).statement
@@ -1491,7 +1492,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
stmt = s.query(User).join(User.addresses).statement
@@ -1507,7 +1508,7 @@ class CycleTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
configure_mappers()
- s = Session()
+ s = fixture_session()
stmt = s.query(User).join(User.addresses).statement
diff --git a/test/aaa_profiling/test_orm.py b/test/aaa_profiling/test_orm.py
index 547672961..f163078d8 100644
--- a/test/aaa_profiling/test_orm.py
+++ b/test/aaa_profiling/test_orm.py
@@ -20,6 +20,7 @@ from sqlalchemy.orm import sessionmaker
from sqlalchemy.testing import config
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import profiling
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -100,8 +101,8 @@ class MergeTest(NoCache, fixtures.MappedTest):
def test_merge_no_load(self):
Parent = self.classes.Parent
- sess = sessionmaker()()
- sess2 = sessionmaker()()
+ sess = fixture_session()
+ sess2 = fixture_session()
p1 = sess.query(Parent).get(1)
p1.children
@@ -129,8 +130,8 @@ class MergeTest(NoCache, fixtures.MappedTest):
def test_merge_load(self):
Parent = self.classes.Parent
- sess = sessionmaker()()
- sess2 = sessionmaker()()
+ sess = fixture_session()
+ sess2 = fixture_session()
p1 = sess.query(Parent).get(1)
p1.children
@@ -228,7 +229,7 @@ class LoadManyToOneFromIdentityTest(NoCache, fixtures.MappedTest):
def test_many_to_one_load_no_identity(self):
Parent = self.classes.Parent
- sess = Session()
+ sess = fixture_session()
parents = sess.query(Parent).all()
@profiling.function_call_count(variance=0.2)
@@ -241,7 +242,7 @@ class LoadManyToOneFromIdentityTest(NoCache, fixtures.MappedTest):
def test_many_to_one_load_identity(self):
Parent, Child = self.classes.Parent, self.classes.Child
- sess = Session()
+ sess = fixture_session()
parents = sess.query(Parent).all()
children = sess.query(Child).all()
children # strong reference
@@ -335,7 +336,7 @@ class MergeBackrefsTest(NoCache, fixtures.MappedTest):
self.classes.C,
self.classes.D,
)
- s = Session()
+ s = fixture_session()
for a in [
A(
id=i,
@@ -398,7 +399,7 @@ class DeferOptionsTest(NoCache, fixtures.MappedTest):
def test_baseline(self):
# as of [ticket:2778], this is at 39025
A = self.classes.A
- s = Session()
+ s = fixture_session()
s.query(A).all()
@profiling.function_call_count(variance=0.10)
@@ -406,7 +407,7 @@ class DeferOptionsTest(NoCache, fixtures.MappedTest):
# with [ticket:2778], this goes from 50805 to 32817,
# as it should be fewer function calls than the baseline
A = self.classes.A
- s = Session()
+ s = fixture_session()
s.query(A).options(
*[defer(letter) for letter in ["x", "y", "z", "p", "q", "r"]]
).all()
@@ -546,7 +547,7 @@ class SessionTest(NoCache, fixtures.MappedTest):
Parent(children=[Child() for j in range(10)]) for i in range(10)
]
- sess = Session()
+ sess = fixture_session()
sess.add_all(obj)
sess.flush()
@@ -588,7 +589,7 @@ class QueryTest(NoCache, fixtures.MappedTest):
def _fixture(self):
Parent = self.classes.Parent
- sess = Session()
+ sess = fixture_session()
sess.add_all(
[
Parent(data1="d1", data2="d2", data3="d3", data4="d4")
@@ -601,7 +602,7 @@ class QueryTest(NoCache, fixtures.MappedTest):
def test_query_cols(self):
Parent = self.classes.Parent
self._fixture()
- sess = Session()
+ sess = fixture_session()
# warm up cache
for attr in [Parent.data1, Parent.data2, Parent.data3, Parent.data4]:
@@ -695,7 +696,7 @@ class SelectInEagerLoadTest(NoCache, fixtures.MappedTest):
def test_round_trip_results(self):
A, B, C = self.classes("A", "B", "C")
- sess = Session()
+ sess = fixture_session()
q = sess.query(A).options(selectinload(A.bs).selectinload(B.cs))
@@ -835,7 +836,7 @@ class JoinedEagerLoadTest(NoCache, fixtures.MappedTest):
def test_build_query(self):
A, B, C, D, E, F, G = self.classes("A", "B", "C", "D", "E", "F", "G")
- sess = Session()
+ sess = fixture_session()
@profiling.function_call_count()
def go():
@@ -1122,7 +1123,7 @@ class BranchedOptionTest(NoCache, fixtures.MappedTest):
base.joinedload(B.fs),
]
- q = Session().query(A)
+ q = fixture_session().query(A)
context = q._compile_state()
@@ -1149,7 +1150,7 @@ class BranchedOptionTest(NoCache, fixtures.MappedTest):
base.joinedload(B.fs),
]
- q = Session().query(A)
+ q = fixture_session().query(A)
context = q._compile_state()
@@ -1201,7 +1202,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_no_bundle(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(A).select_from(A)
@@ -1215,7 +1216,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_no_entity_wo_annotations(self):
A = self.classes.A
a = self.tables.a
- s = Session()
+ s = fixture_session()
q = s.query(a.c.data).select_from(A)
@@ -1228,7 +1229,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_no_entity_w_annotations(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(A.data).select_from(A)
@profiling.function_call_count(warmup=1)
@@ -1240,7 +1241,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_entity_w_annotations(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(A, A.data).select_from(A)
@profiling.function_call_count(warmup=1)
@@ -1253,7 +1254,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_entity_wo_annotations(self):
A = self.classes.A
a = self.tables.a
- s = Session()
+ s = fixture_session()
q = s.query(A, a.c.data).select_from(A)
@profiling.function_call_count(warmup=1)
@@ -1266,7 +1267,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_no_bundle_wo_annotations(self):
A = self.classes.A
a = self.tables.a
- s = Session()
+ s = fixture_session()
q = s.query(a.c.data, A).select_from(A)
@profiling.function_call_count(warmup=1)
@@ -1278,7 +1279,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_no_bundle_w_annotations(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(A.data, A).select_from(A)
@profiling.function_call_count(warmup=1)
@@ -1291,7 +1292,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_bundle_wo_annotation(self):
A = self.classes.A
a = self.tables.a
- s = Session()
+ s = fixture_session()
q = s.query(Bundle("ASdf", a.c.data), A).select_from(A)
@profiling.function_call_count(warmup=1)
@@ -1303,7 +1304,7 @@ class AnnotatedOverheadTest(NoCache, fixtures.MappedTest):
def test_bundle_w_annotation(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(Bundle("ASdf", A.data), A).select_from(A)
@profiling.function_call_count(warmup=1)
diff --git a/test/aaa_profiling/test_resultset.py b/test/aaa_profiling/test_resultset.py
index c48ff53d4..ae0ea4992 100644
--- a/test/aaa_profiling/test_resultset.py
+++ b/test/aaa_profiling/test_resultset.py
@@ -166,10 +166,10 @@ class ResultSetTest(fixtures.TablesTest, AssertsExecutionResults):
# seem to be handling this for a profile that skips
result.close()
- def test_contains_doesnt_compile(self):
+ def test_contains_doesnt_compile(self, connection):
t, t2 = self.tables("table1", "table2")
- row = t.select().execute().first()
+ row = connection.execute(t.select()).first()
c1 = Column("some column", Integer) + Column(
"some other column", Integer
)
diff --git a/test/dialect/mssql/test_query.py b/test/dialect/mssql/test_query.py
index ea0bfa4d2..cdb37cc61 100644
--- a/test/dialect/mssql/test_query.py
+++ b/test/dialect/mssql/test_query.py
@@ -567,12 +567,11 @@ class MatchTest(fixtures.TablesTest, AssertsCompiledSQL):
)
).fetchall()
eq_([5], [r.id for r in results1])
- results2 = (
- matchtable.select()
- .where(matchtable.c.title.match("python AND nutshell"))
- .execute()
- .fetchall()
- )
+ results2 = connection.execute(
+ matchtable.select().where(
+ matchtable.c.title.match("python AND nutshell")
+ )
+ ).fetchall()
eq_([5], [r.id for r in results2])
def test_match_across_joins(self, connection):
diff --git a/test/dialect/oracle/test_types.py b/test/dialect/oracle/test_types.py
index 60f47bf30..f008ea019 100644
--- a/test/dialect/oracle/test_types.py
+++ b/test/dialect/oracle/test_types.py
@@ -986,23 +986,21 @@ class LOBFetchTest(fixtures.TablesTest):
self.data,
)
- def test_large_stream(self):
+ def test_large_stream(self, connection):
binary_table = self.tables.binary_table
- result = (
- binary_table.select()
- .order_by(binary_table.c.id)
- .execute()
- .fetchall()
- )
+ result = connection.execute(
+ binary_table.select().order_by(binary_table.c.id)
+ ).fetchall()
eq_(result, [(i, self.stream) for i in range(1, 11)])
def test_large_stream_single_arraysize(self):
binary_table = self.tables.binary_table
eng = testing_engine(options={"arraysize": 1})
- result = eng.execute(
- binary_table.select().order_by(binary_table.c.id)
- ).fetchall()
- eq_(result, [(i, self.stream) for i in range(1, 11)])
+ with eng.connect() as conn:
+ result = conn.execute(
+ binary_table.select().order_by(binary_table.c.id)
+ ).fetchall()
+ eq_(result, [(i, self.stream) for i in range(1, 11)])
class EuroNumericTest(fixtures.TestBase):
diff --git a/test/engine/test_deprecations.py b/test/engine/test_deprecations.py
index 286231614..a18cf756b 100644
--- a/test/engine/test_deprecations.py
+++ b/test/engine/test_deprecations.py
@@ -69,25 +69,31 @@ class ConnectionlessDeprecationTest(fixtures.TestBase):
metadata = MetaData()
Table("test_table", metadata, Column("foo", Integer))
for meth in [metadata.create_all, metadata.drop_all]:
- assert_raises_message(
- exc.UnboundExecutionError,
- "MetaData object is not bound to an Engine or Connection.",
- meth,
- )
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ assert_raises_message(
+ exc.UnboundExecutionError,
+ "MetaData object is not bound to an Engine or Connection.",
+ meth,
+ )
def test_bind_create_drop_err_table(self):
metadata = MetaData()
table = Table("test_table", metadata, Column("foo", Integer))
for meth in [table.create, table.drop]:
- assert_raises_message(
- exc.UnboundExecutionError,
- (
- "Table object 'test_table' is not bound to an Engine or "
- "Connection."
- ),
- meth,
- )
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ assert_raises_message(
+ exc.UnboundExecutionError,
+ (
+ "Table object 'test_table' is not bound to an "
+ "Engine or Connection."
+ ),
+ meth,
+ )
def test_bind_create_drop_bound(self):
@@ -106,16 +112,28 @@ class ConnectionlessDeprecationTest(fixtures.TestBase):
table = Table("test_table", metadata, Column("foo", Integer))
metadata.bind = bind
assert metadata.bind is table.bind is bind
- metadata.create_all()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ metadata.create_all()
with testing.expect_deprecated(
r"The Table.exists\(\) method is deprecated and will "
"be removed in a future release."
):
assert table.exists()
- metadata.drop_all()
- table.create()
- table.drop()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ metadata.drop_all()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ table.create()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ table.drop()
with testing.expect_deprecated(
r"The Table.exists\(\) method is deprecated and will "
"be removed in a future release."
@@ -135,15 +153,27 @@ class ConnectionlessDeprecationTest(fixtures.TestBase):
metadata.bind = bind
assert metadata.bind is table.bind is bind
- metadata.create_all()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ metadata.create_all()
with testing.expect_deprecated(
r"The Table.exists\(\) method is deprecated and will "
"be removed in a future release."
):
assert table.exists()
- metadata.drop_all()
- table.create()
- table.drop()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ metadata.drop_all()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ table.create()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods that invoke SQL"
+ ):
+ table.drop()
with testing.expect_deprecated(
r"The Table.exists\(\) method is deprecated and will "
"be removed in a future release."
@@ -166,11 +196,27 @@ class ConnectionlessDeprecationTest(fixtures.TestBase):
"test_table", metadata, Column("foo", Integer)
)
assert metadata.bind is table.bind is bind
- metadata.create_all()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods "
+ "that invoke SQL"
+ ):
+ metadata.create_all()
is_true(inspect(bind).has_table(table.name))
- metadata.drop_all()
- table.create()
- table.drop()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods "
+ "that invoke SQL"
+ ):
+ metadata.drop_all()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods "
+ "that invoke SQL"
+ ):
+ table.create()
+ with testing.expect_deprecated_20(
+ "The ``bind`` argument for schema methods "
+ "that invoke SQL"
+ ):
+ table.drop()
is_false(inspect(bind).has_table(table.name))
finally:
if isinstance(bind, engine.Connection):
diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py
index 1a49cf4b9..550fedb8e 100644
--- a/test/engine/test_pool.py
+++ b/test/engine/test_pool.py
@@ -101,7 +101,7 @@ class PoolTest(PoolTestBase):
def test_cursor_iterable(self):
conn = testing.db.raw_connection()
cursor = conn.cursor()
- cursor.execute(str(select([1], bind=testing.db)))
+ cursor.execute(str(select(1).compile(testing.db)))
expected = [(1,)]
for row in cursor:
eq_(row, expected.pop(0))
diff --git a/test/ext/declarative/test_inheritance.py b/test/ext/declarative/test_inheritance.py
index 77d4a80fe..2b80b753e 100644
--- a/test/ext/declarative/test_inheritance.py
+++ b/test/ext/declarative/test_inheritance.py
@@ -10,7 +10,6 @@ from sqlalchemy.ext.declarative import has_inherited_table
from sqlalchemy.orm import clear_mappers
from sqlalchemy.orm import close_all_sessions
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import polymorphic_union
from sqlalchemy.orm import relationship
@@ -19,6 +18,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import mock
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm.test_events import _RemoveListeners
@@ -34,7 +34,7 @@ class DeclarativeTestBase(fixtures.TestBase, testing.AssertsExecutionResults):
def teardown(self):
close_all_sessions()
clear_mappers()
- Base.metadata.drop_all()
+ Base.metadata.drop_all(testing.db)
class ConcreteInhTest(
@@ -49,8 +49,8 @@ class ConcreteInhTest(
polymorphic=True,
explicit_type=False,
):
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
e1 = Engineer(name="dilbert", primary_language="java")
e2 = Engineer(name="wally", primary_language="c++")
m1 = Manager(name="dogbert", golf_swing="fore!")
@@ -342,7 +342,7 @@ class ConcreteInhTest(
"concrete": True,
}
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
sess = Session()
sess.add(Engineer(name="d"))
sess.commit()
@@ -552,7 +552,7 @@ class ConcreteExtensionConfigTest(
c_data = Column(String(50))
__mapper_args__ = {"polymorphic_identity": "c", "concrete": True}
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
sess = Session()
sess.add_all(
[
diff --git a/test/ext/test_associationproxy.py b/test/ext/test_associationproxy.py
index 026b3cd03..b1f5cc956 100644
--- a/test/ext/test_associationproxy.py
+++ b/test/ext/test_associationproxy.py
@@ -21,7 +21,6 @@ from sqlalchemy.orm import clear_mappers
from sqlalchemy.orm import collections
from sqlalchemy.orm import composite
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
from sqlalchemy.orm import Session
@@ -34,6 +33,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing.assertions import expect_warnings
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.mock import call
from sqlalchemy.testing.mock import Mock
from sqlalchemy.testing.schema import Column
@@ -257,7 +257,7 @@ class _CollectionOperations(fixtures.TestBase):
metadata.create_all(testing.db)
self.metadata = metadata
- self.session = create_session(testing.db)
+ self.session = fixture_session()
self.Parent, self.Child = Parent, Child
def teardown(self):
@@ -943,7 +943,7 @@ class ProxyFactoryTest(ListTest):
metadata.create_all(testing.db)
self.metadata = metadata
- self.session = create_session(testing.db)
+ self.session = fixture_session()
self.Parent, self.Child = Parent, Child
def test_sequence_ops(self):
@@ -1004,7 +1004,7 @@ class ScalarTest(fixtures.TestBase):
mapper(Child, children_table)
metadata.create_all(testing.db)
- session = create_session(testing.db)
+ session = fixture_session()
def roundtrip(obj):
if obj not in session:
@@ -1193,7 +1193,7 @@ class LazyLoadTest(fixtures.TestBase):
metadata.create_all(testing.db)
self.metadata = metadata
- self.session = create_session(testing.db)
+ self.session = fixture_session()
self.Parent, self.Child = Parent, Child
self.table = parents_table
@@ -1369,7 +1369,7 @@ class ReconstitutionTest(fixtures.MappedTest):
properties=dict(children=relationship(Child)),
)
mapper(Child, self.tables.children)
- session = create_session()
+ session = fixture_session()
def add_child(parent_name, child_name):
parent = session.query(Parent).filter_by(name=parent_name).one()
@@ -3367,7 +3367,7 @@ class ProxyHybridTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_comparator_ambiguous(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(A).filter(A.b_data.any()),
"SELECT a.id AS a_id FROM a WHERE EXISTS "
@@ -3377,7 +3377,7 @@ class ProxyHybridTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_explicit_expr(self):
(C,) = self.classes("C")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(C).filter_by(attr=5),
"SELECT c.id AS c_id, c.b_id AS c_b_id FROM c WHERE EXISTS "
diff --git a/test/ext/test_baked.py b/test/ext/test_baked.py
index eff3ccdae..71fabc629 100644
--- a/test/ext/test_baked.py
+++ b/test/ext/test_baked.py
@@ -18,6 +18,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import is_
from sqlalchemy.testing import is_not
from sqlalchemy.testing import mock
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
@@ -42,7 +43,7 @@ class StateChangeTest(BakedTest):
def test_initial_key(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
def l1():
return session.query(User)
@@ -53,7 +54,7 @@ class StateChangeTest(BakedTest):
def test_inplace_add(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
def l1():
return session.query(User)
@@ -73,7 +74,7 @@ class StateChangeTest(BakedTest):
def test_inplace_add_operator(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
def l1():
return session.query(User)
@@ -90,7 +91,7 @@ class StateChangeTest(BakedTest):
def test_chained_add(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
def l1():
return session.query(User)
@@ -108,7 +109,7 @@ class StateChangeTest(BakedTest):
def test_chained_add_operator(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
def l1():
return session.query(User)
@@ -138,7 +139,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
bq += lambda q: q.filter(User.name == "asdf")
- eq_(bq(Session()).first(), None)
+ eq_(bq(fixture_session()).first(), None)
def test_first_multiple_result(self):
User = self.classes.User
@@ -146,7 +147,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User.id))
bq += lambda q: q.filter(User.name.like("%ed%")).order_by(User.id)
- eq_(bq(Session()).first(), (8,))
+ eq_(bq(fixture_session()).first(), (8,))
def test_one_or_none_no_result(self):
User = self.classes.User
@@ -154,7 +155,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
bq += lambda q: q.filter(User.name == "asdf")
- eq_(bq(Session()).one_or_none(), None)
+ eq_(bq(fixture_session()).one_or_none(), None)
def test_one_or_none_result(self):
User = self.classes.User
@@ -162,7 +163,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
bq += lambda q: q.filter(User.name == "ed")
- u1 = bq(Session()).one_or_none()
+ u1 = bq(fixture_session()).one_or_none()
eq_(u1.name, "ed")
def test_one_or_none_multiple_result(self):
@@ -174,7 +175,7 @@ class LikeQueryTest(BakedTest):
assert_raises_message(
orm_exc.MultipleResultsFound,
"Multiple rows were found when one or none was required",
- bq(Session()).one_or_none,
+ bq(fixture_session()).one_or_none,
)
def test_one_no_result(self):
@@ -186,7 +187,7 @@ class LikeQueryTest(BakedTest):
assert_raises_message(
orm_exc.NoResultFound,
"No row was found when one was required",
- bq(Session()).one,
+ bq(fixture_session()).one,
)
def test_one_result(self):
@@ -195,7 +196,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
bq += lambda q: q.filter(User.name == "ed")
- u1 = bq(Session()).one()
+ u1 = bq(fixture_session()).one()
eq_(u1.name, "ed")
def test_one_multiple_result(self):
@@ -207,7 +208,7 @@ class LikeQueryTest(BakedTest):
assert_raises_message(
orm_exc.MultipleResultsFound,
"Multiple rows were found when exactly one was required",
- bq(Session()).one,
+ bq(fixture_session()).one,
)
def test_get(self):
@@ -215,7 +216,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
- sess = Session()
+ sess = fixture_session()
def go():
u1 = bq(sess).get(7)
@@ -242,7 +243,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User.id))
- sess = Session()
+ sess = fixture_session()
bq += lambda q: q.filter(User.id == 7)
@@ -253,7 +254,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
- sess = Session()
+ sess = fixture_session()
eq_(bq(sess).count(), 4)
@@ -272,7 +273,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
- sess = Session()
+ sess = fixture_session()
eq_(bq(sess).count(), 4)
@@ -306,7 +307,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(AddressUser))
- sess = Session()
+ sess = fixture_session()
def go():
u1 = bq(sess).get((10, None))
@@ -329,7 +330,7 @@ class LikeQueryTest(BakedTest):
bq = self.bakery(lambda s: s.query(User))
for i in range(5):
- sess = Session()
+ sess = fixture_session()
u1 = bq(sess).get(7)
eq_(u1.name, "jack")
sess.close()
@@ -343,7 +344,7 @@ class LikeQueryTest(BakedTest):
del inspect(User).__dict__["_get_clause"]
for i in range(5):
- sess = Session()
+ sess = fixture_session()
u1 = bq(sess).get(7)
eq_(u1.name, "jack")
sess.close()
@@ -463,7 +464,7 @@ class ResultTest(BakedTest):
bq2 = self.bakery(fn, 8)
for i in range(3):
- session = Session(autocommit=True)
+ session = fixture_session()
eq_(bq1(session).all(), [(7,)])
eq_(bq2(session).all(), [(8,)])
@@ -476,7 +477,7 @@ class ResultTest(BakedTest):
)
for i in range(3):
- session = Session(autocommit=True)
+ session = fixture_session()
eq_(
bq(session).all(),
[(7, "jack"), (8, "ed"), (9, "fred"), (10, "chuck")],
@@ -490,7 +491,7 @@ class ResultTest(BakedTest):
)
bq += lambda q: q.limit(bindparam("limit")).offset(bindparam("offset"))
- session = Session(autocommit=True)
+ session = fixture_session()
for i in range(4):
for limit, offset, exp in [
@@ -522,7 +523,7 @@ class ResultTest(BakedTest):
bq += fn2
- sess = Session(autocommit=True, enable_baked_queries=False)
+ sess = fixture_session(autocommit=True, enable_baked_queries=False)
eq_(bq.add_criteria(fn3)(sess).params(id=7).all(), [(7, "jack")])
eq_(
@@ -562,7 +563,7 @@ class ResultTest(BakedTest):
bq += fn2
- sess = Session(autocommit=True)
+ sess = fixture_session()
eq_(
bq.spoil(full=True).add_criteria(fn3)(sess).params(id=7).all(),
[(7, "jack")],
@@ -609,7 +610,7 @@ class ResultTest(BakedTest):
bq += fn2
- sess = Session(autocommit=True)
+ sess = fixture_session()
eq_(
bq.spoil().add_criteria(fn3)(sess).params(id=7).all(),
[(7, "jack")],
@@ -639,7 +640,7 @@ class ResultTest(BakedTest):
bq += lambda q: q._from_self().with_entities(func.count(User.id))
for i in range(3):
- session = Session(autocommit=True)
+ session = fixture_session()
eq_(bq(session).all(), [(4,)])
def test_conditional_step(self):
@@ -674,7 +675,7 @@ class ResultTest(BakedTest):
bq += lambda q: q._from_self().with_entities(
func.count(User.id)
)
- sess = Session(autocommit=True)
+ sess = fixture_session()
result = bq(sess).all()
if cond4:
if cond1:
@@ -729,7 +730,7 @@ class ResultTest(BakedTest):
if cond1
else (lambda q: q.filter(User.name == "jack"))
) # noqa
- sess = Session(autocommit=True)
+ sess = fixture_session()
result = bq(sess).all()
if cond1:
@@ -754,7 +755,7 @@ class ResultTest(BakedTest):
main_bq += lambda q: q.filter(sub_bq.to_query(q).exists())
main_bq += lambda q: q.order_by(Address.id)
- sess = Session()
+ sess = fixture_session()
result = main_bq(sess).all()
eq_(result, [(2,), (3,), (4,)])
@@ -775,7 +776,7 @@ class ResultTest(BakedTest):
)
main_bq += lambda q: q.order_by(Address.id)
- sess = Session()
+ sess = fixture_session()
result = main_bq(sess).all()
eq_(result, [(2, "ed"), (3, "ed"), (4, "ed")])
@@ -840,7 +841,7 @@ class ResultTest(BakedTest):
print("HI----")
bq = base_bq._clone()
- sess = Session()
+ sess = fixture_session()
if cond1:
bq += lambda q: q.filter(User.name == "jack")
@@ -908,7 +909,7 @@ class ResultTest(BakedTest):
bq += lambda q: q.options(subqueryload(User.addresses))
bq += lambda q: q.order_by(User.id)
bq += lambda q: q.filter(User.name == bindparam("name"))
- sess = Session()
+ sess = fixture_session()
def set_params(q):
return q.params(name="jack")
@@ -950,7 +951,7 @@ class ResultTest(BakedTest):
bq += lambda q: q.options(subqueryload(User.addresses))
bq += lambda q: q.order_by(User.id)
bq += lambda q: q.filter(User.name == bindparam("name"))
- sess = Session()
+ sess = fixture_session()
def set_params(q):
return q.params(name="jack")
@@ -1007,7 +1008,7 @@ class CustomIntegrationTest(testing.AssertsCompiledSQL, BakedTest):
cache[cache_key] = retval = createfunc().freeze()
return retval()
- s1 = Session(query_cls=CachingQuery)
+ s1 = fixture_session(query_cls=CachingQuery)
@event.listens_for(s1, "do_orm_execute", retval=True)
def do_orm_execute(orm_context):
diff --git a/test/ext/test_hybrid.py b/test/ext/test_hybrid.py
index fbac35f7e..048a8b52d 100644
--- a/test/ext/test_hybrid.py
+++ b/test/ext/test_hybrid.py
@@ -17,6 +17,7 @@ from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
@@ -70,14 +71,14 @@ class PropertyComparatorTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(A.value), "SELECT a.value AS a_value FROM a"
)
def test_aliased_query(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(aliased(A).value),
"SELECT a_1.value AS a_1_value FROM a AS a_1",
@@ -85,7 +86,7 @@ class PropertyComparatorTest(fixtures.TestBase, AssertsCompiledSQL):
def test_aliased_filter(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(aliased(A)).filter_by(value="foo"),
"SELECT a_1.value AS a_1_value, a_1.id AS a_1_id "
@@ -183,7 +184,7 @@ class PropertyExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
def test_any(self):
A, B = self._relationship_fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(B).filter(B.as_.any(value=5)),
"SELECT b.id AS b_id FROM b WHERE EXISTS "
@@ -200,7 +201,7 @@ class PropertyExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(A).filter_by(value="foo"),
"SELECT a.value AS a_value, a.id AS a_id "
@@ -209,7 +210,7 @@ class PropertyExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
def test_aliased_query(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(aliased(A)).filter_by(value="foo"),
"SELECT a_1.value AS a_1_value, a_1.id AS a_1_id "
@@ -489,7 +490,7 @@ class MethodExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(A).filter(A.value(5) == "foo"),
"SELECT a.value AS a_value, a.id AS a_id "
@@ -498,7 +499,7 @@ class MethodExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
def test_aliased_query(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
a1 = aliased(A)
self.assert_compile(
sess.query(a1).filter(a1.value(5) == "foo"),
@@ -508,7 +509,7 @@ class MethodExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query_col(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(A.value(5)),
"SELECT foo(a.value, :foo_1) + :foo_2 AS anon_1 FROM a",
@@ -516,7 +517,7 @@ class MethodExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
def test_aliased_query_col(self):
A = self._fixture()
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(aliased(A).value(5)),
"SELECT foo(a_1.value, :foo_1) + :foo_2 AS anon_1 FROM a AS a_1",
@@ -610,7 +611,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_evaluate_hybrid_attr_indirect(self):
Person = self.classes.Person
- s = Session()
+ s = fixture_session()
jill = s.query(Person).get(3)
s.query(Person).update(
@@ -621,7 +622,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_evaluate_hybrid_attr_plain(self):
Person = self.classes.Person
- s = Session()
+ s = fixture_session()
jill = s.query(Person).get(3)
s.query(Person).update(
@@ -632,7 +633,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_fetch_hybrid_attr_indirect(self):
Person = self.classes.Person
- s = Session()
+ s = fixture_session()
jill = s.query(Person).get(3)
s.query(Person).update(
@@ -643,7 +644,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_fetch_hybrid_attr_plain(self):
Person = self.classes.Person
- s = Session()
+ s = fixture_session()
jill = s.query(Person).get(3)
s.query(Person).update(
@@ -654,7 +655,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_evaluate_hybrid_attr_w_update_expr(self):
Person = self.classes.Person
- s = Session()
+ s = fixture_session()
jill = s.query(Person).get(3)
s.query(Person).update(
@@ -665,7 +666,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_fetch_hybrid_attr_w_update_expr(self):
Person = self.classes.Person
- s = Session()
+ s = fixture_session()
jill = s.query(Person).get(3)
s.query(Person).update(
@@ -676,7 +677,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_evaluate_hybrid_attr_indirect_w_update_expr(self):
Person = self.classes.Person
- s = Session()
+ s = fixture_session()
jill = s.query(Person).get(3)
s.query(Person).update(
@@ -813,7 +814,7 @@ class SpecialObjectTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query_one(self):
BankAccount, Amount = self.BankAccount, self.Amount
- session = Session()
+ session = fixture_session()
query = session.query(BankAccount).filter(
BankAccount.balance == Amount(10000, "cad")
@@ -829,7 +830,7 @@ class SpecialObjectTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query_two(self):
BankAccount, Amount = self.BankAccount, self.Amount
- session = Session()
+ session = fixture_session()
# alternatively we can do the calc on the DB side.
query = (
@@ -858,7 +859,7 @@ class SpecialObjectTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query_three(self):
BankAccount = self.BankAccount
- session = Session()
+ session = fixture_session()
query = session.query(BankAccount).filter(
BankAccount.balance.as_currency("cad")
@@ -879,7 +880,7 @@ class SpecialObjectTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query_four(self):
BankAccount = self.BankAccount
- session = Session()
+ session = fixture_session()
# 4c. query all amounts, converting to "CAD" on the DB side
query = session.query(BankAccount.balance.as_currency("cad").amount)
@@ -892,7 +893,7 @@ class SpecialObjectTest(fixtures.TestBase, AssertsCompiledSQL):
def test_query_five(self):
BankAccount = self.BankAccount
- session = Session()
+ session = fixture_session()
# 4d. average balance in EUR
query = session.query(func.avg(BankAccount.balance.as_currency("eur")))
diff --git a/test/ext/test_mutable.py b/test/ext/test_mutable.py
index acb0ad490..eba2ac0cb 100644
--- a/test/ext/test_mutable.py
+++ b/test/ext/test_mutable.py
@@ -15,7 +15,6 @@ from sqlalchemy.orm import attributes
from sqlalchemy.orm import column_property
from sqlalchemy.orm import composite
from sqlalchemy.orm import mapper
-from sqlalchemy.orm import Session
from sqlalchemy.orm.instrumentation import ClassManager
from sqlalchemy.orm.mapper import Mapper
from sqlalchemy.testing import assert_raises
@@ -23,6 +22,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import mock
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.testing.util import picklers
@@ -106,7 +106,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
mapper(Foo, foo)
def test_coerce_none(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=None)
sess.add(f1)
sess.commit()
@@ -121,7 +121,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
)
def test_in_place_mutation(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
@@ -149,7 +149,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
)
def test_clear(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
@@ -161,7 +161,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, {})
def test_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
@@ -173,7 +173,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, {"a": "z"})
def test_pop(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b", "c": "d"})
sess.add(f1)
@@ -187,7 +187,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, {"c": "d"})
def test_pop_default(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b", "c": "d"})
sess.add(f1)
@@ -200,7 +200,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, {"c": "d"})
def test_popitem(self):
- sess = Session()
+ sess = fixture_session()
orig = {"a": "b", "c": "d"}
@@ -220,7 +220,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, orig)
def test_setdefault(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
@@ -237,7 +237,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, {"a": "b", "c": "d"})
def test_replace(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
sess.flush()
@@ -247,7 +247,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, {"b": "c"})
def test_replace_itself_still_ok(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
sess.flush()
@@ -258,7 +258,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data, {"a": "b", "b": "c"})
def test_pickle_parent(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
@@ -267,14 +267,14 @@ class _MutableDictTestBase(_MutableDictTestFixture):
sess.close()
for loads, dumps in picklers():
- sess = Session()
+ sess = fixture_session()
f2 = loads(dumps(f1))
sess.add(f2)
f2.data["a"] = "c"
assert f2 in sess.dirty
def test_unrelated_flush(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"}, unrelated_data="unrelated")
sess.add(f1)
sess.flush()
@@ -285,7 +285,7 @@ class _MutableDictTestBase(_MutableDictTestFixture):
eq_(f1.data["a"], "c")
def _test_non_mutable(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(non_mutable_data={"a": "b"})
sess.add(f1)
@@ -328,7 +328,7 @@ class _MutableListTestBase(_MutableListTestFixture):
mapper(Foo, foo)
def test_coerce_none(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=None)
sess.add(f1)
sess.commit()
@@ -343,7 +343,7 @@ class _MutableListTestBase(_MutableListTestFixture):
)
def test_in_place_mutation(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2])
sess.add(f1)
@@ -355,7 +355,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [3, 2])
def test_in_place_slice_mutation(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2, 3, 4])
sess.add(f1)
@@ -367,7 +367,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [1, 5, 6, 4])
def test_del_slice(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2, 3, 4])
sess.add(f1)
@@ -382,7 +382,7 @@ class _MutableListTestBase(_MutableListTestFixture):
if not hasattr(list, "clear"):
# py2 list doesn't have 'clear'
return
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2])
sess.add(f1)
@@ -394,7 +394,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [])
def test_pop(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2, 3])
sess.add(f1)
@@ -409,7 +409,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [2])
def test_append(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2])
sess.add(f1)
@@ -421,7 +421,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [1, 2, 5])
def test_extend(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2])
sess.add(f1)
@@ -433,7 +433,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [1, 2, 5])
def test_operator_extend(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2])
sess.add(f1)
@@ -445,7 +445,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [1, 2, 5])
def test_insert(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2])
sess.add(f1)
@@ -457,7 +457,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [1, 5, 2])
def test_remove(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2, 3])
sess.add(f1)
@@ -469,7 +469,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [1, 3])
def test_sort(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 3, 2])
sess.add(f1)
@@ -481,7 +481,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [1, 2, 3])
def test_sort_w_key(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 3, 2])
sess.add(f1)
@@ -493,7 +493,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [3, 2, 1])
def test_sort_w_reverse_kwarg(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 3, 2])
sess.add(f1)
@@ -505,7 +505,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [3, 2, 1])
def test_reverse(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 3, 2])
sess.add(f1)
@@ -517,7 +517,7 @@ class _MutableListTestBase(_MutableListTestFixture):
eq_(f1.data, [2, 3, 1])
def test_pickle_parent(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2])
sess.add(f1)
@@ -526,14 +526,14 @@ class _MutableListTestBase(_MutableListTestFixture):
sess.close()
for loads, dumps in picklers():
- sess = Session()
+ sess = fixture_session()
f2 = loads(dumps(f1))
sess.add(f2)
f2.data[0] = 3
assert f2 in sess.dirty
def test_unrelated_flush(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=[1, 2], unrelated_data="unrelated")
sess.add(f1)
sess.flush()
@@ -635,7 +635,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
mapper(Foo, foo)
def test_coerce_none(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=None)
sess.add(f1)
sess.commit()
@@ -650,7 +650,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
)
def test_clear(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -662,7 +662,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set())
def test_pop(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1]))
sess.add(f1)
@@ -676,7 +676,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set())
def test_add(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -688,7 +688,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1, 2, 5]))
def test_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -700,7 +700,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1, 2, 5]))
def test_binary_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -712,7 +712,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1, 2, 5]))
def test_intersection_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -724,7 +724,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([2]))
def test_binary_intersection_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -736,7 +736,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([2]))
def test_difference_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -748,7 +748,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1]))
def test_operator_difference_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -760,7 +760,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1]))
def test_symmetric_difference_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -772,7 +772,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1, 5]))
def test_binary_symmetric_difference_update(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -784,7 +784,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1, 5]))
def test_remove(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2, 3]))
sess.add(f1)
@@ -796,7 +796,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1, 3]))
def test_discard(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2, 3]))
sess.add(f1)
@@ -813,7 +813,7 @@ class _MutableSetTestBase(_MutableSetTestFixture):
eq_(f1.data, set([1, 3]))
def test_pickle_parent(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]))
sess.add(f1)
@@ -822,14 +822,14 @@ class _MutableSetTestBase(_MutableSetTestFixture):
sess.close()
for loads, dumps in picklers():
- sess = Session()
+ sess = fixture_session()
f2 = loads(dumps(f1))
sess.add(f2)
f2.data.add(3)
assert f2 in sess.dirty
def test_unrelated_flush(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=set([1, 2]), unrelated_data="unrelated")
sess.add(f1)
sess.flush()
@@ -873,7 +873,7 @@ class MutableColumnDefaultTest(_MutableDictTestFixture, fixtures.MappedTest):
def test_evt_on_flush_refresh(self):
# test for #3427
- sess = Session()
+ sess = fixture_session()
f1 = Foo()
sess.add(f1)
@@ -1080,7 +1080,7 @@ class MutableAssocWithAttrInheritTest(
MutableDict.associate_with_attribute(Foo.data)
def test_in_place_mutation(self):
- sess = Session()
+ sess = fixture_session()
f1 = SubFoo(data={"a": "b"})
sess.add(f1)
@@ -1092,7 +1092,7 @@ class MutableAssocWithAttrInheritTest(
eq_(f1.data, {"a": "c"})
def test_replace(self):
- sess = Session()
+ sess = fixture_session()
f1 = SubFoo(data={"a": "b"})
sess.add(f1)
sess.flush()
@@ -1213,7 +1213,7 @@ class CustomMutableAssociationScalarJSONTest(
pass
def test_coerce(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data={"a": "b"})
sess.add(f1)
sess.flush()
@@ -1283,7 +1283,7 @@ class MutableCompositeColumnDefaultTest(
def test_evt_on_flush_refresh(self):
# this still worked prior to #3427 being fixed in any case
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=self.Point(None, None))
sess.add(f1)
@@ -1325,7 +1325,7 @@ class MutableCompositesTest(_CompositeTestBase, fixtures.MappedTest):
)
def test_in_place_mutation(self):
- sess = Session()
+ sess = fixture_session()
d = Point(3, 4)
f1 = Foo(data=d)
sess.add(f1)
@@ -1337,7 +1337,7 @@ class MutableCompositesTest(_CompositeTestBase, fixtures.MappedTest):
eq_(f1.data, Point(3, 5))
def test_pickle_of_parent(self):
- sess = Session()
+ sess = fixture_session()
d = Point(3, 4)
f1 = Foo(data=d)
sess.add(f1)
@@ -1348,14 +1348,14 @@ class MutableCompositesTest(_CompositeTestBase, fixtures.MappedTest):
sess.close()
for loads, dumps in picklers():
- sess = Session()
+ sess = fixture_session()
f2 = loads(dumps(f1))
sess.add(f2)
f2.data.y = 12
assert f2 in sess.dirty
def test_set_none(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=None)
sess.add(f1)
sess.commit()
@@ -1377,7 +1377,7 @@ class MutableCompositesTest(_CompositeTestBase, fixtures.MappedTest):
)
def test_unrelated_flush(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=Point(3, 4), unrelated_data="unrelated")
sess.add(f1)
sess.flush()
@@ -1407,7 +1407,7 @@ class MutableCompositeCallableTest(_CompositeTestBase, fixtures.MappedTest):
)
def test_basic(self):
- sess = Session()
+ sess = fixture_session()
f1 = Foo(data=Point(3, 4))
sess.add(f1)
sess.flush()
@@ -1442,7 +1442,7 @@ class MutableCompositeCustomCoerceTest(
eq_(f.data, Point(3, 4))
def test_round_trip_ok(self):
- sess = Session()
+ sess = fixture_session()
f = Foo()
f.data = (3, 4)
@@ -1483,7 +1483,7 @@ class MutableInheritedCompositesTest(_CompositeTestBase, fixtures.MappedTest):
mapper(SubFoo, subfoo, inherits=Foo)
def test_in_place_mutation_subclass(self):
- sess = Session()
+ sess = fixture_session()
d = Point(3, 4)
f1 = SubFoo(data=d)
sess.add(f1)
@@ -1495,7 +1495,7 @@ class MutableInheritedCompositesTest(_CompositeTestBase, fixtures.MappedTest):
eq_(f1.data, Point(3, 5))
def test_pickle_of_parent_subclass(self):
- sess = Session()
+ sess = fixture_session()
d = Point(3, 4)
f1 = SubFoo(data=d)
sess.add(f1)
@@ -1506,7 +1506,7 @@ class MutableInheritedCompositesTest(_CompositeTestBase, fixtures.MappedTest):
sess.close()
for loads, dumps in picklers():
- sess = Session()
+ sess = fixture_session()
f2 = loads(dumps(f1))
sess.add(f2)
f2.data.y = 12
diff --git a/test/ext/test_serializer.py b/test/ext/test_serializer.py
index 6d7b8da33..12e4255fa 100644
--- a/test/ext/test_serializer.py
+++ b/test/ext/test_serializer.py
@@ -67,7 +67,7 @@ class SerializeTest(AssertsCompiledSQL, fixtures.MappedTest):
@classmethod
def setup_mappers(cls):
global Session
- Session = scoped_session(sessionmaker())
+ Session = scoped_session(sessionmaker(testing.db))
mapper(
User,
users,
@@ -141,9 +141,8 @@ class SerializeTest(AssertsCompiledSQL, fixtures.MappedTest):
serializer.dumps(expr, -1), users.metadata, None
)
eq_(str(expr), str(re_expr))
- assert re_expr.bind is testing.db
eq_(
- re_expr.execute().fetchall(),
+ Session.connection().execute(re_expr).fetchall(),
[(7, "jack"), (8, "ed"), (8, "ed"), (8, "ed"), (9, "fred")],
)
diff --git a/test/orm/declarative/test_basic.py b/test/orm/declarative/test_basic.py
index a1bbce53d..4c005d336 100644
--- a/test/orm/declarative/test_basic.py
+++ b/test/orm/declarative/test_basic.py
@@ -43,7 +43,7 @@ from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import mock
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.util import with_metaclass
@@ -68,7 +68,7 @@ class DeclarativeTestBase(
def teardown(self):
close_all_sessions()
clear_mappers()
- Base.metadata.drop_all()
+ Base.metadata.drop_all(testing.db)
class DeclarativeTest(DeclarativeTestBase):
@@ -93,7 +93,7 @@ class DeclarativeTest(DeclarativeTestBase):
"user_id", Integer, ForeignKey("users.id"), key="_user_id"
)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
eq_(Address.__table__.c["id"].name, "id")
eq_(Address.__table__.c["_email"].name, "email")
@@ -102,7 +102,7 @@ class DeclarativeTest(DeclarativeTestBase):
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -193,14 +193,15 @@ class DeclarativeTest(DeclarativeTestBase):
orm_exc.UnmappedClassError,
"Class .*User has a deferred "
"mapping on it. It is not yet usable as a mapped class.",
- Session().query,
+ fixture_session().query,
User,
)
User.prepare()
self.assert_compile(
- Session().query(User), 'SELECT "user".id AS user_id FROM "user"'
+ fixture_session().query(User),
+ 'SELECT "user".id AS user_id FROM "user"',
)
def test_unicode_string_resolve(self):
@@ -598,8 +599,8 @@ class DeclarativeTest(DeclarativeTestBase):
email = Column(String(50))
user_id = Column(Integer) # note no foreign key
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
u1 = User(
name="ed",
addresses=[
@@ -644,8 +645,8 @@ class DeclarativeTest(DeclarativeTestBase):
)
name = Column(String(50))
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
u1 = User(name="ed")
sess.add(u1)
sess.flush()
@@ -693,7 +694,7 @@ class DeclarativeTest(DeclarativeTestBase):
name = Column(String(50))
users = relationship("User", order_by="User.fullname")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Game).options(joinedload(Game.users)),
"SELECT game.id AS game_id, game.name AS game_name, "
@@ -738,7 +739,7 @@ class DeclarativeTest(DeclarativeTestBase):
id = Column(Integer, primary_key=True)
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(A).join(A.d),
"SELECT a.id AS a_id, a.b_id AS a_b_id FROM a JOIN "
@@ -1061,8 +1062,8 @@ class DeclarativeTest(DeclarativeTestBase):
# generally go downhill from there.
class_mapper(User)
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
u1 = User(
name="ed",
addresses=[
@@ -1158,12 +1159,12 @@ class DeclarativeTest(DeclarativeTestBase):
master_id = Column(None, ForeignKey(Master.id))
master = relationship(Master)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
configure_mappers()
assert class_mapper(Detail).get_property("master").strategy.use_get
m1 = Master()
d1 = Detail(master=m1)
- sess = create_session()
+ sess = fixture_session()
sess.add(d1)
sess.flush()
sess.expunge_all()
@@ -1193,7 +1194,7 @@ class DeclarativeTest(DeclarativeTestBase):
assert User.__table__.c.name in set(i.columns)
# tables create fine
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
def test_add_prop(self):
class User(Base, fixtures.ComparableEntity):
@@ -1217,14 +1218,14 @@ class DeclarativeTest(DeclarativeTestBase):
Address.user_id = Column(
"user_id", Integer, ForeignKey("users.id"), key="_user_id"
)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
eq_(Address.__table__.c["id"].name, "id")
eq_(Address.__table__.c["_email"].name, "email")
eq_(Address.__table__.c["_user_id"].name, "user_id")
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -1331,11 +1332,11 @@ class DeclarativeTest(DeclarativeTestBase):
name = Column("name", String(50))
addresses = relationship("Address", order_by=Address.email)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="two"), Address(email="one")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -1370,11 +1371,11 @@ class DeclarativeTest(DeclarativeTestBase):
"Address", order_by=(Address.email, Address.id)
)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="two"), Address(email="one")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -1403,7 +1404,7 @@ class DeclarativeTest(DeclarativeTestBase):
reg = registry(metadata=Base.metadata)
reg.mapped(User)
reg.mapped(Address)
- reg.metadata.create_all()
+ reg.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
@@ -1593,11 +1594,11 @@ class DeclarativeTest(DeclarativeTestBase):
.where(Address.user_id == User.id)
.scalar_subquery()
)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -1641,11 +1642,11 @@ class DeclarativeTest(DeclarativeTestBase):
.scalar_subquery()
)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -1707,11 +1708,11 @@ class DeclarativeTest(DeclarativeTestBase):
User.a = Column("a", String(10))
User.b = Column(String(10))
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(name="u1", a="a", b="b")
eq_(u1.a, "a")
eq_(User.a.get_history(u1), (["a"], (), ()))
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -1742,11 +1743,11 @@ class DeclarativeTest(DeclarativeTestBase):
)
addresses = relationship(Address)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -1792,8 +1793,8 @@ class DeclarativeTest(DeclarativeTestBase):
)
name = sa.orm.deferred(Column(String(50)))
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
sess.add(User(name="u1"))
sess.flush()
sess.expunge_all()
@@ -1825,8 +1826,8 @@ class DeclarativeTest(DeclarativeTestBase):
Column("state", String(2)),
)
- Base.metadata.create_all()
- sess = Session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
sess.add(User(address=AddressComposite("123 anywhere street", "MD")))
sess.commit()
eq_(
@@ -1852,8 +1853,8 @@ class DeclarativeTest(DeclarativeTestBase):
state = Column(String(2))
address = composite(AddressComposite, street, state)
- Base.metadata.create_all()
- sess = Session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
sess.add(User(address=AddressComposite("123 anywhere street", "MD")))
sess.commit()
eq_(
@@ -1908,8 +1909,8 @@ class DeclarativeTest(DeclarativeTestBase):
"_name", descriptor=property(_get_name, _set_name)
)
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
u1 = User(name="someuser")
eq_(u1.name, "SOMENAME someuser")
sess.add(u1)
@@ -1937,8 +1938,8 @@ class DeclarativeTest(DeclarativeTestBase):
_name = Column("name", String(50))
name = sa.orm.synonym("_name", comparator_factory=CustomCompare)
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
u1 = User(name="someuser FOO")
sess.add(u1)
sess.flush()
@@ -1962,8 +1963,8 @@ class DeclarativeTest(DeclarativeTestBase):
name = property(_get_name, _set_name)
User.name = sa.orm.synonym("_name", descriptor=User.name)
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
u1 = User(name="someuser")
eq_(u1.name, "SOMENAME someuser")
sess.add(u1)
@@ -2000,11 +2001,11 @@ class DeclarativeTest(DeclarativeTestBase):
list(Address.user_id.property.columns[0].foreign_keys)[0].column,
User.__table__.c.id,
)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -2044,11 +2045,11 @@ class DeclarativeTest(DeclarativeTestBase):
.where(Address.user_id == User.id)
.scalar_subquery()
)
- Base.metadata.create_all()
+ Base.metadata.create_all(testing.db)
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -2096,7 +2097,7 @@ class DeclarativeTest(DeclarativeTestBase):
__table__ = Table("t1", Base.metadata, autoload_with=testing.db)
- sess = create_session()
+ sess = fixture_session()
m = MyObj(id="someid", data="somedata")
sess.add(m)
sess.flush()
@@ -2116,8 +2117,8 @@ class DeclarativeTest(DeclarativeTestBase):
def namesyn(self):
return self.name
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
u1 = User(name="someuser")
eq_(u1.name, "someuser")
eq_(u1.namesyn, "someuser")
@@ -2356,7 +2357,7 @@ def _produce_test(inline, stringbased):
# PropertyLoader.Comparator will annotate the left side with
# _orm_adapt, though.
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User)
.join(User.addresses, aliased=True)
diff --git a/test/orm/declarative/test_concurrency.py b/test/orm/declarative/test_concurrency.py
index d731c6afa..5f12d8272 100644
--- a/test/orm/declarative/test_concurrency.py
+++ b/test/orm/declarative/test_concurrency.py
@@ -12,8 +12,8 @@ from sqlalchemy.orm import declarative_base
from sqlalchemy.orm import declared_attr
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
class ConcurrentUseDeclMappingTest(fixtures.TestBase):
@@ -34,7 +34,7 @@ class ConcurrentUseDeclMappingTest(fixtures.TestBase):
@classmethod
def query_a(cls, Base, result):
- s = Session()
+ s = fixture_session()
time.sleep(random.random() / 100)
A = cls.A
try:
diff --git a/test/orm/declarative/test_inheritance.py b/test/orm/declarative/test_inheritance.py
index d8847ed40..cc29cab7d 100644
--- a/test/orm/declarative/test_inheritance.py
+++ b/test/orm/declarative/test_inheritance.py
@@ -9,11 +9,9 @@ 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 create_session
from sqlalchemy.orm import deferred
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
@@ -21,6 +19,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import is_false
from sqlalchemy.testing import is_true
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -35,7 +34,7 @@ class DeclarativeTestBase(fixtures.TestBase, testing.AssertsExecutionResults):
def teardown(self):
close_all_sessions()
clear_mappers()
- Base.metadata.drop_all()
+ Base.metadata.drop_all(testing.db)
class DeclarativeInheritanceTest(DeclarativeTestBase):
@@ -137,8 +136,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
)
golf_swing = Column("golf_swing", String(50))
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
c1 = Company(
name="MegaCorp, Inc.",
employees=[
@@ -218,8 +217,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
)
Engineer.primary_language = Column("primary_language", String(50))
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
e1 = Engineer(primary_language="java", name="dilbert")
sess.add(e1)
sess.flush()
@@ -249,8 +248,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
)
Person.name = Column("name", String(50))
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
e1 = Engineer(primary_language="java", name="dilbert")
sess.add(e1)
sess.flush()
@@ -289,8 +288,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
)
Person.name = Column("name", String(50))
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
e1 = Admin(primary_language="java", name="dilbert", workstation="foo")
sess.add(e1)
sess.flush()
@@ -531,8 +530,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
__mapper_args__ = {"polymorphic_identity": "manager"}
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
c1 = Company(
name="MegaCorp, Inc.",
employees=[
@@ -621,8 +620,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
assert not hasattr(Person, "golf_swing")
assert not hasattr(Engineer, "golf_swing")
assert not hasattr(Manager, "primary_language")
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
e1 = Engineer(name="dilbert", primary_language="java")
e2 = Engineer(name="wally", primary_language="c++")
m1 = Manager(name="dogbert", golf_swing="fore!")
@@ -837,8 +836,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
Manager.target_id.property.columns[0], Person.__table__.c.target_id
)
# do a brief round trip on this
- Base.metadata.create_all()
- session = Session()
+ Base.metadata.create_all(testing.db)
+ session = fixture_session()
o1, o2 = Other(), Other()
session.add_all(
[Engineer(target=o1), Manager(target=o2), Manager(target=o1)]
@@ -957,8 +956,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
assert not hasattr(Person, "golf_swing")
assert not hasattr(Engineer, "golf_swing")
assert not hasattr(Manager, "primary_language")
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
e1 = Engineer(name="dilbert", primary_language="java")
e2 = Engineer(name="wally", primary_language="c++")
m1 = Manager(name="dogbert", golf_swing="fore!")
@@ -1043,8 +1042,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
)
Person.name = deferred(Column(String(10)))
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
p = Person(name="ratbert")
sess.add(p)
sess.flush()
@@ -1085,8 +1084,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
name = Column(String(50))
assert not hasattr(Person, "primary_language_id")
- Base.metadata.create_all()
- sess = create_session()
+ Base.metadata.create_all(testing.db)
+ sess = fixture_session()
java, cpp, cobol = (
Language(name="java"),
Language(name="cpp"),
diff --git a/test/orm/declarative/test_mixin.py b/test/orm/declarative/test_mixin.py
index ca2fb83ca..631527daf 100644
--- a/test/orm/declarative/test_mixin.py
+++ b/test/orm/declarative/test_mixin.py
@@ -19,7 +19,6 @@ from sqlalchemy.orm import events as orm_events
from sqlalchemy.orm import has_inherited_table
from sqlalchemy.orm import registry
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
from sqlalchemy.orm import synonym
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
@@ -28,7 +27,7 @@ from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import mock
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.testing.util import gc_collect
@@ -69,7 +68,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
name = Column(String(100), nullable=False, index=True)
Base.metadata.create_all(testing.db)
- session = create_session()
+ session = fixture_session()
session.add(MyModel(name="testing"))
session.flush()
session.expunge_all()
@@ -95,7 +94,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
name = Column(String(100), nullable=False, index=True)
Base.metadata.create_all(testing.db)
- session = create_session()
+ session = fixture_session()
session.add(MyModel(name="testing"))
session.flush()
session.expunge_all()
@@ -136,7 +135,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
name = Column(String(100), nullable=False, index=True)
Base.metadata.create_all(testing.db)
- session = create_session()
+ session = fixture_session()
session.add(MyModel(name="testing", baz="fu"))
session.flush()
session.expunge_all()
@@ -167,7 +166,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
name = Column(String(100), nullable=False, index=True)
Base.metadata.create_all(testing.db)
- session = create_session()
+ session = fixture_session()
session.add(MyModel(name="testing", baz="fu"))
session.flush()
session.expunge_all()
@@ -460,7 +459,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
)
# do a brief round trip on this
Base.metadata.create_all(testing.db)
- session = create_session()
+ session = fixture_session()
o1, o2 = Other(), Other()
session.add_all(
[Engineer(target=o1), Manager(target=o2), Manager(target=o1)]
@@ -1389,7 +1388,7 @@ class DeclarativeMixinPropertyTest(
MyModel.prop_hoho.property is not MyOtherModel.prop_hoho.property
)
Base.metadata.create_all(testing.db)
- sess = create_session()
+ sess = fixture_session()
m1, m2 = MyModel(prop_hoho="foo"), MyOtherModel(prop_hoho="bar")
sess.add_all([m1, m2])
sess.flush()
@@ -1498,7 +1497,7 @@ class DeclarativeMixinPropertyTest(
d1 = inspect(Derived)
is_(b1.attrs["data_syn"], d1.attrs["data_syn"])
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Base.data_syn).filter(Base.data_syn == "foo"),
"SELECT test.data AS test_data FROM test "
@@ -1568,7 +1567,7 @@ class DeclarativeMixinPropertyTest(
)
Base.metadata.create_all(testing.db)
- sess = create_session()
+ sess = fixture_session()
sess.add_all([MyModel(data="d1"), MyModel(data="d2")])
sess.flush()
sess.expunge_all()
@@ -1620,7 +1619,7 @@ class DeclarativeMixinPropertyTest(
)
Base.metadata.create_all(testing.db)
- sess = create_session()
+ sess = fixture_session()
t1, t2 = Target(), Target()
f1, f2, b1 = Foo(target=t1), Foo(target=t2), Bar(target=t1)
sess.add_all([f1, f2, b1])
@@ -1679,7 +1678,7 @@ class DeclaredAttrTest(DeclarativeTestBase, testing.AssertsCompiledSQL):
is_(a_col, A.__table__.c.x)
is_(b_col, B.__table__.c.x)
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(A),
"SELECT a.x AS a_x, a.x + :x_1 AS anon_1, a.id AS a_id FROM a",
@@ -1983,7 +1982,7 @@ class DeclaredAttrTest(DeclarativeTestBase, testing.AssertsCompiledSQL):
eq_(counter.mock_calls, [mock.call(User.id)])
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).having(User.address_count > 5),
"SELECT (SELECT count(address.id) AS "
diff --git a/test/orm/declarative/test_reflection.py b/test/orm/declarative/test_reflection.py
index 32514a473..241528c44 100644
--- a/test/orm/declarative/test_reflection.py
+++ b/test/orm/declarative/test_reflection.py
@@ -9,7 +9,7 @@ from sqlalchemy.orm import relationship
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -77,7 +77,7 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
u1 = User(
name="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -110,7 +110,7 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
u1 = User(
nom="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -146,7 +146,7 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
u1 = User(
nom="u1", addresses=[Address(email="one"), Address(email="two")]
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
@@ -184,7 +184,7 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
IMHandle(network="lol", handle="zomg"),
],
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
sess.expunge_all()
diff --git a/test/orm/inheritance/test_abc_inheritance.py b/test/orm/inheritance/test_abc_inheritance.py
index bce554f30..a368e7b2f 100644
--- a/test/orm/inheritance/test_abc_inheritance.py
+++ b/test/orm/inheritance/test_abc_inheritance.py
@@ -9,7 +9,7 @@ from sqlalchemy.orm import relationship
from sqlalchemy.orm.interfaces import MANYTOONE
from sqlalchemy.orm.interfaces import ONETOMANY
from sqlalchemy.testing import fixtures
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -221,7 +221,7 @@ class ABCTest(fixtures.MappedTest):
parent_class = {"a": A, "b": B, "c": C}[parent]
child_class = {"a": A, "b": B, "c": C}[child]
- sess = create_session()
+ sess = fixture_session(autoflush=False, expire_on_commit=False)
parent_obj = parent_class("parent1")
child_obj = child_class("child1")
diff --git a/test/orm/inheritance/test_abc_polymorphic.py b/test/orm/inheritance/test_abc_polymorphic.py
index 0d28ef342..fd3d50ddd 100644
--- a/test/orm/inheritance/test_abc_polymorphic.py
+++ b/test/orm/inheritance/test_abc_polymorphic.py
@@ -5,7 +5,7 @@ from sqlalchemy import testing
from sqlalchemy.orm import mapper
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -77,7 +77,7 @@ class ABCTest(fixtures.MappedTest):
c2 = C(cdata="c2", bdata="c2", adata="c2")
c3 = C(cdata="c2", bdata="c2", adata="c2")
- sess = create_session()
+ sess = fixture_session()
for x in (a1, b1, b2, b3, c1, c2, c3):
sess.add(x)
sess.flush()
diff --git a/test/orm/inheritance/test_assorted_poly.py b/test/orm/inheritance/test_assorted_poly.py
index ce8d76a53..3cf9c9837 100644
--- a/test/orm/inheritance/test_assorted_poly.py
+++ b/test/orm/inheritance/test_assorted_poly.py
@@ -21,14 +21,13 @@ 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
from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import with_polymorphic
from sqlalchemy.orm.interfaces import MANYTOONE
from sqlalchemy.testing import AssertsExecutionResults
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -108,7 +107,7 @@ class RelationshipTest1(fixtures.MappedTest):
[(managers.c.person_id, people.c.manager_id)],
)
- session = create_session()
+ session = fixture_session()
p = Person(name="some person")
m = Manager(name="some manager")
p.manager = m
@@ -140,7 +139,7 @@ class RelationshipTest1(fixtures.MappedTest):
},
)
- session = create_session()
+ session = fixture_session()
p = Person(name="some person")
m = Manager(name="some manager")
m.employee = p
@@ -297,7 +296,7 @@ class RelationshipTest2(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
p = Person(name="person1")
m = Manager(name="manager1")
m.colleague = p
@@ -462,7 +461,7 @@ class RelationshipTest3(fixtures.MappedTest):
self._setup_mappings(jointype, usedata)
Person, Manager, Data = self.classes("Person", "Manager", "Data")
- sess = create_session()
+ sess = fixture_session()
p = Person(name="person1")
p2 = Person(name="person2")
p3 = Person(name="person3")
@@ -611,7 +610,7 @@ class RelationshipTest4(fixtures.MappedTest):
)
mapper(Car, cars, properties={"employee": relationship(person_mapper)})
- session = create_session()
+ session = fixture_session()
# creating 5 managers named from M1 to E5
for i in range(1, 5):
@@ -780,7 +779,7 @@ class RelationshipTest5(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
car1 = Car()
car2 = Car()
car2.manager = Manager()
@@ -855,7 +854,7 @@ class RelationshipTest6(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
m = Manager(name="manager1")
m2 = Manager(name="manager2")
m.colleague = m2
@@ -1027,7 +1026,7 @@ class RelationshipTest7(fixtures.MappedTest):
polymorphic_identity="manager",
)
- session = create_session()
+ session = fixture_session()
for i in range(1, 4):
if i % 2:
@@ -1095,7 +1094,7 @@ class RelationshipTest8(fixtures.MappedTest):
u1 = User(data="u1")
t1 = Taggable(owner=u1)
- sess = create_session()
+ sess = fixture_session()
sess.add(t1)
sess.flush()
@@ -1303,7 +1302,7 @@ class GenerativeTest(fixtures.MappedTest, AssertsExecutionResults):
Status, Person, Engineer, Manager, Car = self.classes(
"Status", "Person", "Engineer", "Manager", "Car"
)
- session = create_session()
+ session = fixture_session()
r = (
session.query(Person)
@@ -1328,7 +1327,7 @@ class GenerativeTest(fixtures.MappedTest, AssertsExecutionResults):
Status, Person, Engineer, Manager, Car = self.classes(
"Status", "Person", "Engineer", "Manager", "Car"
)
- session = create_session()
+ session = fixture_session()
r = (
session.query(Engineer)
.join("status")
@@ -1351,7 +1350,7 @@ class GenerativeTest(fixtures.MappedTest, AssertsExecutionResults):
Status, Person, Engineer, Manager, Car = self.classes(
"Status", "Person", "Engineer", "Manager", "Car"
)
- session = create_session()
+ session = fixture_session()
r = session.query(Person).filter(
exists().where(Car.owner == Person.person_id)
)
@@ -1471,7 +1470,7 @@ class MultiLevelTest(fixtures.MappedTest):
b = Engineer().set(egn="two", machine="any")
c = Manager().set(name="head", machine="fast", duties="many")
- session = create_session()
+ session = fixture_session()
session.add(a)
session.add(b)
session.add(c)
@@ -1621,7 +1620,7 @@ class CustomPKTest(fixtures.MappedTest):
mapper(T2, t2, inherits=T1, polymorphic_identity="t2")
ot1 = T1()
ot2 = T2()
- sess = create_session()
+ sess = fixture_session()
sess.add(ot1)
sess.add(ot2)
sess.flush()
@@ -1668,7 +1667,7 @@ class CustomPKTest(fixtures.MappedTest):
ot1 = T1()
ot2 = T2()
- sess = create_session()
+ sess = fixture_session()
sess.add(ot1)
sess.add(ot2)
sess.flush()
@@ -1754,7 +1753,7 @@ class InheritingEagerTest(fixtures.MappedTest):
)
mapper(Tag, tags)
- session = create_session()
+ session = fixture_session()
bob = Employee()
session.add(bob)
@@ -1852,7 +1851,7 @@ class MissingPolymorphicOnTest(fixtures.MappedTest):
c = C(cdata="c1", adata="a1", b=B(data="c"))
d = D(cdata="c2", adata="a2", ddata="d2", b=B(data="d"))
- sess = create_session()
+ sess = fixture_session()
sess.add(c)
sess.add(d)
sess.flush()
@@ -1899,7 +1898,7 @@ class JoinedInhAdjacencyTest(fixtures.MappedTest):
def _roundtrip(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
u1 = User()
u2 = User()
u2.supervisor = u1
@@ -1910,7 +1909,7 @@ class JoinedInhAdjacencyTest(fixtures.MappedTest):
def _dude_roundtrip(self):
Dude, User = self.classes.Dude, self.classes.User
- sess = Session()
+ sess = fixture_session()
u1 = User()
d1 = Dude()
d1.supervisor = u1
@@ -2070,7 +2069,7 @@ class Ticket2419Test(fixtures.DeclarativeMappedTest):
)
def test_join_w_eager_w_any(self):
B, C, D = (self.classes.B, self.classes.C, self.classes.D)
- s = Session(testing.db)
+ s = fixture_session()
b = B(ds=[D()])
s.add_all([C(b=b)])
@@ -2114,7 +2113,7 @@ class ColSubclassTest(
def test_polymorphic_adaptation(self):
A, B = self.classes.A, self.classes.B
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(A).join(B).filter(B.x == "test"),
"SELECT a.id AS a_id FROM a JOIN "
@@ -2181,7 +2180,7 @@ class CorrelateExceptWPolyAdaptTest(
poly = with_polymorphic(Superclass, "*")
- s = Session()
+ s = fixture_session()
q = (
s.query(poly)
.options(contains_eager(poly.common_relationship))
@@ -2210,7 +2209,7 @@ class CorrelateExceptWPolyAdaptTest(
poly = with_polymorphic(Superclass, "*")
- s = Session()
+ s = fixture_session()
q = (
s.query(poly)
.options(contains_eager(poly.common_relationship))
diff --git a/test/orm/inheritance/test_basic.py b/test/orm/inheritance/test_basic.py
index af960625e..bdcdedc44 100644
--- a/test/orm/inheritance/test_basic.py
+++ b/test/orm/inheritance/test_basic.py
@@ -27,7 +27,6 @@ from sqlalchemy.orm import object_mapper
from sqlalchemy.orm import polymorphic_union
from sqlalchemy.orm import relationship
from sqlalchemy.orm import Session
-from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import synonym
from sqlalchemy.orm.util import instance_str
from sqlalchemy.testing import assert_raises
@@ -42,7 +41,7 @@ from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import Conditional
from sqlalchemy.testing.assertsql import Or
from sqlalchemy.testing.assertsql import RegexSQL
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -104,7 +103,7 @@ class O2MTest(fixtures.MappedTest):
properties={"parent_foo": relationship(Foo)},
)
- sess = create_session()
+ sess = fixture_session()
b1 = Blub("blub #1")
b2 = Blub("blub #2")
f = Foo("foo #1")
@@ -166,7 +165,7 @@ class ColExpressionsTest(fixtures.DeclarativeMappedTest):
def test_group_by(self):
B = self.classes.B
- s = Session()
+ s = fixture_session()
rows = (
s.query(B.id.expressions[0], B.id.expressions[1], func.sum(B.data))
@@ -222,7 +221,7 @@ class PolyExpressionEagerLoad(fixtures.DeclarativeMappedTest):
A = self.classes.A
B = self.classes.B
- session = Session(testing.db)
+ session = fixture_session()
result = (
session.query(A)
.filter_by(child_id=None)
@@ -590,7 +589,7 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
else:
assert False, "Got unexpected identity %r" % ident
- s = Session(testing.db)
+ s = fixture_session()
s.add_all([Parent(q="p1"), Child(q="c1", y="c1"), Parent(q="p2")])
s.commit()
s.close()
@@ -647,7 +646,7 @@ class SortOnlyOnImportantFKsTest(fixtures.MappedTest):
cls.classes.B = B
def test_flush(self):
- s = Session(testing.db)
+ s = fixture_session()
s.add(self.classes.B())
s.flush()
@@ -674,7 +673,7 @@ class FalseDiscriminatorTest(fixtures.MappedTest):
mapper(Foo, t1, polymorphic_on=t1.c.type, polymorphic_identity=True)
mapper(Bar, inherits=Foo, polymorphic_identity=False)
- sess = create_session()
+ sess = fixture_session()
b1 = Bar()
sess.add(b1)
sess.flush()
@@ -691,7 +690,7 @@ class FalseDiscriminatorTest(fixtures.MappedTest):
mapper(Ding, t1, polymorphic_on=t1.c.type, polymorphic_identity=False)
mapper(Bat, inherits=Ding, polymorphic_identity=True)
- sess = create_session()
+ sess = fixture_session()
d1 = Ding()
sess.add(d1)
sess.flush()
@@ -741,7 +740,7 @@ class PolymorphicSynonymTest(fixtures.MappedTest):
properties={"info": synonym("_info", map_column=True)},
)
mapper(T2, t2, inherits=T1, polymorphic_identity="t2")
- sess = create_session()
+ sess = fixture_session()
at1 = T1(info="at1")
at2 = T2(info="at2", data="t2 data")
sess.add(at1)
@@ -832,7 +831,7 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
def test_base_class(self):
A, C, B = (self.classes.A, self.classes.C, self.classes.B)
- sess = Session()
+ sess = fixture_session()
c1 = C()
sess.add(c1)
sess.commit()
@@ -849,7 +848,7 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
"""
D, B = self.classes.D, self.classes.B
- sess = Session()
+ sess = fixture_session()
b1 = B()
b1.class_name = "d"
sess.add(b1)
@@ -863,7 +862,7 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
"""
C = self.classes.C
- sess = Session()
+ sess = fixture_session()
c1 = C()
c1.class_name = "b"
sess.add(c1)
@@ -882,7 +881,7 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
"""
B = self.classes.B
- sess = Session()
+ sess = fixture_session()
b1 = B()
b1.class_name = "c"
sess.add(b1)
@@ -898,7 +897,7 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
"""test warn on an unknown polymorphic identity."""
B = self.classes.B
- sess = Session()
+ sess = fixture_session()
b1 = B()
b1.class_name = "xyz"
sess.add(b1)
@@ -913,7 +912,7 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
def test_not_set_on_upate(self):
C = self.classes.C
- sess = Session()
+ sess = fixture_session()
c1 = C()
sess.add(c1)
sess.commit()
@@ -925,7 +924,7 @@ class PolymorphicAttributeManagementTest(fixtures.MappedTest):
def test_validate_on_upate(self):
C = self.classes.C
- sess = Session()
+ sess = fixture_session()
c1 = C()
sess.add(c1)
sess.commit()
@@ -1009,7 +1008,7 @@ class CascadeTest(fixtures.MappedTest):
)
mapper(T4, t4)
- sess = create_session()
+ sess = fixture_session()
t1_1 = T1(data="t1")
t3_1 = T3(data="t3", moredata="t3")
@@ -1095,7 +1094,7 @@ class M2OUseGetTest(fixtures.MappedTest):
assert class_mapper(Related).get_property("sub").strategy.use_get
- sess = create_session()
+ sess = fixture_session()
s1 = Sub()
r1 = Related(sub=s1)
sess.add(r1)
@@ -1181,7 +1180,7 @@ class GetTest(fixtures.MappedTest):
mapper(Bar, bar, inherits=Foo)
mapper(Blub, blub, inherits=Bar)
- sess = create_session()
+ sess = fixture_session()
f = Foo()
b = Bar()
bl = Blub()
@@ -1295,7 +1294,7 @@ class EagerLazyTest(fixtures.MappedTest):
def test_basic(self):
Bar = self.classes.Bar
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Bar)
self.assert_(len(q.first().lazy) == 1)
self.assert_(len(q.first().eager) == 1)
@@ -1350,7 +1349,7 @@ class EagerTargetingTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
b1 = B(id=1, name="b1", b_data="i")
sess.add(b1)
@@ -1454,7 +1453,7 @@ class FlushTest(fixtures.MappedTest):
},
)
mapper(Admin, admins, inherits=user_mapper)
- sess = create_session()
+ sess = fixture_session()
adminrole = Role()
sess.add(adminrole)
sess.flush()
@@ -1507,7 +1506,7 @@ class FlushTest(fixtures.MappedTest):
# create roles
adminrole = Role("admin")
- sess = create_session()
+ sess = fixture_session()
sess.add(adminrole)
sess.flush()
@@ -1581,7 +1580,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
A, B, C = self.classes("A", "B", "C")
self._fixture()
- s = Session()
+ s = fixture_session()
a1, b1, c1 = A(id=1), B(id=2), C(cid=1, id=3)
s.add_all([a1, b1, c1])
s.commit()
@@ -1605,7 +1604,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
A, B, C = self.classes("A", "B", "C")
self._fixture(c_p=True)
- s = Session()
+ s = fixture_session()
a1, b1, c1 = A(id=1), B(id=2), C(cid=1, id=3)
s.add_all([a1, b1, c1])
s.commit()
@@ -1647,7 +1646,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
A, B, C = self.classes("A", "B", "C")
self._fixture(b_p=True)
- s = Session()
+ s = fixture_session()
a1, b1, c1 = A(id=1), B(id=2), C(cid=1, id=3)
s.add_all([a1, b1, c1])
s.commit()
@@ -1685,7 +1684,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
A, B, C = self.classes("A", "B", "C")
self._fixture(a_p=True)
- s = Session()
+ s = fixture_session()
a1, b1, c1 = A(id=1), B(id=2), C(cid=1, id=3)
s.add_all([a1, b1, c1])
s.commit()
@@ -1767,7 +1766,7 @@ class OptimizedGetOnDeferredTest(fixtures.MappedTest):
def test_column_property(self):
A, B = self.classes("A", "B")
- sess = Session()
+ sess = fixture_session()
b1 = B(data="x")
sess.add(b1)
sess.flush()
@@ -1776,7 +1775,7 @@ class OptimizedGetOnDeferredTest(fixtures.MappedTest):
def test_expired_column(self):
A, B = self.classes("A", "B")
- sess = Session()
+ sess = fixture_session()
b1 = B(data="x")
sess.add(b1)
sess.flush()
@@ -1830,7 +1829,7 @@ class JoinedNoFKSortingTest(fixtures.MappedTest):
def test_ordering(self):
B, C = self.classes.B, self.classes.C
- sess = Session()
+ sess = fixture_session()
sess.add_all([B(), C(), B(), C()])
self.assert_sql_execution(
testing.db,
@@ -1918,7 +1917,7 @@ class VersioningTest(fixtures.MappedTest):
)
mapper(Sub, subtable, inherits=Base, polymorphic_identity=2)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
b1 = Base(value="b1")
s1 = Sub(value="sub1", subdata="some subdata")
@@ -1927,7 +1926,7 @@ class VersioningTest(fixtures.MappedTest):
sess.commit()
- sess2 = Session(autoflush=False)
+ sess2 = fixture_session(autoflush=False)
s2 = sess2.get(Base, s1.id)
s2.subdata = "sess2 subdata"
@@ -1976,7 +1975,7 @@ class VersioningTest(fixtures.MappedTest):
)
mapper(Sub, subtable, inherits=Base, polymorphic_identity=2)
- sess = Session(autoflush=False, expire_on_commit=False)
+ sess = fixture_session(autoflush=False, expire_on_commit=False)
b1 = Base(value="b1")
s1 = Sub(value="sub1", subdata="some subdata")
@@ -1987,7 +1986,7 @@ class VersioningTest(fixtures.MappedTest):
sess.commit()
- sess2 = Session(autoflush=False, expire_on_commit=False)
+ sess2 = fixture_session(autoflush=False, expire_on_commit=False)
s3 = sess2.get(Base, s1.id)
sess2.delete(s3)
sess2.commit()
@@ -2099,7 +2098,7 @@ class DistinctPKTest(fixtures.MappedTest):
self._do_test(False)
def _do_test(self, composite):
- session = create_session()
+ session = fixture_session()
if composite:
alice1 = session.get(Employee, [1, 2])
@@ -2178,7 +2177,7 @@ class SyncCompileTest(fixtures.MappedTest):
mapper(B, _b_table, inherits=A, inherit_condition=j1)
mapper(C, _c_table, inherits=B, inherit_condition=j2)
- session = create_session()
+ session = fixture_session()
a = A(data1="a1")
session.add(a)
@@ -2284,7 +2283,7 @@ class OverrideColKeyTest(fixtures.MappedTest):
s1 = Sub()
s1.id = 10
- sess = create_session()
+ sess = fixture_session()
sess.add(s1)
sess.flush()
assert sess.get(Sub, 10) is s1
@@ -2312,7 +2311,7 @@ class OverrideColKeyTest(fixtures.MappedTest):
s2 = Sub()
s2.base_id = 15
- sess = create_session()
+ sess = fixture_session()
sess.add_all([s1, s2])
sess.flush()
@@ -2384,7 +2383,7 @@ class OverrideColKeyTest(fixtures.MappedTest):
mapper(Sub, subtable, inherits=Base)
s1 = Sub()
- sess = create_session()
+ sess = fixture_session()
sess.add(s1)
sess.flush()
assert sess.query(Sub).one().data == "im the data"
@@ -2409,7 +2408,7 @@ class OverrideColKeyTest(fixtures.MappedTest):
mapper(Sub, subtable, inherits=Base)
s1 = Sub()
- sess = create_session()
+ sess = fixture_session()
sess.add(s1)
sess.flush()
assert sess.query(Sub).one().data == "im the data"
@@ -2426,7 +2425,7 @@ class OverrideColKeyTest(fixtures.MappedTest):
mapper(Base, base)
mapper(Sub, subtable, inherits=Base)
- sess = create_session()
+ sess = fixture_session()
b1 = Base()
assert b1.subdata == "this is base"
s1 = Sub()
@@ -2452,7 +2451,7 @@ class OverrideColKeyTest(fixtures.MappedTest):
mapper(Base, base)
mapper(Sub, subtable, inherits=Base)
- sess = create_session()
+ sess = fixture_session()
b1 = Base()
assert b1.data == "this is base"
s1 = Sub()
@@ -2528,7 +2527,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
)
mapper(SubJoinBase, inherits=JoinBase)
- sess = Session()
+ sess = fixture_session()
sess.add(Base(data="data"))
sess.commit()
@@ -2595,7 +2594,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
base.outerjoin(sub).select().apply_labels().alias("foo"),
),
)
- sess = Session()
+ sess = fixture_session()
s1 = Sub(
data="s1data", sub="s1sub", subcounter=1, counter=1, subcounter2=1
)
@@ -2638,7 +2637,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
polymorphic_identity="sub",
properties={"id": [sub.c.id, base.c.id]},
)
- sess = sessionmaker()()
+ sess = fixture_session()
s1 = Sub(data="s1data", sub="s1sub")
sess.add(s1)
sess.commit()
@@ -2673,7 +2672,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
"concat": column_property(sub.c.sub + "|" + sub.c.sub)
},
)
- sess = sessionmaker()()
+ sess = fixture_session()
s1 = Sub(data="s1data", sub="s1sub")
sess.add(s1)
sess.commit()
@@ -2702,7 +2701,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
"concat": column_property(base.c.data + "|" + sub.c.sub)
},
)
- sess = sessionmaker()()
+ sess = fixture_session()
s1 = Sub(data="s1data", sub="s1sub")
s2 = Sub(data="s2data", sub="s2sub")
s3 = Sub(data="s3data", sub="s3sub")
@@ -2752,7 +2751,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
polymorphic_identity="wc",
properties={"comp": composite(Comp, with_comp.c.a, with_comp.c.b)},
)
- sess = sessionmaker()()
+ sess = fixture_session()
s1 = WithComp(data="s1data", comp=Comp("ham", "cheese"))
s2 = WithComp(data="s2data", comp=Comp("bacon", "eggs"))
sess.add_all([s1, s2])
@@ -2777,7 +2776,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
Base, base, polymorphic_on=base.c.type, polymorphic_identity="base"
)
mapper(Sub, sub, inherits=Base, polymorphic_identity="sub")
- sess = Session()
+ sess = fixture_session()
s1 = Sub(data="s1")
sess.add(s1)
self.assert_sql_execution(
@@ -2871,7 +2870,7 @@ class OptimizedLoadTest(fixtures.MappedTest):
)
mapper(Sub, sub, inherits=Base, polymorphic_identity="sub")
mapper(SubSub, subsub, inherits=Sub, polymorphic_identity="subsub")
- sess = Session()
+ sess = fixture_session()
s1 = SubSub(data="s1", counter=1, subcounter=2)
sess.add(s1)
self.assert_sql_execution(
@@ -3152,7 +3151,7 @@ class PKDiscriminatorTest(fixtures.MappedTest):
mapper(A, inherits=Child, polymorphic_identity=2)
- s = create_session()
+ s = fixture_session()
p = Parent("p1")
a = A("a1")
p.children.append(a)
@@ -3220,7 +3219,7 @@ class NoPolyIdentInMiddleTest(fixtures.MappedTest):
def test_load_from_middle(self):
C, B = self.classes.C, self.classes.B
- s = Session()
+ s = fixture_session()
s.add(C())
o = s.query(B).first()
eq_(o.type, "c")
@@ -3229,7 +3228,7 @@ class NoPolyIdentInMiddleTest(fixtures.MappedTest):
def test_load_from_base(self):
A, C = self.classes.A, self.classes.C
- s = Session()
+ s = fixture_session()
s.add(C())
o = s.query(A).first()
eq_(o.type, "c")
@@ -3250,7 +3249,7 @@ class NoPolyIdentInMiddleTest(fixtures.MappedTest):
self.tables.base,
)
- s = Session()
+ s = fixture_session()
s.add_all([C(), D(), E()])
eq_(s.query(B).order_by(base.c.type).all(), [C(), D()])
@@ -3314,7 +3313,7 @@ class DeleteOrphanTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
s1 = SubClass(data="s1")
sess.add(s1)
assert_raises(sa_exc.DBAPIError, sess.flush)
@@ -3418,7 +3417,7 @@ class DiscriminatorOrPkNoneTest(fixtures.DeclarativeMappedTest):
@classmethod
def insert_data(cls, connection):
Parent, A, B = cls.classes("Parent", "A", "B")
- s = Session()
+ s = fixture_session()
p1 = Parent(id=1)
p2 = Parent(id=2)
@@ -3443,7 +3442,7 @@ class DiscriminatorOrPkNoneTest(fixtures.DeclarativeMappedTest):
def test_pk_is_null(self):
Parent, A = self.classes("Parent", "A")
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(Parent, A)
.select_from(Parent)
@@ -3457,7 +3456,7 @@ class DiscriminatorOrPkNoneTest(fixtures.DeclarativeMappedTest):
def test_pk_not_null_discriminator_null_from_base(self):
(A,) = self.classes("A")
- sess = Session()
+ sess = fixture_session()
q = sess.query(A).filter(A.id == 3)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -3470,7 +3469,7 @@ class DiscriminatorOrPkNoneTest(fixtures.DeclarativeMappedTest):
def test_pk_not_null_discriminator_null_from_sub(self):
(B,) = self.classes("B")
- sess = Session()
+ sess = fixture_session()
q = sess.query(B).filter(B.id == 4)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -3528,7 +3527,7 @@ class UnexpectedPolymorphicIdentityTest(fixtures.DeclarativeMappedTest):
ASingleSubA, ASingleSubB, AJoinedSubA, AJoinedSubB = cls.classes(
"ASingleSubA", "ASingleSubB", "AJoinedSubA", "AJoinedSubB"
)
- s = Session()
+ s = fixture_session()
s.add_all([ASingleSubA(), ASingleSubB(), AJoinedSubA(), AJoinedSubB()])
s.commit()
@@ -3536,7 +3535,7 @@ class UnexpectedPolymorphicIdentityTest(fixtures.DeclarativeMappedTest):
def test_single_invalid_ident(self):
ASingle, ASingleSubA = self.classes("ASingle", "ASingleSubA")
- s = Session()
+ s = fixture_session()
q = s.query(ASingleSubA).select_entity_from(select(ASingle).subquery())
@@ -3552,7 +3551,7 @@ class UnexpectedPolymorphicIdentityTest(fixtures.DeclarativeMappedTest):
def test_joined_invalid_ident(self):
AJoined, AJoinedSubA = self.classes("AJoined", "AJoinedSubA")
- s = Session()
+ s = fixture_session()
q = s.query(AJoinedSubA).select_entity_from(select(AJoined).subquery())
@@ -3600,7 +3599,7 @@ class NameConflictTest(fixtures.MappedTest):
mapper(
Foo, self.tables.foo, inherits=Content, polymorphic_identity="foo"
)
- sess = create_session()
+ sess = fixture_session()
f = Foo()
f.content_type = "bar"
sess.add(f)
diff --git a/test/orm/inheritance/test_concrete.py b/test/orm/inheritance/test_concrete.py
index e2777e9e9..f2f8d629b 100644
--- a/test/orm/inheritance/test_concrete.py
+++ b/test/orm/inheritance/test_concrete.py
@@ -11,13 +11,12 @@ 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 sessionmaker
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import mock
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -165,7 +164,7 @@ class ConcreteTest(fixtures.MappedTest):
concrete=True,
polymorphic_identity="engineer",
)
- session = create_session()
+ session = fixture_session()
session.add(Manager("Tom", "knows how to manage things"))
session.add(Engineer("Kurt", "knows how to hack"))
session.flush()
@@ -225,7 +224,7 @@ class ConcreteTest(fixtures.MappedTest):
concrete=True,
polymorphic_identity="hacker",
)
- session = create_session()
+ session = fixture_session()
tom = Manager("Tom", "knows how to manage things")
assert_raises_message(
@@ -348,7 +347,7 @@ class ConcreteTest(fixtures.MappedTest):
polymorphic_identity="engineer",
)
- session = create_session()
+ session = fixture_session()
tom = ManagerWHybrid("Tom", "mgrdata")
# mapping did not impact the engineer_info
@@ -422,7 +421,7 @@ class ConcreteTest(fixtures.MappedTest):
concrete=True,
polymorphic_identity="hacker",
)
- session = create_session()
+ session = fixture_session()
tom = Manager("Tom", "knows how to manage things")
jerry = Engineer("Jerry", "knows how to program")
hacker = Hacker("Kurt", "Badass", "knows how to hack")
@@ -509,7 +508,7 @@ class ConcreteTest(fixtures.MappedTest):
concrete=True,
polymorphic_identity="hacker",
)
- session = create_session()
+ session = fixture_session()
jdoe = Employee("Jdoe")
tom = Manager("Tom", "knows how to manage things")
jerry = Engineer("Jerry", "knows how to program")
@@ -635,7 +634,7 @@ class ConcreteTest(fixtures.MappedTest):
concrete=True,
polymorphic_identity="engineer",
)
- session = create_session()
+ session = fixture_session()
c = Company()
c.employees.append(Manager("Tom", "knows how to manage things"))
c.employees.append(Engineer("Kurt", "knows how to hack"))
@@ -788,7 +787,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
"many_b": relationship(B, back_populates="some_dest"),
},
)
- sess = sessionmaker()()
+ sess = fixture_session()
dest1 = Dest(name="c1")
dest2 = Dest(name="c2")
a1 = A(some_dest=dest1, aname="a1")
@@ -916,7 +915,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
},
)
- sess = sessionmaker()()
+ sess = fixture_session()
dest1 = Dest(name="c1")
dest2 = Dest(name="c2")
a1 = A(some_dest=dest1, aname="a1", id=1)
@@ -1021,7 +1020,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
assert B.some_dest.property.parent is class_mapper(B)
assert A.some_dest.property.parent is class_mapper(A)
- sess = sessionmaker()()
+ sess = fixture_session()
dest1 = Dest(name="d1")
dest2 = Dest(name="d2")
a1 = A(some_dest=dest2, aname="a1")
@@ -1030,7 +1029,7 @@ class PropertyInheritanceTest(fixtures.MappedTest):
sess.add_all([dest1, dest2, c1, a1, b1])
sess.commit()
- sess2 = sessionmaker()()
+ sess2 = fixture_session()
merged_c1 = sess2.merge(c1)
eq_(merged_c1.some_dest.name, "d2")
eq_(merged_c1.some_dest_id, c1.some_dest_id)
@@ -1135,7 +1134,7 @@ class ManyToManyTest(fixtures.MappedTest):
},
)
mapper(Related, related)
- sess = sessionmaker()()
+ sess = fixture_session()
b1, s1, r1, r2, r3 = Base(), Sub(), Related(), Related(), Related()
b1.related.append(r1)
b1.related.append(r2)
@@ -1227,7 +1226,7 @@ class ColKeysTest(fixtures.MappedTest):
concrete=True,
polymorphic_identity="refugee",
)
- sess = create_session()
+ sess = fixture_session()
eq_(sess.get(Refugee, 1).name, "refugee1")
eq_(sess.get(Refugee, 2).name, "refugee2")
eq_(sess.get(Office, 1).name, "office1")
diff --git a/test/orm/inheritance/test_magazine.py b/test/orm/inheritance/test_magazine.py
index 334ed22f3..7f347e40f 100644
--- a/test/orm/inheritance/test_magazine.py
+++ b/test/orm/inheritance/test_magazine.py
@@ -10,9 +10,9 @@ from sqlalchemy.orm import backref
from sqlalchemy.orm import mapper
from sqlalchemy.orm import polymorphic_union
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -360,7 +360,7 @@ class MagazineTest(fixtures.MappedTest):
Publication = self.classes.Publication
- session = Session()
+ session = fixture_session()
pub = self._generate_data()
session.add(pub)
diff --git a/test/orm/inheritance/test_manytomany.py b/test/orm/inheritance/test_manytomany.py
index 207ac09c7..f790b11ac 100644
--- a/test/orm/inheritance/test_manytomany.py
+++ b/test/orm/inheritance/test_manytomany.py
@@ -9,7 +9,7 @@ from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
class InheritTest(fixtures.MappedTest):
@@ -114,7 +114,7 @@ class InheritTest(fixtures.MappedTest):
login_id="lg1",
)
)
- sess = create_session()
+ sess = fixture_session()
sess.add(g)
sess.flush()
# TODO: put an assertion
@@ -164,7 +164,7 @@ class InheritTest2(fixtures.MappedTest):
print(foo.join(bar).primary_key)
print(class_mapper(Bar).primary_key)
b = Bar("somedata")
- sess = create_session()
+ sess = fixture_session()
sess.add(b)
sess.flush()
sess.expunge_all()
@@ -192,7 +192,7 @@ class InheritTest2(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
b = Bar("barfoo")
sess.add(b)
sess.flush()
@@ -304,7 +304,7 @@ class InheritTest3(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
b = Bar("bar #1")
sess.add(b)
b.foos.append(Foo("foo #1"))
@@ -352,7 +352,7 @@ class InheritTest3(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
f1 = Foo("foo #1")
b1 = Bar("bar #1")
b2 = Bar("bar #2")
diff --git a/test/orm/inheritance/test_poly_linked_list.py b/test/orm/inheritance/test_poly_linked_list.py
index 83c3e75a0..d5305c473 100644
--- a/test/orm/inheritance/test_poly_linked_list.py
+++ b/test/orm/inheritance/test_poly_linked_list.py
@@ -8,7 +8,7 @@ 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 create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -211,7 +211,7 @@ class PolymorphicCircularTest(fixtures.MappedTest):
)
def _testlist(self, classes):
- sess = create_session()
+ sess = fixture_session()
# create objects in a linked list
count = 1
diff --git a/test/orm/inheritance/test_poly_loading.py b/test/orm/inheritance/test_poly_loading.py
index d7040e822..2f31ab0c4 100644
--- a/test/orm/inheritance/test_poly_loading.py
+++ b/test/orm/inheritance/test_poly_loading.py
@@ -16,6 +16,7 @@ from sqlalchemy.testing.assertsql import AllOf
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import EachOf
from sqlalchemy.testing.assertsql import Or
+from sqlalchemy.testing.fixtures import fixture_session
from ._poly_fixtures import _Polymorphic
from ._poly_fixtures import Company
from ._poly_fixtures import Engineer
@@ -145,7 +146,7 @@ class LoadBaseAndSubWEagerRelOpt(
def test_load(self):
A, B, ASub, C = self.classes("A", "B", "ASub", "C")
- s = Session()
+ s = fixture_session()
q = (
s.query(A)
@@ -169,7 +170,7 @@ class LoadBaseAndSubWEagerRelMapped(
def test_load(self):
A, B, ASub, C = self.classes("A", "B", "ASub", "C")
- s = Session()
+ s = fixture_session()
q = (
s.query(A)
@@ -182,7 +183,7 @@ class LoadBaseAndSubWEagerRelMapped(
class FixtureLoadTest(_Polymorphic, testing.AssertsExecutionResults):
def test_person_selectin_subclasses(self):
- s = Session()
+ s = fixture_session()
q = s.query(Person).options(
selectin_polymorphic(Person, [Engineer, Manager])
)
@@ -228,7 +229,7 @@ class FixtureLoadTest(_Polymorphic, testing.AssertsExecutionResults):
eq_(result, self.all_employees)
def test_load_company_plus_employees(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Company)
.options(
@@ -316,7 +317,7 @@ class TestGeometries(GeometryFixtureBase):
)
a, b, c, d, e = self.classes("a", "b", "c", "d", "e")
- sess = Session()
+ sess = fixture_session()
sess.add_all([d(d_data="d1"), e(e_data="e1")])
sess.commit()
@@ -370,7 +371,7 @@ class TestGeometries(GeometryFixtureBase):
)
a, b, c, d, e = self.classes("a", "b", "c", "d", "e")
- sess = Session()
+ sess = fixture_session()
sess.add_all([d(d_data="d1"), e(e_data="e1")])
sess.commit()
@@ -420,7 +421,7 @@ class TestGeometries(GeometryFixtureBase):
)
a, b, c, d, e = self.classes("a", "b", "c", "d", "e")
- sess = Session()
+ sess = fixture_session()
sess.add_all([d(d_data="d1"), e(e_data="e1")])
sess.commit()
@@ -507,7 +508,7 @@ class TestGeometries(GeometryFixtureBase):
)
a, a1, a2 = self.classes("a", "a1", "a2")
- sess = Session()
+ sess = fixture_session()
a1_obj = a1()
a2_obj = a2()
@@ -586,7 +587,7 @@ class LoaderOptionsTest(
Parent, ChildSubclass1, Other = self.classes(
"Parent", "ChildSubclass1", "Other"
)
- session = Session(enable_baked_queries=enable_baked)
+ session = fixture_session(enable_baked_queries=enable_baked)
def no_opt():
q = session.query(Parent).options(
diff --git a/test/orm/inheritance/test_poly_persistence.py b/test/orm/inheritance/test_poly_persistence.py
index 99cab870b..c33f3e0de 100644
--- a/test/orm/inheritance/test_poly_persistence.py
+++ b/test/orm/inheritance/test_poly_persistence.py
@@ -14,7 +14,7 @@ from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
@@ -161,7 +161,7 @@ class InsertOrderTest(PolymorphTest):
},
)
- session = create_session()
+ session = fixture_session()
c = Company(name="company1")
c.employees.append(
Manager(
@@ -391,7 +391,7 @@ class RoundTripTest(PolymorphTest):
else:
person_attribute_name = "name"
- session = create_session()
+ session = fixture_session()
dilbert = (
session.query(Engineer)
@@ -429,7 +429,7 @@ class RoundTripTest(PolymorphTest):
self.assert_sql_count(testing.db, go, 3)
def test_baseclass_lookup(self, get_dilbert):
- session = Session()
+ session = fixture_session()
dilbert = get_dilbert(session)
if self.redefine_colprop:
@@ -449,7 +449,7 @@ class RoundTripTest(PolymorphTest):
)
def test_subclass_lookup(self, get_dilbert):
- session = Session()
+ session = fixture_session()
dilbert = get_dilbert(session)
if self.redefine_colprop:
@@ -465,7 +465,7 @@ class RoundTripTest(PolymorphTest):
)
def test_baseclass_base_alias_filter(self, get_dilbert):
- session = Session()
+ session = fixture_session()
dilbert = get_dilbert(session)
# test selecting from the query, joining against
@@ -485,7 +485,7 @@ class RoundTripTest(PolymorphTest):
)
def test_subclass_base_alias_filter(self, get_dilbert):
- session = Session()
+ session = fixture_session()
dilbert = get_dilbert(session)
palias = people.alias("palias")
@@ -501,7 +501,7 @@ class RoundTripTest(PolymorphTest):
)
def test_baseclass_sub_table_filter(self, get_dilbert):
- session = Session()
+ session = fixture_session()
dilbert = get_dilbert(session)
# this unusual test is selecting from the plain people/engineers
@@ -518,7 +518,7 @@ class RoundTripTest(PolymorphTest):
)
def test_subclass_getitem(self, get_dilbert):
- session = Session()
+ session = fixture_session()
dilbert = get_dilbert(session)
is_(
@@ -530,7 +530,7 @@ class RoundTripTest(PolymorphTest):
def test_primary_table_only_for_requery(self):
- session = Session()
+ session = fixture_session()
if self.redefine_colprop:
person_attribute_name = "person_name"
@@ -560,7 +560,7 @@ class RoundTripTest(PolymorphTest):
else:
person_attribute_name = "name"
- session = Session()
+ session = fixture_session()
daboss = Boss(
status="BBB",
diff --git a/test/orm/inheritance/test_polymorphic_rel.py b/test/orm/inheritance/test_polymorphic_rel.py
index 84ef22d52..581fa45fd 100644
--- a/test/orm/inheritance/test_polymorphic_rel.py
+++ b/test/orm/inheritance/test_polymorphic_rel.py
@@ -14,7 +14,7 @@ from sqlalchemy.orm import with_polymorphic
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import eq_
from sqlalchemy.testing.assertsql import CompiledSQL
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from ._poly_fixtures import _Polymorphic
from ._poly_fixtures import _PolymorphicAliasedJoins
from ._poly_fixtures import _PolymorphicJoins
@@ -68,7 +68,7 @@ class _PolymorphicTestBase(object):
with_polymorphic is used.
"""
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -83,7 +83,7 @@ class _PolymorphicTestBase(object):
# For both joinedload() and subqueryload(), if the original q is
# not loading the subclass table, the joinedload doesn't happen.
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -99,7 +99,7 @@ class _PolymorphicTestBase(object):
def test_primary_eager_aliasing_subqueryload(self):
# test that subqueryload does not occur because the parent
# row cannot support it
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -116,7 +116,7 @@ class _PolymorphicTestBase(object):
def test_primary_eager_aliasing_selectinload(self):
# test that selectinload does not occur because the parent
# row cannot support it
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -134,7 +134,7 @@ class _PolymorphicTestBase(object):
# assert the JOINs don't over JOIN
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -168,28 +168,28 @@ class _PolymorphicTestBase(object):
For all mappers, ensure the primary key has been calculated as
just the "person_id" column.
"""
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.get(Person, e1.person_id),
Engineer(name="dilbert", primary_language="java"),
)
def test_get_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.get(Engineer, e1.person_id),
Engineer(name="dilbert", primary_language="java"),
)
def test_get_three(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.get(Manager, b1.person_id),
Boss(name="pointy haired boss", golf_swing="fore"),
)
def test_multi_join(self):
- sess = create_session()
+ sess = fixture_session()
e = aliased(Person)
c = aliased(Company)
q = (
@@ -230,7 +230,7 @@ class _PolymorphicTestBase(object):
)
def test_multi_join_future(self):
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
e = aliased(Person)
c = aliased(Company)
@@ -279,22 +279,22 @@ class _PolymorphicTestBase(object):
)
def test_filter_on_subclass_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(sess.query(Engineer).all()[0], Engineer(name="dilbert"))
def test_filter_on_subclass_one_future(self):
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
eq_(
sess.execute(select(Engineer)).scalar(),
Engineer(name="dilbert"),
)
def test_filter_on_subclass_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(sess.query(Engineer).first(), Engineer(name="dilbert"))
def test_filter_on_subclass_three(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Engineer)
.filter(Engineer.person_id == e1.person_id)
@@ -303,7 +303,7 @@ class _PolymorphicTestBase(object):
)
def test_filter_on_subclass_four(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Manager)
.filter(Manager.person_id == m1.person_id)
@@ -312,7 +312,7 @@ class _PolymorphicTestBase(object):
)
def test_filter_on_subclass_five(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Manager)
.filter(Manager.person_id == b1.person_id)
@@ -321,14 +321,14 @@ class _PolymorphicTestBase(object):
)
def test_filter_on_subclass_six(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Boss).filter(Boss.person_id == b1.person_id).one(),
Boss(name="pointy haired boss"),
)
def test_join_from_polymorphic_nonaliased_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.join("paperwork")
@@ -338,7 +338,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_nonaliased_one_future(self):
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
eq_(
sess.execute(
select(Person)
@@ -352,7 +352,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_nonaliased_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.order_by(Person.person_id)
@@ -363,7 +363,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_nonaliased_three(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Engineer)
.order_by(Person.person_id)
@@ -374,7 +374,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_nonaliased_four(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.order_by(Person.person_id)
@@ -386,7 +386,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_flag_aliased_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.order_by(Person.person_id)
@@ -397,7 +397,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_flag_aliased_one_future(self):
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
pa = aliased(Paperwork)
eq_(
@@ -414,7 +414,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_explicit_aliased_one(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
eq_(
sess.query(Person)
@@ -426,7 +426,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_flag_aliased_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.order_by(Person.person_id)
@@ -437,7 +437,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_explicit_aliased_two(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
eq_(
sess.query(Person)
@@ -449,7 +449,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_flag_aliased_three(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Engineer)
.order_by(Person.person_id)
@@ -460,7 +460,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_explicit_aliased_three(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
eq_(
sess.query(Engineer)
@@ -472,7 +472,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_polymorphic_aliased_four(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
eq_(
sess.query(Person)
@@ -485,7 +485,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_nonaliased_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.with_polymorphic(Manager)
@@ -497,7 +497,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_nonaliased_one_future(self):
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
pm = with_polymorphic(Person, [Manager])
eq_(
@@ -514,7 +514,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_nonaliased_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.with_polymorphic([Manager, Engineer])
@@ -526,7 +526,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_nonaliased_three(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.with_polymorphic([Manager, Engineer])
@@ -539,7 +539,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_flag_aliased_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.with_polymorphic(Manager)
@@ -550,7 +550,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_explicit_aliased_one(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
eq_(
sess.query(Person)
@@ -562,7 +562,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_flag_aliased_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.with_polymorphic([Manager, Engineer])
@@ -574,7 +574,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_explicit_aliased_two(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
eq_(
sess.query(Person)
@@ -587,7 +587,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_with_polymorphic_aliased_three(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
eq_(
@@ -602,7 +602,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_polymorphic_nonaliased(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join("employees")
@@ -612,7 +612,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_polymorphic_flag_aliased(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join("employees", aliased=True)
@@ -622,7 +622,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_polymorphic_explicit_aliased(self):
- sess = create_session()
+ sess = fixture_session()
ea = aliased(Person)
eq_(
sess.query(Company)
@@ -633,13 +633,13 @@ class _PolymorphicTestBase(object):
)
def test_polymorphic_any_one(self):
- sess = create_session()
+ sess = fixture_session()
any_ = Company.employees.any(Person.name == "vlad")
eq_(sess.query(Company).filter(any_).all(), [c2])
def test_polymorphic_any_flag_alias_two(self):
- sess = create_session()
+ sess = fixture_session()
# test that the aliasing on "Person" does not bleed into the
# EXISTS clause generated by any()
any_ = Company.employees.any(Person.name == "wally")
@@ -653,7 +653,7 @@ class _PolymorphicTestBase(object):
)
def test_polymorphic_any_explicit_alias_two(self):
- sess = create_session()
+ sess = fixture_session()
# test that the aliasing on "Person" does not bleed into the
# EXISTS clause generated by any()
any_ = Company.employees.any(Person.name == "wally")
@@ -668,7 +668,7 @@ class _PolymorphicTestBase(object):
)
def test_polymorphic_any_three(self):
- sess = create_session()
+ sess = fixture_session()
any_ = Company.employees.any(Person.name == "vlad")
ea = aliased(Person)
eq_(
@@ -681,7 +681,7 @@ class _PolymorphicTestBase(object):
)
def test_polymorphic_any_eight(self):
- sess = create_session()
+ sess = fixture_session()
any_ = Engineer.machines.any(Machine.name == "Commodore 64")
eq_(
sess.query(Person).order_by(Person.person_id).filter(any_).all(),
@@ -689,7 +689,7 @@ class _PolymorphicTestBase(object):
)
def test_polymorphic_any_nine(self):
- sess = create_session()
+ sess = fixture_session()
any_ = Person.paperwork.any(Paperwork.description == "review #2")
eq_(
sess.query(Person).order_by(Person.person_id).filter(any_).all(),
@@ -697,13 +697,13 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_one(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("dogbert",), ("pointy haired boss",)]
eq_(sess.query(Manager.name).order_by(Manager.name).all(), expected)
def test_join_from_columns_or_subclass_two(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("dogbert",), ("dogbert",), ("pointy haired boss",)]
eq_(
sess.query(Manager.name)
@@ -714,7 +714,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_three(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
("dilbert",),
("dilbert",),
@@ -734,7 +734,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_four(self):
- sess = create_session()
+ sess = fixture_session()
# Load Person.name, joining from Person -> paperwork, get all
# the people.
expected = [
@@ -756,7 +756,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_five(self):
- sess = create_session()
+ sess = fixture_session()
# same, on manager. get only managers.
expected = [("dogbert",), ("dogbert",), ("pointy haired boss",)]
eq_(
@@ -768,7 +768,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_six(self):
- sess = create_session()
+ sess = fixture_session()
if self.select_type == "":
# this now raises, due to [ticket:1892]. Manager.person_id
# is now the "person_id" column on Manager. SQL is incorrect.
@@ -813,7 +813,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_seven(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Manager)
.join(Paperwork, Manager.paperwork)
@@ -823,7 +823,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_eight(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("dogbert",), ("dogbert",), ("pointy haired boss",)]
eq_(
sess.query(Manager.name)
@@ -834,7 +834,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_nine(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Manager.person_id)
.join(paperwork, Manager.person_id == paperwork.c.person_id)
@@ -844,7 +844,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_ten(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
("pointy haired boss", "review #1"),
("dogbert", "review #2"),
@@ -859,7 +859,7 @@ class _PolymorphicTestBase(object):
)
def test_join_from_columns_or_subclass_eleven(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("pointy haired boss",), ("dogbert",), ("dogbert",)]
malias = aliased(Manager)
eq_(
@@ -870,7 +870,7 @@ class _PolymorphicTestBase(object):
)
def test_subclass_option_pathing(self):
- sess = create_session()
+ sess = fixture_session()
dilbert = (
sess.query(Person)
.options(defaultload(Engineer.machines).defer(Machine.name))
@@ -887,7 +887,7 @@ class _PolymorphicTestBase(object):
the select_table mapper.
"""
- sess = create_session()
+ sess = fixture_session()
name = "dogbert"
m1 = sess.query(Manager).filter(Manager.name == name).one()
@@ -900,7 +900,7 @@ class _PolymorphicTestBase(object):
assert m2.golf_swing == "fore"
def test_with_polymorphic_one(self):
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -914,7 +914,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 1)
def test_with_polymorphic_two(self):
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -928,7 +928,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 1)
def test_with_polymorphic_three(self):
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -942,7 +942,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 3)
def test_with_polymorphic_four(self):
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -956,7 +956,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 3)
def test_with_polymorphic_five(self):
- sess = create_session()
+ sess = fixture_session()
def go():
# limit the polymorphic join down to just "Person",
@@ -969,7 +969,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 6)
def test_with_polymorphic_six(self):
- sess = create_session()
+ sess = fixture_session()
assert_raises(
sa_exc.InvalidRequestError,
@@ -988,7 +988,7 @@ class _PolymorphicTestBase(object):
)
def test_with_polymorphic_seven(self):
- sess = create_session()
+ sess = fixture_session()
# compare to entities without related collections to prevent
# additional lazy SQL from firing on loaded entities
eq_(
@@ -1001,7 +1001,7 @@ class _PolymorphicTestBase(object):
def test_relationship_to_polymorphic_one(self):
expected = self._company_with_emps_machines_fixture()
- sess = create_session()
+ sess = fixture_session()
def go():
# test load Companies with lazy load to 'employees'
@@ -1012,7 +1012,7 @@ class _PolymorphicTestBase(object):
def test_relationship_to_polymorphic_two(self):
expected = self._company_with_emps_machines_fixture()
- sess = create_session()
+ sess = fixture_session()
def go():
# with #2438, of_type() is recognized. This
@@ -1040,9 +1040,9 @@ class _PolymorphicTestBase(object):
def test_relationship_to_polymorphic_three(self):
expected = self._company_with_emps_machines_fixture()
- sess = create_session()
+ sess = fixture_session()
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -1072,7 +1072,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, count)
def test_joinedload_on_subclass(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
Engineer(
name="dilbert",
@@ -1100,7 +1100,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 1)
def test_subqueryload_on_subclass(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
Engineer(
name="dilbert",
@@ -1140,12 +1140,12 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 2)
def test_query_subclass_join_to_base_relationship(self):
- sess = create_session()
+ sess = fixture_session()
# non-polymorphic
eq_(sess.query(Engineer).join(Person.paperwork).all(), [e1, e2, e3])
def test_join_to_subclass(self):
- sess = create_session()
+ sess = fixture_session()
# TODO: these should all be deprecated (?) - these joins are on the
# core tables and should not be getting adapted, not sure why
@@ -1161,7 +1161,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.select_from(companies.join(people).join(engineers))
@@ -1171,7 +1171,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(people.join(engineers), "employees")
@@ -1181,7 +1181,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_three(self):
- sess = create_session()
+ sess = fixture_session()
ealias = aliased(Engineer)
eq_(
sess.query(Company)
@@ -1192,7 +1192,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_six(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(people.join(engineers), "employees")
@@ -1202,7 +1202,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_six_point_five(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(people.join(engineers), "employees")
@@ -1213,7 +1213,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_seven(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(people.join(engineers), "employees")
@@ -1224,11 +1224,11 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_eight(self):
- sess = create_session()
+ sess = fixture_session()
eq_(sess.query(Person).join(Engineer.machines).all(), [e1, e2, e3])
def test_join_to_subclass_nine(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.select_from(companies.join(people).join(engineers))
@@ -1238,7 +1238,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_ten(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join("employees")
@@ -1248,7 +1248,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_eleven(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.select_from(companies.join(people).join(engineers))
@@ -1258,11 +1258,11 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_twelve(self):
- sess = create_session()
+ sess = fixture_session()
eq_(sess.query(Person).join(Engineer.machines).all(), [e1, e2, e3])
def test_join_to_subclass_thirteen(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.join(Engineer.machines)
@@ -1272,14 +1272,14 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_fourteen(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company).join("employees", Engineer.machines).all(),
[c1, c2],
)
def test_join_to_subclass_fifteen(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join("employees", Engineer.machines)
@@ -1289,12 +1289,12 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_sixteen(self):
- sess = create_session()
+ sess = fixture_session()
# non-polymorphic
eq_(sess.query(Engineer).join(Engineer.machines).all(), [e1, e2, e3])
def test_join_to_subclass_seventeen(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Engineer)
.join(Engineer.machines)
@@ -1304,7 +1304,7 @@ class _PolymorphicTestBase(object):
)
def test_join_and_thru_polymorphic_nonaliased_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees)
@@ -1314,7 +1314,7 @@ class _PolymorphicTestBase(object):
)
def test_join_and_thru_polymorphic_aliased_one(self):
- sess = create_session()
+ sess = fixture_session()
ea = aliased(Person)
pa = aliased(Paperwork)
eq_(
@@ -1326,7 +1326,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_nonaliased_one(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees)
@@ -1337,7 +1337,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_nonaliased_two(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees)
@@ -1348,7 +1348,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_nonaliased_three(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees)
@@ -1360,7 +1360,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_nonaliased_four(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees)
@@ -1372,7 +1372,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_nonaliased_five(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join("employees")
@@ -1384,7 +1384,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_nonaliased_six(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join("employees")
@@ -1396,7 +1396,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_aliased_one(self):
- sess = create_session()
+ sess = fixture_session()
ea = aliased(Person)
pa = aliased(Paperwork)
eq_(
@@ -1409,7 +1409,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_aliased_two(self):
- sess = create_session()
+ sess = fixture_session()
ea = aliased(Person)
pa = aliased(Paperwork)
eq_(
@@ -1422,7 +1422,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_aliased_three(self):
- sess = create_session()
+ sess = fixture_session()
ea = aliased(Person)
pa = aliased(Paperwork)
eq_(
@@ -1436,7 +1436,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_aliased_four(self):
- sess = create_session()
+ sess = fixture_session()
ea = aliased(Person)
pa = aliased(Paperwork)
eq_(
@@ -1450,7 +1450,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_aliased_five(self):
- sess = create_session()
+ sess = fixture_session()
ea = aliased(Person)
pa = aliased(Paperwork)
eq_(
@@ -1464,7 +1464,7 @@ class _PolymorphicTestBase(object):
)
def test_join_through_polymorphic_aliased_six(self):
- sess = create_session()
+ sess = fixture_session()
pa = aliased(Paperwork)
ea = aliased(Person)
eq_(
@@ -1478,7 +1478,7 @@ class _PolymorphicTestBase(object):
)
def test_explicit_polymorphic_join_one(self):
- sess = create_session()
+ sess = fixture_session()
# join from Company to Engineer; join condition formulated by
# ORMJoin using regular table foreign key connections. Engineer
@@ -1493,7 +1493,7 @@ class _PolymorphicTestBase(object):
)
def test_explicit_polymorphic_join_two(self):
- sess = create_session()
+ sess = fixture_session()
# same, using explicit join condition. Query.join() must
# adapt the on clause here to match the subquery wrapped around
@@ -1507,7 +1507,7 @@ class _PolymorphicTestBase(object):
)
def test_filter_on_baseclass(self):
- sess = create_session()
+ sess = fixture_session()
eq_(sess.query(Person).order_by(Person.person_id).all(), all_employees)
eq_(
sess.query(Person).order_by(Person.person_id).first(),
@@ -1522,7 +1522,7 @@ class _PolymorphicTestBase(object):
)
def test_from_alias(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
eq_(
sess.query(palias)
@@ -1533,7 +1533,7 @@ class _PolymorphicTestBase(object):
)
def test_self_referential_one(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
expected = [(m1, e1), (m1, e2), (m1, b1)]
@@ -1549,7 +1549,7 @@ class _PolymorphicTestBase(object):
def test_self_referential_two(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
expected = [(m1, e1), (m1, e2), (m1, b1)]
@@ -1567,7 +1567,7 @@ class _PolymorphicTestBase(object):
def test_self_referential_two_point_five(self):
"""Using two aliases, the above case works."""
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
palias2 = aliased(Person)
@@ -1588,7 +1588,7 @@ class _PolymorphicTestBase(object):
def test_self_referential_two_future(self):
# TODO: this is the SECOND test *EVER* of an aliased class of
# an aliased class.
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
expected = [(m1, e1), (m1, e2), (m1, b1)]
# not aliasing the first class
@@ -1618,7 +1618,7 @@ class _PolymorphicTestBase(object):
# TODO: this is the first test *EVER* of an aliased class of
# an aliased class. we should add many more tests for this.
# new case added in Id810f485c5f7ed971529489b84694e02a3356d6d
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
expected = [(m1, e1), (m1, e2), (m1, b1)]
# aliasing the first class
@@ -1648,7 +1648,7 @@ class _PolymorphicTestBase(object):
# second "filter" from hitting it, which would pollute the
# subquery and usually results in recursion overflow errors
# within the adaption.
- sess = create_session()
+ sess = fixture_session()
subq = (
sess.query(engineers.c.person_id)
.filter(Engineer.primary_language == "java")
@@ -1658,7 +1658,7 @@ class _PolymorphicTestBase(object):
eq_(sess.query(Person).filter(Person.person_id.in_(subq)).one(), e1)
def test_mixed_entities_one(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
(
@@ -1744,7 +1744,7 @@ class _PolymorphicTestBase(object):
_join_to_poly_wp_three,
)
def test_mixed_entities_join_to_poly(self, q):
- sess = create_session()
+ sess = fixture_session()
expected = [
("dilbert", "MegaCorp, Inc."),
("wally", "MegaCorp, Inc."),
@@ -1758,7 +1758,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_two(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
("java", "MegaCorp, Inc."),
("cobol", "Elbonia, Inc."),
@@ -1774,7 +1774,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_three(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
expected = [
(
@@ -1807,7 +1807,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_four(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
expected = [
(
@@ -1841,7 +1841,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_five(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
expected = [("vlad", "Elbonia, Inc.", "dilbert")]
eq_(
@@ -1855,7 +1855,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_six(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
expected = [
("manager", "dogbert", "engineer", "dilbert"),
@@ -1873,7 +1873,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_seven(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
("dilbert", "tps report #1"),
("dilbert", "tps report #2"),
@@ -1893,7 +1893,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_eight(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(func.count(Person.person_id))
.filter(Engineer.primary_language == "java")
@@ -1902,7 +1902,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_nine(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("Elbonia, Inc.", 1), ("MegaCorp, Inc.", 4)]
eq_(
sess.query(Company.name, func.count(Person.person_id))
@@ -1914,7 +1914,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_ten(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("Elbonia, Inc.", 1), ("MegaCorp, Inc.", 4)]
eq_(
sess.query(Company.name, func.count(Person.person_id))
@@ -1926,7 +1926,7 @@ class _PolymorphicTestBase(object):
)
# def test_mixed_entities(self):
- # sess = create_session()
+ # sess = fixture_session()
# TODO: I think raise error on these for now. different
# inheritance/loading schemes have different results here,
# all incorrect
@@ -1936,7 +1936,7 @@ class _PolymorphicTestBase(object):
# [])
# def test_mixed_entities(self):
- # sess = create_session()
+ # sess = fixture_session()
# eq_(sess.query(
# Person.name,
# Engineer.primary_language,
@@ -1945,7 +1945,7 @@ class _PolymorphicTestBase(object):
# [])
def test_mixed_entities_eleven(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("java",), ("c++",), ("cobol",)]
eq_(
sess.query(Engineer.primary_language)
@@ -1955,7 +1955,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_twelve(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("vlad", "Elbonia, Inc.")]
eq_(
sess.query(Person.name, Company.name)
@@ -1966,12 +1966,12 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_thirteen(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("pointy haired boss", "fore")]
eq_(sess.query(Boss.name, Boss.golf_swing).all(), expected)
def test_mixed_entities_fourteen(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("dilbert", "java"), ("wally", "c++"), ("vlad", "cobol")]
eq_(
sess.query(Engineer.name, Engineer.primary_language).all(),
@@ -1979,7 +1979,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_fifteen(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
(
@@ -2001,7 +2001,7 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_sixteen(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
(
Engineer(
@@ -2022,17 +2022,17 @@ class _PolymorphicTestBase(object):
)
def test_mixed_entities_seventeen(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("pointy haired boss",), ("dogbert",)]
eq_(sess.query(Manager.name).all(), expected)
def test_mixed_entities_eighteen(self):
- sess = create_session()
+ sess = fixture_session()
expected = [("pointy haired boss foo",), ("dogbert foo",)]
eq_(sess.query(Manager.name + " foo").all(), expected)
def test_mixed_entities_nineteen(self):
- sess = create_session()
+ sess = fixture_session()
row = (
sess.query(Engineer.name, Engineer.primary_language)
.filter(Engineer.name == "dilbert")
@@ -2042,7 +2042,7 @@ class _PolymorphicTestBase(object):
assert row.primary_language == "java"
def test_correlation_one(self):
- sess = create_session()
+ sess = fixture_session()
# this for a long time did not work with PolymorphicAliased and
# PolymorphicUnions, which was due to the no_replacement_traverse
@@ -2063,7 +2063,7 @@ class _PolymorphicTestBase(object):
)
def test_correlation_two(self):
- sess = create_session()
+ sess = fixture_session()
paliased = aliased(Person)
@@ -2081,7 +2081,7 @@ class _PolymorphicTestBase(object):
)
def test_correlation_three(self):
- sess = create_session()
+ sess = fixture_session()
paliased = aliased(Person, flat=True)
@@ -2101,7 +2101,7 @@ class _PolymorphicTestBase(object):
class PolymorphicTest(_PolymorphicTestBase, _Polymorphic):
def test_join_to_subclass_four(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.select_from(people.join(engineers))
@@ -2111,7 +2111,7 @@ class PolymorphicTest(_PolymorphicTestBase, _Polymorphic):
)
def test_join_to_subclass_five(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person)
.select_from(people.join(engineers))
@@ -2123,7 +2123,7 @@ class PolymorphicTest(_PolymorphicTestBase, _Polymorphic):
def test_correlation_w_polymorphic(self):
- sess = create_session()
+ sess = fixture_session()
p_poly = with_polymorphic(Person, "*")
@@ -2142,7 +2142,7 @@ class PolymorphicTest(_PolymorphicTestBase, _Polymorphic):
def test_correlation_w_polymorphic_flat(self):
- sess = create_session()
+ sess = fixture_session()
p_poly = with_polymorphic(Person, "*", flat=True)
@@ -2184,7 +2184,7 @@ class PolymorphicPolymorphicTest(
# aliased(polymorphic) will normally do the old-school
# "(SELECT * FROM a JOIN b ...) AS anon_1" thing.
# this is the safest
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person)
self.assert_compile(
sess.query(palias, Company.name)
@@ -2235,7 +2235,7 @@ class PolymorphicPolymorphicTest(
)
def test_flat_aliased_w_select_from(self):
- sess = create_session()
+ sess = fixture_session()
palias = aliased(Person, flat=True)
self.assert_compile(
sess.query(palias, Company.name)
@@ -2275,7 +2275,7 @@ class PolymorphicPolymorphicTest(
class PolymorphicUnionsTest(_PolymorphicTestBase, _PolymorphicUnions):
def test_subqueryload_on_subclass_uses_path_correctly(self):
- sess = create_session()
+ sess = fixture_session()
expected = [
Engineer(
name="dilbert",
@@ -2361,7 +2361,7 @@ class PolymorphicAliasedJoinsTest(
class PolymorphicJoinsTest(_PolymorphicTestBase, _PolymorphicJoins):
def test_having_group_by(self):
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Person.name)
.group_by(Person.name)
diff --git a/test/orm/inheritance/test_productspec.py b/test/orm/inheritance/test_productspec.py
index 35c7565fb..e940cb0f4 100644
--- a/test/orm/inheritance/test_productspec.py
+++ b/test/orm/inheritance/test_productspec.py
@@ -11,7 +11,7 @@ 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 create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -174,7 +174,7 @@ class InheritTest(fixtures.MappedTest):
),
)
- session = create_session()
+ session = fixture_session()
a1 = Assembly(name="a1")
@@ -223,7 +223,7 @@ class InheritTest(fixtures.MappedTest):
),
)
- session = create_session()
+ session = fixture_session()
s = SpecLine(follower=Product(name="p1"))
s2 = SpecLine(follower=Detail(name="d1"))
@@ -300,7 +300,7 @@ class InheritTest(fixtures.MappedTest):
polymorphic_identity="raster_document",
)
- session = create_session()
+ session = fixture_session()
a1 = Assembly(name="a1")
a1.specification.append(SpecLine(follower=Detail(name="d1")))
@@ -359,7 +359,7 @@ class InheritTest(fixtures.MappedTest):
polymorphic_identity="raster_document",
)
- session = create_session()
+ session = fixture_session()
a1 = Assembly(name="a1")
a1.documents.append(RasterDocument("doc2"))
@@ -448,7 +448,7 @@ class InheritTest(fixtures.MappedTest):
mapper(Assembly, inherits=Product, polymorphic_identity="assembly")
- session = create_session()
+ session = fixture_session()
a1 = Assembly(name="a1")
a1.specification.append(SpecLine(follower=Detail(name="d1")))
diff --git a/test/orm/inheritance/test_relationship.py b/test/orm/inheritance/test_relationship.py
index 6879e1465..214be5e9a 100644
--- a/test/orm/inheritance/test_relationship.py
+++ b/test/orm/inheritance/test_relationship.py
@@ -21,7 +21,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing.entities import ComparableEntity
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -116,7 +116,7 @@ class SelfReferentialTestJoinedToBase(fixtures.MappedTest):
def test_has(self):
p1 = Person(name="dogbert")
e1 = Engineer(name="dilbert", primary_language="java", reports_to=p1)
- sess = create_session()
+ sess = fixture_session()
sess.add(p1)
sess.add(e1)
sess.flush()
@@ -131,7 +131,7 @@ class SelfReferentialTestJoinedToBase(fixtures.MappedTest):
def test_oftype_aliases_in_exists(self):
e1 = Engineer(name="dilbert", primary_language="java")
e2 = Engineer(name="wally", primary_language="c++", reports_to=e1)
- sess = create_session()
+ sess = fixture_session()
sess.add_all([e1, e2])
sess.flush()
eq_(
@@ -148,7 +148,7 @@ class SelfReferentialTestJoinedToBase(fixtures.MappedTest):
def test_join(self):
p1 = Person(name="dogbert")
e1 = Engineer(name="dilbert", primary_language="java", reports_to=p1)
- sess = create_session()
+ sess = fixture_session()
sess.add(p1)
sess.add(e1)
sess.flush()
@@ -242,7 +242,7 @@ class SelfReferentialJ2JTest(fixtures.MappedTest):
def test_has(self):
m1 = Manager(name="dogbert")
e1 = Engineer(name="dilbert", primary_language="java", reports_to=m1)
- sess = create_session()
+ sess = fixture_session()
sess.add(m1)
sess.add(e1)
sess.flush()
@@ -258,7 +258,7 @@ class SelfReferentialJ2JTest(fixtures.MappedTest):
def test_join(self):
m1 = Manager(name="dogbert")
e1 = Engineer(name="dilbert", primary_language="java", reports_to=m1)
- sess = create_session()
+ sess = fixture_session()
sess.add(m1)
sess.add(e1)
sess.flush()
@@ -281,7 +281,7 @@ class SelfReferentialJ2JTest(fixtures.MappedTest):
e2 = Engineer(name="dilbert", primary_language="c++", reports_to=m2)
e3 = Engineer(name="etc", primary_language="c++")
- sess = create_session()
+ sess = fixture_session()
sess.add_all([m1, m2, e1, e2, e3])
sess.flush()
sess.expunge_all()
@@ -318,7 +318,7 @@ class SelfReferentialJ2JTest(fixtures.MappedTest):
e2 = Engineer(name="wally", primary_language="c++", reports_to=m2)
e3 = Engineer(name="etc", primary_language="c++")
- sess = create_session()
+ sess = fixture_session()
sess.add(m1)
sess.add(m2)
sess.add(e1)
@@ -409,13 +409,13 @@ class SelfReferentialJ2JSelfTest(fixtures.MappedTest):
def _two_obj_fixture(self):
e1 = Engineer(name="wally")
e2 = Engineer(name="dilbert", reports_to=e1)
- sess = Session()
+ sess = fixture_session()
sess.add_all([e1, e2])
sess.commit()
return sess
def _five_obj_fixture(self):
- sess = Session()
+ sess = fixture_session()
e1, e2, e3, e4, e5 = [Engineer(name="e%d" % (i + 1)) for i in range(5)]
e3.reports_to = e1
e4.reports_to = e2
@@ -596,7 +596,7 @@ class M2MFilterTest(fixtures.MappedTest):
def test_not_contains(self):
Organization = self.classes.Organization
- sess = create_session()
+ sess = fixture_session()
e1 = sess.query(Person).filter(Engineer.name == "e1").one()
eq_(
@@ -615,7 +615,7 @@ class M2MFilterTest(fixtures.MappedTest):
)
def test_any(self):
- sess = create_session()
+ sess = fixture_session()
Organization = self.classes.Organization
eq_(
@@ -718,7 +718,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_query_crit(self):
Child1, Child2 = self.classes.Child1, self.classes.Child2
- sess = create_session()
+ sess = fixture_session()
c11, c12, c13 = Child1(), Child1(), Child1()
c21, c22, c23 = Child2(), Child2(), Child2()
c11.left_child2 = c22
@@ -812,7 +812,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_eager_join(self):
Child1, Child2 = self.classes.Child1, self.classes.Child2
- sess = create_session()
+ sess = fixture_session()
c1 = Child1()
c1.left_child2 = Child2()
sess.add(c1)
@@ -849,7 +849,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_subquery_load(self):
Child1, Child2 = self.classes.Child1, self.classes.Child2
- sess = create_session()
+ sess = fixture_session()
c1 = Child1()
c1.left_child2 = Child2()
sess.add(c1)
@@ -974,7 +974,7 @@ class EagerToSubclassTest(fixtures.MappedTest):
def test_joinedload(self):
Parent = self.classes.Parent
- sess = Session()
+ sess = fixture_session()
def go():
eq_(
@@ -987,7 +987,7 @@ class EagerToSubclassTest(fixtures.MappedTest):
def test_contains_eager(self):
Parent = self.classes.Parent
Sub = self.classes.Sub
- sess = Session()
+ sess = fixture_session()
def go():
eq_(
@@ -1004,7 +1004,7 @@ class EagerToSubclassTest(fixtures.MappedTest):
def test_subq_through_related(self):
Parent = self.classes.Parent
Base = self.classes.Base
- sess = Session()
+ sess = fixture_session()
def go():
eq_(
@@ -1023,7 +1023,7 @@ class EagerToSubclassTest(fixtures.MappedTest):
Parent = self.classes.Parent
Base = self.classes.Base
pa = aliased(Parent)
- sess = Session()
+ sess = fixture_session()
def go():
eq_(
@@ -1150,7 +1150,7 @@ class SubClassEagerToSubClassTest(fixtures.MappedTest):
def test_joinedload(self):
Subparent = self.classes.Subparent
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -1175,7 +1175,7 @@ class SubClassEagerToSubClassTest(fixtures.MappedTest):
def test_contains_eager(self):
Subparent = self.classes.Subparent
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -1204,7 +1204,7 @@ class SubClassEagerToSubClassTest(fixtures.MappedTest):
def test_subqueryload(self):
Subparent = self.classes.Subparent
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -1336,7 +1336,7 @@ class SameNamedPropTwoPolymorphicSubClassesTest(fixtures.MappedTest):
C = self.classes.C
D = self.classes.D
- session = Session()
+ session = fixture_session()
d = session.query(D).one()
a_poly = with_polymorphic(A, [B, C])
@@ -1354,7 +1354,7 @@ class SameNamedPropTwoPolymorphicSubClassesTest(fixtures.MappedTest):
C = self.classes.C
D = self.classes.D
- session = Session()
+ session = fixture_session()
d = session.query(D).one()
def go():
@@ -1375,7 +1375,7 @@ class SameNamedPropTwoPolymorphicSubClassesTest(fixtures.MappedTest):
C = self.classes.C
D = self.classes.D
- session = Session()
+ session = fixture_session()
d = session.query(D).one()
a_poly = with_polymorphic(A, [B, C])
@@ -1393,7 +1393,7 @@ class SameNamedPropTwoPolymorphicSubClassesTest(fixtures.MappedTest):
C = self.classes.C
D = self.classes.D
- session = Session()
+ session = fixture_session()
d = session.query(D).one()
def go():
@@ -1499,7 +1499,7 @@ class SubClassToSubClassFromParentTest(fixtures.MappedTest):
def test_2617(self):
A = self.classes.A
- session = Session()
+ session = fixture_session()
def go():
a1 = session.query(A).first()
@@ -1642,7 +1642,7 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
def test_one(self):
Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = self._classes()
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent)
.join(Parent.sub1, Sub1.sub2)
@@ -1663,7 +1663,7 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
s2a = aliased(Sub2, flat=True)
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent).join(Parent.sub1).join(s2a, Sub1.sub2),
"SELECT parent.id AS parent_id, parent.data AS parent_data "
@@ -1677,7 +1677,7 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
def test_three(self):
Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = self._classes()
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Base1).join(Base1.sub2).join(Sub2.ep1).join(Sub2.ep2),
"SELECT base1.id AS base1_id, base1.data AS base1_data "
@@ -1691,7 +1691,7 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
def test_four(self):
Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = self._classes()
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Sub2)
.join(Base1, Base1.id == Sub2.base1_id)
@@ -1709,7 +1709,7 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
def test_five(self):
Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = self._classes()
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Sub2)
.join(Sub1, Sub1.id == Sub2.base1_id)
@@ -1729,7 +1729,7 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
def test_six_legacy(self):
Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = self._classes()
- s = Session()
+ s = fixture_session()
# as of from_self() changing in
# I3abfb45dd6e50f84f29d39434caa0b550ce27864,
@@ -1781,7 +1781,7 @@ class SubClassToSubClassMultiTest(AssertsCompiledSQL, fixtures.MappedTest):
def test_seven_legacy(self):
Parent, Base1, Base2, Sub1, Sub2, EP1, EP2 = self._classes()
- s = Session()
+ s = fixture_session()
# as of from_self() changing in
# I3abfb45dd6e50f84f29d39434caa0b550ce27864,
@@ -1946,7 +1946,7 @@ class JoinedloadWPolyOfTypeContinued(
def test_joined_load_lastlink_subclass(self):
Foo, User, SubBar = self.classes("Foo", "User", "SubBar")
- s = Session()
+ s = fixture_session()
foo_polymorphic = with_polymorphic(Foo, "*", aliased=True)
@@ -1992,7 +1992,7 @@ class JoinedloadWPolyOfTypeContinued(
def test_joined_load_lastlink_baseclass(self):
Foo, User, Bar = self.classes("Foo", "User", "Bar")
- s = Session()
+ s = fixture_session()
foo_polymorphic = with_polymorphic(Foo, "*", aliased=True)
@@ -2072,7 +2072,7 @@ class ContainsEagerMultipleOfType(
def test_contains_eager_multi_alias(self):
X, B, A = self.classes("X", "B", "A")
- s = Session()
+ s = fixture_session()
a_b_alias = aliased(B, name="a_b")
b_x_alias = aliased(X, name="b_x")
@@ -2141,7 +2141,7 @@ class JoinedloadSinglePolysubSingle(
def test_query(self):
Thing = self.classes.Thing
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Thing),
"SELECT things.id AS things_id, "
@@ -2281,7 +2281,7 @@ class JoinedloadOverWPolyAliased(
cls = fn()
Link = self.classes.Link
- session = Session()
+ session = fixture_session()
q = session.query(cls).options(
joinedload(cls.links).joinedload(Link.child).joinedload(cls.links)
)
@@ -2310,7 +2310,7 @@ class JoinedloadOverWPolyAliased(
parent_cls = fn()
Link = self.classes.Link
- session = Session()
+ session = fixture_session()
q = session.query(Link).options(
joinedload(Link.child).joinedload(parent_cls.owner)
)
@@ -2341,7 +2341,7 @@ class JoinedloadOverWPolyAliased(
poly = with_polymorphic(Parent, [Sub1])
- session = Session()
+ session = fixture_session()
q = session.query(poly).options(
joinedload(poly.Sub1.links)
.joinedload(Link.child.of_type(Sub1))
@@ -2369,7 +2369,7 @@ class JoinedloadOverWPolyAliased(
poly = with_polymorphic(Parent, [Sub1])
- session = Session()
+ session = fixture_session()
q = session.query(poly).options(
joinedload(poly.Sub1.links, innerjoin=True)
.joinedload(Link.child.of_type(Sub1), innerjoin=True)
@@ -2395,7 +2395,7 @@ class JoinedloadOverWPolyAliased(
Parent = self.classes.Parent
Link = self.classes.Link
- session = Session()
+ session = fixture_session()
session.add_all([Parent(), Parent()])
# represents "Parent" and "Sub1" rows
@@ -2472,7 +2472,7 @@ class JoinAcrossJoinedInhMultiPath(
t1_alias = aliased(Target)
t2_alias = aliased(Target)
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(Root)
.join(s1_alias, Root.sub1)
@@ -2508,7 +2508,7 @@ class JoinAcrossJoinedInhMultiPath(
t1_alias = aliased(Target)
t2_alias = aliased(Target)
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(Root)
.join(s1_alias, Root.sub1)
@@ -2539,7 +2539,7 @@ class JoinAcrossJoinedInhMultiPath(
self.classes.Sub1,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Root).options(
joinedload(Root.sub1).joinedload(Sub1.target),
joinedload(Root.intermediate)
@@ -2631,7 +2631,7 @@ class MultipleAdaptUsesEntityOverTableTest(
def _two_join_fixture(self):
B, C, D = (self.classes.B, self.classes.C, self.classes.D)
- s = Session()
+ s = fixture_session()
return (
s.query(B.name, C.name, D.name)
.select_from(B)
@@ -2805,7 +2805,7 @@ class BetweenSubclassJoinWExtraJoinedLoad(
def test_query(self):
Engineer, Manager = self.classes("Engineer", "Manager")
- sess = Session()
+ sess = fixture_session()
# eager join is both from Enginer->LastSeen as well as
# Manager->LastSeen. In the case of Manager->LastSeen,
@@ -2885,7 +2885,7 @@ class M2ODontLoadSiblingTest(fixtures.DeclarativeMappedTest):
def test_load_m2o_emit_query(self):
Other, Child1 = self.classes("Other", "Child1")
- s = Session()
+ s = fixture_session()
obj = s.query(Other).first()
@@ -2894,7 +2894,7 @@ class M2ODontLoadSiblingTest(fixtures.DeclarativeMappedTest):
def test_load_m2o_use_get(self):
Other, Child1 = self.classes("Other", "Child1")
- s = Session()
+ s = fixture_session()
obj = s.query(Other).first()
c1 = s.query(Child1).first()
diff --git a/test/orm/inheritance/test_selects.py b/test/orm/inheritance/test_selects.py
index dab184194..24297dd0e 100644
--- a/test/orm/inheritance/test_selects.py
+++ b/test/orm/inheritance/test_selects.py
@@ -6,6 +6,7 @@ from sqlalchemy.orm import mapper
from sqlalchemy.orm import Session
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -117,7 +118,7 @@ class JoinFromSelectPersistenceTest(fixtures.MappedTest):
)
mapper(Child, child, inherits=Base, polymorphic_identity="child")
- sess = Session()
+ sess = fixture_session()
# 2. use an id other than "1" here so can't rely on
# the two inserts having the same id
diff --git a/test/orm/inheritance/test_single.py b/test/orm/inheritance/test_single.py
index cbe6bd238..11c6bb212 100644
--- a/test/orm/inheritance/test_single.py
+++ b/test/orm/inheritance/test_single.py
@@ -16,14 +16,13 @@ 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
from sqlalchemy.orm import subqueryload
from sqlalchemy.orm import with_polymorphic
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing.assertsql import CompiledSQL
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -126,7 +125,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
self.classes.Engineer,
)
- session = create_session()
+ session = fixture_session()
m1 = Manager(name="Tom", manager_data="knows how to manage things")
e1 = Engineer(name="Kurt", engineer_info="knows how to hack")
@@ -283,7 +282,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
def test_from_self_legacy(self):
Engineer = self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated(r"The Query.from_self\(\) method"):
self.assert_compile(
sess.query(Engineer).from_self(),
@@ -350,7 +349,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
def test_select_from_aliased_w_subclass(self):
Engineer = self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
a1 = aliased(Engineer)
self.assert_compile(
@@ -369,7 +368,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
def test_union_modifiers(self):
Engineer, Manager = self.classes("Engineer", "Manager")
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(Engineer).filter(Engineer.engineer_info == "foo")
q2 = sess.query(Manager).filter(Manager.manager_data == "bar")
@@ -420,7 +419,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
Engineer, Manager = self.classes("Engineer", "Manager")
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Engineer)
@@ -437,7 +436,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
def test_from_self_count(self):
Engineer = self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
col = func.count(literal_column("*"))
with testing.expect_deprecated(r"The Query.from_self\(\) method"):
self.assert_compile(
@@ -452,7 +451,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
def test_select_from_count(self):
Manager, Engineer = (self.classes.Manager, self.classes.Engineer)
- sess = create_session()
+ sess = fixture_session()
m1 = Manager(name="Tom", manager_data="data1")
e1 = Engineer(name="Kurt", engineer_info="knows how to hack")
sess.add_all([m1, e1])
@@ -468,7 +467,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
self.classes.Engineer,
)
- sess = create_session()
+ sess = fixture_session()
m1 = Manager(name="Tom", manager_data="data1")
m2 = Manager(name="Tom2", manager_data="data2")
e1 = Engineer(name="Kurt", engineer_info="knows how to hack")
@@ -500,7 +499,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
self.classes.Engineer,
)
- sess = create_session()
+ sess = fixture_session()
r1, r2, r3, r4 = (
Report(name="r1"),
Report(name="r2"),
@@ -544,7 +543,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
Manager = self.classes.Manager
Engineer = self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
m1 = Manager(name="Tom", manager_data="data1")
m2 = Manager(name="Tom2", manager_data="data2")
e1 = Engineer(name="Kurt", engineer_info="data3")
@@ -562,7 +561,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
def test_exists_standalone(self):
Engineer = self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(
@@ -580,7 +579,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
self.classes.Engineer,
)
- sess = create_session()
+ sess = fixture_session()
m1 = Manager(name="Tom", manager_data="data1")
r1 = Report(employee=m1)
@@ -602,7 +601,7 @@ class SingleInheritanceTest(testing.AssertsCompiledSQL, fixtures.MappedTest):
self.classes.Engineer,
)
- sess = create_session()
+ sess = fixture_session()
m1 = Manager(name="Tom", manager_data="data1")
r1 = Report(employee=m1)
@@ -695,7 +694,7 @@ class RelationshipFromSingleTest(
def test_subquery_load(self):
Employee, Stuff, Manager = self.classes("Employee", "Stuff", "Manager")
- sess = create_session()
+ sess = fixture_session()
with self.sql_execution_asserter(testing.db) as asserter:
sess.query(Manager).options(subqueryload("stuff")).all()
@@ -809,7 +808,7 @@ class RelationshipToSingleTest(
inherits=Engineer,
polymorphic_identity="juniorengineer",
)
- sess = sessionmaker()()
+ sess = fixture_session()
c1 = Company(name="c1")
c2 = Company(name="c2")
@@ -851,7 +850,7 @@ class RelationshipToSingleTest(
mapper(Employee, employees, polymorphic_on=employees.c.type)
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company).outerjoin(
Company.employee.of_type(Engineer),
@@ -882,7 +881,7 @@ class RelationshipToSingleTest(
mapper(Employee, employees)
mapper(Engineer, inherits=Employee)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company, Engineer.name).join(
Engineer, Company.company_id == Engineer.company_id
@@ -910,7 +909,7 @@ class RelationshipToSingleTest(
mapper(Employee, employees, polymorphic_on=employees.c.type)
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company, Engineer.name).outerjoin("engineers"),
"SELECT companies.company_id AS companies_company_id, "
@@ -938,7 +937,7 @@ class RelationshipToSingleTest(
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
eng_alias = aliased(Engineer)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company, eng_alias.name).outerjoin(
eng_alias, Company.engineers
@@ -967,7 +966,7 @@ class RelationshipToSingleTest(
mapper(Employee, employees, polymorphic_on=employees.c.type)
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company, Engineer).outerjoin(
Engineer, Company.company_id == Engineer.company_id
@@ -1002,7 +1001,7 @@ class RelationshipToSingleTest(
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
eng_alias = aliased(Engineer)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company, eng_alias).outerjoin(
eng_alias, Company.company_id == eng_alias.company_id
@@ -1036,7 +1035,7 @@ class RelationshipToSingleTest(
mapper(Employee, employees, polymorphic_on=employees.c.type)
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company, Engineer).outerjoin(Engineer),
"SELECT companies.company_id AS companies_company_id, "
@@ -1069,7 +1068,7 @@ class RelationshipToSingleTest(
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
eng_alias = aliased(Engineer)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company, eng_alias).outerjoin(eng_alias),
"SELECT companies.company_id AS companies_company_id, "
@@ -1102,7 +1101,7 @@ class RelationshipToSingleTest(
)
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
- sess = create_session()
+ sess = fixture_session()
engineer_count = (
sess.query(func.count(Engineer.employee_id))
.select_from(Engineer)
@@ -1144,7 +1143,7 @@ class RelationshipToSingleTest(
mapper(Engineer, inherits=Employee, polymorphic_identity="engineer")
mapper(Manager, inherits=Employee, polymorphic_identity="manager")
- s = create_session()
+ s = fixture_session()
q1 = (
s.query(Engineer)
@@ -1236,7 +1235,7 @@ class RelationshipToSingleTest(
inherits=Engineer,
polymorphic_identity="juniorengineer",
)
- sess = sessionmaker()()
+ sess = fixture_session()
c1 = Company(name="c1")
c2 = Company(name="c2")
@@ -1433,7 +1432,7 @@ class ManyToManyToSingleTest(fixtures.MappedTest, AssertsCompiledSQL):
Parent = self.classes.Parent
SubChild1 = self.classes.SubChild1
- s = Session()
+ s = fixture_session()
p1 = s.query(Parent).options(joinedload(Parent.s1)).all()[0]
eq_(p1.__dict__["s1"], SubChild1(name="sc1_1"))
@@ -1443,7 +1442,7 @@ class ManyToManyToSingleTest(fixtures.MappedTest, AssertsCompiledSQL):
Child = self.classes.Child
SubChild1 = self.classes.SubChild1
- s = Session()
+ s = fixture_session()
p1, c1 = s.query(Parent, Child).outerjoin(Parent.s1).all()[0]
eq_(c1, SubChild1(name="sc1_1"))
@@ -1452,7 +1451,7 @@ class ManyToManyToSingleTest(fixtures.MappedTest, AssertsCompiledSQL):
Parent = self.classes.Parent
Child = self.classes.Child
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent, Child).outerjoin(Parent.s1),
@@ -1468,7 +1467,7 @@ class ManyToManyToSingleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_assert_joinedload_sql(self):
Parent = self.classes.Parent
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent).options(joinedload(Parent.s1)),
@@ -1538,7 +1537,7 @@ class SingleOnJoinedTest(fixtures.MappedTest):
)
mapper(Manager, inherits=Employee, polymorphic_identity="manager")
- sess = create_session()
+ sess = fixture_session()
sess.add(Person(name="p1"))
sess.add(Employee(name="e1", employee_data="ed1"))
sess.add(Manager(name="m1", employee_data="ed2", manager_data="md1"))
@@ -1663,7 +1662,7 @@ class SingleFromPolySelectableTest(
[self.classes.Boss, self.classes.Manager, self.classes.Engineer],
self._with_poly_fixture(),
)
- s = Session()
+ s = fixture_session()
q = s.query(poly.Boss)
self.assert_compile(
q,
@@ -1695,7 +1694,7 @@ class SingleFromPolySelectableTest(
poly = self._with_poly_fixture()
- s = Session()
+ s = fixture_session()
q = s.query(Boss).with_polymorphic(Boss, poly)
self.assert_compile(
q,
@@ -1719,7 +1718,7 @@ class SingleFromPolySelectableTest(
def test_single_inh_subclass_join_joined_inh_subclass(self):
Boss, Engineer = self.classes("Boss", "Engineer")
- s = Session()
+ s = fixture_session()
q = s.query(Boss).join(Engineer, Engineer.manager_id == Boss.id)
@@ -1744,7 +1743,7 @@ class SingleFromPolySelectableTest(
self._with_poly_fixture(),
)
- s = Session()
+ s = fixture_session()
q = s.query(Boss).join(
poly.Engineer, poly.Engineer.manager_id == Boss.id
@@ -1776,7 +1775,7 @@ class SingleFromPolySelectableTest(
def test_joined_inh_subclass_join_single_inh_subclass(self):
Engineer = self.classes.Engineer
Boss = self.classes.Boss
- s = Session()
+ s = fixture_session()
q = s.query(Engineer).join(Boss, Engineer.manager_id == Boss.id)
@@ -1826,7 +1825,7 @@ class EagerDefaultEvalTest(fixtures.DeclarativeMappedTest):
foo = Foo()
- session = Session()
+ session = fixture_session()
session.add(foo)
session.flush()
@@ -1839,7 +1838,7 @@ class EagerDefaultEvalTest(fixtures.DeclarativeMappedTest):
def test_persist_bar(self):
Bar = self.classes.Bar
bar = Bar()
- session = Session()
+ session = fixture_session()
session.add(bar)
session.flush()
diff --git a/test/orm/inheritance/test_with_poly.py b/test/orm/inheritance/test_with_poly.py
index dee76fc7b..2492e593c 100644
--- a/test/orm/inheritance/test_with_poly.py
+++ b/test/orm/inheritance/test_with_poly.py
@@ -2,9 +2,9 @@ from sqlalchemy import and_
from sqlalchemy import exc
from sqlalchemy import or_
from sqlalchemy import testing
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import with_polymorphic
from sqlalchemy.testing import eq_
+from sqlalchemy.testing.fixtures import fixture_session
from ._poly_fixtures import _Polymorphic
from ._poly_fixtures import _PolymorphicAliasedJoins
from ._poly_fixtures import _PolymorphicFixtureBase
@@ -19,7 +19,7 @@ from ._poly_fixtures import Person
class WithPolymorphicAPITest(_Polymorphic, _PolymorphicFixtureBase):
def test_no_use_flat_and_aliased(self):
- sess = create_session()
+ sess = fixture_session()
subq = sess.query(Person).subquery()
@@ -37,7 +37,7 @@ class WithPolymorphicAPITest(_Polymorphic, _PolymorphicFixtureBase):
class _WithPolymorphicBase(_PolymorphicFixtureBase):
def test_join_base_to_sub(self):
- sess = create_session()
+ sess = fixture_session()
pa = with_polymorphic(Person, [Engineer])
def go():
@@ -51,7 +51,7 @@ class _WithPolymorphicBase(_PolymorphicFixtureBase):
self.assert_sql_count(testing.db, go, 1)
def test_col_expression_base_plus_two_subs(self):
- sess = create_session()
+ sess = fixture_session()
pa = with_polymorphic(Person, [Engineer, Manager])
eq_(
@@ -70,7 +70,7 @@ class _WithPolymorphicBase(_PolymorphicFixtureBase):
)
def test_join_to_join_entities(self):
- sess = create_session()
+ sess = fixture_session()
pa = with_polymorphic(Person, [Engineer])
pa_alias = with_polymorphic(Person, [Engineer], aliased=True)
@@ -101,7 +101,7 @@ class _WithPolymorphicBase(_PolymorphicFixtureBase):
)
def test_join_to_join_columns(self):
- sess = create_session()
+ sess = fixture_session()
pa = with_polymorphic(Person, [Engineer])
pa_alias = with_polymorphic(Person, [Engineer], aliased=True)
diff --git a/test/orm/test_ac_relationships.py b/test/orm/test_ac_relationships.py
index fbbf192a0..40f099fc8 100644
--- a/test/orm/test_ac_relationships.py
+++ b/test/orm/test_ac_relationships.py
@@ -16,6 +16,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.fixtures import ComparableEntity
+from sqlalchemy.testing.fixtures import fixture_session
class PartitionByFixture(fixtures.DeclarativeMappedTest):
@@ -213,7 +214,7 @@ class AltSelectableTest(
def test_lazyload(self):
A, B = self.classes("A", "B")
- sess = Session()
+ sess = fixture_session()
a1 = sess.query(A).first()
with self.sql_execution_asserter() as asserter:
@@ -232,7 +233,7 @@ class AltSelectableTest(
def test_joinedload(self):
A, B = self.classes("A", "B")
- sess = Session()
+ sess = fixture_session()
with self.sql_execution_asserter() as asserter:
# note this is many-to-one. use_get is unconditionally turned
@@ -254,7 +255,7 @@ class AltSelectableTest(
def test_selectinload(self):
A, B = self.classes("A", "B")
- sess = Session()
+ sess = fixture_session()
with self.sql_execution_asserter() as asserter:
# note this is many-to-one. use_get is unconditionally turned
@@ -280,7 +281,7 @@ class AltSelectableTest(
def test_join(self):
A, B = self.classes("A", "B")
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(A).join(A.b),
diff --git a/test/orm/test_association.py b/test/orm/test_association.py
index b4c689c01..30e6f3541 100644
--- a/test/orm/test_association.py
+++ b/test/orm/test_association.py
@@ -3,11 +3,11 @@ from sqlalchemy import func
from sqlalchemy import Integer
from sqlalchemy import select
from sqlalchemy import String
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -119,7 +119,7 @@ class AssociationTest(fixtures.MappedTest):
self.classes.Keyword,
)
- sess = create_session()
+ sess = fixture_session()
item1 = Item("item1")
item2 = Item("item2")
item1.keywords.append(
@@ -144,7 +144,7 @@ class AssociationTest(fixtures.MappedTest):
self.classes.Keyword,
)
- sess = create_session()
+ sess = fixture_session()
item1 = Item("item1")
item1.keywords.append(
KeywordAssociation(Keyword("blue"), "blue_assoc")
@@ -170,7 +170,7 @@ class AssociationTest(fixtures.MappedTest):
self.classes.Keyword,
)
- sess = create_session()
+ sess = fixture_session()
item1 = Item("item1")
item2 = Item("item2")
item1.keywords.append(
@@ -211,7 +211,7 @@ class AssociationTest(fixtures.MappedTest):
item_keywords = self.tables.item_keywords
Keyword = self.classes.Keyword
- sess = create_session()
+ sess = fixture_session()
item1 = Item("item1")
item2 = Item("item2")
item1.keywords.append(
@@ -223,9 +223,19 @@ class AssociationTest(fixtures.MappedTest):
)
sess.add_all((item1, item2))
sess.flush()
- eq_(select(func.count("*")).select_from(item_keywords).scalar(), 3)
+ eq_(
+ sess.connection().scalar(
+ select(func.count("*")).select_from(item_keywords)
+ ),
+ 3,
+ )
sess.delete(item1)
sess.delete(item2)
sess.flush()
- eq_(select(func.count("*")).select_from(item_keywords).scalar(), 0)
+ eq_(
+ sess.connection().scalar(
+ select(func.count("*")).select_from(item_keywords)
+ ),
+ 0,
+ )
diff --git a/test/orm/test_assorted_eager.py b/test/orm/test_assorted_eager.py
index 310e50eb2..8ca6a8d86 100644
--- a/test/orm/test_assorted_eager.py
+++ b/test/orm/test_assorted_eager.py
@@ -15,11 +15,12 @@ from sqlalchemy import String
from sqlalchemy import testing
from sqlalchemy import text
from sqlalchemy.orm import backref
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
+from sqlalchemy.orm import Session
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -151,7 +152,7 @@ class EagerTest(fixtures.MappedTest):
cls.classes.Thing,
)
- session = create_session(connection)
+ session = Session(connection)
o = Owner()
c = Category(name="Some Category")
@@ -167,7 +168,7 @@ class EagerTest(fixtures.MappedTest):
session.flush()
- def test_noorm(self):
+ def test_noorm(self, connection):
"""test the control case"""
tests, options, categories = (
@@ -187,7 +188,7 @@ class EagerTest(fixtures.MappedTest):
# not orm style correct query
print("Obtaining correct results without orm")
- result = (
+ result = connection.execute(
sa.select(tests.c.id, categories.c.name)
.where(
sa.and_(
@@ -208,9 +209,7 @@ class EagerTest(fixtures.MappedTest):
),
)
)
- .execute()
- .fetchall()
- )
+ ).fetchall()
eq_(result, [(1, "Some Category"), (3, "Some Category")])
def test_withoutjoinedload(self):
@@ -220,7 +219,7 @@ class EagerTest(fixtures.MappedTest):
self.tables.options,
)
- s = create_session()
+ s = fixture_session()
result = (
s.query(Thing)
.select_from(
@@ -260,7 +259,7 @@ class EagerTest(fixtures.MappedTest):
self.tables.options,
)
- s = create_session()
+ s = fixture_session()
q = s.query(Thing).options(sa.orm.joinedload("category"))
result = q.select_from(
@@ -293,7 +292,7 @@ class EagerTest(fixtures.MappedTest):
self.tables.options,
)
- s = create_session()
+ s = fixture_session()
q = s.query(Thing).options(sa.orm.joinedload("category"))
result = q.filter(
sa.and_(
@@ -312,7 +311,7 @@ class EagerTest(fixtures.MappedTest):
def test_without_outerjoin_literal(self):
Thing, tests = (self.classes.Thing, self.tables.tests)
- s = create_session()
+ s = fixture_session()
q = s.query(Thing).options(sa.orm.joinedload("category"))
result = q.filter(
(tests.c.owner_id == 1)
@@ -331,7 +330,7 @@ class EagerTest(fixtures.MappedTest):
self.tables.options,
)
- s = create_session()
+ s = fixture_session()
q = s.query(Thing).options(sa.orm.joinedload("category"))
result = q.filter(
(tests.c.owner_id == 1)
@@ -434,7 +433,7 @@ class EagerTest2(fixtures.MappedTest):
p.left.append(Left("l1"))
p.right.append(Right("r1"))
- session = create_session()
+ session = fixture_session()
session.add(p)
session.flush()
session.expunge_all()
@@ -509,7 +508,7 @@ class EagerTest3(fixtures.MappedTest):
mapper(Stat, stats, properties={"data": relationship(Data)})
- session = create_session()
+ session = fixture_session()
data = [Data(a=x) for x in range(5)]
session.add_all(data)
@@ -538,7 +537,7 @@ class EagerTest3(fixtures.MappedTest):
.group_by(stats.c.data_id)
)
- arb_result = arb_data.execute().fetchall()
+ arb_result = session.connection().execute(arb_data).fetchall()
# order the result list descending based on 'max'
arb_result.sort(key=lambda a: a._mapping["max"], reverse=True)
@@ -633,7 +632,7 @@ class EagerTest4(fixtures.MappedTest):
for e in "Joe", "Bob", "Mary", "Wally":
d2.employees.append(Employee(name=e))
- sess = create_session()
+ sess = fixture_session()
sess.add_all((d1, d2))
sess.flush()
@@ -751,7 +750,7 @@ class EagerTest5(fixtures.MappedTest):
mapper(DerivedII, derivedII, inherits=baseMapper)
- sess = create_session()
+ sess = fixture_session()
d = Derived("uid1", "x", "y")
d.comments = [Comment("uid1", "comment")]
d2 = DerivedII("uid2", "xx", "z")
@@ -910,7 +909,7 @@ class EagerTest6(fixtures.MappedTest):
)
d = Design()
- sess = create_session()
+ sess = fixture_session()
sess.add(d)
sess.flush()
sess.expunge_all()
@@ -1024,7 +1023,7 @@ class EagerTest7(fixtures.MappedTest):
c1 = Company(company_name="company 1", addresses=[a1, a2])
i1 = Invoice(date=datetime.datetime.now(), company=c1)
- session = create_session()
+ session = fixture_session()
session.add(i1)
session.flush()
@@ -1169,7 +1168,7 @@ class EagerTest8(fixtures.MappedTest):
properties=dict(type=relationship(Task_Type, lazy="joined")),
)
- session = create_session()
+ session = fixture_session()
eq_(
session.query(Joined).limit(10).offset(0).one(),
@@ -1284,7 +1283,7 @@ class EagerTest9(fixtures.MappedTest):
self.classes.Transaction,
)
- session = create_session()
+ session = fixture_session()
tx1 = Transaction(name="tx1")
tx2 = Transaction(name="tx2")
diff --git a/test/orm/test_backref_mutations.py b/test/orm/test_backref_mutations.py
index c873f46c7..a6d651d22 100644
--- a/test/orm/test_backref_mutations.py
+++ b/test/orm/test_backref_mutations.py
@@ -16,9 +16,9 @@ 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
from sqlalchemy.testing import eq_
from sqlalchemy.testing import is_
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
@@ -44,7 +44,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_collection_move_hitslazy(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
a2 = Address(email_address="address2")
a3 = Address(email_address="address3")
@@ -65,7 +65,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_collection_move_preloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", addresses=[a1])
@@ -88,7 +88,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_collection_move_notloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", addresses=[a1])
@@ -109,7 +109,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_collection_move_commitfirst(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", addresses=[a1])
@@ -134,7 +134,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_scalar_move_preloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="jack")
u2 = User(name="ed")
@@ -161,7 +161,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="jack")
u2 = User(name="ed")
a1 = Address(email_address="a1")
@@ -183,7 +183,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_set_none(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="jack")
a1 = Address(email_address="a1")
a1.user = u1
@@ -201,7 +201,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_scalar_move_notloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="jack")
u2 = User(name="ed")
@@ -221,7 +221,7 @@ class O2MCollectionTest(_fixtures.FixtureTest):
def test_scalar_move_commitfirst(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="jack")
u2 = User(name="ed")
@@ -399,7 +399,7 @@ class O2OScalarBackrefMoveTest(_fixtures.FixtureTest):
def test_collection_move_preloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", address=a1)
@@ -425,7 +425,7 @@ class O2OScalarBackrefMoveTest(_fixtures.FixtureTest):
def test_scalar_move_preloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
a2 = Address(email_address="address1")
u1 = User(name="jack", address=a1)
@@ -449,7 +449,7 @@ class O2OScalarBackrefMoveTest(_fixtures.FixtureTest):
def test_collection_move_notloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", address=a1)
@@ -471,7 +471,7 @@ class O2OScalarBackrefMoveTest(_fixtures.FixtureTest):
def test_scalar_move_notloaded(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
a2 = Address(email_address="address1")
u1 = User(name="jack", address=a1)
@@ -492,7 +492,7 @@ class O2OScalarBackrefMoveTest(_fixtures.FixtureTest):
def test_collection_move_commitfirst(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", address=a1)
@@ -519,7 +519,7 @@ class O2OScalarBackrefMoveTest(_fixtures.FixtureTest):
def test_scalar_move_commitfirst(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
a2 = Address(email_address="address2")
u1 = User(name="jack", address=a1)
@@ -568,7 +568,7 @@ class O2OScalarMoveTest(_fixtures.FixtureTest):
def test_collection_move_commitfirst(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", address=a1)
@@ -622,7 +622,7 @@ class O2OScalarOrphanTest(_fixtures.FixtureTest):
def test_m2o_event(self):
User, Address = self.classes.User, self.classes.Address
- sess = sessionmaker()()
+ sess = fixture_session()
a1 = Address(email_address="address1")
u1 = User(name="jack", address=a1)
@@ -667,7 +667,7 @@ class M2MCollectionMoveTest(_fixtures.FixtureTest):
Item, Keyword = (self.classes.Item, self.classes.Keyword)
- session = Session(autoflush=False)
+ session = fixture_session(autoflush=False)
i1 = Item(description="i1")
session.add(i1)
@@ -685,7 +685,7 @@ class M2MCollectionMoveTest(_fixtures.FixtureTest):
Item, Keyword = (self.classes.Item, self.classes.Keyword)
- session = Session(autoflush=False)
+ session = fixture_session(autoflush=False)
k1 = Keyword(name="k1")
i1 = Item(description="i1", keywords=[k1])
@@ -805,7 +805,7 @@ class M2MScalarMoveTest(_fixtures.FixtureTest):
def test_collection_move_preloaded(self):
Item, Keyword = self.classes.Item, self.classes.Keyword
- sess = sessionmaker()()
+ sess = fixture_session()
k1 = Keyword(name="k1")
i1 = Item(description="i1", keyword=k1)
@@ -828,7 +828,7 @@ class M2MScalarMoveTest(_fixtures.FixtureTest):
def test_collection_move_notloaded(self):
Item, Keyword = self.classes.Item, self.classes.Keyword
- sess = sessionmaker()()
+ sess = fixture_session()
k1 = Keyword(name="k1")
i1 = Item(description="i1", keyword=k1)
@@ -847,7 +847,7 @@ class M2MScalarMoveTest(_fixtures.FixtureTest):
def test_collection_move_commit(self):
Item, Keyword = self.classes.Item, self.classes.Keyword
- sess = sessionmaker()()
+ sess = fixture_session()
k1 = Keyword(name="k1")
i1 = Item(description="i1", keyword=k1)
diff --git a/test/orm/test_bind.py b/test/orm/test_bind.py
index 09ceaf827..2f54f7fff 100644
--- a/test/orm/test_bind.py
+++ b/test/orm/test_bind.py
@@ -8,7 +8,6 @@ from sqlalchemy import table
from sqlalchemy import testing
from sqlalchemy import true
from sqlalchemy.orm import backref
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
from sqlalchemy.orm import Session
@@ -20,6 +19,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import mock
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.mock import Mock
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -110,13 +110,13 @@ class BindIntegrationTest(_fixtures.FixtureTest):
},
)
- Session = sessionmaker(
+ maker = sessionmaker(
binds={
users_unbound: testing.db,
addresses_unbound: testing.db,
}
)
- sess = Session()
+ sess = maker()
u1 = User(id=1, name="ed")
sess.add(u1)
@@ -149,7 +149,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
mapper(User, users)
- session = Session()
+ session = fixture_session()
session.execute(users.insert(), dict(name="Johnny"))
@@ -374,7 +374,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
sess.close()
def test_bind_arg(self):
- sess = Session()
+ sess = fixture_session()
assert_raises_message(
sa.exc.ArgumentError,
@@ -401,7 +401,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
mapper(User, users)
c = testing.db.connect()
- sess = create_session(bind=c)
+ sess = Session(bind=c)
sess.begin()
transaction = sess._legacy_transaction()
u = User(name="u1")
@@ -430,7 +430,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
mapper(User, users)
c = testing.db.connect()
- sess = create_session(bind=c, autocommit=False)
+ sess = Session(bind=c, autocommit=False)
u = User(name="u1")
sess.add(u)
sess.flush()
@@ -438,7 +438,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
assert not c.in_transaction()
assert c.exec_driver_sql("select count(1) from users").scalar() == 0
- sess = create_session(bind=c, autocommit=False)
+ sess = Session(bind=c, autocommit=False)
u = User(name="u2")
sess.add(u)
sess.flush()
@@ -453,7 +453,7 @@ class BindIntegrationTest(_fixtures.FixtureTest):
c = testing.db.connect()
trans = c.begin()
- sess = create_session(bind=c, autocommit=True)
+ sess = Session(bind=c, autocommit=True)
u = User(name="u3")
sess.add(u)
sess.flush()
@@ -497,7 +497,7 @@ class SessionBindTest(fixtures.MappedTest):
for bind in (engine, engine.connect()):
try:
- sess = create_session(bind=bind)
+ sess = Session(bind=bind)
assert sess.bind is bind
f = Foo()
sess.add(f)
@@ -510,7 +510,7 @@ class SessionBindTest(fixtures.MappedTest):
def test_session_unbound(self):
Foo = self.classes.Foo
- sess = create_session()
+ sess = Session()
sess.add(Foo())
assert_raises_message(
sa.exc.UnboundExecutionError,
@@ -576,10 +576,6 @@ class GetBindTest(fixtures.MappedTest):
def _fixture(self, binds):
return Session(binds=binds)
- def test_fallback_table_metadata(self):
- session = self._fixture({})
- is_(session.get_bind(self.classes.BaseClass), testing.db)
-
def test_bind_base_table_base_class(self):
base_class_bind = Mock()
session = self._fixture({self.tables.base_table: base_class_bind})
@@ -608,11 +604,25 @@ class GetBindTest(fixtures.MappedTest):
# table, so this is what we expect
is_(session.get_bind(self.classes.JoinedSubClass), base_class_bind)
+ def test_fallback_table_metadata(self):
+ session = self._fixture({})
+ assert_raises_message(
+ sa.exc.UnboundExecutionError,
+ "Could not locate a bind configured on mapper mapped class",
+ session.get_bind,
+ self.classes.BaseClass,
+ )
+
def test_bind_base_table_concrete_sub_class(self):
base_class_bind = Mock()
session = self._fixture({self.tables.base_table: base_class_bind})
- is_(session.get_bind(self.classes.ConcreteSubClass), testing.db)
+ assert_raises_message(
+ sa.exc.UnboundExecutionError,
+ "Could not locate a bind configured on mapper mapped class",
+ session.get_bind,
+ self.classes.ConcreteSubClass,
+ )
def test_bind_sub_table_concrete_sub_class(self):
base_class_bind = Mock(name="base")
diff --git a/test/orm/test_bulk.py b/test/orm/test_bulk.py
index 27b187342..83f74f055 100644
--- a/test/orm/test_bulk.py
+++ b/test/orm/test_bulk.py
@@ -4,12 +4,12 @@ from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import testing
from sqlalchemy.orm import mapper
-from sqlalchemy.orm import Session
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import mock
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import Conditional
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -48,7 +48,7 @@ class BulkInsertUpdateVersionId(BulkTest, fixtures.MappedTest):
def test_bulk_insert_via_save(self):
Foo = self.classes.Foo
- s = Session()
+ s = fixture_session()
s.bulk_save_objects([Foo(value="value")])
@@ -58,7 +58,7 @@ class BulkInsertUpdateVersionId(BulkTest, fixtures.MappedTest):
def test_bulk_update_via_save(self):
Foo = self.classes.Foo
- s = Session()
+ s = fixture_session()
s.add(Foo(value="value"))
s.commit()
@@ -84,7 +84,7 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
def test_bulk_save_return_defaults(self):
(User,) = self.classes("User")
- s = Session()
+ s = fixture_session()
objects = [User(name="u1"), User(name="u2"), User(name="u3")]
assert "id" not in objects[0].__dict__
@@ -121,7 +121,7 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
def test_bulk_save_mappings_preserve_order(self):
(User,) = self.classes("User")
- s = Session()
+ s = fixture_session()
# commit some object into db
user1 = User(name="i1")
@@ -177,7 +177,7 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
def test_bulk_save_no_defaults(self):
(User,) = self.classes("User")
- s = Session()
+ s = fixture_session()
objects = [User(name="u1"), User(name="u2"), User(name="u3")]
assert "id" not in objects[0].__dict__
@@ -195,7 +195,7 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
def test_bulk_save_updated_include_unchanged(self):
(User,) = self.classes("User")
- s = Session(expire_on_commit=False)
+ s = fixture_session(expire_on_commit=False)
objects = [User(name="u1"), User(name="u2"), User(name="u3")]
s.add_all(objects)
s.commit()
@@ -203,7 +203,7 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
objects[0].name = "u1new"
objects[2].name = "u3new"
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter() as asserter:
s.bulk_save_objects(objects, update_changed_only=False)
@@ -221,12 +221,12 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
def test_bulk_update(self):
(User,) = self.classes("User")
- s = Session(expire_on_commit=False)
+ s = fixture_session(expire_on_commit=False)
objects = [User(name="u1"), User(name="u2"), User(name="u3")]
s.add_all(objects)
s.commit()
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter() as asserter:
s.bulk_update_mappings(
User,
@@ -251,7 +251,7 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
def test_bulk_insert(self):
(User,) = self.classes("User")
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter() as asserter:
s.bulk_insert_mappings(
User,
@@ -276,7 +276,7 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
def test_bulk_insert_render_nulls(self):
(Order,) = self.classes("Order")
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter() as asserter:
s.bulk_insert_mappings(
Order,
@@ -334,7 +334,7 @@ class BulkUDPostfetchTest(BulkTest, fixtures.MappedTest):
def test_insert_w_fetch(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = A(x=1)
s.bulk_save_objects([a1])
s.commit()
@@ -342,7 +342,7 @@ class BulkUDPostfetchTest(BulkTest, fixtures.MappedTest):
def test_update_w_fetch(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = A(x=1, y=2)
s.add(a1)
s.commit()
@@ -488,7 +488,7 @@ class BulkUDTestAltColKeys(BulkTest, fixtures.MappedTest):
def _test_insert(self, person_cls):
Person = person_cls
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter(testing.db) as asserter:
s.bulk_insert_mappings(
Person, [{"id": 5, "personname": "thename"}]
@@ -501,7 +501,7 @@ class BulkUDTestAltColKeys(BulkTest, fixtures.MappedTest):
def _test_update(self, person_cls):
Person = person_cls
- s = Session()
+ s = fixture_session()
s.add(Person(id=5, personname="thename"))
s.commit()
@@ -605,7 +605,7 @@ class BulkInheritanceTest(BulkTest, fixtures.MappedTest):
"Person", "Engineer", "Manager", "Boss"
)
- s = Session()
+ s = fixture_session()
objects = [
Manager(name="m1", status="s1", manager_name="mn1"),
Engineer(name="e1", status="s2", primary_language="l1"),
@@ -684,7 +684,7 @@ class BulkInheritanceTest(BulkTest, fixtures.MappedTest):
"Person", "Engineer", "Manager", "Boss"
)
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter() as asserter:
s.bulk_save_objects(
[
@@ -766,7 +766,7 @@ class BulkInheritanceTest(BulkTest, fixtures.MappedTest):
"Person", "Engineer", "Manager", "Boss"
)
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter() as asserter:
s.bulk_insert_mappings(
Boss,
diff --git a/test/orm/test_bundle.py b/test/orm/test_bundle.py
index 956645506..b0113f1fc 100644
--- a/test/orm/test_bundle.py
+++ b/test/orm/test_bundle.py
@@ -16,6 +16,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -124,7 +125,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_same_named_col_in_orderby(self):
Data, Other = self.classes("Data", "Other")
bundle = Bundle("pk", Data.id, Other.id)
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Data, Other).order_by(bundle),
@@ -138,7 +139,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_same_named_col_in_fetch(self):
Data, Other = self.classes("Data", "Other")
bundle = Bundle("pk", Data.id, Other.id)
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(bundle)
@@ -159,7 +160,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_result(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1, Data.d2)
@@ -170,7 +171,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_subclass(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
class MyBundle(Bundle):
def create_row_processor(self, query, procs, labels):
@@ -199,7 +200,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
b1 = Bundle("b1", d1.d1, d1.d2)
b2 = Bundle("b2", Data.d1, Other.o1)
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(b1, b2)
@@ -249,7 +250,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_single_entity_legacy_query(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1, Data.d2, single_entity=True)
@@ -260,7 +261,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_labeled_cols_non_single_entity_legacy_query(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1.label("x"), Data.d2.label("y"))
@@ -271,7 +272,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_labeled_cols_single_entity_legacy_query(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle(
"b1", Data.d1.label("x"), Data.d2.label("y"), single_entity=True
@@ -284,7 +285,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_labeled_cols_as_rows_future(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1.label("x"), Data.d2.label("y"))
@@ -297,7 +298,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_labeled_cols_as_scalars_future(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1.label("x"), Data.d2.label("y"))
@@ -340,7 +341,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_single_entity_flag_but_multi_entities(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1, Data.d2, single_entity=True)
b2 = Bundle("b1", Data.d3, single_entity=True)
@@ -356,7 +357,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_bundle_nesting(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1, Bundle("b2", Data.d2, Data.d3))
@@ -374,7 +375,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_bundle_nesting_unions(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1, Bundle("b2", Data.d2, Data.d3))
@@ -407,12 +408,12 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_query_count(self):
Data = self.classes.Data
b1 = Bundle("b1", Data.d1, Data.d2)
- eq_(Session().query(b1).count(), 10)
+ eq_(fixture_session().query(b1).count(), 10)
def test_join_relationship(self):
Data = self.classes.Data
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1, Data.d2)
q = sess.query(b1).join(Data.others)
self.assert_compile(
@@ -426,7 +427,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
Data = self.classes.Data
Other = self.classes.Other
- sess = Session()
+ sess = fixture_session()
b1 = Bundle("b1", Data.d1, Data.d2)
q = sess.query(b1).join(Other)
self.assert_compile(
@@ -444,7 +445,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
b1 = Bundle("b1", Data.id, Data.d1, Data.d2)
- session = Session()
+ session = fixture_session()
first = session.query(b1)
second = session.query(b1)
unioned = first.union(second)
@@ -488,7 +489,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
b1 = Bundle("b1", Data.id, Data.d1, Data.d2)
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(b1).filter_by(d1="d1"),
@@ -501,7 +502,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
b1 = Bundle("b1", Data.id, Data.d1, Data.d2)
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Data).order_by(b1),
"SELECT data.id AS data_id, data.d1 AS data_d1, "
@@ -520,7 +521,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
b1 = Bundle("b1", data_table.c.d1, data_table.c.d2)
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(b1).filter(b1.c.d1.between("d3d1", "d5d1")).all(),
[(("d3d1", "d3d2"),), (("d4d1", "d4d2"),), (("d5d1", "d5d2"),)],
@@ -531,7 +532,7 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
b1 = Bundle("b1", data_table.c.d1, data_table.c.d2, single_entity=True)
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(b1).filter(b1.c.d1.between("d3d1", "d5d1")).all(),
[("d3d1", "d3d2"), ("d4d1", "d4d2"), ("d5d1", "d5d2")],
diff --git a/test/orm/test_cache_key.py b/test/orm/test_cache_key.py
index 59d747012..7ef9d1b60 100644
--- a/test/orm/test_cache_key.py
+++ b/test/orm/test_cache_key.py
@@ -21,6 +21,7 @@ from sqlalchemy.sql.base import CacheableOptions
from sqlalchemy.sql.visitors import InternalTraversal
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
from .inheritance import _poly_fixtures
from .test_query import QueryTest
@@ -260,20 +261,25 @@ class CacheKeyTest(CacheKeyFixture, _fixtures.FixtureTest):
self._run_cache_key_fixture(
lambda: stmt_20(
- Session().query(User).join(User.addresses),
- Session().query(User).join(User.orders),
- Session().query(User).join(User.addresses).join(User.orders),
- Session()
+ fixture_session().query(User).join(User.addresses),
+ fixture_session().query(User).join(User.orders),
+ fixture_session()
+ .query(User)
+ .join(User.addresses)
+ .join(User.orders),
+ fixture_session()
.query(User)
.join("addresses")
.join("dingalings", from_joinpoint=True),
- Session().query(User).join("addresses"),
- Session().query(User).join("orders"),
- Session().query(User).join("addresses").join("orders"),
- Session().query(User).join(Address, User.addresses),
- Session().query(User).join(a1, "addresses"),
- Session().query(User).join(a1, "addresses", aliased=True),
- Session().query(User).join(User.addresses.of_type(a1)),
+ fixture_session().query(User).join("addresses"),
+ fixture_session().query(User).join("orders"),
+ fixture_session().query(User).join("addresses").join("orders"),
+ fixture_session().query(User).join(Address, User.addresses),
+ fixture_session().query(User).join(a1, "addresses"),
+ fixture_session()
+ .query(User)
+ .join(a1, "addresses", aliased=True),
+ fixture_session().query(User).join(User.addresses.of_type(a1)),
),
compare_values=True,
)
@@ -285,21 +291,21 @@ class CacheKeyTest(CacheKeyFixture, _fixtures.FixtureTest):
self._run_cache_key_fixture(
lambda: stmt_20(
- Session()
+ fixture_session()
.query(User)
.from_statement(text("select * from user")),
- Session()
+ fixture_session()
.query(User)
.options(selectinload(User.addresses))
.from_statement(text("select * from user")),
- Session()
+ fixture_session()
.query(User)
.options(subqueryload(User.addresses))
.from_statement(text("select * from user")),
- Session()
+ fixture_session()
.query(User)
.from_statement(text("select * from user order by id")),
- Session()
+ fixture_session()
.query(User.id)
.from_statement(text("select * from user")),
),
@@ -316,28 +322,40 @@ class CacheKeyTest(CacheKeyFixture, _fixtures.FixtureTest):
self._run_cache_key_fixture(
lambda: stmt_20(
- Session().query(User),
- Session().query(User).prefix_with("foo"),
- Session().query(User).filter_by(name="ed"),
- Session().query(User).filter_by(name="ed").order_by(User.id),
- Session().query(User).filter_by(name="ed").order_by(User.name),
- Session().query(User).filter_by(name="ed").group_by(User.id),
- Session()
+ fixture_session().query(User),
+ fixture_session().query(User).prefix_with("foo"),
+ fixture_session().query(User).filter_by(name="ed"),
+ fixture_session()
+ .query(User)
+ .filter_by(name="ed")
+ .order_by(User.id),
+ fixture_session()
+ .query(User)
+ .filter_by(name="ed")
+ .order_by(User.name),
+ fixture_session()
+ .query(User)
+ .filter_by(name="ed")
+ .group_by(User.id),
+ fixture_session()
.query(User)
.join(User.addresses)
.filter(User.name == "ed"),
- Session().query(User).join(User.orders),
- Session()
+ fixture_session().query(User).join(User.orders),
+ fixture_session()
.query(User)
.join(User.orders)
.filter(Order.description == "adsf"),
- Session().query(User).join(User.addresses).join(User.orders),
- Session().query(User).join(Address, User.addresses),
- Session().query(User).join(a1, User.addresses),
- Session().query(User).join(User.addresses.of_type(a1)),
- Session().query(Address).join(Address.user),
- Session().query(User, Address).filter_by(name="ed"),
- Session().query(User, a1).filter_by(name="ed"),
+ fixture_session()
+ .query(User)
+ .join(User.addresses)
+ .join(User.orders),
+ fixture_session().query(User).join(Address, User.addresses),
+ fixture_session().query(User).join(a1, User.addresses),
+ fixture_session().query(User).join(User.addresses.of_type(a1)),
+ fixture_session().query(Address).join(Address.user),
+ fixture_session().query(User, Address).filter_by(name="ed"),
+ fixture_session().query(User, a1).filter_by(name="ed"),
),
compare_values=True,
)
@@ -401,27 +419,29 @@ class PolyCacheKeyTest(CacheKeyFixture, _poly_fixtures._Polymorphic):
def one():
return (
- Session().query(Person).with_polymorphic([Manager, Engineer])
+ fixture_session()
+ .query(Person)
+ .with_polymorphic([Manager, Engineer])
)
def two():
wp = with_polymorphic(Person, [Manager, Engineer])
- return Session().query(wp)
+ return fixture_session().query(wp)
def three():
wp = with_polymorphic(Person, [Manager, Engineer])
- return Session().query(wp).filter(wp.name == "asdfo")
+ return fixture_session().query(wp).filter(wp.name == "asdfo")
def three_a():
wp = with_polymorphic(Person, [Manager, Engineer], flat=True)
- return Session().query(wp).filter(wp.name == "asdfo")
+ return fixture_session().query(wp).filter(wp.name == "asdfo")
def four():
return (
- Session()
+ fixture_session()
.query(Person)
.with_polymorphic([Manager, Engineer])
.filter(Person.name == "asdf")
@@ -436,7 +456,7 @@ class PolyCacheKeyTest(CacheKeyFixture, _poly_fixtures._Polymorphic):
)
wp = with_polymorphic(Person, [Manager, Engineer], subq)
- return Session().query(wp).filter(wp.name == "asdfo")
+ return fixture_session().query(wp).filter(wp.name == "asdfo")
def six():
subq = (
@@ -447,7 +467,7 @@ class PolyCacheKeyTest(CacheKeyFixture, _poly_fixtures._Polymorphic):
)
return (
- Session()
+ fixture_session()
.query(Person)
.with_polymorphic([Manager, Engineer], subq)
.filter(Person.name == "asdfo")
@@ -467,7 +487,7 @@ class PolyCacheKeyTest(CacheKeyFixture, _poly_fixtures._Polymorphic):
def one():
return (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees)
.filter(Person.name == "asdf")
@@ -476,7 +496,7 @@ class PolyCacheKeyTest(CacheKeyFixture, _poly_fixtures._Polymorphic):
def two():
wp = with_polymorphic(Person, [Manager, Engineer])
return (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees.of_type(wp))
.filter(wp.name == "asdf")
@@ -485,7 +505,7 @@ class PolyCacheKeyTest(CacheKeyFixture, _poly_fixtures._Polymorphic):
def three():
wp = with_polymorphic(Person, [Manager, Engineer])
return (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees.of_type(wp))
.filter(wp.Engineer.name == "asdf")
diff --git a/test/orm/test_cascade.py b/test/orm/test_cascade.py
index 6a916e28a..180b479ba 100644
--- a/test/orm/test_cascade.py
+++ b/test/orm/test_cascade.py
@@ -18,7 +18,6 @@ from sqlalchemy.orm import mapper
from sqlalchemy.orm import object_mapper
from sqlalchemy.orm import relationship
from sqlalchemy.orm import Session
-from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import util as orm_util
from sqlalchemy.orm.attributes import instance_state
from sqlalchemy.testing import assert_raises
@@ -27,6 +26,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import in_
from sqlalchemy.testing import not_in
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -270,7 +270,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
def test_list_assignment_new(self):
User, Order = self.classes.User, self.classes.Order
- with Session() as sess:
+ with fixture_session() as sess:
u = User(
name="jack",
orders=[
@@ -295,7 +295,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
def test_list_assignment_replace(self):
User, Order = self.classes.User, self.classes.Order
- with Session() as sess:
+ with fixture_session() as sess:
u = User(
name="jack",
orders=[
@@ -331,7 +331,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
def test_standalone_orphan(self):
Order = self.classes.Order
- with Session() as sess:
+ with fixture_session() as sess:
o5 = Order(description="order 5")
sess.add(o5)
assert_raises(sa_exc.DBAPIError, sess.flush)
@@ -342,7 +342,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
Order, User = self.classes.Order, self.classes.User
- sess = sessionmaker(expire_on_commit=False)()
+ sess = fixture_session(expire_on_commit=False)
o1, o2, o3 = (
Order(description="o1"),
Order(description="o2"),
@@ -363,7 +363,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
def test_remove_pending_from_collection(self):
User, Order = self.classes.User, self.classes.Order
- with Session() as sess:
+ with fixture_session() as sess:
u = User(name="jack")
sess.add(u)
@@ -380,7 +380,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
User, Order = self.classes.User, self.classes.Order
- with Session() as sess:
+ with fixture_session() as sess:
u = User(name="jack")
@@ -407,7 +407,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
self.classes.Order,
)
- with Session() as sess:
+ with fixture_session() as sess:
u = User(
name="jack",
orders=[
@@ -444,7 +444,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
self.classes.Address,
)
- with Session() as sess:
+ with fixture_session() as sess:
u = User(
name="jack",
addresses=[
@@ -497,7 +497,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
self.tables.orders,
)
- with Session(autoflush=False) as sess:
+ with fixture_session(autoflush=False) as sess:
u = User(
name="jack",
orders=[
@@ -550,7 +550,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
self.classes.Address,
)
- sess = Session()
+ sess = fixture_session()
u = User(name="jack")
sess.add(u)
assert "orders" not in u.__dict__
@@ -580,7 +580,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
u = User(
name="jack",
orders=[
@@ -619,7 +619,7 @@ class O2MCascadeDeleteOrphanTest(fixtures.MappedTest):
self.classes.Order,
)
- with Session() as sess:
+ with fixture_session() as sess:
u = User(
name="jack",
orders=[
@@ -710,7 +710,7 @@ class O2MCascadeTest(fixtures.MappedTest):
def test_none_o2m_collection_assignment(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1 = User(name="u", addresses=[None])
s.add(u1)
eq_(u1.addresses, [None])
@@ -723,7 +723,7 @@ class O2MCascadeTest(fixtures.MappedTest):
def test_none_o2m_collection_append(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1 = User(name="u")
s.add(u1)
@@ -793,7 +793,7 @@ class O2MCascadeDeleteNoOrphanTest(fixtures.MappedTest):
self.tables.users,
)
- with Session() as sess:
+ with fixture_session() as sess:
u = User(
name="jack",
orders=[
@@ -936,7 +936,7 @@ class O2OSingleParentNoFlushTest(fixtures.MappedTest):
User, Address = self.classes.User, self.classes.Address
a1 = Address(email_address="some address")
u1 = User(name="u1", address=a1)
- sess = Session()
+ sess = fixture_session()
sess.add(u1)
sess.commit()
@@ -1083,7 +1083,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
u1.addresses.append(a1)
@@ -1096,7 +1096,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=False, o2m_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
u1.addresses.append(a1)
@@ -1109,7 +1109,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=False, o2m_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
sess.add(a1)
@@ -1127,7 +1127,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
u1.addresses.append(a1)
@@ -1140,7 +1140,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True, o2m_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
u1.addresses.append(a1)
@@ -1153,7 +1153,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True, o2m_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
u1.addresses.append(a1)
@@ -1172,7 +1172,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True, o2m_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
sess.add(a1)
@@ -1189,7 +1189,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True, o2m_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
sess.add(a1)
@@ -1212,7 +1212,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=False, m2o=True)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
a1.user = u1
@@ -1225,7 +1225,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=False, m2o=True, m2o_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
a1.user = u1
@@ -1238,7 +1238,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=False, m2o=True, m2o_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
sess.flush()
@@ -1255,7 +1255,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
a1.user = u1
@@ -1268,7 +1268,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True, m2o_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
a1.user = u1
@@ -1281,7 +1281,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True, m2o_cascade=False)
- with Session() as sess:
+ with fixture_session() as sess:
u1 = User(name="u1")
sess.add(u1)
sess.flush()
@@ -1324,7 +1324,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
self._one_to_many_fixture(o2m=True, m2o=True, m2o_cascade=False)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="a1")
@@ -1346,7 +1346,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
self._one_to_many_fixture(o2m=True, m2o=True, m2o_cascade=False)
- with Session() as sess:
+ with fixture_session() as sess:
u1 = User(name="u1")
sess.add(u1)
sess.flush()
@@ -1400,7 +1400,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=False)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
i1.keywords.append(k1)
@@ -1413,7 +1413,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=False, fwd_cascade=False)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
i1.keywords.append(k1)
@@ -1426,7 +1426,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=False, fwd_cascade=False)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
sess.add(k1)
@@ -1444,7 +1444,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=True)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
i1.keywords.append(k1)
@@ -1457,7 +1457,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=True, fwd_cascade=False)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
i1.keywords.append(k1)
@@ -1470,7 +1470,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=True, fwd_cascade=False)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
i1.keywords.append(k1)
@@ -1489,7 +1489,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=True, fwd_cascade=False)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
sess.add(k1)
@@ -1506,7 +1506,7 @@ class NoSaveCascadeFlushTest(_fixtures.FixtureTest):
Item, Keyword = self.classes.Item, self.classes.Keyword
self._many_to_many_fixture(fwd=True, bkd=True, fwd_cascade=False)
- sess = Session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
sess.add(k1)
@@ -1549,7 +1549,7 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
),
)
- sess = Session()
+ sess = fixture_session()
o1 = Order()
sess.add(o1)
@@ -1584,7 +1584,7 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
)
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User()
sess.add(u1)
@@ -1625,7 +1625,7 @@ class NoSaveCascadeBackrefTest(_fixtures.FixtureTest):
)
mapper(Keyword, keywords)
- sess = Session()
+ sess = fixture_session()
i1 = Item()
k1 = Keyword()
@@ -1753,7 +1753,7 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
self.tables.extra,
)
- sess = Session()
+ sess = fixture_session()
eq_(
sess.execute(select(func.count("*")).select_from(prefs)).scalar(),
3,
@@ -1779,7 +1779,7 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
Foo, User = self.classes.Foo, self.classes.User
- sess = sessionmaker(expire_on_commit=True)()
+ sess = fixture_session(expire_on_commit=True)
u1 = User(name="jack", foo=Foo(data="f1"))
sess.add(u1)
@@ -1802,7 +1802,7 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
Pref, User = self.classes.Pref, self.classes.User
- sess = sessionmaker(expire_on_commit=False)()
+ sess = fixture_session(expire_on_commit=False)
p1, p2 = Pref(data="p1"), Pref(data="p2")
u = User(name="jack", pref=p1)
@@ -1824,7 +1824,7 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
self.tables.extra,
)
- sess = Session()
+ sess = fixture_session()
jack = sess.query(User).filter_by(name="jack").one()
p = jack.pref
e = jack.pref.extra[0]
@@ -1849,7 +1849,7 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
def test_pending_expunge(self):
Pref, User = self.classes.Pref, self.classes.User
- sess = Session()
+ sess = fixture_session()
someuser = User(name="someuser")
sess.add(someuser)
sess.flush()
@@ -1868,7 +1868,7 @@ class M2OCascadeDeleteOrphanTestOne(fixtures.MappedTest):
Pref, User = self.classes.Pref, self.classes.User
- sess = Session()
+ sess = fixture_session()
jack = sess.query(User).filter_by(name="jack").one()
newpref = Pref(data="newpref")
@@ -1961,7 +1961,7 @@ class M2OCascadeDeleteOrphanTestTwo(fixtures.MappedTest):
def test_cascade_delete(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x = T1(data="t1a", t2=T2(data="t2a", t3=T3(data="t3a")))
sess.add(x)
sess.flush()
@@ -1975,7 +1975,7 @@ class M2OCascadeDeleteOrphanTestTwo(fixtures.MappedTest):
def test_deletes_orphans_onelevel(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x2 = T1(data="t1b", t2=T2(data="t2b", t3=T3(data="t3b")))
sess.add(x2)
sess.flush()
@@ -1990,7 +1990,7 @@ class M2OCascadeDeleteOrphanTestTwo(fixtures.MappedTest):
def test_deletes_orphans_twolevel(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x = T1(data="t1a", t2=T2(data="t2a", t3=T3(data="t3a")))
sess.add(x)
sess.flush()
@@ -2005,7 +2005,7 @@ class M2OCascadeDeleteOrphanTestTwo(fixtures.MappedTest):
def test_finds_orphans_twolevel(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x = T1(data="t1a", t2=T2(data="t2a", t3=T3(data="t3a")))
sess.add(x)
sess.flush()
@@ -2102,7 +2102,7 @@ class M2OCascadeDeleteNoOrphanTest(fixtures.MappedTest):
def test_cascade_delete(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x = T1(data="t1a", t2=T2(data="t2a", t3=T3(data="t3a")))
sess.add(x)
sess.flush()
@@ -2116,7 +2116,7 @@ class M2OCascadeDeleteNoOrphanTest(fixtures.MappedTest):
def test_cascade_delete_postappend_onelevel(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x1 = T1(data="t1")
x2 = T2(data="t2")
x3 = T3(data="t3")
@@ -2134,7 +2134,7 @@ class M2OCascadeDeleteNoOrphanTest(fixtures.MappedTest):
def test_cascade_delete_postappend_twolevel(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x1 = T1(data="t1", t2=T2(data="t2"))
x3 = T3(data="t3")
sess.add_all((x1, x3))
@@ -2150,7 +2150,7 @@ class M2OCascadeDeleteNoOrphanTest(fixtures.MappedTest):
def test_preserves_orphans_onelevel(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x2 = T1(data="t1b", t2=T2(data="t2b", t3=T3(data="t3b")))
sess.add(x2)
sess.flush()
@@ -2166,7 +2166,7 @@ class M2OCascadeDeleteNoOrphanTest(fixtures.MappedTest):
def test_preserves_orphans_onelevel_postremove(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x2 = T1(data="t1b", t2=T2(data="t2b", t3=T3(data="t3b")))
sess.add(x2)
sess.flush()
@@ -2181,7 +2181,7 @@ class M2OCascadeDeleteNoOrphanTest(fixtures.MappedTest):
def test_preserves_orphans_twolevel(self):
T2, T3, T1 = (self.classes.T2, self.classes.T3, self.classes.T1)
- sess = Session()
+ sess = fixture_session()
x = T1(data="t1a", t2=T2(data="t2a", t3=T3(data="t3a")))
sess.add(x)
sess.flush()
@@ -2270,7 +2270,7 @@ class M2MCascadeTest(fixtures.MappedTest):
)
mapper(B, b)
- sess = Session()
+ sess = fixture_session()
b1 = B(data="b1")
a1 = A(data="a1", bs=[b1])
sess.add(a1)
@@ -2310,7 +2310,7 @@ class M2MCascadeTest(fixtures.MappedTest):
# failed until [ticket:427] was fixed
mapper(B, b)
- sess = Session()
+ sess = fixture_session()
b1 = B(data="b1")
a1 = A(data="a1", bs=[b1])
sess.add(a1)
@@ -2356,7 +2356,7 @@ class M2MCascadeTest(fixtures.MappedTest):
)
mapper(C, c)
- sess = Session()
+ sess = fixture_session()
b1 = B(data="b1", cs=[C(data="c1")])
a1 = A(data="a1", bs=[b1])
sess.add(a1)
@@ -2394,7 +2394,7 @@ class M2MCascadeTest(fixtures.MappedTest):
)
mapper(B, b)
- sess = Session()
+ sess = fixture_session()
a1 = A(data="a1", bs=[B(data="b1")])
sess.add(a1)
sess.flush()
@@ -2513,7 +2513,7 @@ class M2MCascadeTest(fixtures.MappedTest):
)
mapper(B, b)
- s = Session()
+ s = fixture_session()
a1 = A(bs=[None])
s.add(a1)
eq_(a1.bs, [None])
@@ -2540,7 +2540,7 @@ class M2MCascadeTest(fixtures.MappedTest):
)
mapper(B, b)
- s = Session()
+ s = fixture_session()
a1 = A()
a1.bs.append(None)
s.add(a1)
@@ -2588,7 +2588,7 @@ class O2MSelfReferentialDetelOrphanTest(fixtures.MappedTest):
def test_self_referential_delete(self):
Node = self.classes.Node
- s = Session()
+ s = fixture_session()
n1, n2, n3, n4 = Node(), Node(), Node(), Node()
n1.children = [n2, n3]
@@ -2640,7 +2640,7 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
def test_o2m_basic(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -2652,7 +2652,7 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
def test_o2m_commit_warns(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -2667,7 +2667,7 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
def test_o2m_flag_on_backref(self):
Dingaling, Address = self.classes.Dingaling, self.classes.Address
- sess = Session()
+ sess = fixture_session()
a1 = Address(email_address="a1")
sess.add(a1)
@@ -2686,7 +2686,7 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
def test_m2o_basic(self):
Dingaling, Address = self.classes.Dingaling, self.classes.Address
- sess = Session()
+ sess = fixture_session()
a1 = Address(email_address="a1")
d1 = Dingaling()
@@ -2698,7 +2698,7 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
def test_m2o_flag_on_backref(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
a1 = Address(email_address="a1")
sess.add(a1)
@@ -2714,7 +2714,7 @@ class NoBackrefCascadeTest(_fixtures.FixtureTest):
def test_m2o_commit_warns(self):
Dingaling, Address = self.classes.Dingaling, self.classes.Address
- sess = Session()
+ sess = fixture_session()
a1 = Address(email_address="a1")
d1 = Dingaling()
@@ -2810,7 +2810,7 @@ class PendingOrphanTestSingleLevel(fixtures.MappedTest):
orders=relationship(Order, cascade="all, delete-orphan"),
),
)
- s = Session()
+ s = fixture_session()
# the standalone Address goes in, its foreign key
# allows NULL
@@ -2855,7 +2855,7 @@ class PendingOrphanTestSingleLevel(fixtures.MappedTest):
)
),
)
- s = Session()
+ s = fixture_session()
u = User()
s.add(u)
@@ -2891,7 +2891,7 @@ class PendingOrphanTestSingleLevel(fixtures.MappedTest):
)
),
)
- s = Session()
+ s = fixture_session()
u = User(name="u1", addresses=[Address(email_address="ad1")])
s.add(u)
a1 = u.addresses[0]
@@ -2964,7 +2964,7 @@ class PendingOrphanTestTwoLevel(fixtures.MappedTest):
},
)
mapper(Item, item)
- s = Session()
+ s = fixture_session()
o1 = Order()
s.add(o1)
@@ -3001,7 +3001,7 @@ class PendingOrphanTestTwoLevel(fixtures.MappedTest):
},
)
mapper(Attribute, attribute)
- s = Session()
+ s = fixture_session()
o1 = Order()
s.add(o1)
@@ -3117,7 +3117,7 @@ class DoubleParentO2MOrphanTest(fixtures.MappedTest):
)
),
)
- s = Session(expire_on_commit=False, autoflush=False)
+ s = fixture_session(expire_on_commit=False, autoflush=False)
a = Account(balance=0)
sr = SalesRep(name="John")
@@ -3282,7 +3282,7 @@ class DoubleParentM2OOrphanTest(fixtures.MappedTest):
},
)
- session = Session()
+ session = fixture_session()
h1 = Home(description="home1", address=Address(street="address1"))
b1 = Business(
description="business1", address=Address(street="address2")
@@ -3341,7 +3341,7 @@ class DoubleParentM2OOrphanTest(fixtures.MappedTest):
)
},
)
- session = Session()
+ session = fixture_session()
a1 = Address()
session.add(a1)
session.flush()
@@ -3386,7 +3386,7 @@ class CollectionAssignmentOrphanTest(fixtures.MappedTest):
a1 = A(name="a1", bs=[B(name="b1"), B(name="b2"), B(name="b3")])
- sess = Session()
+ sess = fixture_session()
sess.add(a1)
sess.flush()
@@ -3490,7 +3490,7 @@ class OrphanCriterionTest(fixtures.MappedTest):
RelatedTwo(cores=[c1])
if persistent:
- s = Session()
+ s = fixture_session()
s.add(c1)
s.flush()
@@ -3629,7 +3629,7 @@ class O2MConflictTest(fixtures.MappedTest):
def _do_move_test(self, delete_old):
Parent, Child = self.classes.Parent, self.classes.Child
- with Session(autoflush=False) as sess:
+ with fixture_session(autoflush=False) as sess:
p1, p2, c1 = Parent(), Parent(), Child()
if Parent.child.property.uselist:
p1.child.append(c1)
@@ -3880,7 +3880,7 @@ class PartialFlushTest(fixtures.MappedTest):
)
mapper(Child, noninh_child)
- sess = Session()
+ sess = fixture_session()
c1, c2 = Child(), Child()
b1 = Base(descr="b1", children=[c1, c2])
@@ -3897,7 +3897,7 @@ class PartialFlushTest(fixtures.MappedTest):
assert c2 in sess and c2 not in sess.new
assert b1 in sess and b1 not in sess.new
- sess = Session()
+ sess = fixture_session()
c1, c2 = Child(), Child()
b1 = Base(descr="b1", children=[c1, c2])
sess.add(b1)
@@ -3907,7 +3907,7 @@ class PartialFlushTest(fixtures.MappedTest):
assert c2 in sess and c2 in sess.new
assert b1 in sess and b1 in sess.new
- sess = Session()
+ sess = fixture_session()
c1, c2 = Child(), Child()
b1 = Base(descr="b1", children=[c1, c2])
sess.add(b1)
@@ -3952,7 +3952,7 @@ class PartialFlushTest(fixtures.MappedTest):
mapper(Parent, parent, inherits=Base)
- sess = Session()
+ sess = fixture_session()
p1 = Parent()
c1, c2, c3 = Child(), Child(), Child()
@@ -4097,7 +4097,7 @@ class SubclassCascadeTest(fixtures.DeclarativeMappedTest):
)
]
)
- s = Session()
+ s = fixture_session()
s.add(obj)
s.commit()
@@ -4188,7 +4188,7 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
u = User(id=1, name="jack")
sess.add(u)
sess.add_all(
@@ -4235,7 +4235,7 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="jack")
sess.add(u1)
@@ -4274,7 +4274,7 @@ class ViewonlyFlagWarningTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="jack")
o1, o2 = (
diff --git a/test/orm/test_collection.py b/test/orm/test_collection.py
index 7c7662618..3d09bd446 100644
--- a/test/orm/test_collection.py
+++ b/test/orm/test_collection.py
@@ -10,7 +10,6 @@ from sqlalchemy import testing
from sqlalchemy import text
from sqlalchemy import util
from sqlalchemy.orm import attributes
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import instrumentation
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
@@ -23,6 +22,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_false
from sqlalchemy.testing import is_true
from sqlalchemy.testing import ne_
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -1753,7 +1753,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
p = Parent()
p.children["foo"] = Child("foo", "value")
p.children["bar"] = Child("bar", "value")
- session = create_session()
+ session = fixture_session()
session.add(p)
session.flush()
pid = p.id
@@ -1839,7 +1839,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
p.children[("foo", "1")] = Child("foo", "1", "value 1")
p.children[("foo", "2")] = Child("foo", "2", "value 2")
- session = create_session()
+ session = fixture_session()
session.add(p)
session.flush()
pid = p.id
@@ -2104,7 +2104,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
f = Foo()
f.bars.add(Bar())
f.bars.add(Bar())
- sess = create_session()
+ sess = fixture_session()
sess.add(f)
sess.flush()
sess.expunge_all()
@@ -2147,7 +2147,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
f = Foo()
f.bars.set(Bar())
f.bars.set(Bar())
- sess = create_session()
+ sess = fixture_session()
sess.add(f)
sess.flush()
sess.expunge_all()
@@ -2189,7 +2189,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
col = collections.collection_adapter(f.bars)
col.append_with_event(Bar("a"))
col.append_with_event(Bar("b"))
- sess = create_session()
+ sess = fixture_session()
sess.add(f)
sess.flush()
sess.expunge_all()
@@ -2444,7 +2444,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
p1.children.append(o)
assert control == list(p1.children)
- sess = create_session()
+ sess = fixture_session()
sess.add(p1)
sess.flush()
sess.expunge_all()
diff --git a/test/orm/test_compile.py b/test/orm/test_compile.py
index 2404bf128..df652daf4 100644
--- a/test/orm/test_compile.py
+++ b/test/orm/test_compile.py
@@ -9,9 +9,9 @@ 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 create_session
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
@@ -232,7 +232,7 @@ class CompileTest(fixtures.ORMTest):
"host": relationship(Host),
},
)
- sess = create_session(connection)
+ sess = Session(connection)
assert sess.query(Node).get(1).names == []
def test_conflicting_backref_two(self):
diff --git a/test/orm/test_composites.py b/test/orm/test_composites.py
index a164034da..6ee87eefe 100644
--- a/test/orm/test_composites.py
+++ b/test/orm/test_composites.py
@@ -15,6 +15,7 @@ from sqlalchemy.orm import Session
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -151,7 +152,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
# pending/transient object.
e1 = Edge()
assert e1.end is None
- sess = Session()
+ sess = fixture_session()
sess.add(e1)
# however, once it's persistent, the code as of 0.7.3
@@ -382,7 +383,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
Graph, Edge = self.classes.Graph, self.classes.Edge
- sess = Session()
+ sess = fixture_session()
g = Graph(id=1)
e = Edge(None, None)
g.edges.append(e)
@@ -488,7 +489,7 @@ class NestedTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
def test_round_trip(self):
Thing, AB, CD = self._fixture()
- s = Session()
+ s = fixture_session()
s.add(Thing(AB("a", "b", CD("c", "d"))))
s.commit()
@@ -553,7 +554,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
def _fixture(self):
Graph, Version = self.classes.Graph, self.classes.Version
- sess = Session()
+ sess = fixture_session()
g = Graph(Version(1, 1))
sess.add(g)
sess.commit()
@@ -593,7 +594,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
def test_null_pk(self):
Graph, Version = self.classes.Graph, self.classes.Version
- sess = Session()
+ sess = fixture_session()
# test pk with one column NULL
# only sqlite can really handle this
@@ -674,7 +675,7 @@ class DefaultsTest(fixtures.MappedTest):
def test_attributes_with_defaults(self):
Foobar, FBComposite = self.classes.Foobar, self.classes.FBComposite
- sess = Session()
+ sess = fixture_session()
f1 = Foobar()
f1.foob = FBComposite(None, 5, None, None)
sess.add(f1)
@@ -690,7 +691,7 @@ class DefaultsTest(fixtures.MappedTest):
def test_set_composite_values(self):
Foobar, FBComposite = self.classes.Foobar, self.classes.FBComposite
- sess = Session()
+ sess = fixture_session()
f1 = Foobar()
f1.foob = FBComposite(None, 5, None, None)
sess.add(f1)
@@ -783,7 +784,7 @@ class MappedSelectTest(fixtures.MappedTest):
self.tables.descriptions,
)
- session = Session()
+ session = fixture_session()
d = Descriptions(
custom_descriptions=CustomValues("Color", "Number"),
values=[
@@ -866,7 +867,7 @@ class ManyToOneTest(fixtures.MappedTest):
def test_persist(self):
A, C, B = (self.classes.A, self.classes.C, self.classes.B)
- sess = Session()
+ sess = fixture_session()
sess.add(A(c=C("b1", B(data="b2"))))
sess.commit()
@@ -876,7 +877,7 @@ class ManyToOneTest(fixtures.MappedTest):
def test_query(self):
A, C, B = (self.classes.A, self.classes.C, self.classes.B)
- sess = Session()
+ sess = fixture_session()
b1, b2 = B(data="b1"), B(data="b2")
a1 = A(c=C("a1b1", b1))
a2 = A(c=C("a2b1", b2))
@@ -888,7 +889,7 @@ class ManyToOneTest(fixtures.MappedTest):
def test_query_aliased(self):
A, C, B = (self.classes.A, self.classes.C, self.classes.B)
- sess = Session()
+ sess = fixture_session()
b1, b2 = B(data="b1"), B(data="b2")
a1 = A(c=C("a1b1", b1))
a2 = A(c=C("a2b1", b2))
@@ -941,7 +942,7 @@ class ConfigurationTest(fixtures.MappedTest):
Edge, Point = self.classes.Edge, self.classes.Point
e1 = Edge(start=Point(3, 4), end=Point(5, 6))
- sess = Session()
+ sess = fixture_session()
sess.add(e1)
sess.commit()
@@ -1131,7 +1132,7 @@ class ComparatorTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
def _test_comparator_behavior(self):
Edge, Point = (self.classes.Edge, self.classes.Point)
- sess = Session()
+ sess = fixture_session()
e1 = Edge(Point(3, 4), Point(5, 6))
e2 = Edge(Point(14, 5), Point(2, 7))
sess.add_all([e1, e2])
@@ -1159,7 +1160,7 @@ class ComparatorTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
Edge(Point(0, 1), Point(3, 5)),
)
- sess = Session()
+ sess = fixture_session()
sess.add_all([edge_1, edge_2])
sess.commit()
@@ -1179,7 +1180,7 @@ class ComparatorTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
def test_order_by(self):
self._fixture(False)
Edge = self.classes.Edge
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Edge).order_by(Edge.start, Edge.end),
"SELECT edge.id AS edge_id, edge.x1 AS edge_x1, "
@@ -1190,7 +1191,7 @@ class ComparatorTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
def test_order_by_aliased(self):
self._fixture(False)
Edge = self.classes.Edge
- s = Session()
+ s = fixture_session()
ea = aliased(Edge)
self.assert_compile(
s.query(ea).order_by(ea.start, ea.end),
diff --git a/test/orm/test_core_compilation.py b/test/orm/test_core_compilation.py
index 12d3f7bfb..1a58356e3 100644
--- a/test/orm/test_core_compilation.py
+++ b/test/orm/test_core_compilation.py
@@ -14,7 +14,6 @@ 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 Session
from sqlalchemy.orm import with_expression
from sqlalchemy.orm import with_polymorphic
from sqlalchemy.sql import sqltypes
@@ -24,6 +23,7 @@ from sqlalchemy.sql.selectable import LABEL_STYLE_TABLENAME_PLUS_COL
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
+from sqlalchemy.testing.fixtures import fixture_session
from .inheritance import _poly_fixtures
from .test_query import QueryTest
@@ -293,7 +293,7 @@ class LoadersInSubqueriesTest(QueryTest, AssertsCompiledSQL):
def test_no_joinedload_in_subquery_select_rows(self, joinedload_fixture):
User, Address = joinedload_fixture
- sess = Session()
+ sess = fixture_session()
stmt1 = sess.query(User).subquery()
stmt1 = sess.query(stmt1)
@@ -316,7 +316,7 @@ class LoadersInSubqueriesTest(QueryTest, AssertsCompiledSQL):
def test_no_joinedload_in_subquery_select_entity(self, joinedload_fixture):
User, Address = joinedload_fixture
- sess = Session()
+ sess = fixture_session()
stmt1 = sess.query(User).subquery()
ua = aliased(User, stmt1)
stmt1 = sess.query(ua)
@@ -645,7 +645,7 @@ class RelationshipNaturalCompileTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(u1).where(u1.addresses.of_type(a1))
stmt2 = (
- Session()
+ fixture_session()
.query(u1)
.filter(u1.addresses.of_type(a1))
._final_statement(legacy_query_style=False)
@@ -844,7 +844,7 @@ class ImplicitWithPolymorphicTest(
.order_by(Person.person_id)
)
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(Person.person_id, Person.name)
.filter(Person.name == "some name")
@@ -884,7 +884,7 @@ class ImplicitWithPolymorphicTest(
.order_by(Person.person_id)
)
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(Person)
.filter(Person.name == "some name")
@@ -931,7 +931,7 @@ class ImplicitWithPolymorphicTest(
.order_by(Engineer.person_id)
)
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(Engineer)
.filter(Engineer.name == "some name")
@@ -990,7 +990,7 @@ class ImplicitWithPolymorphicTest(
.order_by(Engineer.person_id)
)
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(Engineer.person_id, Engineer.name)
.filter(Engineer.name == "some name")
@@ -1079,7 +1079,7 @@ class RelationshipNaturalInheritedTest(InheritedTest, AssertsCompiledSQL):
)
stmt2 = select(Company).join(Company.employees)
stmt3 = (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees)
._final_statement(legacy_query_style=False)
@@ -1113,7 +1113,7 @@ class RelationshipNaturalInheritedTest(InheritedTest, AssertsCompiledSQL):
select(Company).join(Company.employees).where(Person.name == "ed")
)
stmt3 = (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees)
.filter(Person.name == "ed")
@@ -1137,7 +1137,7 @@ class RelationshipNaturalInheritedTest(InheritedTest, AssertsCompiledSQL):
stmt2 = select(Company).join(Company.employees).join(Person.paperwork)
stmt3 = (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees)
.join(Person.paperwork)
@@ -1161,7 +1161,7 @@ class RelationshipNaturalInheritedTest(InheritedTest, AssertsCompiledSQL):
stmt2 = select(Company).join(Company.employees.of_type(p1))
stmt3 = (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees.of_type(p1))
._final_statement(legacy_query_style=False)
@@ -1179,7 +1179,7 @@ class RelationshipNaturalInheritedTest(InheritedTest, AssertsCompiledSQL):
Company, Person, Manager, Engineer = self.classes(
"Company", "Person", "Manager", "Engineer"
)
- s = Session()
+ s = fixture_session()
p1 = with_polymorphic(Person, "*", aliased=True)
@@ -1218,7 +1218,7 @@ class RelationshipNaturalInheritedTest(InheritedTest, AssertsCompiledSQL):
stmt2 = select(Company).join(p1, Company.employees.of_type(p1))
stmt3 = (
- Session()
+ fixture_session()
.query(Company)
.join(Company.employees.of_type(p1))
._final_statement(legacy_query_style=False)
@@ -1479,7 +1479,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(User).where(User.addresses)
stmt2 = (
- Session()
+ fixture_session()
.query(User)
.filter(User.addresses)
._final_statement(legacy_query_style=False)
@@ -1505,7 +1505,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(Item).where(Item.keywords)
stmt2 = (
- Session()
+ fixture_session()
.query(Item)
.filter(Item.keywords)
._final_statement(legacy_query_style=False)
@@ -1519,7 +1519,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
expected = "SELECT * FROM users"
stmt1 = select(literal_column("*")).select_from(User)
stmt2 = (
- Session()
+ fixture_session()
.query(literal_column("*"))
.select_from(User)
._final_statement(legacy_query_style=False)
@@ -1534,7 +1534,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(literal_column("*")).select_from(ua)
stmt2 = (
- Session()
+ fixture_session()
.query(literal_column("*"))
.select_from(ua)
._final_statement(legacy_query_style=False)
@@ -1565,7 +1565,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
.scalar_subquery(),
)
stmt2 = (
- Session()
+ fixture_session()
.query(
User.name,
Address.id,
@@ -1595,7 +1595,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
)
stmt2 = (
- Session()
+ fixture_session()
.query(
uu.name,
Address.id,
@@ -1624,7 +1624,9 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(User)
stmt2 = (
- Session().query(User)._final_statement(legacy_query_style=False)
+ fixture_session()
+ .query(User)
+ ._final_statement(legacy_query_style=False)
)
self.assert_compile(stmt1, expected)
@@ -1637,7 +1639,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(User.id, User.name)
stmt2 = (
- Session()
+ fixture_session()
.query(User.id, User.name)
._final_statement(legacy_query_style=False)
)
@@ -1651,7 +1653,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(ua.id, ua.name)
stmt2 = (
- Session()
+ fixture_session()
.query(ua.id, ua.name)
._final_statement(legacy_query_style=False)
)
@@ -1665,7 +1667,11 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
ua = aliased(User, name="ua")
stmt1 = select(ua)
- stmt2 = Session().query(ua)._final_statement(legacy_query_style=False)
+ stmt2 = (
+ fixture_session()
+ .query(ua)
+ ._final_statement(legacy_query_style=False)
+ )
expected = "SELECT ua.id, ua.name FROM users AS ua"
self.assert_compile(stmt1, expected)
@@ -1695,7 +1701,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = Session()
+ s = fixture_session()
q = s.query(User.id, User.name).filter_by(name="ed")
self.assert_compile(
insert(Address).from_select(("id", "email_address"), q),
@@ -1708,7 +1714,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = Session()
+ s = fixture_session()
q = s.query(User.id, User.name).filter_by(name="ed")
self.assert_compile(
insert(Address).from_select(
@@ -1781,7 +1787,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
stmt1 = select(Foo).where(Foo.foob == "somename").order_by(Foo.foob)
stmt2 = (
- Session()
+ fixture_session()
.query(Foo)
.filter(Foo.foob == "somename")
.order_by(Foo.foob)
diff --git a/test/orm/test_cycles.py b/test/orm/test_cycles.py
index 47b5404c9..e1ef67fed 100644
--- a/test/orm/test_cycles.py
+++ b/test/orm/test_cycles.py
@@ -14,11 +14,8 @@ from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import testing
from sqlalchemy.orm import backref
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
-from sqlalchemy.orm import sessionmaker
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
@@ -27,6 +24,7 @@ from sqlalchemy.testing.assertsql import AllOf
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import Conditional
from sqlalchemy.testing.assertsql import RegexSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -88,7 +86,7 @@ class SelfReferentialTest(fixtures.MappedTest):
a = C1("head c1")
a.c1s.append(C1("another c1"))
- sess = create_session()
+ sess = fixture_session()
sess.add(a)
sess.flush()
sess.delete(a)
@@ -119,7 +117,7 @@ class SelfReferentialTest(fixtures.MappedTest):
c1 = C1()
- sess = create_session()
+ sess = fixture_session()
sess.add(c1)
sess.flush()
sess.expunge_all()
@@ -156,7 +154,7 @@ class SelfReferentialTest(fixtures.MappedTest):
a.c1s[0].c1s.append(C1("subchild2"))
a.c1s[1].c2s.append(C2("child2 data1"))
a.c1s[1].c2s.append(C2("child2 data2"))
- sess = create_session()
+ sess = fixture_session()
sess.add(a)
sess.flush()
@@ -168,7 +166,7 @@ class SelfReferentialTest(fixtures.MappedTest):
mapper(C1, t1, properties={"children": relationship(C1)})
- sess = create_session()
+ sess = fixture_session()
c1 = C1()
c2 = C1()
c1.children.append(c2)
@@ -234,7 +232,7 @@ class SelfReferentialNoPKTest(fixtures.MappedTest):
t1.children.append(TT())
t1.children.append(TT())
- s = create_session()
+ s = fixture_session()
s.add(t1)
s.flush()
s.expunge_all()
@@ -244,7 +242,7 @@ class SelfReferentialNoPKTest(fixtures.MappedTest):
def test_lazy_clause(self):
TT = self.classes.TT
- s = create_session()
+ s = fixture_session()
t1 = TT()
t2 = TT()
t1.children.append(t2)
@@ -327,7 +325,7 @@ class InheritTestOne(fixtures.MappedTest):
Child1, Child2 = self.classes.Child1, self.classes.Child2
- session = create_session()
+ session = fixture_session()
c1 = Child1()
c1.child1_data = "qwerty"
@@ -419,7 +417,7 @@ class InheritTestTwo(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
bobj = B()
sess.add(bobj)
cobj = C()
@@ -506,7 +504,7 @@ class BiDirectionalManyToOneTest(fixtures.MappedTest):
o1 = T1()
o1.t2 = T2()
- sess = create_session()
+ sess = fixture_session()
sess.add(o1)
sess.flush()
@@ -528,7 +526,7 @@ class BiDirectionalManyToOneTest(fixtures.MappedTest):
o1 = T1()
o1.t2 = T2()
- sess = create_session()
+ sess = fixture_session()
sess.add(o1)
sess.flush()
@@ -621,7 +619,7 @@ class BiDirectionalOneToManyTest(fixtures.MappedTest):
a.c2s.append(b)
d.c1s.append(c)
b.c1s.append(c)
- sess = create_session()
+ sess = fixture_session()
sess.add_all((a, b, c, d, e, f))
sess.flush()
@@ -726,7 +724,7 @@ class BiDirectionalOneToManyTest2(fixtures.MappedTest):
a.data.append(C1Data(data="c1data1"))
a.data.append(C1Data(data="c1data2"))
c.data.append(C1Data(data="c1data3"))
- sess = create_session()
+ sess = fixture_session()
sess.add_all((a, b, c, d, e, f))
sess.flush()
@@ -818,7 +816,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
b = Ball()
p = Person()
p.balls.append(b)
- sess = create_session()
+ sess = fixture_session()
sess.add(p)
sess.flush()
@@ -845,7 +843,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
b = Ball(data="some data")
p = Person(data="some data")
p.favorite = b
- sess = create_session()
+ sess = fixture_session()
sess.add(b)
sess.add(p)
sess.flush()
@@ -903,7 +901,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
p.balls.append(Ball(data="some data"))
p.balls.append(Ball(data="some data"))
p.favorite = b
- sess = create_session()
+ sess = fixture_session()
sess.add(b)
sess.add(p)
@@ -1001,7 +999,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
),
)
- sess = sessionmaker()()
+ sess = fixture_session()
p1 = Person(data="p1")
p2 = Person(data="p2")
p3 = Person(data="p3")
@@ -1065,7 +1063,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
b4 = Ball(data="some data")
p.balls.append(b4)
p.favorite = b
- sess = create_session()
+ sess = fixture_session()
sess.add_all((b, p, b2, b3, b4))
self.assert_sql_execution(
@@ -1176,7 +1174,7 @@ class OneToManyManyToOneTest(fixtures.MappedTest):
)
mapper(Person, person)
- sess = create_session(autocommit=False, expire_on_commit=True)
+ sess = fixture_session(autocommit=False, expire_on_commit=True)
sess.add(Ball(person=Person()))
sess.commit()
b1 = sess.query(Ball).first()
@@ -1267,7 +1265,7 @@ class SelfReferentialPostUpdateTest(fixtures.MappedTest):
},
)
- session = create_session()
+ session = fixture_session(autoflush=False)
def append_child(parent, child):
if parent.children:
@@ -1421,7 +1419,7 @@ class SelfReferentialPostUpdateTest2(fixtures.MappedTest):
},
)
- session = create_session()
+ session = fixture_session()
f1 = A(fui="f1")
session.add(f1)
@@ -1509,7 +1507,7 @@ class SelfReferentialPostUpdateTest3(fixtures.MappedTest):
properties={"parent": relationship(Child, remote_side=child.c.id)},
)
- session = create_session()
+ session = fixture_session()
p1 = Parent("p1")
c1 = Child("c1")
c2 = Child("c2")
@@ -1668,7 +1666,7 @@ class PostUpdateBatchingTest(fixtures.MappedTest):
mapper(Child2, child2)
mapper(Child3, child3)
- sess = create_session()
+ sess = fixture_session()
p1 = Parent("p1")
c11, c12, c13 = Child1("c1"), Child1("c2"), Child1("c3")
@@ -1753,7 +1751,7 @@ class PostUpdateOnUpdateTest(fixtures.DeclarativeMappedTest):
def test_update_defaults(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
a1 = A()
b1 = B()
@@ -1772,7 +1770,7 @@ class PostUpdateOnUpdateTest(fixtures.DeclarativeMappedTest):
event.listen(A, "refresh_flush", canary.refresh_flush)
event.listen(A, "expire", canary.expire)
- s = Session()
+ s = fixture_session()
a1 = A()
b1 = B()
@@ -1800,7 +1798,7 @@ class PostUpdateOnUpdateTest(fixtures.DeclarativeMappedTest):
event.listen(A, "refresh_flush", canary.refresh_flush)
event.listen(A, "expire", canary.expire)
- s = Session()
+ s = fixture_session()
a1 = A()
s.add(a1)
@@ -1831,7 +1829,7 @@ class PostUpdateOnUpdateTest(fixtures.DeclarativeMappedTest):
event.listen(A, "refresh_flush", canary.refresh_flush)
event.listen(A, "expire", canary.expire)
- s = Session()
+ s = fixture_session()
a1 = A()
b1 = B()
@@ -1885,7 +1883,7 @@ class PostUpdateOnUpdateTest(fixtures.DeclarativeMappedTest):
event.listen(A, "refresh_flush", canary.refresh_flush)
event.listen(A, "expire", canary.expire)
- s = Session()
+ s = fixture_session()
a1 = A()
s.add(a1)
@@ -1936,7 +1934,7 @@ class PostUpdateOnUpdateTest(fixtures.DeclarativeMappedTest):
def test_update_defaults_can_set_value(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
a1 = A()
b1 = B()
diff --git a/test/orm/test_default_strategies.py b/test/orm/test_default_strategies.py
index 3bd5d97db..e5206d2ae 100644
--- a/test/orm/test_default_strategies.py
+++ b/test/orm/test_default_strategies.py
@@ -1,12 +1,11 @@
import sqlalchemy as sa
from sqlalchemy import testing
from sqlalchemy import util
-from sqlalchemy.orm import create_session
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 eq_
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
@@ -111,7 +110,7 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
),
)
- return create_session()
+ return fixture_session()
def _upgrade_fixture(self):
(
@@ -183,7 +182,7 @@ class DefaultStrategyOptionsTest(_fixtures.FixtureTest):
),
)
- return create_session()
+ return fixture_session()
def test_downgrade_baseline(self):
"""Mapper strategy defaults load as expected
@@ -630,7 +629,7 @@ class NoLoadTest(_fixtures.FixtureTest):
)
),
)
- q = create_session().query(m)
+ q = fixture_session().query(m)
result = [None]
def go():
@@ -661,7 +660,7 @@ class NoLoadTest(_fixtures.FixtureTest):
)
),
)
- q = create_session().query(m).options(sa.orm.lazyload("addresses"))
+ q = fixture_session().query(m).options(sa.orm.lazyload("addresses"))
result = [None]
def go():
@@ -684,7 +683,7 @@ class NoLoadTest(_fixtures.FixtureTest):
)
mapper(Address, addresses, properties={"user": relationship(User)})
mapper(User, users)
- s = Session()
+ s = fixture_session()
a1 = (
s.query(Address)
.filter_by(id=1)
diff --git a/test/orm/test_defaults.py b/test/orm/test_defaults.py
index aa1f2b88d..97743b5de 100644
--- a/test/orm/test_defaults.py
+++ b/test/orm/test_defaults.py
@@ -5,14 +5,13 @@ from sqlalchemy import Identity
from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import testing
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
-from sqlalchemy.orm import Session
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing.assertsql import assert_engine
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import Conditional
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -166,7 +165,7 @@ class TriggerDefaultsTest(fixtures.MappedTest):
eq_(d1.col3, None)
eq_(d1.col4, None)
- session = create_session()
+ session = fixture_session()
session.add(d1)
session.flush()
@@ -181,7 +180,7 @@ class TriggerDefaultsTest(fixtures.MappedTest):
d1 = Default(id=1)
- session = create_session()
+ session = fixture_session()
session.add(d1)
session.flush()
d1.col1 = "set"
@@ -214,10 +213,10 @@ class ExcludedDefaultsTest(fixtures.MappedTest):
mapper(Foo, dt, exclude_properties=("col1",))
f1 = Foo()
- sess = create_session()
+ sess = fixture_session()
sess.add(f1)
sess.flush()
- eq_(dt.select().execute().fetchall(), [(1, "hello")])
+ eq_(sess.connection().execute(dt.select()).fetchall(), [(1, "hello")])
class ComputedDefaultsOnUpdateTest(fixtures.MappedTest):
@@ -261,7 +260,7 @@ class ComputedDefaultsOnUpdateTest(fixtures.MappedTest):
else:
Thing = self.classes.ThingNoEager
- s = Session()
+ s = fixture_session()
t1, t2 = (Thing(id=1, foo=5), Thing(id=2, foo=10))
@@ -342,7 +341,7 @@ class ComputedDefaultsOnUpdateTest(fixtures.MappedTest):
else:
Thing = self.classes.ThingNoEager
- s = Session()
+ s = fixture_session()
t1, t2 = (Thing(id=1, foo=1), Thing(id=2, foo=2))
@@ -445,7 +444,7 @@ class IdentityDefaultsOnUpdateTest(fixtures.MappedTest):
def test_insert_identity(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
t1, t2 = (Thing(foo=5), Thing(foo=10))
diff --git a/test/orm/test_deferred.py b/test/orm/test_deferred.py
index 6be967337..6d1cd0184 100644
--- a/test/orm/test_deferred.py
+++ b/test/orm/test_deferred.py
@@ -9,7 +9,6 @@ from sqlalchemy import util
from sqlalchemy.orm import aliased
from sqlalchemy.orm import attributes
from sqlalchemy.orm import contains_eager
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import defaultload
from sqlalchemy.orm import defer
from sqlalchemy.orm import deferred
@@ -31,6 +30,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -56,7 +56,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
o = Order()
self.assert_(o.description is None)
- q = create_session().query(Order).order_by(Order.id)
+ q = fixture_session().query(Order).order_by(Order.id)
def go():
result = q.all()
@@ -90,7 +90,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Order, orders, properties={"id": deferred(orders.c.id)})
# right now, it's not that graceful :)
- q = create_session().query(Order)
+ q = fixture_session().query(Order)
assert_raises_message(
sa.exc.NoSuchColumnError, "Could not locate", q.first
)
@@ -106,7 +106,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- sess = create_session()
+ sess = fixture_session()
o = Order()
sess.add(o)
o.id = 7
@@ -128,7 +128,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
o1 = sess.query(Order).get(1)
eq_(o1.description, "order 1")
@@ -141,7 +141,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- sess = create_session()
+ sess = fixture_session()
o = Order()
sess.add(o)
@@ -164,7 +164,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
o = Order()
sess.add(o)
o.id = 7
@@ -186,7 +186,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
o = Order()
sess.add(o)
@@ -204,7 +204,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- sess = create_session()
+ sess = fixture_session()
o2 = sess.query(Order).get(2)
o2.isopen = 1
sess.flush()
@@ -233,7 +233,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).order_by(Order.id)
def go():
@@ -287,7 +287,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
"opened": deferred(orders.c.isopen, group="primary"),
},
)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
o = sess.query(Order).get(3)
assert "userident" not in o.__dict__
o.description = "somenewdescription"
@@ -319,7 +319,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
o2 = sess.query(Order).get(3)
# this will load the group of attributes
@@ -351,7 +351,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties={"description": deferred(order_select.c.description)},
)
- sess = Session()
+ sess = fixture_session()
o1 = sess.query(Order).order_by(Order.id).first()
assert "description" not in o1.__dict__
eq_(o1.description, "order 1")
@@ -367,7 +367,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).order_by(Order.id).options(defer("user_id"))
def go():
@@ -427,7 +427,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).order_by(Order.id)
def go():
@@ -470,7 +470,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).order_by(Order.id)
def go():
@@ -515,7 +515,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).order_by(Order.id)
def go():
@@ -570,7 +570,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.filter(User.id == 7)
@@ -633,7 +633,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.filter(User.id == 7)
@@ -699,7 +699,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.filter(User.id == 7)
@@ -762,7 +762,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.filter(User.id == 7)
@@ -810,7 +810,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).options(Load(Order).undefer("*"))
self.assert_compile(
q,
@@ -834,7 +834,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- sess = create_session()
+ sess = fixture_session()
o1 = (
sess.query(Order)
.order_by(Order.id)
@@ -867,7 +867,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- sess = create_session()
+ sess = fixture_session()
stmt = sa.select(Order).order_by(Order.id)
o1 = (sess.query(Order).from_statement(stmt).all())[0]
@@ -889,7 +889,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
stmt = sa.select(Order).order_by(Order.id)
o1 = (sess.query(Order).from_statement(stmt).all())[0]
@@ -906,7 +906,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
stmt = sa.select(Order).order_by(Order.id)
o1 = (
sess.query(Order)
@@ -927,7 +927,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
stmt = sa.select(Order).order_by(Order.id)
o1 = (
sess.query(Order)
@@ -971,7 +971,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties=dict(orders=relationship(Order, order_by=orders.c.id)),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).order_by(User.id)
result = q.all()
item = result[0].orders[1].items[1]
@@ -1020,7 +1020,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
exp = (
"SELECT users.id AS users_id, users.name AS users_name, "
@@ -1049,7 +1049,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(User, users, properties={"orders": relationship(Order)})
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(
joinedload(User.orders).defer("description").defer("isopen")
)
@@ -1070,7 +1070,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).options(load_only("isopen", "description"))
self.assert_compile(
q,
@@ -1084,7 +1084,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(Order)
.order_by(Order.id)
@@ -1101,7 +1101,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).options(
load_only("isopen", "description"), undefer("user_id")
)
@@ -1129,7 +1129,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(User, users, properties={"addresses": relationship(Address)})
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
expected = [
(
"SELECT users.id AS users_id, users.name AS users_name "
@@ -1179,7 +1179,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Address, addresses)
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User, Order, Address).options(
Load(User).load_only("name"),
Load(Order).load_only("id"),
@@ -1219,7 +1219,7 @@ class DeferredOptionsTest(AssertsCompiledSQL, _fixtures.FixtureTest):
mapper(Address, addresses)
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(
load_only("name")
@@ -1274,7 +1274,7 @@ class SelfReferentialMultiPathTest(testing.fixtures.DeclarativeMappedTest):
def test_present_overrides_deferred(self):
Node = self.classes.Node
- session = Session()
+ session = fixture_session()
q = session.query(Node).options(
joinedload(Node.parent).load_only(Node.id, Node.parent_id)
@@ -1305,7 +1305,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Manager)
.order_by(Manager.person_id)
@@ -1324,7 +1324,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass_bound(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Manager)
.order_by(Manager.person_id)
@@ -1343,7 +1343,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass_and_superclass(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Boss)
.order_by(Person.person_id)
@@ -1362,7 +1362,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass_and_superclass_bound(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Boss)
.order_by(Person.person_id)
@@ -1381,7 +1381,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_alias_subclass(self):
- s = Session()
+ s = fixture_session()
m1 = aliased(Manager, flat=True)
q = (
s.query(m1)
@@ -1401,7 +1401,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_alias_subclass_bound(self):
- s = Session()
+ s = fixture_session()
m1 = aliased(Manager, flat=True)
q = (
s.query(m1)
@@ -1421,7 +1421,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass_from_relationship_polymorphic(self):
- s = Session()
+ s = fixture_session()
wp = with_polymorphic(Person, [Manager], flat=True)
q = (
s.query(Company)
@@ -1448,7 +1448,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass_from_relationship_polymorphic_bound(self):
- s = Session()
+ s = fixture_session()
wp = with_polymorphic(Person, [Manager], flat=True)
q = (
s.query(Company)
@@ -1475,7 +1475,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass_from_relationship(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Company)
.join(Company.managers)
@@ -1499,7 +1499,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_subclass_from_relationship_bound(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Company)
.join(Company.managers)
@@ -1528,7 +1528,7 @@ class InheritanceTest(_Polymorphic):
# TODO: what is ".*"? this is not documented anywhere, how did this
# get implemented without docs ? see #4390
- s = Session()
+ s = fixture_session()
q = (
s.query(Manager)
.order_by(Person.person_id)
@@ -1545,7 +1545,7 @@ class InheritanceTest(_Polymorphic):
# to have this ".*" featue.
def test_load_only_subclass_of_type(self):
- s = Session()
+ s = fixture_session()
q = s.query(Company).options(
joinedload(Company.employees.of_type(Manager)).load_only("status")
)
@@ -1571,7 +1571,7 @@ class InheritanceTest(_Polymorphic):
)
def test_wildcard_subclass_of_type(self):
- s = Session()
+ s = fixture_session()
q = s.query(Company).options(
joinedload(Company.employees.of_type(Manager)).defer("*")
)
@@ -1593,7 +1593,7 @@ class InheritanceTest(_Polymorphic):
)
def test_defer_super_name_on_subclass(self):
- s = Session()
+ s = fixture_session()
q = s.query(Manager).order_by(Person.person_id).options(defer("name"))
self.assert_compile(
q,
@@ -1608,7 +1608,7 @@ class InheritanceTest(_Polymorphic):
)
def test_defer_super_name_on_subclass_bound(self):
- s = Session()
+ s = fixture_session()
q = (
s.query(Manager)
.order_by(Person.person_id)
@@ -1627,7 +1627,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_from_with_polymorphic(self):
- s = Session()
+ s = fixture_session()
wp = with_polymorphic(Person, [Manager], flat=True)
@@ -1652,7 +1652,7 @@ class InheritanceTest(_Polymorphic):
)
def test_load_only_of_type_with_polymorphic(self):
- s = Session()
+ s = fixture_session()
wp = with_polymorphic(Person, [Manager], flat=True)
@@ -1755,7 +1755,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_simple_expr(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = (
s.query(A)
.options(with_expression(A.my_expr, A.x + A.y))
@@ -1768,7 +1768,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_expr_default_value(self):
A = self.classes.A
C = self.classes.C
- s = Session()
+ s = fixture_session()
a1 = s.query(A).order_by(A.id).filter(A.x > 1)
eq_(a1.all(), [A(my_expr=None), A(my_expr=None), A(my_expr=None)])
@@ -1789,7 +1789,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_reuse_expr(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
# so people will obv. want to say, "filter(A.my_expr > 10)".
# but that means Query or Core has to post-modify the statement
@@ -1807,7 +1807,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_in_joinedload(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
q = (
s.query(A)
@@ -1823,7 +1823,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_no_refresh_unless_populate_existing(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).first()
def go():
@@ -1855,7 +1855,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_no_sql_not_set_up(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).first()
def go():
@@ -1866,7 +1866,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_dont_explode_on_expire_individual(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = (
s.query(A)
.options(with_expression(A.my_expr, A.x + A.y))
@@ -1895,7 +1895,7 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
def test_dont_explode_on_expire_whole(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = (
s.query(A)
.options(with_expression(A.my_expr, A.x + A.y))
@@ -1943,7 +1943,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_mapper_raise(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).first()
assert_raises_message(
sa.exc.InvalidRequestError,
@@ -1956,7 +1956,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_mapper_defer_unraise(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(defer(A.z)).first()
assert "z" not in a1.__dict__
eq_(a1.z, 4)
@@ -1964,7 +1964,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_mapper_undefer_unraise(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(undefer(A.z)).first()
assert "z" in a1.__dict__
eq_(a1.z, 4)
@@ -1972,7 +1972,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_deferred_raise_option_raise_column_plain(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(defer(A.x)).first()
a1.x
@@ -1989,7 +1989,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_deferred_raise_option_load_column_unexpire(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(defer(A.x, raiseload=True)).first()
s.expire(a1, ["x"])
@@ -1999,7 +1999,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_mapper_raise_after_expire_attr(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).first()
s.expire(a1, ["z"])
@@ -2015,7 +2015,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_mapper_raise_after_expire_obj(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).first()
s.expire(a1)
@@ -2031,7 +2031,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_mapper_raise_after_modify_attr_expire_obj(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).first()
a1.z = 10
@@ -2048,7 +2048,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_deferred_raise_option_load_after_expire_obj(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(defer(A.y, raiseload=True)).first()
s.expire(a1)
@@ -2059,7 +2059,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_option_raiseload_unexpire_modified_obj(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(defer(A.y, raiseload=True)).first()
a1.y = 10
@@ -2071,7 +2071,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_option_raise_deferred(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(defer(A.y, raiseload=True)).first()
assert_raises_message(
@@ -2084,7 +2084,7 @@ class RaiseLoadTest(fixtures.DeclarativeMappedTest):
def test_does_expire_cancel_normal_defer_option(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
a1 = s.query(A).options(defer(A.x)).first()
# expire object
@@ -2119,7 +2119,7 @@ class AutoflushTest(fixtures.DeclarativeMappedTest):
def test_deferred_autoflushes(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
a1 = A(id=1, bs=[B()])
s.add(a1)
@@ -2190,14 +2190,14 @@ class DeferredPopulationTest(fixtures.MappedTest):
def test_no_previous_query(self):
Thing = self.classes.Thing
- session = create_session()
+ session = fixture_session()
thing = session.query(Thing).options(sa.orm.undefer("name")).first()
self._test(thing)
def test_query_twice_with_clear(self):
Thing = self.classes.Thing
- session = create_session()
+ session = fixture_session()
result = session.query(Thing).first() # noqa
session.expunge_all()
thing = session.query(Thing).options(sa.orm.undefer("name")).first()
@@ -2206,7 +2206,7 @@ class DeferredPopulationTest(fixtures.MappedTest):
def test_query_twice_no_clear(self):
Thing = self.classes.Thing
- session = create_session()
+ session = fixture_session()
result = session.query(Thing).first() # noqa
thing = session.query(Thing).options(sa.orm.undefer("name")).first()
self._test(thing)
@@ -2214,7 +2214,7 @@ class DeferredPopulationTest(fixtures.MappedTest):
def test_joinedload_with_clear(self):
Thing, Human = self.classes.Thing, self.classes.Human
- session = create_session()
+ session = fixture_session()
human = ( # noqa
session.query(Human).options(sa.orm.joinedload("thing")).first()
)
@@ -2225,7 +2225,7 @@ class DeferredPopulationTest(fixtures.MappedTest):
def test_joinedload_no_clear(self):
Thing, Human = self.classes.Thing, self.classes.Human
- session = create_session()
+ session = fixture_session()
human = ( # noqa
session.query(Human).options(sa.orm.joinedload("thing")).first()
)
@@ -2235,7 +2235,7 @@ class DeferredPopulationTest(fixtures.MappedTest):
def test_join_with_clear(self):
Thing, Human = self.classes.Thing, self.classes.Human
- session = create_session()
+ session = fixture_session()
result = ( # noqa
session.query(Human).add_entity(Thing).join("thing").first()
)
@@ -2246,7 +2246,7 @@ class DeferredPopulationTest(fixtures.MappedTest):
def test_join_no_clear(self):
Thing, Human = self.classes.Thing, self.classes.Human
- session = create_session()
+ session = fixture_session()
result = ( # noqa
session.query(Human).add_entity(Thing).join("thing").first()
)
diff --git a/test/orm/test_deprecations.py b/test/orm/test_deprecations.py
index 7989026d1..7d7432d55 100644
--- a/test/orm/test_deprecations.py
+++ b/test/orm/test_deprecations.py
@@ -9,6 +9,7 @@ from sqlalchemy import ForeignKey
from sqlalchemy import func
from sqlalchemy import Integer
from sqlalchemy import literal_column
+from sqlalchemy import MetaData
from sqlalchemy import or_
from sqlalchemy import select
from sqlalchemy import String
@@ -16,6 +17,7 @@ from sqlalchemy import table
from sqlalchemy import testing
from sqlalchemy import text
from sqlalchemy import true
+from sqlalchemy.engine import default
from sqlalchemy.orm import aliased
from sqlalchemy.orm import as_declarative
from sqlalchemy.orm import attributes
@@ -25,7 +27,6 @@ from sqlalchemy.orm import column_property
from sqlalchemy.orm import configure_mappers
from sqlalchemy.orm import contains_alias
from sqlalchemy.orm import contains_eager
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import declarative_base
from sqlalchemy.orm import declared_attr
from sqlalchemy.orm import defer
@@ -51,18 +52,21 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import assertions
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
+from sqlalchemy.testing import eq_ignore_whitespace
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import is_true
from sqlalchemy.testing import mock
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.fixtures import ComparableEntity
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.mock import call
from sqlalchemy.testing.mock import Mock
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from . import _fixtures
from .inheritance import _poly_fixtures
+from .test_bind import GetBindTest as _GetBindTest
from .test_dynamic import _DynamicFixture
from .test_events import _RemoveListeners
from .test_options import PathTest as OptionsPathTest
@@ -114,7 +118,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_deprecated_negative_slices(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).order_by(User.id)
with testing.expect_deprecated(
@@ -143,7 +147,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_deprecated_negative_slices_compile(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).order_by(User.id)
with testing.expect_deprecated(
@@ -181,7 +185,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_aliased(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
with testing.expect_deprecated_20(join_aliased_dep):
q1 = s.query(User).join(User.addresses, aliased=True)
@@ -197,7 +201,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session()
+ s = fixture_session()
u1 = aliased(User)
@@ -219,7 +223,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session()
+ s = fixture_session()
u1 = aliased(User)
@@ -236,7 +240,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_str_join_target(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
with testing.expect_deprecated_20(join_strings_dep):
q1 = s.query(User).join("addresses")
@@ -251,7 +255,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_str_rel_loader_opt(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User).options(joinedload("addresses"))
@@ -272,7 +276,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_str_col_loader_opt(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User).options(defer("name"))
@@ -286,7 +290,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session()
+ s = fixture_session()
u1 = User(id=1)
@@ -321,7 +325,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_invalid_column(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User.id)
with testing.expect_deprecated(r"Query.add_column\(\) is deprecated"):
@@ -334,7 +338,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_via_textasfrom_select_from(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
with self._expect_implicit_subquery():
eq_(
@@ -350,7 +354,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_text_as_column(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
# TODO: this works as of "use rowproxy for ORM keyed tuple"
# Ieb9085e9bcff564359095b754da9ae0af55679f0
@@ -374,7 +378,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_query_as_scalar(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
with assertions.expect_deprecated(
r"The Query.as_scalar\(\) method is deprecated and will "
"be removed in a future release."
@@ -385,7 +389,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, users = self.classes.User, self.tables.users
sel = users.select()
- sess = create_session()
+ sess = fixture_session()
with self._expect_implicit_subquery():
eq_(
@@ -399,7 +403,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_select_entity_from_select(self):
User, users = self.classes.User, self.tables.users
- sess = create_session()
+ sess = fixture_session()
with self._expect_implicit_subquery():
self.assert_compile(
sess.query(User.name).select_entity_from(
@@ -413,7 +417,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_select_entity_from_q_statement(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
with self._expect_implicit_subquery():
@@ -427,7 +431,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_select_from_q_statement_no_aliasing(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
with self._expect_implicit_subquery():
@@ -455,7 +459,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
use_labels=True, order_by=[text("ulist.id"), addresses.c.id]
)
)
- sess = create_session()
+ sess = fixture_session()
# better way. use select_entity_from()
def go():
@@ -477,7 +481,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self.tables.users,
)
- sess = create_session()
+ sess = fixture_session()
# same thing, but alias addresses, so that the adapter
# generated by select_entity_from() is wrapped within
@@ -506,7 +510,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_select(self):
users = self.tables.users
- sess = create_session()
+ sess = fixture_session()
with self._expect_implicit_subquery():
self.assert_compile(
@@ -531,7 +535,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
# mapper(Address, addresses)
sel = users.select(users.c.id.in_([7, 8]))
- sess = create_session()
+ sess = fixture_session()
with self._expect_implicit_subquery():
result = (
@@ -606,7 +610,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
sel = users.select(users.c.id.in_([7, 8]))
with self._expect_implicit_subquery():
@@ -633,7 +637,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, users = self.classes.User, self.tables.users
sel = users.select(users.c.id.in_([7, 8]))
- sess = create_session()
+ sess = fixture_session()
with self._expect_implicit_subquery():
eq_(
@@ -649,7 +653,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
)
sel = users.select(users.c.id.in_([7, 8]))
- sess = create_session()
+ sess = fixture_session()
def go():
with self._expect_implicit_subquery():
@@ -727,7 +731,7 @@ class DeprecatedQueryTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = Session()
+ sess = fixture_session()
oalias = orders.select()
@@ -800,7 +804,7 @@ class SelfRefFromSelfTest(fixtures.MappedTest, AssertsCompiledSQL):
def insert_data(cls, connection):
Node = cls.classes.Node
- sess = create_session(connection)
+ sess = Session(connection)
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -819,7 +823,7 @@ class SelfRefFromSelfTest(fixtures.MappedTest, AssertsCompiledSQL):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
@@ -886,7 +890,7 @@ class SelfRefFromSelfTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_two(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -906,7 +910,7 @@ class SelfRefFromSelfTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_three(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -927,7 +931,7 @@ class SelfRefFromSelfTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_five(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -952,7 +956,7 @@ class SelfRefFromSelfTest(fixtures.MappedTest, AssertsCompiledSQL):
class DynamicTest(_DynamicFixture, _fixtures.FixtureTest):
def test_negative_slice_access_raises(self):
User, Address = self._user_address_fixture()
- sess = create_session(testing.db)
+ sess = fixture_session()
u1 = sess.get(User, 8)
with testing.expect_deprecated_20(
@@ -986,7 +990,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- s = Session()
+ s = fixture_session()
with self._from_self_deprecated():
q = s.query(User).from_self()
@@ -1007,7 +1011,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_distinct_on(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
q = (
@@ -1047,7 +1051,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
"""
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
q = (
sess.query(User, Address.email_address)
@@ -1068,7 +1072,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
q = (
@@ -1105,7 +1109,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
# explicit onclause with from_self(), means
# the onclause must be aliased against the query's custom
# FROM object
@@ -1127,7 +1131,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
Item, Keyword = self.classes.Item, self.classes.Keyword
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
self.assert_compile(
@@ -1153,7 +1157,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_9(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
self.assert_compile(
sess.query(User)
@@ -1171,7 +1175,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_anonymous_expression_from_self_twice_oldstyle(self):
# relies upon _orm_only_from_obj_alias setting
- sess = create_session()
+ sess = fixture_session()
c1, c2 = column("c1"), column("c2")
q1 = sess.query(c1, c2).filter(c1 == "dog")
with self._from_self_deprecated():
@@ -1193,7 +1197,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
Address = self.classes.Address
addresses = self.tables.addresses
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User.id).filter(User.id > 5)
with self._from_self_deprecated():
q1 = q1.from_self()
@@ -1220,7 +1224,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
Address = self.classes.Address
addresses = self.tables.addresses
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User.id).filter(User.id > 5)
with self._from_self_deprecated():
q1 = q1.from_self()
@@ -1242,7 +1246,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
# relies upon _orm_only_from_obj_alias setting
from sqlalchemy.sql import column
- sess = create_session()
+ sess = fixture_session()
t1 = table("t1", column("c1"), column("c2"))
q1 = sess.query(t1.c.c1, t1.c.c2).filter(t1.c.c1 == "dog")
with self._from_self_deprecated():
@@ -1261,7 +1265,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_self_referential(self):
Order = self.classes.Order
- sess = create_session()
+ sess = fixture_session()
oalias = aliased(Order)
with self._from_self_deprecated():
@@ -1364,7 +1368,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
# relies upon _orm_only_from_obj_alias setting
Order = self.classes.Order
- sess = create_session()
+ sess = fixture_session()
# ensure column expressions are taken from inside the subquery, not
# restated at the top
@@ -1394,7 +1398,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_column_access_from_self(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
q = sess.query(User).from_self()
@@ -1408,7 +1412,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_column_access_from_self_twice(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
q = sess.query(User).from_self(User.id, User.name).from_self()
@@ -1428,7 +1432,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
adalias = aliased(Address)
# select from aliasing + explicit aliasing
@@ -1455,7 +1459,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
# anon + select from aliasing
aa = aliased(Address)
@@ -1475,7 +1479,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
adalias = aliased(Address)
# test eager aliasing, with/without select_entity_from aliasing
@@ -1606,7 +1610,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
with self._from_self_deprecated():
eq_(
[User(id=8), User(id=9)],
- create_session()
+ fixture_session()
.query(User)
.filter(User.id.in_([8, 9]))
.from_self()
@@ -1616,7 +1620,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
with self._from_self_deprecated():
eq_(
[User(id=8), User(id=9)],
- create_session()
+ fixture_session()
.query(User)
.order_by(User.id)
.slice(1, 3)
@@ -1628,7 +1632,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
eq_(
[User(id=8)],
list(
- create_session()
+ fixture_session()
.query(User)
.filter(User.id.in_([8, 9]))
.from_self()
@@ -1647,7 +1651,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
(User(id=8), Address(id=4)),
(User(id=9), Address(id=5)),
],
- create_session()
+ fixture_session()
.query(User)
.filter(User.id.in_([8, 9]))
.from_self()
@@ -1661,7 +1665,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
Address = self.classes.Address
eq_(
- create_session()
+ fixture_session()
.query(Address.user_id, func.count(Address.id).label("count"))
.group_by(Address.user_id)
.order_by(Address.user_id)
@@ -1671,7 +1675,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
with self._from_self_deprecated():
eq_(
- create_session()
+ fixture_session()
.query(Address.user_id, Address.id)
.from_self(Address.user_id, func.count(Address.id))
.group_by(Address.user_id)
@@ -1683,7 +1687,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_having(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
with self._from_self_deprecated():
self.assert_compile(
@@ -1702,7 +1706,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
with self._from_self_deprecated():
q = s.query(User).options(joinedload(User.addresses)).from_self()
@@ -1723,7 +1727,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
ualias = aliased(User)
@@ -1775,7 +1779,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
def test_multiple_entities(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
eq_(
@@ -1805,7 +1809,7 @@ class FromSelfTest(QueryTest, AssertsCompiledSQL):
# relies upon _orm_only_from_obj_alias setting
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
with self._from_self_deprecated():
eq_(
@@ -1879,7 +1883,7 @@ class SubqRelationsFromSelfTest(fixtures.DeclarativeMappedTest):
def test_subq_w_from_self_one(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
cache = {}
@@ -1956,7 +1960,7 @@ class SubqRelationsFromSelfTest(fixtures.DeclarativeMappedTest):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
cache = {}
for i in range(3):
@@ -2165,7 +2169,7 @@ class SessionTest(fixtures.RemovesEvents, _LocalFixture):
with testing.expect_deprecated_20(
"The Session.autocommit parameter is deprecated"
):
- sess = Session(autocommit=True)
+ sess = Session(testing.db, autocommit=True)
with sess.begin():
sess.add(User(name="u1"))
@@ -2178,7 +2182,7 @@ class SessionTest(fixtures.RemovesEvents, _LocalFixture):
with testing.expect_deprecated_20(
"The Session.autocommit parameter is deprecated"
):
- sess = Session(autocommit=True)
+ sess = Session(testing.db, autocommit=True)
def go():
with sess.begin():
@@ -2193,6 +2197,58 @@ class SessionTest(fixtures.RemovesEvents, _LocalFixture):
eq_(sess.query(User).count(), 1)
+class AutocommitClosesOnFailTest(fixtures.MappedTest):
+ __requires__ = ("deferrable_or_no_constraints",)
+
+ @classmethod
+ def define_tables(cls, metadata):
+ Table("t1", metadata, Column("id", Integer, primary_key=True))
+
+ Table(
+ "t2",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ Column(
+ "t1_id",
+ Integer,
+ ForeignKey("t1.id", deferrable=True, initially="deferred"),
+ ),
+ )
+
+ @classmethod
+ def setup_classes(cls):
+ class T1(cls.Comparable):
+ pass
+
+ class T2(cls.Comparable):
+ pass
+
+ @classmethod
+ def setup_mappers(cls):
+ T2, T1, t2, t1 = (
+ cls.classes.T2,
+ cls.classes.T1,
+ cls.tables.t2,
+ cls.tables.t1,
+ )
+
+ mapper(T1, t1)
+ mapper(T2, t2)
+
+ def test_close_transaction_on_commit_fail(self):
+ T2 = self.classes.T2
+
+ session = fixture_session(autocommit=True)
+
+ # with a deferred constraint, this fails at COMMIT time instead
+ # of at INSERT time.
+ session.add(T2(t1_id=123))
+
+ assert_raises(sa.exc.IntegrityError, session.flush)
+
+ assert session._legacy_transaction() is None
+
+
class DeprecatedInhTest(_poly_fixtures._Polymorphic):
def test_with_polymorphic(self):
Person = _poly_fixtures.Person
@@ -2217,7 +2273,7 @@ class DeprecatedInhTest(_poly_fixtures._Polymorphic):
engineers = self.tables.engineers
machines = self.tables.machines
- sess = create_session()
+ sess = fixture_session()
mach_alias = machines.select()
with DeprecatedQueryTest._expect_implicit_subquery():
@@ -2364,7 +2420,7 @@ class DeprecatedMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
m.add_property("_name", deferred(users.c.name))
m.add_property("name", synonym("_name"))
- sess = create_session(autocommit=False)
+ sess = fixture_session(autocommit=False)
assert sess.query(User).get(7)
u = sess.query(User).filter_by(name="jack").one()
@@ -2433,7 +2489,7 @@ class DeprecatedOptionAllTest(OptionsPathTest, _fixtures.FixtureTest):
assert_raises_message(
sa.exc.ArgumentError,
message,
- create_session()
+ fixture_session()
.query(*entity_list)
.options(*options)
._compile_context,
@@ -2458,7 +2514,7 @@ class DeprecatedOptionAllTest(OptionsPathTest, _fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated(
r"The \*addl_attrs on orm.defer is deprecated. "
@@ -2779,7 +2835,7 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
User, Address, Order, Item = self.classes(
"User", "Address", "Order", "Item"
)
- q = create_session().query(User).order_by(User.id)
+ q = fixture_session().query(User).order_by(User.id)
def go():
eq_(
@@ -2813,21 +2869,21 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
self.assert_sql_count(testing.db, go, count)
- sess = create_session()
+ sess = fixture_session()
user = sess.query(User).get(7)
closed_mapper = User.closed_orders.entity
open_mapper = User.open_orders.entity
eq_(
[Order(id=1), Order(id=5)],
- create_session()
+ fixture_session()
.query(closed_mapper)
.with_parent(user, property="closed_orders")
.all(),
)
eq_(
[Order(id=3)],
- create_session()
+ fixture_session()
.query(open_mapper)
.with_parent(user, property="open_orders")
.all(),
@@ -3004,7 +3060,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
use_labels=True, order_by=[text("ulist.id"), addresses.c.id]
)
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
# note this has multiple problems because we aren't giving Query
@@ -3040,7 +3096,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
use_labels=True, order_by=[text("ulist.id"), addresses.c.id]
)
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
def go():
@@ -3066,7 +3122,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
selectquery = users.outerjoin(addresses).select(
users.c.id < 10,
@@ -3081,7 +3137,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
):
result = list(
q.options(contains_eager("addresses")).instances(
- selectquery.execute()
+ sess.execute(selectquery)
)
)
assert self.static.user_address_result[0:3] == result
@@ -3096,7 +3152,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
):
result = list(
q.options(contains_eager(User.addresses)).instances(
- selectquery.execute()
+ sess.connection().execute(selectquery)
)
)
assert self.static.user_address_result[0:3] == result
@@ -3110,7 +3166,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
adalias = addresses.alias("adalias")
@@ -3131,7 +3187,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
result = list(
q.options(
contains_eager("addresses", alias="adalias")
- ).instances(selectquery.execute())
+ ).instances(sess.connection().execute(selectquery))
)
assert self.static.user_address_result == result
@@ -3144,7 +3200,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
adalias = addresses.alias("adalias")
@@ -3161,7 +3217,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
result = list(
q.options(
contains_eager("addresses", alias=adalias)
- ).instances(selectquery.execute())
+ ).instances(sess.connection().execute(selectquery))
)
assert self.static.user_address_result == result
@@ -3176,7 +3232,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
oalias = orders.alias("o1")
@@ -3202,7 +3258,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
q.options(
contains_eager("orders", alias="o1"),
contains_eager("orders.items", alias="i1"),
- ).instances(query.execute())
+ ).instances(sess.connection().execute(query))
)
assert self.static.user_order_result == result
@@ -3217,7 +3273,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
oalias = orders.alias("o1")
@@ -3245,7 +3301,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
q.options(
contains_eager("orders", alias=oalias),
contains_eager("orders.items", alias=ialias),
- ).instances(query.execute())
+ ).instances(sess.connection().execute(query))
)
assert self.static.user_order_result == result
@@ -3268,7 +3324,7 @@ class DistinctOrderByImplicitTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_roundtrip_one(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep):
q = (
sess.query(User)
@@ -3284,7 +3340,7 @@ class DistinctOrderByImplicitTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_roundtrip_two(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep):
q = (
sess.query(User)
@@ -3300,7 +3356,7 @@ class DistinctOrderByImplicitTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_roundtrip_three(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User.id, User.name.label("foo"), Address.id)
@@ -3331,7 +3387,7 @@ class DistinctOrderByImplicitTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_one(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User.id, User.name.label("foo"), Address.id)
@@ -3360,7 +3416,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def test_on_bulk_update_hook(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
canary = Mock()
event.listen(sess, "after_bulk_update", canary.after_bulk_update)
@@ -3390,7 +3446,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def test_on_bulk_delete_hook(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
canary = Mock()
event.listen(sess, "after_bulk_delete", canary.after_bulk_delete)
@@ -3438,7 +3494,7 @@ class ImmediateTest(_fixtures.FixtureTest):
def test_value(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated(r"Query.value\(\) is deprecated"):
eq_(sess.query(User).filter_by(id=7).value(User.id), 7)
@@ -3457,7 +3513,7 @@ class ImmediateTest(_fixtures.FixtureTest):
def test_value_cancels_loader_opts(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
@@ -3479,7 +3535,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated(r"Query.values?\(\) is deprecated"):
assert list(sess.query(User).values()) == list()
@@ -3587,7 +3643,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_values_specific_order_by(self):
users, User = self.tables.users, self.classes.User
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated(r"Query.values?\(\) is deprecated"):
assert list(sess.query(User).values()) == list()
@@ -3640,7 +3696,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
with testing.expect_deprecated(r"Query.values?\(\) is deprecated"):
@@ -3697,7 +3753,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
OrderAlias = aliased(Order)
with testing.expect_deprecated_20(join_strings_dep):
@@ -3784,7 +3840,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
# no arg error
with testing.expect_deprecated_20(join_aliased_dep):
(
@@ -3806,7 +3862,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
# test a basic aliasized path
with testing.expect_deprecated(join_aliased_dep, join_strings_dep):
@@ -3892,7 +3948,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_overlapping_paths_two(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
# test overlapping paths. User->orders is used by both joins, but
# rendered once.
@@ -3925,7 +3981,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
with testing.expect_deprecated_20(*warnings):
result = (
- create_session()
+ fixture_session()
.query(User)
.join("orders", "items", aliased=aliased_)
.filter_by(id=3)
@@ -3938,7 +3994,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_overlapping_paths_multilevel(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
with testing.expect_deprecated_20(join_strings_dep, join_chain_dep):
q = (
@@ -3966,7 +4022,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
for oalias, ialias in [
(True, True),
@@ -4030,7 +4086,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated(join_tuple_form):
q = (
@@ -4058,7 +4114,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_tuple_form):
q = (
@@ -4087,7 +4143,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
# the old "backwards" form
with testing.expect_deprecated_20(join_tuple_form, join_strings_dep):
@@ -4115,7 +4171,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep):
q = (
@@ -4135,7 +4191,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
"User", "Order", "Item", "Keyword"
)
- sess = create_session()
+ sess = fixture_session()
# ensure when the tokens are broken up that from_joinpoint
# is set between them
@@ -4163,7 +4219,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_name(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep):
self.assert_compile(
@@ -4213,7 +4269,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User,
) = (self.classes.Order, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_chain_dep):
self.assert_compile(
sess.query(User).join(User.orders, Order.items),
@@ -4228,7 +4284,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_7(self):
Order, User = (self.classes.Order, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
# this query is somewhat nonsensical. the old system didn't render a
# correct query for this. In this case its the most faithful to what
# was asked - there's no linkage between User.orders and "oalias",
@@ -4251,7 +4307,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User,
) = (self.classes.Order, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
# same as before using an aliased() for User as well
ualias = aliased(User)
oalias = aliased(Order)
@@ -4270,7 +4326,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_10(self):
User, Address = (self.classes.User, self.classes.Address)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_aliased_dep):
self.assert_compile(
sess.query(User)
@@ -4289,7 +4345,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_aliased_dep, join_chain_dep):
self.assert_compile(
sess.query(User)
@@ -4311,7 +4367,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_chain_dep, join_aliased_dep):
self.assert_compile(
@@ -4339,7 +4395,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
# this is now a very weird test, nobody should really
# be using the aliased flag in this way.
@@ -4404,7 +4460,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
with testing.expect_deprecated_20(join_strings_dep, join_chain_dep):
result = (
- create_session()
+ fixture_session()
.query(User)
.select_from(users.join(oalias))
.filter(
@@ -4418,7 +4474,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
with testing.expect_deprecated_20(join_strings_dep, join_chain_dep):
result = (
- create_session()
+ fixture_session()
.query(User)
.select_from(users.join(oalias))
.filter(
@@ -4444,7 +4500,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
# id 1 (order 3, owned by jack)
with testing.expect_deprecated_20(*warnings):
result = (
- create_session()
+ fixture_session()
.query(User)
.join("orders", "items", aliased=aliased_)
.filter_by(id=3)
@@ -4457,7 +4513,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
with testing.expect_deprecated_20(*warnings):
result = (
- create_session()
+ fixture_session()
.query(User)
.join("orders", "items", aliased=aliased_, isouter=True)
.filter_by(id=3)
@@ -4470,7 +4526,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
with testing.expect_deprecated_20(*warnings):
result = (
- create_session()
+ fixture_session()
.query(User)
.outerjoin("orders", "items", aliased=aliased_)
.filter_by(id=3)
@@ -4540,7 +4596,7 @@ class AliasFromCorrectLeftTest(
def test_join_prop_to_string(self):
A, B, X = self.classes("A", "B", "X")
- s = Session()
+ s = fixture_session()
with testing.expect_deprecated_20(join_strings_dep):
q = s.query(B).join(B.a_list, "x_list").filter(X.name == "x1")
@@ -4562,7 +4618,7 @@ class AliasFromCorrectLeftTest(
def test_join_prop_to_prop(self):
A, B, X = self.classes("A", "B", "X")
- s = Session()
+ s = fixture_session()
# B -> A, but both are Object. So when we say A.x_list, make sure
# we pick the correct right side
@@ -4629,7 +4685,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def insert_data(cls, connection):
Node = cls.classes.Node
- sess = create_session(connection)
+ sess = Session(connection)
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -4643,7 +4699,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_1(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep, join_aliased_dep):
node = (
@@ -4656,7 +4712,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_2(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_aliased_dep):
ret = (
sess.query(Node.data)
@@ -4668,7 +4724,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_3_filter_by(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(
join_strings_dep, join_aliased_dep, join_chain_dep
):
@@ -4690,7 +4746,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_3_filter(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(
join_strings_dep, join_aliased_dep, join_chain_dep
):
@@ -4712,7 +4768,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_4_filter_by(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep, join_aliased_dep):
q = (
@@ -4739,7 +4795,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_4_filter(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep, join_aliased_dep):
q = (
@@ -4772,7 +4828,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
nalias = aliased(
Node, sess.query(Node).filter_by(data="n1").subquery()
)
@@ -4811,7 +4867,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_string_or_prop_aliased_two(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
nalias = aliased(
Node, sess.query(Node).filter_by(data="n1").subquery()
)
@@ -4880,7 +4936,7 @@ class InheritedJoinTest(_poly_fixtures._Polymorphic, AssertsCompiledSQL):
self.classes.Engineer,
)
- sess = create_session()
+ sess = fixture_session()
mach_alias = aliased(Machine, machines.select().subquery())
@@ -4913,7 +4969,7 @@ class InheritedJoinTest(_poly_fixtures._Polymorphic, AssertsCompiledSQL):
self.classes.Paperwork,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(join_strings_dep, w_polymorphic_dep):
self.assert_compile(
@@ -4945,7 +5001,7 @@ class InheritedJoinTest(_poly_fixtures._Polymorphic, AssertsCompiledSQL):
self.classes.Paperwork,
)
- sess = create_session()
+ sess = fixture_session()
with testing.expect_deprecated_20(
join_strings_dep, w_polymorphic_dep, join_aliased_dep
@@ -5002,7 +5058,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_mapped_to_select_implicit_left_w_aliased(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -5082,7 +5138,7 @@ class MultiplePathTest(fixtures.MappedTest, AssertsCompiledSQL):
with testing.expect_deprecated_20(join_strings_dep):
q = (
- create_session()
+ fixture_session()
.query(T1)
.join("t2s_1")
.filter(t2.c.id == 5)
@@ -5099,3 +5155,79 @@ class MultiplePathTest(fixtures.MappedTest, AssertsCompiledSQL):
"WHERE t2.id = :id_1",
use_default_dialect=True,
)
+
+
+class BindSensitiveStringifyTest(fixtures.TestBase):
+ def _fixture(self):
+ # building a totally separate metadata /mapping here
+ # because we need to control if the MetaData is bound or not
+
+ class User(object):
+ pass
+
+ m = MetaData()
+ user_table = Table(
+ "users",
+ m,
+ Column("id", Integer, primary_key=True),
+ Column("name", String(50)),
+ )
+
+ mapper(User, user_table)
+ return User
+
+ def _dialect_fixture(self):
+ class MyDialect(default.DefaultDialect):
+ default_paramstyle = "qmark"
+
+ from sqlalchemy.engine import base
+
+ return base.Engine(mock.Mock(), MyDialect(), mock.Mock())
+
+ def _test(self, bound_session, session_present, expect_bound):
+ if bound_session:
+ eng = self._dialect_fixture()
+ else:
+ eng = None
+
+ User = self._fixture()
+
+ s = Session(eng if bound_session else None)
+ q = s.query(User).filter(User.id == 7)
+ if not session_present:
+ q = q.with_session(None)
+
+ eq_ignore_whitespace(
+ str(q),
+ "SELECT users.id AS users_id, users.name AS users_name "
+ "FROM users WHERE users.id = ?"
+ if expect_bound
+ else "SELECT users.id AS users_id, users.name AS users_name "
+ "FROM users WHERE users.id = :id_1",
+ )
+
+ def test_query_bound_session(self):
+ self._test(True, True, True)
+
+ def test_query_no_session(self):
+ self._test(False, False, False)
+
+ def test_query_unbound_session(self):
+ self._test(False, True, False)
+
+
+class GetBindTest(_GetBindTest):
+ @classmethod
+ def define_tables(cls, metadata):
+ super(GetBindTest, cls).define_tables(metadata)
+ metadata.bind = testing.db
+
+ def test_fallback_table_metadata(self):
+ session = self._fixture({})
+ is_(session.get_bind(self.classes.BaseClass), testing.db)
+
+ def test_bind_base_table_concrete_sub_class(self):
+ base_class_bind = Mock()
+ session = self._fixture({self.tables.base_table: base_class_bind})
+
+ is_(session.get_bind(self.classes.ConcreteSubClass), testing.db)
diff --git a/test/orm/test_dynamic.py b/test/orm/test_dynamic.py
index 5f18b9bce..942e8383a 100644
--- a/test/orm/test_dynamic.py
+++ b/test/orm/test_dynamic.py
@@ -9,11 +9,9 @@ from sqlalchemy import testing
from sqlalchemy.orm import attributes
from sqlalchemy.orm import backref
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
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
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import AssertsCompiledSQL
@@ -21,6 +19,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import expect_raises_message
from sqlalchemy.testing import is_
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
@@ -126,7 +125,7 @@ class _DynamicFixture(object):
class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_basic(self):
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
eq_(
@@ -152,7 +151,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_slice_access(self):
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
u1 = sess.get(User, 8)
eq_(u1.addresses.limit(1).one(), Address(id=2))
@@ -162,7 +161,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_negative_slice_access_raises(self):
User, Address = self._user_address_fixture()
- sess = create_session(testing.db, future=True)
+ sess = fixture_session(future=True)
u1 = sess.get(User, 8)
with expect_raises_message(
@@ -194,7 +193,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
would render, without any _clones called."""
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
u = q.filter(User.id == 7).first()
@@ -208,7 +207,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_detached_raise(self):
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(8)
sess.expunge(u)
@@ -274,7 +273,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_order_by(self):
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(8)
eq_(
list(u.addresses.order_by(desc(Address.email_address))),
@@ -291,7 +290,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
addresses_args={"order_by": addresses.c.email_address.desc()}
)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(8)
eq_(
list(u.addresses),
@@ -326,7 +325,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_count(self):
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).first()
eq_(u.addresses.count(), 1)
@@ -349,7 +348,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
)
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
ad = sess.query(Address).get(1)
def go():
@@ -362,7 +361,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_no_count(self):
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
# dynamic collection cannot implement __len__() (at least one that
@@ -400,7 +399,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
items_args={"backref": backref("orders", lazy="dynamic")}
)
- sess = create_session()
+ sess = fixture_session()
o1 = Order(id=15, description="order 10")
i1 = Item(id=10, description="item 8")
o1.items.append(i1)
@@ -439,7 +438,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
o = sess.query(Order).first()
self.assert_compile(
@@ -477,7 +476,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).first()
self.assert_compile(
@@ -529,7 +528,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
properties={"item_keywords": relationship(ItemKeyword)},
)
- sess = create_session()
+ sess = fixture_session()
order = sess.query(Order).first()
self.assert_compile(
@@ -572,14 +571,14 @@ class UOWTest(
addresses = self.tables.addresses
User, Address = self._user_address_fixture()
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="jack")
a1 = Address(email_address="foo")
sess.add_all([u1, a1])
sess.flush()
eq_(
- testing.db.scalar(
+ sess.connection().scalar(
select(func.count(cast(1, Integer))).where(
addresses.c.user_id != None
)
@@ -591,16 +590,18 @@ class UOWTest(
sess.flush()
eq_(
- testing.db.execute(
+ sess.connection()
+ .execute(
select(addresses).where(addresses.c.user_id != None) # noqa
- ).fetchall(),
+ )
+ .fetchall(),
[(a1.id, u1.id, "foo")],
)
u1.addresses.remove(a1)
sess.flush()
eq_(
- testing.db.scalar(
+ sess.connection().scalar(
select(func.count(cast(1, Integer))).where(
addresses.c.user_id != None
)
@@ -611,9 +612,11 @@ class UOWTest(
u1.addresses.append(a1)
sess.flush()
eq_(
- testing.db.execute(
+ sess.connection()
+ .execute(
select(addresses).where(addresses.c.user_id != None) # noqa
- ).fetchall(),
+ )
+ .fetchall(),
[(a1.id, u1.id, "foo")],
)
@@ -622,9 +625,11 @@ class UOWTest(
u1.addresses.append(a2)
sess.flush()
eq_(
- testing.db.execute(
+ sess.connection()
+ .execute(
select(addresses).where(addresses.c.user_id != None) # noqa
- ).fetchall(),
+ )
+ .fetchall(),
[(a2.id, u1.id, "bar")],
)
@@ -633,7 +638,7 @@ class UOWTest(
User, Address = self._user_address_fixture(
addresses_args={"order_by": addresses.c.email_address}
)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u1 = User(name="jack")
a1 = Address(email_address="a1")
a2 = Address(email_address="a2")
@@ -669,7 +674,7 @@ class UOWTest(
User, Address = self._user_address_fixture(
addresses_args={"order_by": addresses.c.email_address}
)
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u1 = User(name="jack")
a1 = Address(email_address="a1")
a2 = Address(email_address="a2")
@@ -691,7 +696,7 @@ class UOWTest(
# when flushing an append
User, Address = self._user_address_fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="jack", addresses=[Address(email_address="a1")])
sess.add(u1)
sess.commit()
@@ -721,7 +726,7 @@ class UOWTest(
# when flushing a remove
User, Address = self._user_address_fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="jack", addresses=[Address(email_address="a1")])
a2 = Address(email_address="a2")
u1.addresses.append(a2)
@@ -757,7 +762,7 @@ class UOWTest(
def test_rollback(self):
User, Address = self._user_address_fixture()
- sess = create_session(
+ sess = fixture_session(
expire_on_commit=False, autocommit=False, autoflush=True
)
u1 = User(name="jack")
@@ -786,7 +791,7 @@ class UOWTest(
}
)
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = User(name="ed")
u.addresses.extend(
[Address(email_address=letter) for letter in "abcdef"]
@@ -854,7 +859,7 @@ class UOWTest(
},
)
- sess = Session()
+ sess = fixture_session()
n2, n3 = Node(), Node()
n1 = Node(children=[n2, n3])
sess.add(n1)
@@ -872,7 +877,7 @@ class UOWTest(
}
)
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = User(name="ed")
u.addresses.extend(
[Address(email_address=letter) for letter in "abcdef"]
@@ -893,7 +898,7 @@ class UOWTest(
User, Address = self._user_address_fixture(
addresses_args={"backref": "user"}
)
- sess = create_session(autoflush=autoflush, autocommit=False)
+ sess = fixture_session(autoflush=autoflush, autocommit=False)
u = User(name="buffy")
@@ -948,29 +953,28 @@ class UOWTest(
addresses_args={"backref": "user"}
)
- session = create_session()
- user = User()
- user.name = "joe"
- user.fullname = "Joe User"
- user.password = "Joe's secret"
- address = Address()
- address.email_address = "joe@joesdomain.example"
- address.user = user
- session.add(user)
- session.flush()
- session.expunge_all()
+ with fixture_session() as session:
+ user = User()
+ user.name = "joe"
+ user.fullname = "Joe User"
+ user.password = "Joe's secret"
+ address = Address()
+ address.email_address = "joe@joesdomain.example"
+ address.user = user
+ session.add(user)
+ session.commit()
def query1():
- session = create_session(testing.db)
+ session = fixture_session()
user = session.query(User).first()
return user.addresses.all()
def query2():
- session = create_session(testing.db)
+ session = fixture_session()
return session.query(User).first().addresses.all()
def query3():
- session = create_session(testing.db)
+ session = fixture_session()
return session.query(User).first().addresses.all()
eq_(query1(), [Address(email_address="joe@joesdomain.example")])
@@ -997,7 +1001,7 @@ class HistoryTest(_DynamicFixture, _fixtures.FixtureTest):
u1 = User(name="u1")
a1 = Address(email_address="a1")
- s = Session(autoflush=autoflush)
+ s = fixture_session(autoflush=autoflush)
s.add(u1)
s.flush()
return u1, a1, s
@@ -1007,7 +1011,7 @@ class HistoryTest(_DynamicFixture, _fixtures.FixtureTest):
o1 = Order()
i1 = Item(description="i1")
- s = Session(autoflush=autoflush)
+ s = fixture_session(autoflush=autoflush)
s.add(o1)
s.flush()
return o1, i1, s
diff --git a/test/orm/test_eager_relations.py b/test/orm/test_eager_relations.py
index 7bc82b2a3..4498fc1ff 100644
--- a/test/orm/test_eager_relations.py
+++ b/test/orm/test_eager_relations.py
@@ -17,7 +17,6 @@ from sqlalchemy.orm import backref
from sqlalchemy.orm import close_all_sessions
from sqlalchemy.orm import column_property
from sqlalchemy.orm import contains_eager
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import defaultload
from sqlalchemy.orm import deferred
from sqlalchemy.orm import joinedload
@@ -38,6 +37,7 @@ from sqlalchemy.testing import in_
from sqlalchemy.testing import is_
from sqlalchemy.testing import is_not
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.util import OrderedDict as odict
@@ -68,7 +68,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
eq_(
@@ -91,7 +91,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
m = mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
sess.query(User).all()
m.add_property("addresses", relationship(mapper(Address, addresses)))
@@ -136,7 +136,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
user = sess.query(User).get(7)
assert getattr(User, "addresses").hasparent(
sa.orm.attributes.instance_state(user.addresses[0]),
@@ -165,7 +165,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -202,7 +202,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -242,7 +242,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = (
q.filter(User.id == Address.user_id)
.order_by(Address.email_address)
@@ -285,7 +285,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- sess = create_session()
+ sess = fixture_session()
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -318,7 +318,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
mapper(Address, addresses)
mapper(User, users, properties=dict(addresses=relationship(Address)))
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.join("addresses")
@@ -369,7 +369,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
for q in [
sess.query(Address)
@@ -559,7 +559,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
5,
),
]:
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -585,7 +585,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
properties={"addresses": relationship(Address, lazy="dynamic")},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa.exc.InvalidRequestError,
"User.addresses' does not support object "
@@ -616,7 +616,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(Item).order_by(Item.id)
+ q = fixture_session().query(Item).order_by(Item.id)
def go():
eq_(self.static.item_keyword_result, q.all())
@@ -662,7 +662,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(Item)
+ q = fixture_session().query(Item)
def go():
eq_(
@@ -704,7 +704,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
eq_(sa.orm.class_mapper(User).get_property("addresses").lazy, "joined")
eq_(sa.orm.class_mapper(Address).get_property("user").lazy, "joined")
- sess = create_session()
+ sess = fixture_session()
eq_(
self.static.user_address_result,
sess.query(User).order_by(User.id).all(),
@@ -926,7 +926,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
User, Address, Order, Item = self.classes(
"User", "Address", "Order", "Item"
)
- q = create_session().query(User).order_by(User.id)
+ q = fixture_session().query(User).order_by(User.id)
def items(*ids):
if no_items:
@@ -993,14 +993,14 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
mapper(Address, addresses)
mapper(Order, orders)
- self.allusers = create_session().query(User).all()
+ self.allusers = fixture_session().query(User).all()
# using a textual select, the columns will be 'id' and 'name'. the
# eager loaders have aliases which should not hit on those columns,
# they should be required to locate only their aliased/fully table
# qualified column name.
noeagers = (
- create_session()
+ fixture_session()
.query(User)
.from_statement(text("select * from users"))
.all()
@@ -1061,7 +1061,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
result = q.order_by(User.id).limit(2).offset(1).all()
@@ -1098,7 +1098,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
def go():
@@ -1134,7 +1134,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -1175,7 +1175,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Item)
result = (
q.filter(
@@ -1240,7 +1240,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
@@ -1316,7 +1316,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User).first(),
User(
@@ -1369,7 +1369,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).filter(User.id == 8).one()
def go():
@@ -1413,7 +1413,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
class MyBogusOption(MapperOption):
propagate_to_loaders = True
- sess = create_session()
+ sess = fixture_session()
u1 = (
sess.query(User)
.options(MyBogusOption())
@@ -1485,7 +1485,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
mapper(Address, addresses)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).options(joinedload(User.orders)).limit(10),
@@ -1641,7 +1641,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
result = q.filter(users.c.id == 7).all()
@@ -1666,7 +1666,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
q = q.filter(users.c.id == 7).limit(1)
self.assert_compile(
@@ -1697,7 +1697,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
user=relationship(mapper(User, users), lazy="joined")
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address)
def go():
@@ -1737,7 +1737,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- sess = create_session()
+ sess = fixture_session()
def go():
o1 = (
@@ -1795,7 +1795,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = q.filter(text("users.id in (7, 8, 9)")).order_by(
text("users.id")
@@ -1838,7 +1838,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
eq_(
@@ -1878,7 +1878,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
properties={"order": relationship(Order, uselist=False)},
)
mapper(Order, orders)
- s = create_session()
+ s = fixture_session()
assert_raises(
sa.exc.SAWarning, s.query(User).options(joinedload(User.order)).all
)
@@ -1931,7 +1931,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
orders=relationship(Order, lazy=False, order_by=orders.c.id),
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
eq_(self.static.user_all_result, q.order_by(User.id).all())
@@ -1959,7 +1959,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
mapper(User, users)
mapper(Item, items)
- q = create_session().query(Order)
+ q = fixture_session().query(Order)
eq_(
[Order(id=3, user=User(id=7)), Order(id=4, user=User(id=9))],
q.all(),
@@ -1992,7 +1992,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = (
q.filter(addresses.c.email_address == "ed@lala.com")
.filter(Address.user_id == User.id)
@@ -2020,7 +2020,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- sess = create_session()
+ sess = fixture_session()
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -2079,7 +2079,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User),
"SELECT users.id AS users_id, users.name AS users_name, "
@@ -2171,7 +2171,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User),
"SELECT users.id AS users_id, users.name AS users_name, "
@@ -2286,7 +2286,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(
joinedload("orders", innerjoin=False).joinedload(
"items", innerjoin=True
@@ -2361,7 +2361,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
mapper(Order, orders)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(
joinedload("orders"), joinedload("addresses", innerjoin="unnested")
)
@@ -2402,7 +2402,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
mapper(Order, orders)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(
joinedload("orders"), joinedload("addresses", innerjoin=True)
)
@@ -2478,7 +2478,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Keyword, keywords)
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.join(User.orders)
@@ -2549,7 +2549,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
# joining from user, its all LEFT OUTER JOINs
self.assert_compile(
@@ -2610,7 +2610,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User),
@@ -2662,7 +2662,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).options(joinedload(User.orders, innerjoin=True)),
"SELECT users.id AS users_id, users.name AS users_name, "
@@ -2782,7 +2782,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
if use_load:
opt = Load(User).defaultload("orders").lazyload("*")
@@ -2833,7 +2833,7 @@ class SelectUniqueTest(_fixtures.FixtureTest):
.order_by(Address.id)
)
- s = create_session()
+ s = fixture_session()
result = s.execute(stmt)
eq_(result.scalars().all(), self.static.address_user_result)
@@ -2842,7 +2842,7 @@ class SelectUniqueTest(_fixtures.FixtureTest):
User = self.classes.User
stmt = select(User).options(joinedload(User.addresses))
- s = create_session()
+ s = fixture_session()
result = s.execute(stmt)
with expect_raises_message(
@@ -2857,7 +2857,7 @@ class SelectUniqueTest(_fixtures.FixtureTest):
stmt = (
select(User).options(joinedload(User.addresses)).order_by(User.id)
)
- s = create_session()
+ s = fixture_session()
result = s.execute(stmt)
eq_(
@@ -2871,7 +2871,7 @@ class SelectUniqueTest(_fixtures.FixtureTest):
stmt = (
select(User).options(joinedload(User.addresses)).order_by(User.id)
)
- s = create_session()
+ s = fixture_session()
result = s.execute(stmt)
eq_(result.scalars().unique().all(), self.static.user_address_result)
@@ -2886,7 +2886,7 @@ class SelectUniqueTest(_fixtures.FixtureTest):
.options(joinedload(User.addresses))
.order_by(User.id, Address.id)
)
- s = create_session()
+ s = fixture_session()
result = s.execute(stmt)
eq_(
@@ -2908,7 +2908,7 @@ class SelectUniqueTest(_fixtures.FixtureTest):
.options(joinedload(User.addresses))
.order_by(User.id)
)
- s = create_session()
+ s = fixture_session()
result = s.execute(stmt)
eq_(
@@ -3119,7 +3119,7 @@ class InnerJoinSplicingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
self.classes.C2,
)
- s = Session()
+ s = fixture_session()
q = s.query(A).options(
joinedload(A.bs, innerjoin=False)
@@ -3153,7 +3153,7 @@ class InnerJoinSplicingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
# test #3447
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(A).options(
joinedload("bs"),
@@ -3181,7 +3181,7 @@ class InnerJoinSplicingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
def test_multiple_splice_points(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(A).options(
joinedload("bs", innerjoin=False),
@@ -3229,7 +3229,7 @@ class InnerJoinSplicingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
a_mapper = inspect(A)
a_mapper.add_property("bs_np", relationship(b_np, viewonly=True))
- s = Session()
+ s = fixture_session()
q = s.query(A).options(joinedload("bs_np", innerjoin=False))
self.assert_compile(
@@ -3345,7 +3345,7 @@ class InnerJoinSplicingWSecondaryTest(
def test_joined_across(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
q = s.query(A).options(
joinedload("b")
.joinedload("c", innerjoin=True)
@@ -3407,7 +3407,7 @@ class SubqueryAliasingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
self._fixture({"summation": column_property(cp.scalar_subquery())})
self.assert_compile(
- create_session()
+ fixture_session()
.query(A)
.options(joinedload("bs"))
.order_by(A.summation)
@@ -3430,7 +3430,7 @@ class SubqueryAliasingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
self._fixture({"summation": column_property(cp.scalar_subquery())})
self.assert_compile(
- create_session()
+ fixture_session()
.query(A)
.options(joinedload("bs"))
.order_by(A.summation.desc())
@@ -3455,7 +3455,7 @@ class SubqueryAliasingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
self._fixture({"summation": column_property(cp.scalar_subquery())})
self.assert_compile(
- create_session()
+ fixture_session()
.query(A)
.options(joinedload("bs"))
.order_by(A.summation)
@@ -3484,7 +3484,7 @@ class SubqueryAliasingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
# the removal of a separate _make_proxy() from ScalarSelect
# fixed that.
self.assert_compile(
- create_session()
+ fixture_session()
.query(A)
.options(joinedload("bs"))
.order_by(cp)
@@ -3511,7 +3511,7 @@ class SubqueryAliasingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
.label("foo")
)
self.assert_compile(
- create_session()
+ fixture_session()
.query(A)
.options(joinedload("bs"))
.order_by(cp)
@@ -3540,7 +3540,7 @@ class SubqueryAliasingTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
# TODO: there is no test in Core that asserts what is happening
# here as far as the label generation for the ORDER BY
self.assert_compile(
- create_session()
+ fixture_session()
.query(A)
.options(joinedload("bs"))
.order_by(~cp)
@@ -3581,7 +3581,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
)
mapper(Dingaling, self.tables.dingalings)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, Dingaling, sess
def _collection_to_collection_fixture(self):
@@ -3602,7 +3602,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
)
mapper(Item, self.tables.items)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Order, Item, sess
def _eager_config_fixture(self):
@@ -3613,7 +3613,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
properties={"addresses": relationship(Address, lazy="joined")},
)
mapper(Address, self.tables.addresses)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, sess
def test_runs_query_on_refresh(self):
@@ -3804,7 +3804,7 @@ class AddEntityTest(_fixtures.FixtureTest):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
oalias = sa.orm.aliased(Order)
def go():
@@ -3861,7 +3861,7 @@ class AddEntityTest(_fixtures.FixtureTest):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
oalias = sa.orm.aliased(Order)
@@ -3958,7 +3958,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
)
mapper(B, b)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(A).all(),
[
@@ -3997,7 +3997,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -4073,7 +4073,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -4121,7 +4121,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
"data": deferred(nodes.c.data),
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -4178,7 +4178,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -4249,7 +4249,7 @@ class SelfReferentialEagerTest(fixtures.MappedTest):
nodes,
properties={"children": relationship(Node, lazy="joined")},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -4372,7 +4372,7 @@ class MixedSelfReferentialEagerTest(fixtures.MappedTest):
def test_eager_load(self):
A, B = self.classes.A, self.classes.B
- session = create_session()
+ session = fixture_session()
def go():
eq_(
@@ -4451,7 +4451,7 @@ class SelfReferentialM2MEagerTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
w1 = Widget(name="w1")
w2 = Widget(name="w2")
w1.children.append(w2)
@@ -4540,7 +4540,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
# two FROM clauses
def go():
@@ -4603,7 +4603,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
# two FROM clauses where there's a join on each one
def go():
@@ -4711,7 +4711,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
oalias = sa.orm.aliased(Order)
@@ -4748,7 +4748,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
oalias = sa.orm.aliased(Order)
@@ -4780,7 +4780,7 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
def test_aliased_entity_three(self):
Order, User = (self.classes.Order, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
oalias = sa.orm.aliased(Order)
@@ -4894,7 +4894,7 @@ class SubqueryTest(fixtures.MappedTest):
},
)
- session = create_session()
+ session = fixture_session()
session.add(
User(
name="joe",
@@ -5088,7 +5088,7 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -5105,7 +5105,7 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
self.assert_sql_count(testing.db, go, 1)
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -5115,7 +5115,7 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
self.assert_sql_count(testing.db, go, 2)
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -5128,7 +5128,7 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
self.assert_sql_count(testing.db, go, 1)
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -5199,7 +5199,7 @@ class CyclicalInheritingEagerTestOne(fixtures.MappedTest):
mapper(SubT2, None, inherits=T2, polymorphic_identity="subt2")
# testing a particular endless loop condition in eager load setup
- create_session().query(SubT).all()
+ fixture_session().query(SubT).all()
class CyclicalInheritingEagerTestTwo(
@@ -5231,7 +5231,7 @@ class CyclicalInheritingEagerTestTwo(
def test_from_subclass(self):
Director = self.classes.Director
- s = create_session()
+ s = fixture_session()
self.assert_compile(
s.query(Director).options(joinedload("*")),
@@ -5298,7 +5298,7 @@ class CyclicalInheritingEagerTestThree(
def test_gen_query_nodepth(self):
PersistentObject = self.classes.PersistentObject
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(PersistentObject),
"SELECT persistent.id AS persistent_id, "
@@ -5311,7 +5311,7 @@ class CyclicalInheritingEagerTestThree(
def test_gen_query_depth(self):
PersistentObject = self.classes.PersistentObject
Director = self.classes.Director
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(PersistentObject).options(joinedload(Director.other)),
"SELECT persistent.id AS persistent_id, "
@@ -5374,7 +5374,7 @@ class EnsureColumnsAddedTest(
def test_joinedload_defered_pk_limit_o2m(self):
Parent = self.classes.Parent
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent)
@@ -5394,7 +5394,7 @@ class EnsureColumnsAddedTest(
def test_joinedload_defered_pk_limit_m2m(self):
Parent = self.classes.Parent
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent)
@@ -5416,7 +5416,7 @@ class EnsureColumnsAddedTest(
def test_joinedload_defered_pk_o2m(self):
Parent = self.classes.Parent
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent).options(
@@ -5432,7 +5432,7 @@ class EnsureColumnsAddedTest(
def test_joinedload_defered_pk_m2m(self):
Parent = self.classes.Parent
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(Parent).options(
@@ -5492,7 +5492,7 @@ class EntityViaMultiplePathTestOne(fixtures.DeclarativeMappedTest):
def test_multi_path_load(self):
A, B, C, D = self.classes("A", "B", "C", "D")
- s = Session()
+ s = fixture_session()
c = C(d=D())
@@ -5521,7 +5521,7 @@ class EntityViaMultiplePathTestOne(fixtures.DeclarativeMappedTest):
def test_multi_path_load_of_type(self):
A, B, C, D = self.classes("A", "B", "C", "D")
- s = Session()
+ s = fixture_session()
c = C(d=D())
@@ -5593,7 +5593,7 @@ class EntityViaMultiplePathTestTwo(fixtures.DeclarativeMappedTest):
def test_multi_path_load_legacy_join_style(self):
User, LD, A, LDA = self.classes("User", "LD", "A", "LDA")
- s = Session()
+ s = fixture_session()
u0 = User(data=42)
l0 = LD(user=u0)
@@ -5624,7 +5624,7 @@ class EntityViaMultiplePathTestTwo(fixtures.DeclarativeMappedTest):
def test_multi_path_load_of_type(self):
User, LD, A, LDA = self.classes("User", "LD", "A", "LDA")
- s = Session()
+ s = fixture_session()
u0 = User(data=42)
l0 = LD(user=u0)
@@ -5696,7 +5696,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_string_options_aliased_whatever(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(aa, A)
@@ -5709,7 +5709,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_string_options_unaliased_whatever(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(A, aa)
@@ -5722,7 +5722,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_lazyload_aliased_abs_bcs_one(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(aa, A)
@@ -5735,7 +5735,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_lazyload_aliased_abs_bcs_two(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(aa, A)
@@ -5748,7 +5748,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_pathed_lazyload_aliased_abs_bcs(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
opt = Load(A).joinedload(A.bs).joinedload(B.cs)
@@ -5763,7 +5763,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_pathed_lazyload_plus_joined_aliased_abs_bcs(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
opt = Load(aa).defaultload(aa.bs).joinedload(B.cs)
@@ -5778,7 +5778,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_pathed_joinedload_aliased_abs_bcs(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
opt = Load(aa).joinedload(aa.bs).joinedload(B.cs)
@@ -5793,7 +5793,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_lazyload_plus_joined_aliased_abs_bcs(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(aa, A)
@@ -5806,7 +5806,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_joinedload_aliased_abs_bcs(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(aa, A)
@@ -5819,7 +5819,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_lazyload_unaliased_abs_bcs_one(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(A, aa)
@@ -5832,7 +5832,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_lazyload_unaliased_abs_bcs_two(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(A, aa)
@@ -5845,7 +5845,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_lazyload_plus_joined_unaliased_abs_bcs(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(A, aa)
@@ -5858,7 +5858,7 @@ class LazyLoadOptSpecificityTest(fixtures.DeclarativeMappedTest):
def test_joinedload_unaliased_abs_bcs(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
aa = aliased(A)
q = (
s.query(A, aa)
@@ -5886,7 +5886,7 @@ class EntityViaMultiplePathTestThree(fixtures.DeclarativeMappedTest):
def test_multi_path_load_lazy_none(self):
A = self.classes.A
- s = Session()
+ s = fixture_session()
s.add_all(
[
A(id=1, parent_id=None),
@@ -5986,7 +5986,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
def test_deep_options_1(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
# joinedload nothing.
u = sess.query(User).order_by(User.id).all()
@@ -6001,7 +6001,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
result = (
sess.query(User)
@@ -6018,7 +6018,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
self.sql_count_(0, go)
- sess = create_session()
+ sess = fixture_session()
result = (
sess.query(User).options(
@@ -6036,7 +6036,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
def test_deep_options_3(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
# same thing, with separate options calls
q2 = (
@@ -6060,7 +6060,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa.exc.ArgumentError,
@@ -6088,7 +6088,7 @@ class DeepOptionsTest(_fixtures.FixtureTest):
self.sql_count_(2, go)
- sess = create_session()
+ sess = fixture_session()
q3 = (
sess.query(User)
.order_by(User.id)
@@ -6220,7 +6220,7 @@ class SecondaryOptionsTest(fixtures.MappedTest):
def test_contains_eager(self):
Child1, Related = self.classes.Child1, self.classes.Related
- sess = create_session()
+ sess = fixture_session()
child1s = (
sess.query(Child1)
@@ -6258,7 +6258,7 @@ class SecondaryOptionsTest(fixtures.MappedTest):
def test_joinedload_on_other(self):
Child1, Related = self.classes.Child1, self.classes.Related
- sess = create_session()
+ sess = fixture_session()
child1s = (
sess.query(Child1)
@@ -6300,7 +6300,7 @@ class SecondaryOptionsTest(fixtures.MappedTest):
self.classes.Related,
)
- sess = create_session()
+ sess = fixture_session()
child1s = (
sess.query(Child1)
diff --git a/test/orm/test_evaluator.py b/test/orm/test_evaluator.py
index ec843d1c5..db56eeb83 100644
--- a/test/orm/test_evaluator.py
+++ b/test/orm/test_evaluator.py
@@ -13,12 +13,12 @@ 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.orm import Session
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -290,7 +290,7 @@ class M2OEvaluateTest(fixtures.DeclarativeMappedTest):
def test_delete_not_expired(self):
Parent, Child = self.classes("Parent", "Child")
- session = Session(expire_on_commit=False)
+ session = fixture_session(expire_on_commit=False)
p = Parent(id=1)
session.add(p)
@@ -307,7 +307,7 @@ class M2OEvaluateTest(fixtures.DeclarativeMappedTest):
def test_delete_expired(self):
Parent, Child = self.classes("Parent", "Child")
- session = Session()
+ session = fixture_session()
p = Parent(id=1)
session.add(p)
diff --git a/test/orm/test_events.py b/test/orm/test_events.py
index fb05f6601..1c918a88c 100644
--- a/test/orm/test_events.py
+++ b/test/orm/test_events.py
@@ -13,7 +13,6 @@ from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import attributes
from sqlalchemy.orm import class_mapper
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import deferred
from sqlalchemy.orm import events
from sqlalchemy.orm import EXT_SKIP
@@ -35,6 +34,7 @@ from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_not
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.mock import ANY
from sqlalchemy.testing.mock import call
from sqlalchemy.testing.mock import Mock
@@ -676,7 +676,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
canary = self.listen_all(User)
named_canary = self.listen_all(User, named=True)
- sess = create_session()
+ sess = fixture_session()
u = User(name="u1")
sess.add(u)
sess.flush()
@@ -769,13 +769,13 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
event.listen(mapper, "load", load)
- s = Session()
+ s = fixture_session()
u = User(name="u1")
s.add(u)
s.commit()
- s = Session()
+ s = fixture_session()
u2 = s.merge(u)
- s = Session()
+ s = fixture_session()
u2 = s.merge(User(name="u2")) # noqa
s.commit()
s.query(User).order_by(User.id).first()
@@ -803,7 +803,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
canary2 = self.listen_all(User)
canary3 = self.listen_all(AdminUser)
- sess = create_session()
+ sess = fixture_session()
am = AdminUser(name="au1", email_address="au1@e1")
sess.add(am)
sess.flush()
@@ -871,7 +871,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
)
canary3 = self.listen_all(AdminUser)
- sess = create_session()
+ sess = fixture_session()
am = AdminUser(name="au1", email_address="au1@e1")
sess.add(am)
sess.flush()
@@ -942,7 +942,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
canary1 = self.listen_all(Item)
canary2 = self.listen_all(Keyword)
- sess = create_session()
+ sess = fixture_session()
i1 = Item(description="i1")
k1 = Keyword(name="k1")
sess.add(i1)
@@ -998,7 +998,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
event.listen(mapper, "before_configured", m1)
event.listen(mapper, "after_configured", m2)
- s = Session()
+ s = fixture_session()
s.query(User)
eq_(m1.mock_calls, [call()])
@@ -1117,7 +1117,7 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
# fails by default because Mammal needs to be configured, and cannot
# be:
def probe():
- s = Session()
+ s = fixture_session()
s.query(User)
assert_raises(sa.exc.InvalidRequestError, probe)
@@ -1181,7 +1181,7 @@ class RestoreLoadContextTest(fixtures.DeclarativeMappedTest):
@_combinations
def test_warning(self, target, event_name, fn):
A = self.classes.A
- s = Session()
+ s = fixture_session()
target = testing.util.resolve_lambda(target, A=A, session=s)
event.listen(target, event_name, fn)
@@ -1205,7 +1205,7 @@ class RestoreLoadContextTest(fixtures.DeclarativeMappedTest):
@_combinations
def test_flag_resolves_existing(self, target, event_name, fn):
A = self.classes.A
- s = Session()
+ s = fixture_session()
target = testing.util.resolve_lambda(target, A=A, session=s)
a1 = s.query(A).all()[0]
@@ -1244,7 +1244,7 @@ class RestoreLoadContextTest(fixtures.DeclarativeMappedTest):
@_combinations
def test_flag_resolves(self, target, event_name, fn):
A = self.classes.A
- s = Session()
+ s = fixture_session()
target = testing.util.resolve_lambda(target, A=A, session=s)
event.listen(target, event_name, fn, restore_load_context=True)
@@ -1681,7 +1681,7 @@ class LoadTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1696,7 +1696,7 @@ class LoadTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1828,7 +1828,7 @@ class RefreshTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1855,7 +1855,7 @@ class RefreshTest(_fixtures.FixtureTest):
def canary2(obj, context, props):
obj.name = "refreshed name!"
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
sess.commit()
@@ -1877,7 +1877,7 @@ class RefreshTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1891,7 +1891,7 @@ class RefreshTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1905,7 +1905,7 @@ class RefreshTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1920,7 +1920,7 @@ class RefreshTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1934,7 +1934,7 @@ class RefreshTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1949,7 +1949,7 @@ class RefreshTest(_fixtures.FixtureTest):
canary = self._fixture()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1968,7 +1968,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
event.listen(Session, "before_flush", my_listener)
- s = Session()
+ s = fixture_session()
assert my_listener in s.dispatch.before_flush
def test_sessionmaker_listen(self):
@@ -2001,7 +2001,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def my_listener_one(*arg, **kw):
pass
- scope = scoped_session(lambda: Session())
+ scope = scoped_session(lambda: fixture_session())
assert_raises_message(
sa.exc.ArgumentError,
@@ -2021,7 +2021,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
class NotASession(object):
def __call__(self):
- return Session()
+ return fixture_session()
scope = scoped_session(NotASession)
@@ -2055,7 +2055,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
return go
- sess = Session(**kw)
+ sess = fixture_session(**kw)
for evt in [
"after_transaction_create",
@@ -2152,7 +2152,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
assertions = []
@@ -2227,7 +2227,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def test_state_before_attach(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
@event.listens_for(sess, "before_attach")
def listener(session, inst):
@@ -2246,7 +2246,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def test_state_after_attach(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
@event.listens_for(sess, "after_attach")
def listener(session, inst):
@@ -2279,7 +2279,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def test_on_bulk_update_hook(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
canary = Mock()
event.listen(sess, "after_begin", canary.after_begin)
@@ -2299,7 +2299,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def test_on_bulk_delete_hook(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
canary = Mock()
event.listen(sess, "after_begin", canary.after_begin)
@@ -2317,7 +2317,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
eq_(upd.result.rowcount, 0)
def test_connection_emits_after_begin(self):
- sess, canary = self._listener_fixture(bind=testing.db)
+ sess, canary = self._listener_fixture()
sess.connection()
# changed due to #5074
eq_(canary, ["after_transaction_create", "after_begin"])
@@ -2331,7 +2331,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
def before_flush(session, flush_context, objects):
session.flush()
- sess = Session()
+ sess = fixture_session()
event.listen(sess, "before_flush", before_flush)
sess.add(User(name="foo"))
assert_raises_message(
@@ -2356,7 +2356,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
)
session.delete(x)
- sess = Session()
+ sess = fixture_session()
event.listen(sess, "before_flush", before_flush)
u = User(name="u1")
@@ -2400,7 +2400,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
for obj in list(session.identity_map.values()):
obj.name += " modified"
- sess = Session(autoflush=True)
+ sess = fixture_session(autoflush=True)
event.listen(sess, "before_flush", before_flush)
u = User(name="u1")
@@ -2421,7 +2421,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
@@ -2443,7 +2443,7 @@ class SessionEventsTest(_RemoveListeners, _fixtures.FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
@@ -2484,7 +2484,7 @@ class SessionLifecycleEventsTest(_RemoveListeners, _fixtures.FixtureTest):
listener = Mock()
- sess = Session()
+ sess = fixture_session()
def start_events():
event.listen(
@@ -3027,7 +3027,7 @@ class QueryEventsTest(
return query
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User).filter_by(id=7)
self.assert_compile(
@@ -3046,7 +3046,7 @@ class QueryEventsTest(
counter[0] += 1
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User).filter_by(id=7)
str(q)
@@ -3060,7 +3060,7 @@ class QueryEventsTest(
def fn(query):
return query.add_columns(User.name)
- s = Session()
+ s = fixture_session()
q = s.query(User.id).filter_by(id=7)
self.assert_compile(
@@ -3088,7 +3088,7 @@ class QueryEventsTest(
return query
User = self.classes.User
- s = Session()
+ s = fixture_session()
with self.sql_execution_asserter() as asserter:
s.query(User).filter_by(id=7).update({"name": "ed"})
@@ -3112,7 +3112,7 @@ class QueryEventsTest(
return query
User = self.classes.User
- s = Session()
+ s = fixture_session()
# note this deletes no rows
with self.sql_execution_asserter() as asserter:
@@ -3140,7 +3140,7 @@ class QueryEventsTest(
):
opts.update(context.execution_options)
- sess = create_session(bind=testing.db, autocommit=False)
+ sess = fixture_session(autocommit=False)
sess.query(User).first()
eq_(opts["my_option"], True)
@@ -3185,7 +3185,7 @@ class RefreshFlushInReturningTest(fixtures.MappedTest):
mock = Mock()
event.listen(Thing, "refresh_flush", mock)
t1 = Thing()
- s = Session()
+ s = fixture_session()
s.add(t1)
s.flush()
diff --git a/test/orm/test_expire.py b/test/orm/test_expire.py
index 5abaa03db..5771ee538 100644
--- a/test/orm/test_expire.py
+++ b/test/orm/test_expire.py
@@ -25,7 +25,7 @@ from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.testing.util import gc_collect
@@ -48,7 +48,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(7)
assert len(u.addresses) == 1
u.name = "foo"
@@ -89,7 +89,7 @@ class ExpireTest(_fixtures.FixtureTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- s = Session()
+ s = fixture_session()
a1 = s.query(Address).get(2)
u1 = s.query(User).get(7)
@@ -104,7 +104,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session()
+ s = fixture_session()
u = s.query(User).get(7)
s.expunge_all()
@@ -119,7 +119,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session(autocommit=False)
+ s = fixture_session(autocommit=False)
u = s.query(User).get(10)
s.expire_all()
@@ -142,7 +142,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session(autocommit=False)
+ s = fixture_session(autocommit=False)
u = s.query(User).get(10)
s.expire_all()
@@ -157,7 +157,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session(autocommit=False)
+ s = fixture_session(autocommit=False)
u = s.query(User).get(10)
s.expire_all()
@@ -178,7 +178,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session(autocommit=False)
+ s = fixture_session(autocommit=False)
u = s.query(User).get(10)
s.expire_all()
s.execute(users.delete().where(User.id == 10))
@@ -206,7 +206,7 @@ class ExpireTest(_fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- s = create_session()
+ s = fixture_session()
o1 = s.query(Order).first()
assert "description" not in o1.__dict__
s.expire(o1)
@@ -233,7 +233,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users, properties={"name": deferred(users.c.name)})
- s = create_session(autocommit=False)
+ s = fixture_session(autocommit=False)
u = s.query(User).get(10)
assert "name" not in u.__dict__
@@ -265,7 +265,7 @@ class ExpireTest(_fixtures.FixtureTest):
},
)
mapper(Address, addresses)
- s = create_session(autoflush=True, autocommit=False)
+ s = fixture_session(autoflush=True, autocommit=False)
u = s.query(User).get(8)
adlist = u.addresses
eq_(
@@ -309,7 +309,7 @@ class ExpireTest(_fixtures.FixtureTest):
},
)
mapper(Address, addresses)
- s = create_session(autoflush=True, autocommit=False)
+ s = fixture_session(autoflush=True, autocommit=False)
u = s.query(User).get(8)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -323,7 +323,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session()
+ s = fixture_session()
u = s.query(User).get(7)
s.expire(u)
s.refresh(u)
@@ -339,7 +339,7 @@ class ExpireTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(7)
sess.expire(u, attribute_names=["name"])
@@ -356,7 +356,7 @@ class ExpireTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(7)
sess.expire(u, attribute_names=["name"])
@@ -369,7 +369,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)
- sess = create_session()
+ sess = fixture_session()
u = User(id=15)
sess.add(u)
assert_raises(sa_exc.InvalidRequestError, sess.expire, u, ["name"])
@@ -382,7 +382,7 @@ class ExpireTest(_fixtures.FixtureTest):
# 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)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(7)
sess.expire(u, attribute_names=["name"])
@@ -398,7 +398,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)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(7)
sess.expire(u, attribute_names=["name", "id"])
@@ -415,7 +415,7 @@ class ExpireTest(_fixtures.FixtureTest):
Order, orders = self.classes.Order, self.tables.orders
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
o = sess.query(Order).get(3)
sess.expire(o)
@@ -467,7 +467,7 @@ class ExpireTest(_fixtures.FixtureTest):
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
o = sess.query(Order).get(3)
sess.expire(o)
@@ -501,7 +501,7 @@ class ExpireTest(_fixtures.FixtureTest):
},
)
mapper(Address, addresses)
- s = create_session()
+ s = fixture_session(autoflush=False)
u = s.query(User).get(8)
assert u.addresses[0].email_address == "ed@wood.com"
@@ -527,7 +527,7 @@ class ExpireTest(_fixtures.FixtureTest):
},
)
mapper(Address, addresses)
- s = create_session()
+ s = fixture_session(autoflush=False)
u = s.query(User).get(8)
assert u.addresses[0].email_address == "ed@wood.com"
@@ -565,7 +565,7 @@ class ExpireTest(_fixtures.FixtureTest):
properties={"addresses": relationship(Address, cascade=cascade)},
)
mapper(Address, addresses)
- s = create_session()
+ s = fixture_session(autoflush=False)
u = s.query(User).get(8)
a = Address(id=12, email_address="foobar")
@@ -598,7 +598,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(7)
sess.expire(u)
@@ -633,7 +633,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(7)
sess.expire(u)
@@ -681,7 +681,7 @@ class ExpireTest(_fixtures.FixtureTest):
},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(8)
sess.expire(u, ["name", "addresses"])
u.addresses
@@ -711,7 +711,7 @@ class ExpireTest(_fixtures.FixtureTest):
},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(8)
sess.expire(u)
u.id
@@ -736,7 +736,7 @@ class ExpireTest(_fixtures.FixtureTest):
properties={"addresses": relationship(Address, backref="user")},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).options(joinedload(User.addresses)).get(8)
sess.expire(u)
u.id
@@ -761,7 +761,7 @@ class ExpireTest(_fixtures.FixtureTest):
},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(8)
sess.expire(u)
@@ -780,7 +780,7 @@ class ExpireTest(_fixtures.FixtureTest):
mapper(User, users, properties={"uname": sa.orm.synonym("name")})
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).get(7)
assert "name" in u.__dict__
assert u.uname == u.name
@@ -804,7 +804,7 @@ class ExpireTest(_fixtures.FixtureTest):
mapper(Order, orders)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
o = sess.query(Order).get(3)
sess.expire(o, attribute_names=["description"])
@@ -873,7 +873,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(8)
sess.expire(u, ["name", "addresses"])
@@ -935,7 +935,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(8)
sess.expire(u, ["name", "addresses"])
@@ -989,7 +989,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(8)
assert "name" in u.__dict__
u.addresses
@@ -1016,7 +1016,7 @@ class ExpireTest(_fixtures.FixtureTest):
properties={"description": sa.orm.deferred(orders.c.description)},
)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
o = sess.query(Order).get(3)
sess.expire(o, ["description", "isopen"])
assert "isopen" not in o.__dict__
@@ -1104,7 +1104,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = sess.query(User).get(8)
assert len(u.addresses) == 3
sess.expire(u)
@@ -1136,7 +1136,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
userlist = sess.query(User).order_by(User.id).all()
eq_(self.static.user_address_result, userlist)
eq_(len(list(sess)), 9)
@@ -1158,7 +1158,7 @@ class ExpireTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
# deferred attribute option, gets the LoadDeferredColumns
# callable
@@ -1208,7 +1208,7 @@ class ExpireTest(_fixtures.FixtureTest):
mapper(User, users, properties={"name": deferred(users.c.name)})
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u1 = sess.query(User).options(undefer(User.name)).first()
assert "name" not in attributes.instance_state(u1).callables
@@ -1262,7 +1262,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u1 = sess.query(User).options(lazyload(User.addresses)).first()
assert isinstance(
attributes.instance_state(u1).callables["addresses"],
@@ -1308,7 +1308,7 @@ class ExpireTest(_fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- s = Session()
+ s = fixture_session()
item = Order(id=1)
make_transient_to_detached(item)
@@ -1324,7 +1324,7 @@ class ExpireTest(_fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- s = Session()
+ s = fixture_session()
item = s.query(Order).first()
s.expire(item)
@@ -1339,7 +1339,7 @@ class ExpireTest(_fixtures.FixtureTest):
properties={"description": deferred(orders.c.description)},
)
- s = Session()
+ s = fixture_session()
item = s.query(Order).first()
s.expire(item, ["isopen", "description"])
@@ -1431,7 +1431,7 @@ class PolymorphicExpireTest(fixtures.MappedTest):
self.classes.Engineer,
)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
[p1, e1, e2] = sess.query(Person).order_by(people.c.person_id).all()
sess.expire(p1)
@@ -1473,7 +1473,7 @@ class PolymorphicExpireTest(fixtures.MappedTest):
def test_no_instance_key(self):
Engineer = self.classes.Engineer
- sess = create_session()
+ sess = fixture_session(autoflush=False)
e1 = sess.query(Engineer).get(2)
sess.expire(e1, attribute_names=["name"])
@@ -1488,7 +1488,7 @@ class PolymorphicExpireTest(fixtures.MappedTest):
# same as test_no_instance_key, but the PK columns
# are absent. ensure an error is raised.
- sess = create_session()
+ sess = fixture_session(autoflush=False)
e1 = sess.query(Engineer).get(2)
sess.expire(e1, attribute_names=["name", "person_id"])
@@ -1520,7 +1520,7 @@ class ExpiredPendingTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
a1 = Address(email_address="a1")
sess.add(a1)
sess.flush()
@@ -1608,7 +1608,7 @@ class LifecycleTest(fixtures.MappedTest):
def test_attr_not_inserted(self):
Data = self.classes.Data
- sess = create_session()
+ sess = fixture_session()
d1 = Data()
sess.add(d1)
@@ -1627,7 +1627,7 @@ class LifecycleTest(fixtures.MappedTest):
def test_attr_not_inserted_expired(self):
Data = self.classes.Data
- sess = create_session()
+ sess = fixture_session(autoflush=False)
d1 = Data()
sess.add(d1)
@@ -1646,7 +1646,7 @@ class LifecycleTest(fixtures.MappedTest):
def test_attr_not_inserted_fetched(self):
Data = self.classes.DataFetched
- sess = create_session()
+ sess = fixture_session()
d1 = Data()
sess.add(d1)
@@ -1667,7 +1667,7 @@ class LifecycleTest(fixtures.MappedTest):
d1 = Data(data="d1")
sess.add(d1)
- sess = create_session()
+ sess = fixture_session()
d1 = sess.query(Data).from_statement(select(Data.id)).first()
# cols not present in the row are implicitly expired
@@ -1720,7 +1720,7 @@ class RefreshTest(_fixtures.FixtureTest):
)
},
)
- s = create_session()
+ s = fixture_session(autoflush=False)
u = s.query(User).get(7)
u.name = "foo"
a = Address()
@@ -1755,7 +1755,7 @@ class RefreshTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session()
+ s = fixture_session()
u = s.query(User).get(7)
s.expunge_all()
assert_raises_message(
@@ -1771,7 +1771,7 @@ class RefreshTest(_fixtures.FixtureTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- s = Session()
+ s = fixture_session()
a1 = s.query(Address).get(2)
u1 = s.query(User).get(7)
@@ -1786,7 +1786,7 @@ class RefreshTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- s = create_session()
+ s = fixture_session()
u = s.query(User).get(7)
s.expire(u)
assert "name" not in u.__dict__
@@ -1805,7 +1805,7 @@ class RefreshTest(_fixtures.FixtureTest):
self.tables.users,
)
- s = create_session()
+ s = fixture_session()
mapper(
User,
users,
@@ -1840,13 +1840,13 @@ class RefreshTest(_fixtures.FixtureTest):
},
)
- s = create_session()
+ s = fixture_session()
u = s.query(User).get(8)
assert len(u.addresses) == 3
s.refresh(u)
assert len(u.addresses) == 3
- s = create_session()
+ s = fixture_session()
u = s.query(User).get(8)
assert len(u.addresses) == 3
s.expire(u)
@@ -1870,7 +1870,7 @@ class RefreshTest(_fixtures.FixtureTest):
mapper(Dingaling, dingalings)
- s = create_session()
+ s = fixture_session()
q = (
s.query(User)
.filter_by(name="fred")
@@ -1908,7 +1908,7 @@ class RefreshTest(_fixtures.FixtureTest):
self.classes.User,
)
- s = create_session()
+ s = fixture_session()
mapper(Address, addresses)
mapper(
diff --git a/test/orm/test_froms.py b/test/orm/test_froms.py
index 055f24b5c..cc9596466 100644
--- a/test/orm/test_froms.py
+++ b/test/orm/test_froms.py
@@ -23,7 +23,6 @@ from sqlalchemy.orm import clear_mappers
from sqlalchemy.orm import column_property
from sqlalchemy.orm import configure_mappers
from sqlalchemy.orm import contains_eager
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import joinedload
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
@@ -37,6 +36,7 @@ from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from test.orm import _fixtures
@@ -198,7 +198,7 @@ class QueryCorrelatesLikeSelect(QueryTest, AssertsCompiledSQL):
)
def test_scalar_subquery_query_auto_correlate(self):
- sess = create_session()
+ sess = fixture_session()
Address, User = self.classes.Address, self.classes.User
query = (
sess.query(func.count(Address.id))
@@ -211,7 +211,7 @@ class QueryCorrelatesLikeSelect(QueryTest, AssertsCompiledSQL):
)
def test_scalar_subquery_query_explicit_correlate(self):
- sess = create_session()
+ sess = fixture_session()
Address, User = self.classes.Address, self.classes.User
query = (
sess.query(func.count(Address.id))
@@ -226,7 +226,7 @@ class QueryCorrelatesLikeSelect(QueryTest, AssertsCompiledSQL):
@testing.combinations(False, None)
def test_scalar_subquery_query_correlate_off(self, value):
- sess = create_session()
+ sess = fixture_session()
Address, User = self.classes.Address, self.classes.User
query = (
sess.query(func.count(Address.id))
@@ -241,7 +241,7 @@ class QueryCorrelatesLikeSelect(QueryTest, AssertsCompiledSQL):
def test_correlate_to_union(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
q = sess.query(User).union(q)
@@ -312,7 +312,7 @@ class RawSelectTest(QueryTest, AssertsCompiledSQL):
def test_select(self):
addresses, users = self.tables.addresses, self.tables.users
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(users)
@@ -379,19 +379,19 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
subq = select(User).filter(User.id.in_([8, 9])).subquery()
- q = create_session().query(aliased(User, subq))
+ q = fixture_session().query(aliased(User, subq))
eq_(
[User(id=8), User(id=9)],
q.all(),
)
subq = select(User).order_by(User.id).slice(1, 3).subquery()
- q = create_session().query(aliased(User, subq))
+ q = fixture_session().query(aliased(User, subq))
eq_([User(id=8), User(id=9)], q.all())
subq = select(User).filter(User.id.in_([8, 9])).subquery()
u = aliased(User, subq)
- q = create_session().query(u).order_by(u.id)
+ q = fixture_session().query(u).order_by(u.id)
eq_(
[User(id=8)],
list(q[0:1]),
@@ -405,7 +405,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
u = aliased(User, stmt)
q = (
- create_session()
+ fixture_session()
.query(u)
.join(u.addresses)
.add_entity(Address)
@@ -433,7 +433,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
# there's no reason to do aliased(Address) in this case but we're just
# testing
aq = aliased(Address, subq)
- q = create_session().query(aq.user_id, subq.c.count)
+ q = fixture_session().query(aq.user_id, subq.c.count)
eq_(
q.all(),
[(7, 1), (8, 3), (9, 1)],
@@ -443,7 +443,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
aq = aliased(Address, subq)
q = (
- create_session()
+ fixture_session()
.query(aq.user_id, func.count(aq.id))
.group_by(aq.user_id)
.order_by(aq.user_id)
@@ -457,7 +457,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
def test_error_w_aliased_against_select(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
stmt = select(User.id)
@@ -474,7 +474,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
def test_having(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
stmt = (
select(User.id)
@@ -496,7 +496,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
subq = (
select(User)
@@ -533,7 +533,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
ualias = aliased(User)
@@ -587,7 +587,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
def test_multiple_entities(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
subq = (
select(User, Address)
@@ -629,7 +629,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
)
uq2 = aliased(User, subq2)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(uq2.id, subq2.c.foo).all(),
@@ -639,7 +639,7 @@ class EntityFromSubqueryTest(QueryTest, AssertsCompiledSQL):
def test_multiple_with_column_entities_newstyle(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User.id)
@@ -665,7 +665,7 @@ class ColumnAccessTest(QueryTest, AssertsCompiledSQL):
def test_select_entity_from(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
q = sess.query(User).select_entity_from(q.statement.subquery())
@@ -678,7 +678,7 @@ class ColumnAccessTest(QueryTest, AssertsCompiledSQL):
def test_select_entity_from_no_entities(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa.exc.ArgumentError,
@@ -689,7 +689,7 @@ class ColumnAccessTest(QueryTest, AssertsCompiledSQL):
def test_select_from_no_aliasing(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
q = sess.query(User).select_from(q.statement.subquery())
@@ -704,7 +704,7 @@ class ColumnAccessTest(QueryTest, AssertsCompiledSQL):
# relies upon _orm_only_from_obj_alias setting
from sqlalchemy.sql import column
- sess = create_session()
+ sess = fixture_session()
c1, c2 = column("c1"), column("c2")
q1 = sess.query(c1, c2).filter(c1 == "dog")
q2 = sess.query(c1, c2).filter(c1 == "cat")
@@ -806,7 +806,7 @@ class ColumnAccessTest(QueryTest, AssertsCompiledSQL):
def test_anonymous_labeled_expression_oldstyle(self):
# relies upon _orm_only_from_obj_alias setting
- sess = create_session()
+ sess = fixture_session()
c1, c2 = column("c1"), column("c2")
q1 = sess.query(c1.label("foo"), c2.label("bar")).filter(c1 == "dog")
q2 = sess.query(c1.label("foo"), c2.label("bar")).filter(c1 == "cat")
@@ -839,7 +839,7 @@ class ColumnAccessTest(QueryTest, AssertsCompiledSQL):
Address = self.classes.Address
addresses = self.tables.addresses
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User.id).filter(User.id > 5)
uq = aliased(User, q1.apply_labels().subquery())
@@ -868,7 +868,7 @@ class ColumnAccessTest(QueryTest, AssertsCompiledSQL):
Address = self.classes.Address
addresses = self.tables.addresses
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User.id).filter(User.id > 5).apply_labels().subquery()
uq = aliased(User, q1)
@@ -970,7 +970,7 @@ class AddEntityEquivalenceTest(fixtures.MappedTest, AssertsCompiledSQL):
def insert_data(cls, connection):
A, C, B = (cls.classes.A, cls.classes.C, cls.classes.B)
- sess = create_session(connection)
+ sess = Session(connection)
sess.add_all(
[
B(name="b1"),
@@ -984,7 +984,7 @@ class AddEntityEquivalenceTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_add_entity_equivalence(self):
A, C, B = (self.classes.A, self.classes.C, self.classes.B)
- sess = create_session()
+ sess = fixture_session()
for q in [
sess.query(A, B).join(A.link),
@@ -1033,7 +1033,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
use_labels=True, order_by=[text("ulist.id"), addresses.c.id]
)
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
def go():
@@ -1062,7 +1062,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
use_labels=True, order_by=[text("ulist.id"), addresses.c.id]
)
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
def go():
@@ -1092,7 +1092,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
use_labels=True, order_by=[text("ulist.id"), addresses.c.id]
)
)
- sess = create_session()
+ sess = fixture_session()
# better way. use select_entity_from()
def go():
@@ -1113,7 +1113,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.tables.users,
)
- sess = create_session()
+ sess = fixture_session()
# same thing, but alias addresses, so that the adapter
# generated by select_entity_from() is wrapped within
@@ -1141,7 +1141,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
def test_contains_eager_one(self):
addresses, User = (self.tables.addresses, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
# test that contains_eager suppresses the normal outer join rendering
q = (
@@ -1175,7 +1175,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
adalias = addresses.alias()
q = (
@@ -1197,7 +1197,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
selectquery = users.outerjoin(addresses).select(
users.c.id < 10,
@@ -1224,7 +1224,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session(testing.db, future=True)
+ sess = fixture_session(future=True)
selectquery = users.outerjoin(addresses).select(
users.c.id < 10,
@@ -1252,7 +1252,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
def test_contains_eager_aliased(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
# Aliased object
@@ -1277,7 +1277,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
oalias = orders.alias("o1")
@@ -1315,7 +1315,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
# test using Aliased with more than one level deep
@@ -1344,7 +1344,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
# test using Aliased with more than one level deep
@@ -1375,7 +1375,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.join(User.addresses)
@@ -1423,7 +1423,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
da = aliased(Dingaling, name="foob")
q = (
sess.query(User)
@@ -1471,7 +1471,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
@@ -1584,7 +1584,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_alias_naming(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
ua = aliased(User, name="foobar")
q = sess.query(ua)
@@ -1604,7 +1604,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
subq = (
select(func.count())
@@ -1644,7 +1644,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_column_queries_one(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User.name).all(),
@@ -1657,7 +1657,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
sel = users.select(User.id.in_([7, 8])).alias()
q = sess.query(User.name)
q2 = q.select_entity_from(sel).all()
@@ -1669,7 +1669,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User.name, Address.email_address)
.filter(User.id == Address.user_id)
@@ -1689,7 +1689,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User.name, func.count(Address.email_address))
.outerjoin(User.addresses)
@@ -1705,7 +1705,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User, func.count(Address.email_address))
.outerjoin(User.addresses)
@@ -1726,7 +1726,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(func.count(Address.email_address), User)
.outerjoin(User.addresses)
@@ -1747,7 +1747,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
adalias = aliased(Address)
eq_(
sess.query(User, func.count(adalias.email_address))
@@ -1769,7 +1769,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
adalias = aliased(Address)
eq_(
sess.query(func.count(adalias.email_address), User)
@@ -1791,7 +1791,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
adalias = aliased(Address)
@@ -1823,7 +1823,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
# anon + select from aliasing
aa = aliased(Address)
@@ -1847,7 +1847,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
adalias = aliased(Address)
@@ -1986,7 +1986,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_column_from_limited_joinedload(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
def go():
results = (
@@ -2003,7 +2003,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_self_referential_from_self(self):
Order = self.classes.Order
- sess = create_session()
+ sess = fixture_session()
oalias = aliased(Order)
q1 = (
@@ -2159,7 +2159,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- test_session = create_session()
+ test_session = fixture_session()
(user7, user8, user9, user10) = test_session.query(User).all()
(
@@ -2179,7 +2179,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
(user10, None),
]
- sess = create_session(testing.db, future=True)
+ sess = fixture_session(future=True)
selectquery = users.outerjoin(addresses).select(
use_labels=True, order_by=[users.c.id, addresses.c.id]
@@ -2235,7 +2235,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
(user7, user8, user9, user10) = sess.query(User).all()
(address1, address2, address3, address4, address5) = sess.query(
@@ -2272,7 +2272,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_with_entities(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).filter(User.id == 7).order_by(User.name)
@@ -2292,7 +2292,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_multi_columns(self):
users, User = self.tables.users, self.classes.User
- sess = create_session()
+ sess = fixture_session()
expected = [(u, u.name) for u in sess.query(User).all()]
@@ -2309,7 +2309,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
users, User = self.tables.users, self.classes.User
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User.id).add_columns(users).all(),
@@ -2326,7 +2326,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.tables.users,
)
- sess = create_session()
+ sess = fixture_session()
(user7, user8, user9, user10) = sess.query(User).all()
expected = [(user7, 1), (user8, 3), (user9, 1), (user10, 0)]
@@ -2370,7 +2370,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
users = self.tables.users
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User.id, User.name)
stmt = select(users).order_by(users.c.id)
@@ -2385,7 +2385,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
(user7, user8, user9, user10) = sess.query(User).all()
expected = [
(user7, 1, "Name:jack"),
@@ -2396,7 +2396,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
adalias = addresses.alias()
q = (
- create_session()
+ fixture_session()
.query(User)
.add_columns(func.count(adalias.c.id), ("Name:" + users.c.name))
.outerjoin(adalias, "addresses")
@@ -2417,7 +2417,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
.group_by(*[c for c in users.c])
.order_by(users.c.id)
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = (
q.add_columns(s.selected_columns.count, s.selected_columns.concat)
.from_statement(s)
@@ -2429,7 +2429,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
# test with select_entity_from()
q = (
- create_session()
+ fixture_session()
.query(User)
.add_columns(func.count(addresses.c.id), ("Name:" + users.c.name))
.select_entity_from(users.outerjoin(addresses))
@@ -2441,7 +2441,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
sess.expunge_all()
q = (
- create_session()
+ fixture_session()
.query(User)
.add_columns(func.count(addresses.c.id), ("Name:" + users.c.name))
.outerjoin("addresses")
@@ -2453,7 +2453,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
sess.expunge_all()
q = (
- create_session()
+ fixture_session()
.query(User)
.add_columns(func.count(adalias.c.id), ("Name:" + users.c.name))
.outerjoin(adalias, "addresses")
@@ -2469,7 +2469,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
ua = aliased(User)
aa = aliased(Address)
- s = create_session()
+ s = fixture_session()
for crit, j, exp in [
(
User.id + Address.id,
@@ -2539,7 +2539,7 @@ class MixedEntitiesTest(QueryTest, AssertsCompiledSQL):
def test_aliased_adapt_on_names(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
agg_address = sess.query(
Address.id,
func.sum(func.length(Address.email_address)).label(
@@ -2597,7 +2597,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(Address, addresses)
sel = users.select(users.c.id.in_([7, 8])).alias()
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User).select_entity_from(sel).all(),
@@ -2641,7 +2641,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
not_users = table("users", column("id"), column("name"))
ua = aliased(User, select(not_users).alias(), adapt_on_names=True)
@@ -2659,7 +2659,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
ua = aliased(User)
@@ -2676,7 +2676,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
ua = users.alias()
@@ -2696,7 +2696,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
sel = sess.query(User).filter(User.id.in_([7, 8])).subquery()
ualias = aliased(User)
@@ -2772,7 +2772,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
ua = aliased(User)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).select_from(ua).join(User, ua.name > User.name),
"SELECT users.id AS users_id, users.name AS users_name "
@@ -2823,7 +2823,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(User, users)
sel = users.select(users.c.id.in_([7, 8]))
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User).select_entity_from(sel.subquery()).all(),
@@ -2843,7 +2843,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).select_from(Address).join("user"),
@@ -2860,7 +2860,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
properties={"addresses": relationship(mapper(Address, addresses))},
)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User)
@@ -2881,7 +2881,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
properties={"addresses": relationship(mapper(Address, addresses))},
)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).select_from(Address).join(User),
@@ -2901,7 +2901,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(Address, addresses)
sel = users.select(users.c.id.in_([7, 8]))
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User)
@@ -3011,7 +3011,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
) # m2m
mapper(Keyword, keywords)
- sess = create_session()
+ sess = fixture_session()
sel = users.select(users.c.id.in_([7, 8]))
eq_(
@@ -3073,7 +3073,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
) # m2m
mapper(Keyword, keywords)
- sess = create_session()
+ sess = fixture_session()
sel = users.select(users.c.id.in_([7, 8]))
@@ -3188,7 +3188,7 @@ class SelectFromTest(QueryTest, AssertsCompiledSQL):
mapper(Address, addresses)
sel = users.select(users.c.id.in_([7, 8]))
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -3316,7 +3316,7 @@ class CustomJoinTest(QueryTest):
),
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
q.join("open_orders", "items", aliased=True)
@@ -3389,7 +3389,7 @@ class CustomJoinTest(QueryTest):
),
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
oo = aliased(Order)
co = aliased(Order)
@@ -3468,7 +3468,7 @@ class ExternalColumnsTest(QueryTest):
},
)
- sess = create_session()
+ sess = fixture_session()
sess.query(Address).options(joinedload("user")).all()
@@ -3633,7 +3633,7 @@ class ExternalColumnsTest(QueryTest):
Order, orders, properties={"address": relationship(Address)}
) # m2o
- sess = create_session()
+ sess = fixture_session()
def go():
o1 = (
@@ -3645,7 +3645,7 @@ class ExternalColumnsTest(QueryTest):
self.assert_sql_count(testing.db, go, 1)
- sess = create_session()
+ sess = fixture_session()
def go():
o1 = (
@@ -3683,11 +3683,11 @@ class ExternalColumnsTest(QueryTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
a1 = sess.query(Address).first()
eq_(a1.username, "jack")
- sess = create_session()
+ sess = fixture_session()
subq = sess.query(Address).subquery()
aa = aliased(Address, subq)
a1 = sess.query(aa).first()
@@ -3753,7 +3753,7 @@ class TestOverlyEagerEquivalentCols(fixtures.MappedTest):
mapper(Sub1, sub1)
mapper(Sub2, sub2)
- sess = create_session()
+ sess = fixture_session()
s11 = Sub1(data="s11")
s12 = Sub1(data="s12")
@@ -3802,7 +3802,7 @@ class LabelCollideTest(fixtures.MappedTest):
s.commit()
def test_overlap_plain(self):
- s = Session()
+ s = fixture_session()
row = (
s.query(self.classes.Foo, self.classes.Bar)
.join(self.classes.Bar, true())
@@ -3819,7 +3819,7 @@ class LabelCollideTest(fixtures.MappedTest):
self.assert_sql_count(testing.db, go, 0)
def test_overlap_subquery(self):
- s = Session()
+ s = fixture_session()
subq = (
s.query(self.classes.Foo, self.classes.Bar)
diff --git a/test/orm/test_generative.py b/test/orm/test_generative.py
index 0bca2f975..f6f1b5d74 100644
--- a/test/orm/test_generative.py
+++ b/test/orm/test_generative.py
@@ -3,11 +3,11 @@ from sqlalchemy import ForeignKey
from sqlalchemy import func
from sqlalchemy import Integer
from sqlalchemy import testing
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -45,14 +45,14 @@ class GenerativeQueryTest(fixtures.MappedTest):
def test_selectby(self):
Foo = self.classes.Foo
- res = create_session().query(Foo).filter_by(range=5)
+ res = fixture_session().query(Foo).filter_by(range=5)
assert res.order_by(Foo.bar)[0].bar == 5
assert res.order_by(sa.desc(Foo.bar))[0].bar == 95
def test_slice(self):
Foo = self.classes.Foo
- sess = create_session()
+ sess = fixture_session()
query = sess.query(Foo).order_by(Foo.id)
orig = query.all()
@@ -73,7 +73,7 @@ class GenerativeQueryTest(fixtures.MappedTest):
def test_aggregate(self):
foo, Foo = self.tables.foo, self.classes.Foo
- sess = create_session()
+ sess = fixture_session()
query = sess.query(Foo)
assert query.count() == 100
assert sess.query(func.min(foo.c.bar)).filter(
@@ -99,7 +99,7 @@ class GenerativeQueryTest(fixtures.MappedTest):
def test_aggregate_1(self):
foo = self.tables.foo
- query = create_session().query(func.sum(foo.c.bar))
+ query = fixture_session().query(func.sum(foo.c.bar))
assert query.filter(foo.c.bar < 30).one() == (435,)
@testing.fails_on("firebird", "FIXME: unknown")
@@ -110,7 +110,7 @@ class GenerativeQueryTest(fixtures.MappedTest):
def test_aggregate_2(self):
foo = self.tables.foo
- query = create_session().query(func.avg(foo.c.bar))
+ query = fixture_session().query(func.avg(foo.c.bar))
avg = query.filter(foo.c.bar < 30).one()[0]
eq_(float(round(avg, 1)), 14.5)
@@ -121,7 +121,7 @@ class GenerativeQueryTest(fixtures.MappedTest):
def test_aggregate_3(self):
foo, Foo = self.tables.foo, self.classes.Foo
- query = create_session().query(Foo)
+ query = fixture_session().query(Foo)
avg_f = (
query.filter(foo.c.bar < 30)
@@ -140,7 +140,7 @@ class GenerativeQueryTest(fixtures.MappedTest):
def test_filter(self):
Foo = self.classes.Foo
- query = create_session().query(Foo)
+ query = fixture_session().query(Foo)
assert query.count() == 100
assert query.filter(Foo.bar < 30).count() == 30
res2 = query.filter(Foo.bar < 30).filter(Foo.bar > 10)
@@ -149,20 +149,20 @@ class GenerativeQueryTest(fixtures.MappedTest):
def test_order_by(self):
Foo = self.classes.Foo
- query = create_session().query(Foo)
+ query = fixture_session().query(Foo)
assert query.order_by(Foo.bar)[0].bar == 0
assert query.order_by(sa.desc(Foo.bar))[0].bar == 99
def test_offset_order_by(self):
Foo = self.classes.Foo
- query = create_session().query(Foo)
+ query = fixture_session().query(Foo)
assert list(query.order_by(Foo.bar).offset(10))[0].bar == 10
def test_offset(self):
Foo = self.classes.Foo
- query = create_session().query(Foo)
+ query = fixture_session().query(Foo)
assert len(list(query.limit(10))) == 10
@@ -212,7 +212,7 @@ class GenerativeTest2(fixtures.MappedTest):
self.tables.table1,
)
- query = create_session().query(Obj1)
+ query = fixture_session().query(Obj1)
eq_(query.count(), 4)
res = query.filter(
@@ -264,7 +264,7 @@ class RelationshipsTest(_fixtures.FixtureTest):
User, Address = self.classes.User, self.classes.Address
- session = create_session()
+ session = fixture_session()
q = (
session.query(User)
.join("orders", "addresses")
@@ -281,7 +281,7 @@ class RelationshipsTest(_fixtures.FixtureTest):
self.classes.Address,
)
- session = create_session()
+ session = fixture_session()
q = (
session.query(User)
.outerjoin("orders", "addresses")
@@ -298,7 +298,7 @@ class RelationshipsTest(_fixtures.FixtureTest):
self.classes.Address,
)
- session = create_session()
+ session = fixture_session()
q = (
session.query(User)
@@ -317,7 +317,7 @@ class RelationshipsTest(_fixtures.FixtureTest):
self.tables.addresses,
)
- session = create_session()
+ session = fixture_session()
sel = users.outerjoin(orders).outerjoin(
addresses, orders.c.address_id == addresses.c.id
@@ -376,7 +376,7 @@ class CaseSensitiveTest(fixtures.MappedTest):
self.tables.Table1,
)
- q = create_session(bind=testing.db).query(Obj1)
+ q = fixture_session().query(Obj1)
assert q.count() == 4
res = q.filter(
sa.and_(Table1.c.ID == Table2.c.T1ID, Table2.c.T1ID == 1)
diff --git a/test/orm/test_hasparent.py b/test/orm/test_hasparent.py
index ffc41fb86..50f577240 100644
--- a/test/orm/test_hasparent.py
+++ b/test/orm/test_hasparent.py
@@ -1,6 +1,5 @@
"""test the current state of the hasparent() flag."""
-
from sqlalchemy import ForeignKey
from sqlalchemy import Integer
from sqlalchemy import testing
@@ -8,10 +7,10 @@ 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.orm import Session
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.testing.util import gc_collect
@@ -83,7 +82,7 @@ class ParentRemovalTest(fixtures.MappedTest):
def _fixture(self):
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
u1 = User()
a1 = Address()
diff --git a/test/orm/test_immediate_load.py b/test/orm/test_immediate_load.py
index 2fdf1afd9..7efd3436c 100644
--- a/test/orm/test_immediate_load.py
+++ b/test/orm/test_immediate_load.py
@@ -1,10 +1,10 @@
"""basic tests of lazy loaded attributes"""
-from sqlalchemy.orm import create_session
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
from test.orm import _fixtures
@@ -22,7 +22,7 @@ class ImmediateTest(_fixtures.FixtureTest):
mapper(Address, addresses)
mapper(User, users, properties={"addresses": relationship(Address)})
- sess = create_session()
+ sess = fixture_session()
result = (
sess.query(User)
@@ -58,7 +58,7 @@ class ImmediateTest(_fixtures.FixtureTest):
users,
properties={"addresses": relationship(Address, lazy="immediate")},
)
- sess = create_session()
+ sess = fixture_session()
result = sess.query(User).filter(users.c.id == 7).all()
eq_(len(sess.identity_map), 2)
diff --git a/test/orm/test_inspect.py b/test/orm/test_inspect.py
index 8effb583c..d19d65e22 100644
--- a/test/orm/test_inspect.py
+++ b/test/orm/test_inspect.py
@@ -16,6 +16,7 @@ from sqlalchemy.orm.util import identity_key
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import is_
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
@@ -370,7 +371,7 @@ class TestORMInspection(_fixtures.FixtureTest):
def test_instance_state_scalar_attr_hist(self):
User = self.classes.User
u1 = User(name="ed")
- sess = Session()
+ sess = fixture_session()
sess.add(u1)
sess.commit()
assert "name" not in u1.__dict__
@@ -393,7 +394,7 @@ class TestORMInspection(_fixtures.FixtureTest):
def test_instance_state_scalar_attr_hist_load(self):
User = self.classes.User
u1 = User(name="ed")
- sess = Session()
+ sess = fixture_session()
sess.add(u1)
sess.commit()
assert "name" not in u1.__dict__
@@ -640,7 +641,7 @@ class %s(SuperCls):
insp = inspect(u1)
is_(insp.session, None)
- s = Session()
+ s = fixture_session()
s.add(u1)
is_(insp.session, s)
diff --git a/test/orm/test_instrumentation.py b/test/orm/test_instrumentation.py
index 16ccff936..c9b2442be 100644
--- a/test/orm/test_instrumentation.py
+++ b/test/orm/test_instrumentation.py
@@ -7,7 +7,6 @@ from sqlalchemy import util
from sqlalchemy.orm import attributes
from sqlalchemy.orm import class_mapper
from sqlalchemy.orm import clear_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import instrumentation
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
@@ -16,6 +15,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import ne_
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -788,7 +788,7 @@ class MiscTest(fixtures.ORMTest):
a = A()
b.a = a
- session = create_session()
+ session = fixture_session()
session.add(b)
assert a in session, "base is %s" % base
@@ -832,7 +832,7 @@ class MiscTest(fixtures.ORMTest):
b = B()
b.a = a
- session = create_session()
+ session = fixture_session()
session.add(a)
assert b in session, "base: %s" % base
clear_mappers()
diff --git a/test/orm/test_joins.py b/test/orm/test_joins.py
index c2548c879..79d3db8f0 100644
--- a/test/orm/test_joins.py
+++ b/test/orm/test_joins.py
@@ -17,7 +17,6 @@ from sqlalchemy import true
from sqlalchemy.engine import default
from sqlalchemy.orm import aliased
from sqlalchemy.orm import backref
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import join
from sqlalchemy.orm import joinedload
from sqlalchemy.orm import mapper
@@ -30,6 +29,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from test.orm import _fixtures
from .inheritance import _poly_fixtures
@@ -44,7 +44,7 @@ class InheritedJoinTest(InheritedTest, AssertsCompiledSQL):
def test_single_prop(self):
Company = self.classes.Company
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company).join(Company.employees),
@@ -63,7 +63,7 @@ class InheritedJoinTest(InheritedTest, AssertsCompiledSQL):
self.classes.Engineer,
)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company)
@@ -81,7 +81,7 @@ class InheritedJoinTest(InheritedTest, AssertsCompiledSQL):
def test_force_via_select_from(self):
Company, Engineer = self.classes.Company, self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company)
@@ -114,7 +114,7 @@ class InheritedJoinTest(InheritedTest, AssertsCompiledSQL):
def test_single_prop_of_type(self):
Company, Engineer = self.classes.Company, self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company).join(Company.employees.of_type(Engineer)),
@@ -130,7 +130,7 @@ class InheritedJoinTest(InheritedTest, AssertsCompiledSQL):
def test_explicit_polymorphic_join_one(self):
Company, Engineer = self.classes.Company, self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company)
@@ -149,7 +149,7 @@ class InheritedJoinTest(InheritedTest, AssertsCompiledSQL):
def test_explicit_polymorphic_join_two(self):
Company, Engineer = self.classes.Company, self.classes.Engineer
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company)
.join(Engineer, Company.company_id == Engineer.company_id)
@@ -167,7 +167,7 @@ class InheritedJoinTest(InheritedTest, AssertsCompiledSQL):
def test_auto_aliasing_multi_link(self):
# test [ticket:2903]
- sess = create_session()
+ sess = fixture_session()
Company, Engineer, Manager, Boss = (
self.classes.Company,
@@ -221,7 +221,7 @@ class JoinOnSynonymTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_join_on_synonym(self):
User = self.classes.User
self.assert_compile(
- Session().query(User).join(User.ad_syn),
+ fixture_session().query(User).join(User.ad_syn),
"SELECT users.id AS users_id, users.name AS users_name "
"FROM users JOIN addresses ON users.id = addresses.user_id",
)
@@ -233,7 +233,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_filter_by_from_full_join(self):
User, Address = self.classes("User", "Address")
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
@@ -249,7 +249,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_invalid_kwarg_join(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
TypeError,
"unknown arguments: bar, foob",
@@ -271,7 +271,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User, literal_column("x")).join(Address),
@@ -288,7 +288,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_left_is_none_and_query_has_no_entities(self):
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -301,7 +301,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
self.assert_compile(
- create_session().query(User).join(User.orders, isouter=True),
+ fixture_session().query(User).join(User.orders, isouter=True),
"SELECT users.id AS users_id, users.name AS users_name "
"FROM users LEFT OUTER JOIN orders ON users.id = orders.user_id",
)
@@ -310,7 +310,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
self.assert_compile(
- create_session().query(User).outerjoin(User.orders, full=True),
+ fixture_session().query(User).outerjoin(User.orders, full=True),
"SELECT users.id AS users_id, users.name AS users_name "
"FROM users FULL OUTER JOIN orders ON users.id = orders.user_id",
)
@@ -318,7 +318,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_1(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).join(User.orders),
"SELECT users.id AS users_id, users.name AS users_name "
@@ -328,7 +328,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_2(self):
Order, User = (self.classes.Order, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).join(Order.user),
"SELECT users.id AS users_id, users.name AS users_name "
@@ -338,7 +338,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_3(self):
Order, User = (self.classes.Order, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
oalias1 = aliased(Order)
self.assert_compile(
@@ -354,7 +354,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User,
) = (self.classes.Order, self.classes.User)
- sess = create_session()
+ sess = fixture_session()
oalias1 = aliased(Order)
oalias2 = aliased(Order)
# another nonsensical query. (from [ticket:1537]).
@@ -370,7 +370,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_6(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
ualias = aliased(User)
self.assert_compile(
sess.query(ualias).join(ualias.orders),
@@ -381,7 +381,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_single_prop_9(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
subq = (
sess.query(User)
@@ -409,7 +409,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
oalias1 = aliased(Order)
# test #1 for [ticket:1706]
ualias = aliased(User)
@@ -430,7 +430,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
# test #2 for [ticket:1706]
ualias = aliased(User)
ualias2 = aliased(User)
@@ -451,7 +451,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Order = self.classes.Order
- sess = create_session()
+ sess = fixture_session()
# test overlapping paths. User->orders is used by both joins, but
# rendered once.
@@ -475,7 +475,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
Order = self.classes.Order
Address = self.classes.Address
- s = Session()
+ s = fixture_session()
q = (
s.query(User)
.join(User.orders)
@@ -501,7 +501,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
Order, User = self.classes.Order, self.classes.User
- sess = create_session()
+ sess = fixture_session()
# intentionally join() with a non-existent "left" side
self.assert_compile(
@@ -516,7 +516,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
# a more controversial feature. join from
# User->Address, but the onclause is Address.user.
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User)
@@ -554,7 +554,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_multiple_with_aliases(self):
Order, User = self.classes.Order, self.classes.User
- sess = create_session()
+ sess = fixture_session()
ualias = aliased(User)
oalias1 = aliased(Order)
@@ -577,7 +577,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_select_from_orm_joins(self):
User, Order = self.classes.User, self.classes.Order
- sess = create_session()
+ sess = fixture_session()
ualias = aliased(User)
oalias1 = aliased(Order)
@@ -715,7 +715,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_overlapping_backwards_joins(self):
User, Order = self.classes.User, self.classes.Order
- sess = create_session()
+ sess = fixture_session()
oalias1 = aliased(Order)
oalias2 = aliased(Order)
@@ -740,7 +740,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Address, User)
@@ -762,7 +762,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_invalid_join_entity_from_single_from_clause(self):
Address, Item = (self.classes.Address, self.classes.Item)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address).select_from(Address)
@@ -776,7 +776,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_invalid_join_entity_from_no_from_clause(self):
Address, Item = (self.classes.Address, self.classes.Item)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address)
@@ -797,7 +797,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
self.classes.Item,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address, User).join(Address.dingaling).join(User.orders)
@@ -816,7 +816,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
u1 = aliased(User)
@@ -852,7 +852,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
u1 = aliased(User)
u2 = aliased(User)
@@ -892,7 +892,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Dingaling,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address, User).join(Address.dingaling).join(User.orders)
@@ -948,7 +948,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Dingaling,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order, Dingaling)
@@ -1000,7 +1000,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
a1 = aliased(Address)
@@ -1043,7 +1043,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
a1 = aliased(Address)
@@ -1068,7 +1068,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_pure_expression_error(self):
addresses, users = self.tables.addresses, self.tables.users
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(users).join(addresses),
@@ -1083,7 +1083,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User)
@@ -1119,7 +1119,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User)
@@ -1176,7 +1176,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_aliased_classes(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
(user7, user8, user9, user10) = sess.query(User).all()
(address1, address2, address3, address4, address5) = sess.query(
@@ -1248,7 +1248,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_expression_onclauses(self):
Order, User = self.classes.Order, self.classes.User
- sess = create_session()
+ sess = fixture_session()
subq = sess.query(User).subquery()
@@ -1281,7 +1281,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_aliased_classes_m2m(self):
Item, Order = self.classes.Item, self.classes.Order
- sess = create_session()
+ sess = fixture_session()
(order1, order2, order3, order4, order5) = sess.query(Order).all()
(item1, item2, item3, item4, item5) = sess.query(Item).all()
@@ -1323,7 +1323,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
# test for #1853
- session = create_session()
+ session = fixture_session()
first = session.query(User)
second = session.query(User)
unioned = first.union(second)
@@ -1366,7 +1366,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
# test for #1853
- session = create_session()
+ session = fixture_session()
first = session.query(User)
second = session.query(User)
unioned = first.union(second)
@@ -1415,7 +1415,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
oalias = orders.alias("oalias")
result = (
- create_session()
+ fixture_session()
.query(User)
.select_from(users.join(oalias))
.filter(
@@ -1429,7 +1429,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
assert [User(id=7, name="jack"), User(id=9, name="fred")] == result
result = (
- create_session()
+ fixture_session()
.query(User)
.select_from(users.join(oalias))
.filter(
@@ -1445,7 +1445,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_aliased_order_by(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
ualias = aliased(User)
eq_(
@@ -1466,7 +1466,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_plain_table(self):
addresses, User = self.tables.addresses, self.classes.User
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User.name)
@@ -1479,7 +1479,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_no_joinpoint_expr(self):
User, users = self.classes.User, self.tables.users
- sess = create_session()
+ sess = fixture_session()
# these are consistent regardless of
# select_from() being present.
@@ -1506,7 +1506,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_on_clause_no_right_side_one(self):
User = self.classes.User
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
# coercions does not catch this due to the
# legacy=True flag for JoinTargetRole
@@ -1532,7 +1532,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_on_clause_no_right_side_two(self):
User = self.classes.User
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa_exc.ArgumentError,
@@ -1562,7 +1562,7 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.classes.User,
)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Item.id)
.select_from(User)
@@ -1617,7 +1617,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_mapped_to_mapped_explicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1638,7 +1638,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_mapped_to_mapped_implicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1657,7 +1657,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_mapped_to_select_explicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1677,7 +1677,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_mapped_to_select_implicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1709,7 +1709,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_mapped_select_to_mapped_implicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1739,7 +1739,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_mapped_select_to_mapped_explicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1759,7 +1759,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_mapped_select_to_select_explicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1780,7 +1780,7 @@ class JoinFromSelectableTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_mapped_select_to_select_implicit_left(self):
T1, T2 = self.classes.T1, self.classes.T2
- sess = Session()
+ sess = fixture_session()
subq = (
sess.query(T2.t1_id, func.count(T2.id).label("count"))
.group_by(T2.t1_id)
@@ -1866,7 +1866,7 @@ class SelfRefMixedTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_o2m_aliased_plus_o2m(self):
Node, Sub = self.classes.Node, self.classes.Sub
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
self.assert_compile(
@@ -1886,7 +1886,7 @@ class SelfRefMixedTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_m2m_aliased_plus_o2m(self):
Node, Sub = self.classes.Node, self.classes.Sub
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
self.assert_compile(
@@ -1962,7 +1962,7 @@ class CreateJoinsTest(fixtures.ORMTest, AssertsCompiledSQL):
def test_double_level_aliased_exists(self):
A, B, C, Base = self._inherits_fixture()
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(A).filter(A.b.has(B.c.has(C.id == 5))),
"SELECT a.id AS a_id, base.id AS base_id, a.b_id AS a_b_id "
@@ -2029,7 +2029,7 @@ class JoinToNonPolyAliasesTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_parent_child(self):
Parent = self.classes.Parent
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Parent)
.join(Parent.npc)
@@ -2045,7 +2045,7 @@ class JoinToNonPolyAliasesTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_parent_child_select_from(self):
Parent = self.classes.Parent
npc = self.npc
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(npc)
.select_from(Parent)
@@ -2061,7 +2061,7 @@ class JoinToNonPolyAliasesTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_select_parent_child(self):
Parent = self.classes.Parent
npc = self.npc
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Parent, npc)
.join(Parent.npc)
@@ -2120,7 +2120,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def insert_data(cls, connection):
Node = cls.classes.Node
- sess = create_session(connection)
+ sess = Session(connection)
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2134,7 +2134,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_4_explicit_join(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
na = aliased(Node)
na2 = aliased(Node)
@@ -2189,7 +2189,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
@@ -2266,7 +2266,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_to_self_no_aliases_raises(self):
Node = self.classes.Node
- s = Session()
+ s = fixture_session()
assert_raises_message(
sa.exc.InvalidRequestError,
"Can't construct a join from mapped class Node->nodes to mapped "
@@ -2316,7 +2316,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_explicit_join_4(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
n2 = aliased(Node)
@@ -2331,7 +2331,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_explicit_join_5(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
n2 = aliased(Node)
@@ -2346,7 +2346,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_explicit_join_6(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
node = (
@@ -2359,7 +2359,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_explicit_join_7(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
n2 = aliased(Node)
@@ -2373,7 +2373,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_explicit_join_8(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
n2 = aliased(Node)
@@ -2390,7 +2390,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_explicit_join_9(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
n2 = aliased(Node)
@@ -2406,7 +2406,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_explicit_join_10(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
n2 = aliased(Node)
@@ -2427,7 +2427,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_join_to_nonaliased(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
@@ -2457,7 +2457,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_one(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -2475,7 +2475,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_two(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -2502,7 +2502,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_three(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -2529,7 +2529,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_four(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -2548,7 +2548,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_multiple_explicit_entities_five(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
parent = aliased(Node)
grandparent = aliased(Node)
@@ -2575,7 +2575,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_any(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Node)
.filter(Node.children.any(Node.data == "n1"))
@@ -2605,7 +2605,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_has(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Node)
@@ -2628,7 +2628,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_contains(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n122 = sess.query(Node).filter(Node.data == "n122").one()
eq_(
@@ -2645,7 +2645,7 @@ class SelfReferentialTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_eq_ne(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n12 = sess.query(Node).filter(Node.data == "n12").one()
eq_(
@@ -2723,7 +2723,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest):
)
},
)
- sess = create_session(connection)
+ sess = Session(connection)
n1 = Node(data="n1")
n2 = Node(data="n2")
n3 = Node(data="n3")
@@ -2746,7 +2746,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest):
def test_any(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Node)
.filter(Node.children.any(Node.data == "n3"))
@@ -2758,7 +2758,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest):
def test_contains(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n4 = sess.query(Node).filter_by(data="n4").one()
eq_(
@@ -2785,7 +2785,7 @@ class SelfReferentialM2MTest(fixtures.MappedTest):
def test_explicit_join(self):
Node = self.classes.Node
- sess = create_session()
+ sess = fixture_session()
n1 = aliased(Node)
eq_(
@@ -2863,7 +2863,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_subquery(self):
Person, Book = self.classes("Person", "Book")
- s = Session()
+ s = fixture_session()
subq = (
s.query(Book.book_id)
@@ -2889,7 +2889,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_subquery_sef_implicit_correlate(self):
Person, Book = self.classes("Person", "Book")
- s = Session()
+ s = fixture_session()
stmt = s.query(Person).subquery()
@@ -2922,7 +2922,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_subquery_sef_implicit_correlate_coreonly(self):
Person, Book = self.classes("Person", "Book")
- s = Session()
+ s = fixture_session()
stmt = s.query(Person).subquery()
@@ -2955,7 +2955,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_subquery_sef_explicit_correlate_coreonly(self):
Person, Book = self.classes("Person", "Book")
- s = Session()
+ s = fixture_session()
stmt = s.query(Person).subquery()
@@ -2989,7 +2989,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_select_subquery_sef_explicit_correlate(self):
Person, Book = self.classes("Person", "Book")
- s = Session()
+ s = fixture_session()
stmt = s.query(Person).subquery()
@@ -3023,7 +3023,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_from_function(self):
Bookcase = self.classes.Bookcase
- s = Session()
+ s = fixture_session()
srf = lateral(func.generate_series(1, Bookcase.bookcase_shelves))
@@ -3041,7 +3041,7 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_from_function_select_entity_from(self):
Bookcase = self.classes.Bookcase
- s = Session()
+ s = fixture_session()
subq = s.query(Bookcase).subquery()
diff --git a/test/orm/test_lambdas.py b/test/orm/test_lambdas.py
index b190f46d6..7591f844f 100644
--- a/test/orm/test_lambdas.py
+++ b/test/orm/test_lambdas.py
@@ -18,6 +18,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from .inheritance import _poly_fixtures
@@ -70,7 +71,7 @@ class LambdaTest(QueryTest, AssertsCompiledSQL):
def test_user_cols_single_lambda_query(self, plain_fixture):
User, Address = plain_fixture
- s = Session()
+ s = fixture_session()
q = s.query(lambda: (User.id, User.name)).select_from(lambda: User)
self.assert_compile(
diff --git a/test/orm/test_lazy_relations.py b/test/orm/test_lazy_relations.py
index f439b6b08..3061de309 100644
--- a/test/orm/test_lazy_relations.py
+++ b/test/orm/test_lazy_relations.py
@@ -18,7 +18,6 @@ from sqlalchemy import util
from sqlalchemy.orm import aliased
from sqlalchemy.orm import attributes
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
@@ -29,6 +28,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_false
from sqlalchemy.testing import is_true
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.types import TypeDecorator
@@ -56,7 +56,7 @@ class LazyTest(_fixtures.FixtureTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
eq_(
[
@@ -87,7 +87,7 @@ class LazyTest(_fixtures.FixtureTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
u = q.filter(users.c.id == 7).first()
sess.expunge(u)
@@ -112,7 +112,7 @@ class LazyTest(_fixtures.FixtureTest):
)
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
assert [
User(id=7, addresses=[Address(id=1)]),
User(
@@ -145,7 +145,7 @@ class LazyTest(_fixtures.FixtureTest):
users,
properties=dict(addresses=relationship(Address, lazy="select")),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = (
q.filter(users.c.id == addresses.c.user_id)
.order_by(addresses.c.email_address)
@@ -185,7 +185,7 @@ class LazyTest(_fixtures.FixtureTest):
)
),
)
- sess = create_session()
+ sess = fixture_session()
assert [
User(id=7, addresses=[Address(id=1)]),
User(
@@ -221,7 +221,7 @@ class LazyTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
user = sess.query(User).get(7)
assert getattr(User, "addresses").hasparent(
attributes.instance_state(user.addresses[0]), optimistic=True
@@ -276,7 +276,7 @@ class LazyTest(_fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
if testing.against("mssql"):
@@ -330,7 +330,7 @@ class LazyTest(_fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
# use a union all to get a lot of rows to join against
@@ -362,7 +362,7 @@ class LazyTest(_fixtures.FixtureTest):
properties={"order": relationship(Order, uselist=False)},
)
mapper(Order, orders)
- s = create_session()
+ s = fixture_session()
u1 = s.query(User).filter(User.id == 7).one()
assert_raises(sa.exc.SAWarning, getattr, u1, "order")
@@ -390,7 +390,7 @@ class LazyTest(_fixtures.FixtureTest):
),
)
- s = Session()
+ s = fixture_session()
ed = s.query(User).filter_by(name="ed").one()
eq_(
ed.addresses,
@@ -421,7 +421,7 @@ class LazyTest(_fixtures.FixtureTest):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = q.filter(users.c.id == 7).all()
assert [User(id=7, address=Address(id=1))] == result
@@ -453,7 +453,7 @@ class LazyTest(_fixtures.FixtureTest):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, address=None),
@@ -597,7 +597,7 @@ class LazyTest(_fixtures.FixtureTest):
User, Address, Order, Item = self.classes(
"User", "Address", "Order", "Item"
)
- q = create_session().query(User).order_by(User.id)
+ q = fixture_session().query(User).order_by(User.id)
def items(*ids):
if no_items:
@@ -643,21 +643,21 @@ class LazyTest(_fixtures.FixtureTest):
else:
self.assert_sql_count(testing.db, go, 15)
- sess = create_session()
+ sess = fixture_session()
user = sess.query(User).get(7)
closed_mapper = User.closed_orders.entity
open_mapper = User.open_orders.entity
eq_(
[Order(id=1), Order(id=5)],
- create_session()
+ fixture_session()
.query(closed_mapper)
.with_parent(user, property="closed_orders")
.all(),
)
eq_(
[Order(id=3)],
- create_session()
+ fixture_session()
.query(open_mapper)
.with_parent(user, property="open_orders")
.all(),
@@ -683,7 +683,7 @@ class LazyTest(_fixtures.FixtureTest):
),
)
- q = create_session().query(Item)
+ q = fixture_session().query(Item)
assert self.static.item_keyword_result == q.all()
eq_(
@@ -717,7 +717,7 @@ class LazyTest(_fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
# load address
a1 = (
@@ -789,7 +789,7 @@ class LazyTest(_fixtures.FixtureTest):
properties=dict(user=relationship(mapper(User, users))),
)
- sess = create_session(bind=testing.db)
+ sess = fixture_session()
# load address
a1 = (
@@ -823,7 +823,7 @@ class LazyTest(_fixtures.FixtureTest):
user=relationship(mapper(User, users), lazy="select")
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address)
a = q.filter(addresses.c.id == 1).one()
@@ -847,7 +847,7 @@ class LazyTest(_fixtures.FixtureTest):
properties={"addresses": relationship(Address, backref="user")},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
ad = sess.query(Address).filter_by(id=1).one()
assert ad.user.id == 7
@@ -983,7 +983,7 @@ class GetterStateTest(_fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
a1 = Address(email_address="a1")
sess.add(a1)
if populate_user:
@@ -1143,7 +1143,7 @@ class M2OGetTest(_fixtures.FixtureTest):
mapper(Address, addresses, properties={"user": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
ad1 = Address(email_address="somenewaddress", id=12)
sess.add(ad1)
sess.flush()
@@ -1232,7 +1232,7 @@ class CorrelatedTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User).all(),
@@ -1433,7 +1433,7 @@ class RefersToSelfLazyLoadInterferenceTest(fixtures.MappedTest):
def test_lazy_doesnt_interfere(self):
A, B, C = self.classes("A", "B", "C")
- session = Session()
+ session = fixture_session()
b = B()
session.add(b)
session.flush()
@@ -1512,7 +1512,7 @@ class TypeCoerceTest(fixtures.MappedTest, testing.AssertsExecutionResults):
Person = self.classes.Person
Pet = self.classes.Pet
- s = Session()
+ s = fixture_session()
s.add_all([Person(id=5), Pet(id=1, person_id=5)])
s.commit()
diff --git a/test/orm/test_loading.py b/test/orm/test_loading.py
index 819bc8bed..e15dbb09f 100644
--- a/test/orm/test_loading.py
+++ b/test/orm/test_loading.py
@@ -6,11 +6,11 @@ from sqlalchemy.orm import aliased
from sqlalchemy.orm import loading
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
from sqlalchemy.testing import mock
from sqlalchemy.testing.assertions import assert_raises
from sqlalchemy.testing.assertions import assert_raises_message
from sqlalchemy.testing.assertions import eq_
+from sqlalchemy.testing.fixtures import fixture_session
from . import _fixtures
# class GetFromIdentityTest(_fixtures.FixtureTest):
@@ -40,7 +40,7 @@ class InstanceProcessorTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- s = Session()
+ s = fixture_session()
def go():
eq_(
@@ -69,7 +69,7 @@ class InstancesTest(_fixtures.FixtureTest):
def test_cursor_close_w_failed_rowproc(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User)
@@ -83,7 +83,7 @@ class InstancesTest(_fixtures.FixtureTest):
def test_row_proc_not_created(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User.id, User.name)
stmt = select(User.id)
@@ -107,7 +107,7 @@ class MergeResultTest(_fixtures.FixtureTest):
def _fixture(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1, u2, u3, u4 = (
User(id=1, name="u1"),
User(id=2, name="u2"),
@@ -130,7 +130,7 @@ class MergeResultTest(_fixtures.FixtureTest):
def test_single_column(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User.id)
collection = [(1,), (2,), (7,), (8,)]
diff --git a/test/orm/test_lockmode.py b/test/orm/test_lockmode.py
index a3dd42fc2..f82c5cf7c 100644
--- a/test/orm/test_lockmode.py
+++ b/test/orm/test_lockmode.py
@@ -4,10 +4,10 @@ from sqlalchemy.engine import default
from sqlalchemy.orm import joinedload
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 AssertsCompiledSQL
from sqlalchemy.testing import eq_
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
@@ -27,7 +27,7 @@ class ForUpdateTest(_fixtures.FixtureTest):
assert_sel_of=None,
):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User).with_for_update(
read=read, nowait=nowait, of=of, key_share=key_share
)
@@ -81,7 +81,7 @@ class BackendTest(_fixtures.FixtureTest):
def test_inner_joinedload_w_limit(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
q = (
sess.query(User)
.options(joinedload(User.addresses, innerjoin=True))
@@ -97,7 +97,7 @@ class BackendTest(_fixtures.FixtureTest):
def test_inner_joinedload_wo_limit(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
sess.query(User).options(
joinedload(User.addresses, innerjoin=True)
).with_for_update().all()
@@ -105,7 +105,7 @@ class BackendTest(_fixtures.FixtureTest):
def test_outer_joinedload_w_limit(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
q = sess.query(User).options(
joinedload(User.addresses, innerjoin=False)
)
@@ -125,7 +125,7 @@ class BackendTest(_fixtures.FixtureTest):
def test_outer_joinedload_wo_limit(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
q = sess.query(User).options(
joinedload(User.addresses, innerjoin=False)
)
@@ -141,14 +141,14 @@ class BackendTest(_fixtures.FixtureTest):
def test_join_w_subquery(self):
User = self.classes.User
Address = self.classes.Address
- sess = Session()
+ sess = fixture_session()
q1 = sess.query(User).with_for_update().subquery()
sess.query(q1).join(Address).all()
sess.close()
def test_plain(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
sess.query(User).with_for_update().all()
sess.close()
@@ -167,7 +167,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_default_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(),
"SELECT users.id AS users_id FROM users FOR UPDATE",
@@ -176,7 +176,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_not_supported_by_dialect_should_just_use_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(read=True),
"SELECT users.id AS users_id FROM users FOR UPDATE",
@@ -185,7 +185,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_read(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(read=True),
"SELECT users.id AS users_id FROM users FOR SHARE",
@@ -194,7 +194,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_read_nowait(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(read=True, nowait=True),
"SELECT users.id AS users_id FROM users FOR SHARE NOWAIT",
@@ -203,7 +203,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(),
"SELECT users.id AS users_id FROM users FOR UPDATE",
@@ -212,7 +212,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_update_of(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(of=User.id),
"SELECT users.id AS users_id FROM users FOR UPDATE OF users",
@@ -221,7 +221,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_update_of_entity(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(of=User),
"SELECT users.id AS users_id FROM users FOR UPDATE OF users",
@@ -232,7 +232,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id, Address.id).with_for_update(
of=[User, Address]
@@ -244,7 +244,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_for_no_key_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(key_share=True),
"SELECT users.id AS users_id FROM users FOR NO KEY UPDATE",
@@ -253,7 +253,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_for_no_key_nowait_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(key_share=True, nowait=True),
"SELECT users.id AS users_id FROM users FOR NO KEY UPDATE NOWAIT",
@@ -262,7 +262,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_update_of_list(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(
of=[User.id, User.id, User.id]
@@ -273,7 +273,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_postgres_update_skip_locked(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(skip_locked=True),
"SELECT users.id AS users_id FROM users FOR UPDATE SKIP LOCKED",
@@ -282,7 +282,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_oracle_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(),
"SELECT users.id AS users_id FROM users FOR UPDATE",
@@ -291,7 +291,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_oracle_update_skip_locked(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(skip_locked=True),
"SELECT users.id AS users_id FROM users FOR UPDATE SKIP LOCKED",
@@ -300,7 +300,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_mysql_read(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User.id).with_for_update(read=True),
"SELECT users.id AS users_id FROM users LOCK IN SHARE MODE",
@@ -309,7 +309,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_for_update_on_inner_w_joinedload(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User)
.options(joinedload(User.addresses))
@@ -328,7 +328,7 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL):
def test_for_update_on_inner_w_joinedload_no_render_oracle(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User)
.options(joinedload(User.addresses))
diff --git a/test/orm/test_manytomany.py b/test/orm/test_manytomany.py
index 8b51d7e20..79c63872d 100644
--- a/test/orm/test_manytomany.py
+++ b/test/orm/test_manytomany.py
@@ -7,11 +7,10 @@ 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.orm import Session
-from sqlalchemy.orm import sessionmaker
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -167,7 +166,7 @@ class M2MTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
p1 = Place("place1")
p2 = Place("place2")
p3 = Place("place3")
@@ -216,7 +215,7 @@ class M2MTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
p1 = Place("place1")
p2 = Place("place2")
p2.parent_places = [p1]
@@ -271,7 +270,7 @@ class M2MTest(fixtures.MappedTest):
tran.inputs.append(Place("place1"))
tran.outputs.append(Place("place2"))
tran.outputs.append(Place("place3"))
- sess = Session()
+ sess = fixture_session()
sess.add(tran)
sess.commit()
@@ -327,7 +326,7 @@ class M2MTest(fixtures.MappedTest):
p2 = Place("place2")
p3 = Place("place3")
- sess = Session()
+ sess = fixture_session()
sess.add_all([p3, p1, t1, t2, p2, t3])
t1.inputs.append(p1)
@@ -380,7 +379,7 @@ class M2MTest(fixtures.MappedTest):
p1 = Place("place1")
t1 = Transition("t1")
p1.transitions.append(t1)
- sess = sessionmaker()()
+ sess = fixture_session()
sess.add_all([p1, t1])
sess.commit()
@@ -494,7 +493,7 @@ class AssortedPersistenceTests(fixtures.MappedTest):
A, B = self.classes.A, self.classes.B
secondary = self.tables.secondary
- sess = Session()
+ sess = fixture_session()
sess.add_all(
[A(data="a1", bs=[B(data="b1")]), A(data="a2", bs=[B(data="b2")])]
)
@@ -516,7 +515,7 @@ class AssortedPersistenceTests(fixtures.MappedTest):
A, B = self.classes.A, self.classes.B
secondary = self.tables.secondary
- sess = Session()
+ sess = fixture_session()
sess.add_all([A(data="a1", bs=[B(data="b1"), B(data="b2")])])
sess.commit()
diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py
index 35e0b0042..013eb21e1 100644
--- a/test/orm/test_mapper.py
+++ b/test/orm/test_mapper.py
@@ -18,7 +18,6 @@ from sqlalchemy.orm import class_mapper
from sqlalchemy.orm import column_property
from sqlalchemy.orm import composite
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import deferred
from sqlalchemy.orm import dynamic_loader
from sqlalchemy.orm import mapper
@@ -36,6 +35,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import ne_
from sqlalchemy.testing.fixtures import ComparableMixin
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -274,7 +274,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
properties={"user_name": synonym("_name")},
)
- s = create_session()
+ s = fixture_session()
u = s.query(User).get(7)
eq_(u._name, "jack")
eq_(u._id, 7)
@@ -324,7 +324,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, users = self.classes.User, self.tables.users
m = self.mapper(User, users)
- session = create_session()
+ session = fixture_session()
session.connection(mapper=m)
def test_incomplete_columns(self):
@@ -333,7 +333,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
addresses, Address = self.tables.addresses, self.classes.Address
self.mapper(Address, addresses)
- s = create_session()
+ s = fixture_session()
a = (
s.query(Address)
.from_statement(
@@ -708,7 +708,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
m.add_property("name", synonym("_name"))
m.add_property("addresses", relationship(Address))
- sess = create_session(autocommit=False)
+ sess = fixture_session(autocommit=False)
assert sess.query(User).get(7)
u = sess.query(User).filter_by(name="jack").one()
@@ -754,7 +754,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
m.add_property("_name", users.c.name)
m.add_property("name", synonym("_name"))
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).filter_by(name="jack").one()
eq_(u._name, "jack")
eq_(u.name, "jack")
@@ -810,7 +810,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
# add property using annotated User.name,
# needs to be deannotated
m.add_property("x", column_property(User.name + "name"))
- s = create_session()
+ s = fixture_session()
q = s.query(m2).select_from(Address).join(Address.foo)
self.assert_compile(
q,
@@ -884,7 +884,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
properties={"addresses": relationship(Address, backref="_user")},
)
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
u2 = sess.query(User).get(8)
# comparaison ops need to work
@@ -1218,7 +1218,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
primary_key=[users.c.id],
properties={"add_id": addresses.c.id},
)
- result = create_session().query(User).order_by(users.c.id).all()
+ result = fixture_session().query(User).order_by(users.c.id).all()
eq_(result, self.static.user_result[:3])
def test_mapping_to_join_exclude_prop(self):
@@ -1239,7 +1239,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
primary_key=[users.c.id],
exclude_properties=[addresses.c.id],
)
- result = create_session().query(User).order_by(users.c.id).all()
+ result = fixture_session().query(User).order_by(users.c.id).all()
eq_(result, self.static.user_result[:3])
def test_mapping_to_join_no_pk(self):
@@ -1258,13 +1258,23 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
assert addresses in m._pks_by_table
assert email_bounces not in m._pks_by_table
- sess = create_session()
+ sess = fixture_session()
a = Address(id=10, email_address="e1")
sess.add(a)
sess.flush()
- eq_(select(func.count("*")).select_from(addresses).scalar(), 6)
- eq_(select(func.count("*")).select_from(email_bounces).scalar(), 5)
+ eq_(
+ sess.connection().scalar(
+ select(func.count("*")).select_from(addresses)
+ ),
+ 6,
+ )
+ eq_(
+ sess.connection().scalar(
+ select(func.count("*")).select_from(email_bounces)
+ ),
+ 5,
+ )
def test_mapping_to_outerjoin(self):
"""Mapping to an outer join with a nullable composite primary key."""
@@ -1282,7 +1292,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
properties=dict(address_id=addresses.c.id),
)
- session = create_session()
+ session = fixture_session()
result = session.query(User).order_by(User.id, User.address_id).all()
eq_(
@@ -1314,7 +1324,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
properties=dict(address_id=addresses.c.id),
)
- session = create_session()
+ session = fixture_session()
result = session.query(User).order_by(User.id, User.address_id).all()
eq_(
@@ -1370,7 +1380,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self.mapper(User, users, properties=dict(orders=relationship(Order)))
- session = create_session()
+ session = fixture_session()
result = (
session.query(User)
.select_from(users.join(orders).join(order_items).join(items))
@@ -1402,7 +1412,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
)
self.mapper(User, s)
- sess = create_session()
+ sess = fixture_session()
result = sess.query(User).order_by(s.c.id).all()
for idx, total in enumerate((14, 16)):
@@ -1416,7 +1426,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self.mapper(User, users)
- session = create_session()
+ session = fixture_session()
q = session.query(User)
eq_(q.count(), 4)
@@ -1444,7 +1454,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
),
)
- session = create_session()
+ session = fixture_session()
q = (
session.query(Item)
.join("keywords")
@@ -1565,7 +1575,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
assert User.uname.property
assert User.adlist.property
- sess = create_session()
+ sess = fixture_session()
# test RowTuple names
row = sess.query(User.id, User.uname).first()
@@ -1600,7 +1610,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, users, properties={"x": synonym("id"), "y": synonym("x")}
)
- s = Session()
+ s = fixture_session()
u = s.query(User).filter(User.y == 8).one()
eq_(u.y, 8)
@@ -1732,7 +1742,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
assert hasattr(User, "name")
assert hasattr(User, "_name")
- sess = create_session()
+ sess = fixture_session()
u = sess.query(User).filter(User.name == "jack").one()
eq_(u.name, "jack")
u.name = "foo"
@@ -1814,7 +1824,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User()
eq_(recon, [])
- create_session().query(User).first()
+ fixture_session().query(User).first()
eq_(recon, ["go"])
def test_reconstructor_inheritance(self):
@@ -1851,7 +1861,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
C()
eq_(recon, [])
- sess = create_session()
+ sess = fixture_session()
sess.query(A).first()
sess.query(B).first()
sess.query(C).first()
@@ -1874,7 +1884,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
eq_(recon, ["go"])
recon[:] = []
- create_session().query(User).first()
+ fixture_session().query(User).first()
eq_(recon, ["go"])
def test_reconstructor_init_inheritance(self):
@@ -1912,7 +1922,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
eq_(recon, ["A", "B", "C"])
recon[:] = []
- sess = create_session()
+ sess = fixture_session()
sess.query(A).first()
sess.query(B).first()
sess.query(C).first()
@@ -1936,7 +1946,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User()
eq_(recon, [])
- create_session().query(User).first()
+ fixture_session().query(User).first()
eq_(recon, ["go"])
def test_unmapped_error(self):
@@ -2040,7 +2050,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
# using it with an ORM operation, raises
assert_raises(
- sa.orm.exc.UnmappedClassError, create_session().add, Sub()
+ sa.orm.exc.UnmappedClassError, fixture_session().add, Sub()
)
def test_unmapped_subclass_error_premap(self):
@@ -2064,7 +2074,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
# using it with an ORM operation, raises
assert_raises(
- sa.orm.exc.UnmappedClassError, create_session().add, Sub()
+ sa.orm.exc.UnmappedClassError, fixture_session().add, Sub()
)
def test_oldstyle_mixin(self):
@@ -2222,7 +2232,7 @@ class RequirementsTest(fixtures.MappedTest):
self.mapper(H3, ht3)
self.mapper(H6, ht6)
- s = create_session()
+ s = fixture_session()
s.add_all([H1("abc"), H1("def")])
h1 = H1("ghi")
s.add(h1)
@@ -2231,7 +2241,7 @@ class RequirementsTest(fixtures.MappedTest):
h1.h1s.append(H1())
s.flush()
- eq_(select(func.count("*")).select_from(ht1).scalar(), 4)
+ eq_(s.connection().scalar(select(func.count("*")).select_from(ht1)), 4)
h6 = H6()
h6.h1a = h1
@@ -2299,7 +2309,7 @@ class RequirementsTest(fixtures.MappedTest):
H1, ht1, properties={"h2s": relationship(H2, backref="h1")}
)
self.mapper(H2, ht2)
- s = Session()
+ s = fixture_session()
s.add_all(
[
H1(
@@ -2478,7 +2488,7 @@ class MagicNamesTest(fixtures.MappedTest):
)
Map(state="AK", mapper=c)
- sess = create_session()
+ sess = fixture_session()
sess.add(c)
sess.flush()
sess.expunge_all()
@@ -2632,7 +2642,7 @@ class ORMLoggingTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
tb = users.select().alias()
self.mapper(User, tb)
- s = Session()
+ s = fixture_session()
s.add(User(name="ed"))
s.commit()
diff --git a/test/orm/test_merge.py b/test/orm/test_merge.py
index 57d3ce01d..e0a76c6a0 100644
--- a/test/orm/test_merge.py
+++ b/test/orm/test_merge.py
@@ -13,14 +13,12 @@ from sqlalchemy import Text
from sqlalchemy.orm import attributes
from sqlalchemy.orm import backref
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
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 Session
-from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import synonym
from sqlalchemy.orm.collections import attribute_mapped_collection
from sqlalchemy.orm.interfaces import MapperOption
@@ -30,6 +28,7 @@ from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import in_
from sqlalchemy.testing import not_in
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.util import OrderedSet
@@ -57,7 +56,7 @@ class MergeTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
load = self.load_tracker(User)
u = User(id=7, name="fred")
@@ -77,7 +76,7 @@ class MergeTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u = User(name="fred")
def go():
@@ -89,7 +88,7 @@ class MergeTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = User(name="fred")
sess.add(u)
@@ -104,7 +103,7 @@ class MergeTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
u = User(id=1, name="fred")
sess.add(u)
@@ -148,7 +147,7 @@ class MergeTest(_fixtures.FixtureTest):
)
eq_(load.called, 0)
- sess = create_session()
+ sess = fixture_session()
sess.merge(u)
eq_(load.called, 3)
@@ -188,7 +187,7 @@ class MergeTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- s = Session()
+ s = fixture_session()
u = User(
id=7,
name="fred",
@@ -239,7 +238,7 @@ class MergeTest(_fixtures.FixtureTest):
)
eq_(load.called, 0)
- sess = create_session()
+ sess = fixture_session()
sess.merge(u)
eq_(load.called, 3)
@@ -269,7 +268,7 @@ class MergeTest(_fixtures.FixtureTest):
mapper(User, users)
load = self.load_tracker(User)
- sess = create_session()
+ sess = fixture_session()
u = User(id=7, name="fred")
sess.add(u)
sess.flush()
@@ -323,7 +322,7 @@ class MergeTest(_fixtures.FixtureTest):
]
),
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u)
sess.flush()
sess.expunge_all()
@@ -408,7 +407,7 @@ class MergeTest(_fixtures.FixtureTest):
name="fred",
addresses=OrderedSet([a, Address(id=2, email_address="fred2")]),
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u)
sess.flush()
sess.expunge_all()
@@ -459,7 +458,7 @@ class MergeTest(_fixtures.FixtureTest):
)
load = self.load_tracker(User)
self.load_tracker(Address, load)
- sess = create_session()
+ sess = fixture_session()
u = User(id=7, name="fred")
a1 = Address(email_address="foo@bar.com")
@@ -515,7 +514,7 @@ class MergeTest(_fixtures.FixtureTest):
mapper(User, dingalings)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
# merge empty stuff. goes in as NULL.
# not sure what this was originally trying to
@@ -597,7 +596,7 @@ class MergeTest(_fixtures.FixtureTest):
)
u1 = User(id=7, name="fred")
u1.addresses["foo@bar.com"] = Address(email_address="foo@bar.com")
- sess = create_session()
+ sess = fixture_session()
sess.merge(u1)
sess.flush()
assert list(u1.addresses.keys()) == ["foo@bar.com"]
@@ -625,22 +624,21 @@ class MergeTest(_fixtures.FixtureTest):
load = self.load_tracker(User)
self.load_tracker(Address, load)
- sess = create_session()
+ with fixture_session(expire_on_commit=False) as sess, sess.begin():
- # set up data and save
- u = User(
- id=7,
- name="fred",
- addresses=[
- Address(email_address="foo@bar.com"),
- Address(email_address="hoho@la.com"),
- ],
- )
- sess.add(u)
- sess.flush()
+ # set up data and save
+ u = User(
+ id=7,
+ name="fred",
+ addresses=[
+ Address(email_address="foo@bar.com"),
+ Address(email_address="hoho@la.com"),
+ ],
+ )
+ sess.add(u)
# assert data was saved
- sess2 = create_session()
+ sess2 = fixture_session()
u2 = sess2.query(User).get(7)
eq_(
u2,
@@ -661,88 +659,91 @@ class MergeTest(_fixtures.FixtureTest):
eq_(load.called, 3)
# new session, merge modified data into session
- sess3 = create_session()
- u3 = sess3.merge(u)
- eq_(load.called, 6)
+ with fixture_session(expire_on_commit=False) as sess3:
+ u3 = sess3.merge(u)
+ eq_(load.called, 6)
- # ensure local changes are pending
- eq_(
- u3,
- User(
- id=7,
- name="fred2",
- addresses=[
- Address(email_address="foo@bar.com"),
- Address(email_address="hoho@lalala.com"),
- ],
- ),
- )
+ # ensure local changes are pending
+ eq_(
+ u3,
+ User(
+ id=7,
+ name="fred2",
+ addresses=[
+ Address(email_address="foo@bar.com"),
+ Address(email_address="hoho@lalala.com"),
+ ],
+ ),
+ )
- # save merged data
- sess3.flush()
+ # save merged data
+ sess3.commit()
# assert modified/merged data was saved
- sess.expunge_all()
- u = sess.query(User).get(7)
- eq_(
- u,
- User(
- id=7,
- name="fred2",
- addresses=[
- Address(email_address="foo@bar.com"),
- Address(email_address="hoho@lalala.com"),
- ],
- ),
- )
- eq_(load.called, 9)
+ with fixture_session() as sess:
+ u = sess.query(User).get(7)
+ eq_(
+ u,
+ User(
+ id=7,
+ name="fred2",
+ addresses=[
+ Address(email_address="foo@bar.com"),
+ Address(email_address="hoho@lalala.com"),
+ ],
+ ),
+ )
+ eq_(load.called, 9)
# merge persistent object into another session
- sess4 = create_session()
- u = sess4.merge(u)
- assert len(u.addresses)
- for a in u.addresses:
- assert a.user is u
+ with fixture_session(expire_on_commit=False) as sess4:
+ u = sess4.merge(u)
+ assert len(u.addresses)
+ for a in u.addresses:
+ assert a.user is u
- def go():
- sess4.flush()
+ def go():
+ sess4.flush()
- # no changes; therefore flush should do nothing
- self.assert_sql_count(testing.db, go, 0)
- eq_(load.called, 12)
+ # no changes; therefore flush should do nothing
+ self.assert_sql_count(testing.db, go, 0)
- # test with "dontload" merge
- sess5 = create_session()
- u = sess5.merge(u, load=False)
- assert len(u.addresses)
- for a in u.addresses:
- assert a.user is u
+ sess4.commit()
- def go():
- sess5.flush()
+ eq_(load.called, 12)
- # no changes; therefore flush should do nothing
- # but also, load=False wipes out any difference in committed state,
- # so no flush at all
- self.assert_sql_count(testing.db, go, 0)
+ # test with "dontload" merge
+ with fixture_session(expire_on_commit=False) as sess5:
+ u = sess5.merge(u, load=False)
+ assert len(u.addresses)
+ for a in u.addresses:
+ assert a.user is u
+
+ def go():
+ sess5.flush()
+
+ # no changes; therefore flush should do nothing
+ # but also, load=False wipes out any difference in committed state,
+ # so no flush at all
+ self.assert_sql_count(testing.db, go, 0)
eq_(load.called, 15)
- sess4 = create_session()
- u = sess4.merge(u, load=False)
- # post merge change
- u.addresses[1].email_address = "afafds"
+ with fixture_session(expire_on_commit=False) as sess4, sess4.begin():
+ u = sess4.merge(u, load=False)
+ # post merge change
+ u.addresses[1].email_address = "afafds"
- def go():
- sess4.flush()
+ def go():
+ sess4.flush()
- # afafds change flushes
- self.assert_sql_count(testing.db, go, 1)
+ # afafds change flushes
+ self.assert_sql_count(testing.db, go, 1)
eq_(load.called, 18)
- sess5 = create_session()
- u2 = sess5.query(User).get(u.id)
- eq_(u2.name, "fred2")
- eq_(u2.addresses[1].email_address, "afafds")
+ with fixture_session(expire_on_commit=False) as sess5:
+ u2 = sess5.query(User).get(u.id)
+ eq_(u2.name, "fred2")
+ eq_(u2.addresses[1].email_address, "afafds")
eq_(load.called, 21)
def test_dont_send_neverset_to_get(self):
@@ -754,7 +755,7 @@ class MergeTest(_fixtures.FixtureTest):
mapper(CompositePk, composite_pk_table)
cp1 = CompositePk(j=1, k=1)
- sess = Session()
+ sess = fixture_session()
rec = []
@@ -788,7 +789,7 @@ class MergeTest(_fixtures.FixtureTest):
u1 = User(id=5, name="some user")
cp1 = CompositePk(j=1, k=1)
u1.elements.append(cp1)
- sess = Session()
+ sess = fixture_session()
rec = []
@@ -819,7 +820,7 @@ class MergeTest(_fixtures.FixtureTest):
properties={"user": relationship(User, cascade="save-update")},
)
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="fred")
a1 = Address(email_address="asdf", user=u1)
sess.add(a1)
@@ -858,18 +859,18 @@ class MergeTest(_fixtures.FixtureTest):
load = self.load_tracker(User)
self.load_tracker(Address, load)
- sess = create_session()
+ sess = fixture_session(expire_on_commit=False)
u = User(name="fred")
a1 = Address(email_address="foo@bar")
a2 = Address(email_address="foo@quux")
u.addresses.extend([a1, a2])
sess.add(u)
- sess.flush()
+ sess.commit()
eq_(load.called, 0)
- sess2 = create_session()
+ sess2 = fixture_session()
u2 = sess2.query(User).get(u.id)
eq_(load.called, 1)
@@ -878,7 +879,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(u2.addresses[1].email_address, "addr 2 modified")
eq_(load.called, 3)
- sess3 = create_session()
+ sess3 = fixture_session()
u3 = sess3.query(User).get(u.id)
eq_(load.called, 4)
@@ -902,23 +903,23 @@ class MergeTest(_fixtures.FixtureTest):
a1 = Address(id=1, email_address="a1", user=u1)
u2 = User(id=2, name="u2")
- sess = create_session()
+ sess = fixture_session(expire_on_commit=False)
sess.add_all([a1, u2])
- sess.flush()
+ sess.commit()
a1.user = u2
- sess2 = create_session()
- a2 = sess2.merge(a1)
- eq_(attributes.get_history(a2, "user"), ([u2], (), ()))
- assert a2 in sess2.dirty
+ with fixture_session(expire_on_commit=False) as sess2:
+ a2 = sess2.merge(a1)
+ eq_(attributes.get_history(a2, "user"), ([u2], (), ()))
+ assert a2 in sess2.dirty
sess.refresh(a1)
- sess2 = create_session()
- a2 = sess2.merge(a1, load=False)
- eq_(attributes.get_history(a2, "user"), ((), [u1], ()))
- assert a2 not in sess2.dirty
+ with fixture_session(expire_on_commit=False) as sess2:
+ a2 = sess2.merge(a1, load=False)
+ eq_(attributes.get_history(a2, "user"), ((), [u1], ()))
+ assert a2 not in sess2.dirty
def test_many_to_many_cascade(self):
items, Order, orders, order_items, Item = (
@@ -942,41 +943,41 @@ class MergeTest(_fixtures.FixtureTest):
load = self.load_tracker(Order)
self.load_tracker(Item, load)
- sess = create_session()
+ with fixture_session(expire_on_commit=False) as sess:
- i1 = Item()
- i1.description = "item 1"
+ i1 = Item()
+ i1.description = "item 1"
- i2 = Item()
- i2.description = "item 2"
+ i2 = Item()
+ i2.description = "item 2"
- o = Order()
- o.description = "order description"
- o.items.append(i1)
- o.items.append(i2)
+ o = Order()
+ o.description = "order description"
+ o.items.append(i1)
+ o.items.append(i2)
- sess.add(o)
- sess.flush()
+ sess.add(o)
+ sess.commit()
eq_(load.called, 0)
- sess2 = create_session()
- o2 = sess2.query(Order).get(o.id)
- eq_(load.called, 1)
+ with fixture_session(expire_on_commit=False) as sess2:
+ o2 = sess2.query(Order).get(o.id)
+ eq_(load.called, 1)
- o.items[1].description = "item 2 modified"
- sess2.merge(o)
- eq_(o2.items[1].description, "item 2 modified")
- eq_(load.called, 3)
+ o.items[1].description = "item 2 modified"
+ sess2.merge(o)
+ eq_(o2.items[1].description, "item 2 modified")
+ eq_(load.called, 3)
- sess3 = create_session()
- o3 = sess3.query(Order).get(o.id)
- eq_(load.called, 4)
+ with fixture_session(expire_on_commit=False) as sess3:
+ o3 = sess3.query(Order).get(o.id)
+ eq_(load.called, 4)
- o.description = "desc modified"
- sess3.merge(o)
- eq_(load.called, 6)
- eq_(o3.description, "desc modified")
+ o.description = "desc modified"
+ sess3.merge(o)
+ eq_(load.called, 6)
+ eq_(o3.description, "desc modified")
def test_one_to_one_cascade(self):
users, Address, addresses, User = (
@@ -997,7 +998,7 @@ class MergeTest(_fixtures.FixtureTest):
)
load = self.load_tracker(User)
self.load_tracker(Address, load)
- sess = create_session()
+ sess = fixture_session(expire_on_commit=False)
u = User()
u.id = 7
@@ -1007,11 +1008,11 @@ class MergeTest(_fixtures.FixtureTest):
u.address = a1
sess.add(u)
- sess.flush()
+ sess.commit()
eq_(load.called, 0)
- sess2 = create_session()
+ sess2 = fixture_session()
u2 = sess2.query(User).get(7)
eq_(load.called, 1)
u2.name = "fred2"
@@ -1039,7 +1040,7 @@ class MergeTest(_fixtures.FixtureTest):
)
},
)
- sess = sessionmaker()()
+ sess = fixture_session()
u = User(
id=7,
name="fred",
@@ -1065,7 +1066,7 @@ class MergeTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u = User()
assert_raises_message(
sa.exc.InvalidRequestError,
@@ -1104,13 +1105,13 @@ class MergeTest(_fixtures.FixtureTest):
Address(email_address="ad2"),
],
)
- sess = create_session()
+ sess = fixture_session()
sess.add(u)
sess.flush()
sess.close()
assert "user" in u.addresses[1].__dict__
- sess = create_session()
+ sess = fixture_session()
u2 = sess.merge(u, load=False)
assert "user" in u2.addresses[1].__dict__
eq_(u2.addresses[1].user, User(id=7, name="fred"))
@@ -1119,7 +1120,7 @@ class MergeTest(_fixtures.FixtureTest):
assert "user" not in u2.addresses[1].__dict__
sess.close()
- sess = create_session()
+ sess = fixture_session()
u = sess.merge(u2, load=False)
assert "user" not in u.addresses[1].__dict__
eq_(u.addresses[1].user, User(id=7, name="fred"))
@@ -1150,21 +1151,21 @@ class MergeTest(_fixtures.FixtureTest):
users,
properties={"addresses": relationship(mapper(Address, addresses))},
)
- sess = create_session()
- u = User()
- u.id = 7
- u.name = "fred"
- a1 = Address()
- a1.email_address = "foo@bar.com"
- u.addresses.append(a1)
+ with fixture_session(expire_on_commit=False) as sess:
+ u = User()
+ u.id = 7
+ u.name = "fred"
+ a1 = Address()
+ a1.email_address = "foo@bar.com"
+ u.addresses.append(a1)
- sess.add(u)
- sess.flush()
+ sess.add(u)
+ sess.commit()
- sess2 = create_session()
+ sess2 = fixture_session()
u2 = sess2.query(User).options(sa.orm.joinedload("addresses")).get(7)
- sess3 = create_session()
+ sess3 = fixture_session()
u3 = sess3.merge(u2, load=False) # noqa
def go():
@@ -1182,15 +1183,15 @@ class MergeTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = create_session()
- u = User()
- u.id = 7
- u.name = "fred"
- sess.add(u)
- sess.flush()
+ with fixture_session(expire_on_commit=False) as sess:
+ u = User()
+ u.id = 7
+ u.name = "fred"
+ sess.add(u)
+ sess.commit()
u.name = "ed"
- sess2 = create_session()
+ sess2 = fixture_session()
try:
sess2.merge(u, load=False)
assert False
@@ -1203,7 +1204,7 @@ class MergeTest(_fixtures.FixtureTest):
u2 = sess2.query(User).get(7)
- sess3 = create_session()
+ sess3 = fixture_session()
u3 = sess3.merge(u2, load=False) # noqa
assert not sess3.dirty
@@ -1230,7 +1231,7 @@ class MergeTest(_fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
u = User()
u.id = 7
u.name = "fred"
@@ -1243,7 +1244,7 @@ class MergeTest(_fixtures.FixtureTest):
assert u.addresses[0].user is u
- sess2 = create_session()
+ sess2 = fixture_session()
u2 = sess2.merge(u, load=False)
assert not sess2.dirty
@@ -1285,33 +1286,33 @@ class MergeTest(_fixtures.FixtureTest):
)
},
)
- sess = create_session()
- u = User()
- u.id = 7
- u.name = "fred"
- a1 = Address()
- a1.email_address = "foo@bar.com"
- u.addresses.append(a1)
- sess.add(u)
- sess.flush()
+ with fixture_session(expire_on_commit=False) as sess:
+ u = User()
+ u.id = 7
+ u.name = "fred"
+ a1 = Address()
+ a1.email_address = "foo@bar.com"
+ u.addresses.append(a1)
+ sess.add(u)
+ sess.commit()
assert u.addresses[0].user is u
- sess2 = create_session()
- u2 = sess2.merge(u, load=False)
- assert not sess2.dirty
- a2 = u2.addresses[0]
- a2.email_address = "somenewaddress"
- assert not sa.orm.object_mapper(a2)._is_orphan(
- sa.orm.attributes.instance_state(a2)
- )
- sess2.flush()
- sess2.expunge_all()
+ with fixture_session(expire_on_commit=False) as sess2:
+ u2 = sess2.merge(u, load=False)
+ assert not sess2.dirty
+ a2 = u2.addresses[0]
+ a2.email_address = "somenewaddress"
+ assert not sa.orm.object_mapper(a2)._is_orphan(
+ sa.orm.attributes.instance_state(a2)
+ )
+ sess2.commit()
- eq_(
- sess2.query(User).get(u2.id).addresses[0].email_address,
- "somenewaddress",
- )
+ with fixture_session() as sess2:
+ eq_(
+ sess2.query(User).get(u2.id).addresses[0].email_address,
+ "somenewaddress",
+ )
# this use case is not supported; this is with a pending Address
# on the pre-merged object, and we currently don't support
@@ -1321,10 +1322,11 @@ class MergeTest(_fixtures.FixtureTest):
# instances. so if we start supporting 'dirty' with load=False,
# this test will need to pass
- sess = create_session()
+ sess2 = fixture_session()
+ sess = fixture_session()
u = sess.query(User).get(7)
u.addresses.append(Address())
- sess2 = create_session()
+ sess2 = fixture_session()
try:
u2 = sess2.merge(u, load=False)
assert False
@@ -1359,7 +1361,7 @@ class MergeTest(_fixtures.FixtureTest):
mapper(User, users, properties={"uid": synonym("id")})
- sess = create_session()
+ sess = fixture_session()
u = User()
u.name = "ed"
sess.add(u)
@@ -1377,7 +1379,7 @@ class MergeTest(_fixtures.FixtureTest):
self.tables.users,
)
- s = create_session(autoflush=True, autocommit=False)
+ s = fixture_session(autoflush=True, autocommit=False)
mapper(
User,
users,
@@ -1406,7 +1408,7 @@ class MergeTest(_fixtures.FixtureTest):
self.tables.users,
)
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
mapper(
User,
users,
@@ -1446,7 +1448,7 @@ class MergeTest(_fixtures.FixtureTest):
u = User(
id=7, name="fred", addresses=[Address(id=1, email_address="fred1")]
)
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
sess.add(u)
sess.commit()
@@ -1471,7 +1473,7 @@ class MergeTest(_fixtures.FixtureTest):
mapper(User, users)
u = User(id=7)
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = sess.merge(u)
assert not bool(attributes.instance_state(u).expired_attributes)
@@ -1493,18 +1495,18 @@ class MergeTest(_fixtures.FixtureTest):
opt1, opt2 = Option(), Option()
- sess = sessionmaker()()
+ sess = fixture_session()
umapper = mapper(User, users)
sess.add_all([User(id=1, name="u1"), User(id=2, name="u2")])
sess.commit()
- sess2 = sessionmaker()()
+ sess2 = fixture_session()
s2_users = sess2.query(User).options(opt2).all()
# test 1. no options are replaced by merge options
- sess = sessionmaker()()
+ sess = fixture_session()
s1_users = sess.query(User).all()
for u in s1_users:
@@ -1521,7 +1523,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(ustate.load_options, set([opt2]))
# test 2. present options are replaced by merge options
- sess = sessionmaker()()
+ sess = fixture_session()
s1_users = sess.query(User).options(opt1).all()
for u in s1_users:
ustate = attributes.instance_state(u)
@@ -1559,7 +1561,7 @@ class MergeTest(_fixtures.FixtureTest):
Order(description="o3", address=Address(email_address="c")),
]
- sess = Session()
+ sess = fixture_session()
sess.merge(u1)
sess.flush()
@@ -1593,7 +1595,7 @@ class MergeTest(_fixtures.FixtureTest):
Order(description="o3", address=Address(id=1, email_address="c")),
]
- sess = Session()
+ sess = fixture_session()
sess.merge(u1)
sess.flush()
@@ -1615,7 +1617,7 @@ class MergeTest(_fixtures.FixtureTest):
mapper(Order, orders, properties={"address": relationship(Address)})
mapper(Address, addresses)
- sess = Session()
+ sess = fixture_session()
sess.add(Address(id=1, email_address="z"))
sess.commit()
@@ -1626,7 +1628,7 @@ class MergeTest(_fixtures.FixtureTest):
Order(description="o3", address=Address(id=1, email_address="c")),
]
- sess = Session()
+ sess = fixture_session()
sess.merge(u1)
sess.flush()
@@ -1718,7 +1720,7 @@ class M2ONoUseGetLoadingTest(fixtures.MappedTest):
# address.user_id is 1, you get a load.
def test_persistent_access_none(self):
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
def go():
u1 = User(id=1, addresses=[Address(id=1), Address(id=2)])
@@ -1728,7 +1730,7 @@ class M2ONoUseGetLoadingTest(fixtures.MappedTest):
def test_persistent_access_one(self):
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
def go():
u1 = User(id=1, addresses=[Address(id=1), Address(id=2)])
@@ -1740,7 +1742,7 @@ class M2ONoUseGetLoadingTest(fixtures.MappedTest):
def test_persistent_access_two(self):
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
def go():
u1 = User(id=1, addresses=[Address(id=1), Address(id=2)])
@@ -1759,7 +1761,7 @@ class M2ONoUseGetLoadingTest(fixtures.MappedTest):
# persistent.
def test_pending_access_one(self):
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
def go():
u1 = User(
@@ -1778,7 +1780,7 @@ class M2ONoUseGetLoadingTest(fixtures.MappedTest):
def test_pending_access_two(self):
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
def go():
u1 = User(
@@ -1819,7 +1821,7 @@ class DeferredMergeTest(fixtures.MappedTest):
# 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)})
- sess = sessionmaker()()
+ sess = fixture_session()
b = Book(
id=1,
@@ -1864,7 +1866,7 @@ class DeferredMergeTest(fixtures.MappedTest):
def test_deferred_column_query(self):
Book, book = self.classes.Book, self.tables.book
mapper(Book, book)
- sess = sessionmaker()()
+ sess = fixture_session()
b = Book(
id=1,
@@ -1929,7 +1931,7 @@ class MutableMergeTest(fixtures.MappedTest):
Data, data = self.classes.Data, self.tables.data
mapper(Data, data)
- sess = sessionmaker()()
+ sess = fixture_session()
d = Data(data=["this", "is", "a", "list"])
sess.add(d)
@@ -1959,7 +1961,7 @@ class CompositeNullPksTest(fixtures.MappedTest):
Data, data = self.classes.Data, self.tables.data
mapper(Data, data)
- sess = sessionmaker()()
+ sess = fixture_session()
d1 = Data(pk1="someval", pk2=None)
@@ -1972,7 +1974,7 @@ class CompositeNullPksTest(fixtures.MappedTest):
Data, data = self.classes.Data, self.tables.data
mapper(Data, data, allow_partial_pks=False)
- sess = sessionmaker()()
+ sess = fixture_session()
d1 = Data(pk1="someval", pk2=None)
@@ -2022,7 +2024,7 @@ class LoadOnPendingTest(fixtures.MappedTest):
},
)
mapper(self.classes.Bug, self.tables.bugs)
- self.sess = sessionmaker()()
+ self.sess = fixture_session()
def _merge_delete_orphan_o2o_with(self, bug):
# create a transient rock with passed bug
@@ -2104,7 +2106,7 @@ class PolymorphicOnTest(fixtures.MappedTest):
inherits=employee_mapper,
polymorphic_identity="engineer",
)
- self.sess = sessionmaker()()
+ self.sess = fixture_session()
def test_merge_polymorphic_on(self):
"""merge() should succeed with a polymorphic object even when
diff --git a/test/orm/test_naturalpks.py b/test/orm/test_naturalpks.py
index d814b0cab..a609c89ae 100644
--- a/test/orm/test_naturalpks.py
+++ b/test/orm/test_naturalpks.py
@@ -14,7 +14,6 @@ from sqlalchemy import testing
from sqlalchemy import TypeDecorator
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
from sqlalchemy.orm.session import make_transient
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
@@ -22,7 +21,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import ne_
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -108,7 +107,7 @@ class NaturalPKTest(fixtures.MappedTest):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
sess.add(u1)
@@ -134,7 +133,7 @@ class NaturalPKTest(fixtures.MappedTest):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
sess.add(u1)
@@ -161,7 +160,7 @@ class NaturalPKTest(fixtures.MappedTest):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
sess.add(u1)
@@ -180,7 +179,7 @@ class NaturalPKTest(fixtures.MappedTest):
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
sess.add(u1)
@@ -196,7 +195,7 @@ class NaturalPKTest(fixtures.MappedTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
sess.add(u1)
@@ -235,7 +234,7 @@ class NaturalPKTest(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
u1.addresses.append(Address(email="jack1"))
u1.addresses.append(Address(email="jack2"))
@@ -324,7 +323,7 @@ class NaturalPKTest(fixtures.MappedTest):
properties={"user": relationship(User, passive_updates=False)},
)
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).first()
a1, a2 = sess.query(Address).all()
u1.username = "ed"
@@ -353,7 +352,7 @@ class NaturalPKTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
a1 = Address(email="jack1")
a2 = Address(email="jack2")
a3 = Address(email="fred")
@@ -432,7 +431,7 @@ class NaturalPKTest(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
sess.add(u1)
sess.flush()
@@ -487,7 +486,7 @@ class NaturalPKTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
a1 = Address(email="jack1")
a2 = Address(email="jack2")
@@ -570,7 +569,7 @@ class NaturalPKTest(fixtures.MappedTest):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack")
u2 = User(username="fred")
i1 = Item(itemname="item1")
@@ -639,7 +638,7 @@ class NaturalPKTest(fixtures.MappedTest):
},
)
- s = Session()
+ s = fixture_session()
a1 = Address(email="jack1")
u1 = User(username="jack", fullname="jack")
@@ -756,7 +755,7 @@ class TransientExceptionTesst(_fixtures.FixtureTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
u1 = User(id=5, name="u1")
ad1 = Address(email_address="e1", user=u1)
sess.add_all([u1, ad1])
@@ -809,7 +808,7 @@ class ReversePKsTest(fixtures.MappedTest):
mapper(User, user)
- session = sa.orm.sessionmaker()()
+ session = fixture_session()
a_published = User(1, PUBLISHED, "a")
session.add(a_published)
@@ -849,7 +848,7 @@ class ReversePKsTest(fixtures.MappedTest):
mapper(User, user)
- session = sa.orm.sessionmaker()()
+ session = fixture_session()
a_published = User(1, PUBLISHED, "a")
session.add(a_published)
@@ -916,7 +915,7 @@ class SelfReferentialTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
n1 = Node(name="n1")
sess.add(n1)
n2 = Node(name="n11", parentnode=n1)
@@ -954,7 +953,7 @@ class SelfReferentialTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
n1 = Node(name="n1")
n1.children.append(Node(name="n11"))
n1.children.append(Node(name="n12"))
@@ -995,7 +994,7 @@ class SelfReferentialTest(fixtures.MappedTest):
},
)
- sess = Session()
+ sess = fixture_session()
n1 = Node(name="n1")
n11 = Node(name="n11", parentnode=n1)
n12 = Node(name="n12", parentnode=n1)
@@ -1082,7 +1081,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack", fullname="jack")
u1.addresses.append(Address(email="jack1"))
u1.addresses.append(Address(email="jack2"))
@@ -1230,7 +1229,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
a1 = Address(username="ed", email="ed@host1")
u1 = User(username="ed", addresses=[a1])
u2 = User(username="jack")
@@ -1271,7 +1270,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
a1 = Address(username="ed", email="ed@host1")
u1 = User(username="ed", addresses=[a1])
u2 = User(username="jack")
@@ -1318,7 +1317,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack")
if uselist:
a1 = Address(user=[u1], email="foo@bar")
@@ -1358,7 +1357,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="jack")
u2 = User(username="ed")
a1 = Address(user=u1, email="foo@bar")
@@ -1383,7 +1382,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
properties={"user": relationship(User, passive_updates=True)},
)
- sess = create_session()
+ sess = fixture_session()
u1 = User(username="ed")
a1 = Address(user=u1, email="ed@host1")
@@ -1445,7 +1444,7 @@ class CascadeToFKPKTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
a1, a2 = (
Address(username="ed", email="ed@host1"),
Address(username="ed", email="ed@host2"),
@@ -1625,7 +1624,7 @@ class JoinedInheritanceTest(fixtures.MappedTest):
def _test_pk(self, passive_updates):
(Engineer,) = self.classes("Engineer")
self._mapping_fixture(False, passive_updates)
- sess = sa.orm.sessionmaker()()
+ sess = fixture_session()
e1 = Engineer(name="dilbert", primary_language="java")
sess.add(e1)
@@ -1655,7 +1654,7 @@ class JoinedInheritanceTest(fixtures.MappedTest):
self._mapping_fixture(False, passive_updates)
- sess = sa.orm.sessionmaker()()
+ sess = fixture_session()
m1 = Manager(name="dogbert", paperwork="lots")
e1, e2 = (
@@ -1700,7 +1699,7 @@ class JoinedInheritanceTest(fixtures.MappedTest):
self._mapping_fixture(True, passive_updates)
- sess = sa.orm.sessionmaker()()
+ sess = fixture_session()
o1 = Owner(name="dogbert", owner_name="dog")
sess.add(o1)
@@ -1738,7 +1737,7 @@ class JoinedInheritanceTest(fixtures.MappedTest):
Owner, Engineer = self.classes("Owner", "Engineer")
self._mapping_fixture(True, passive_updates)
- sess = sa.orm.sessionmaker()()
+ sess = fixture_session()
m1 = Owner(name="dogbert", paperwork="lots", owner_name="dog")
e1, e2 = (
@@ -1811,7 +1810,7 @@ class UnsortablePKTest(fixtures.MappedTest):
def test_updates_sorted(self):
Data = self.classes.Data
- s = Session()
+ s = fixture_session()
s.add_all(
[
@@ -1903,7 +1902,7 @@ class JoinedInheritancePKOnFKTest(fixtures.MappedTest):
polymorphic_identity="engineer",
)
- sess = sa.orm.sessionmaker()()
+ sess = fixture_session()
e1 = Engineer(name="dilbert", primary_language="java")
sess.add(e1)
diff --git a/test/orm/test_of_type.py b/test/orm/test_of_type.py
index e40e815aa..bc32e322d 100644
--- a/test/orm/test_of_type.py
+++ b/test/orm/test_of_type.py
@@ -16,6 +16,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.entities import ComparableEntity
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from .inheritance._poly_fixtures import _PolymorphicAliasedJoins
from .inheritance._poly_fixtures import _PolymorphicJoins
@@ -33,14 +34,14 @@ class _PolymorphicTestBase(object):
__dialect__ = "default"
def test_any_one(self):
- sess = Session()
+ sess = fixture_session()
any_ = Company.employees.of_type(Engineer).any(
Engineer.primary_language == "cobol"
)
eq_(sess.query(Company).filter(any_).one(), self.c2)
def test_any_two(self):
- sess = Session()
+ sess = fixture_session()
calias = aliased(Company)
any_ = calias.employees.of_type(Engineer).any(
Engineer.primary_language == "cobol"
@@ -48,26 +49,26 @@ class _PolymorphicTestBase(object):
eq_(sess.query(calias).filter(any_).one(), self.c2)
def test_any_three(self):
- sess = Session()
+ sess = fixture_session()
any_ = Company.employees.of_type(Boss).any(Boss.golf_swing == "fore")
eq_(sess.query(Company).filter(any_).one(), self.c1)
def test_any_four(self):
- sess = Session()
+ sess = fixture_session()
any_ = Company.employees.of_type(Manager).any(
Manager.manager_name == "pointy"
)
eq_(sess.query(Company).filter(any_).one(), self.c1)
def test_any_five(self):
- sess = Session()
+ sess = fixture_session()
any_ = Company.employees.of_type(Engineer).any(
and_(Engineer.primary_language == "cobol")
)
eq_(sess.query(Company).filter(any_).one(), self.c2)
def test_join_to_subclass_one(self):
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees.of_type(Engineer))
@@ -77,7 +78,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_two(self):
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees.of_type(Engineer), "machines")
@@ -87,7 +88,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_three(self):
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(Company, Engineer)
.join(Company.employees.of_type(Engineer))
@@ -97,7 +98,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_four(self):
- sess = Session()
+ sess = fixture_session()
# test [ticket:2093]
eq_(
sess.query(Company.company_id, Engineer)
@@ -108,7 +109,7 @@ class _PolymorphicTestBase(object):
)
def test_join_to_subclass_five(self):
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(Company)
.join(Company.employees.of_type(Engineer))
@@ -118,7 +119,7 @@ class _PolymorphicTestBase(object):
)
def test_with_polymorphic_join_compile_one(self):
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Company).join(
@@ -134,7 +135,7 @@ class _PolymorphicTestBase(object):
)
def test_with_polymorphic_join_exec_contains_eager_one(self):
- sess = Session()
+ sess = fixture_session()
def go():
wp = with_polymorphic(
@@ -163,7 +164,7 @@ class _PolymorphicTestBase(object):
def test_with_polymorphic_join_exec_contains_eager_two(
self, contains_eager_option
):
- sess = Session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer, Manager], aliased=True)
contains_eager_option = testing.resolve_lambda(
@@ -187,7 +188,7 @@ class _PolymorphicTestBase(object):
)
def test_with_polymorphic_any(self):
- sess = Session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer], aliased=True)
eq_(
sess.query(Company.company_id)
@@ -201,7 +202,7 @@ class _PolymorphicTestBase(object):
)
def test_subqueryload_implicit_withpoly(self):
- sess = Session()
+ sess = fixture_session()
def go():
eq_(
@@ -215,7 +216,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 4)
def test_joinedload_implicit_withpoly(self):
- sess = Session()
+ sess = fixture_session()
def go():
eq_(
@@ -229,7 +230,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 3)
def test_subqueryload_explicit_withpoly(self):
- sess = Session()
+ sess = fixture_session()
def go():
target = with_polymorphic(Person, Engineer)
@@ -244,7 +245,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 4)
def test_joinedload_explicit_withpoly(self):
- sess = Session()
+ sess = fixture_session()
def go():
target = with_polymorphic(Person, Engineer, flat=True)
@@ -259,7 +260,7 @@ class _PolymorphicTestBase(object):
self.assert_sql_count(testing.db, go, 3)
def test_joinedload_stacked_of_type(self):
- sess = Session()
+ sess = fixture_session()
def go():
eq_(
@@ -467,7 +468,7 @@ class PolymorphicJoinsTest(_PolymorphicTestBase, _PolymorphicJoins):
)
def test_joinedload_explicit_with_unaliased_poly_compile(self):
- sess = Session()
+ sess = fixture_session()
target = with_polymorphic(Person, Engineer)
q = (
sess.query(Company)
@@ -481,7 +482,7 @@ class PolymorphicJoinsTest(_PolymorphicTestBase, _PolymorphicJoins):
)
def test_joinedload_explicit_with_flataliased_poly_compile(self):
- sess = Session()
+ sess = fixture_session()
target = with_polymorphic(Person, Engineer, flat=True)
q = (
sess.query(Company)
@@ -752,7 +753,7 @@ class SubclassRelationshipTest(
Job_P = with_polymorphic(Job, SubJob, aliased=True, flat=True)
- s = Session()
+ s = fixture_session()
q = (
s.query(Job)
.join(DataContainer.jobs)
@@ -782,7 +783,7 @@ class SubclassRelationshipTest(
Job_A = aliased(Job)
- s = Session()
+ s = fixture_session()
q = (
s.query(Job)
.join(DataContainer.jobs)
@@ -814,7 +815,7 @@ class SubclassRelationshipTest(
Job_P = with_polymorphic(Job, SubJob)
- s = Session()
+ s = fixture_session()
q = s.query(DataContainer).join(DataContainer.jobs.of_type(Job_P))
self.assert_compile(
q,
@@ -832,7 +833,7 @@ class SubclassRelationshipTest(
self.classes.SubJob,
)
- s = Session()
+ s = fixture_session()
q = s.query(DataContainer).join(DataContainer.jobs.of_type(SubJob))
# note the of_type() here renders JOIN for the Job->SubJob.
# this is because it's using the SubJob mapper directly within
@@ -856,7 +857,7 @@ class SubclassRelationshipTest(
Job_P = with_polymorphic(Job, SubJob, innerjoin=True)
- s = Session()
+ s = fixture_session()
q = s.query(DataContainer).join(DataContainer.jobs.of_type(Job_P))
self.assert_compile(
q,
@@ -875,7 +876,7 @@ class SubclassRelationshipTest(
Job_A = aliased(Job)
- s = Session()
+ s = fixture_session()
q = s.query(DataContainer).join(DataContainer.jobs.of_type(Job_A))
self.assert_compile(
q,
@@ -894,7 +895,7 @@ class SubclassRelationshipTest(
Job_P = with_polymorphic(Job, SubJob)
- s = Session()
+ s = fixture_session()
q = s.query(DataContainer).join(Job_P, DataContainer.jobs)
self.assert_compile(
q,
@@ -915,7 +916,7 @@ class SubclassRelationshipTest(
Job_P = with_polymorphic(Job, SubJob, flat=True)
- s = Session()
+ s = fixture_session()
q = s.query(DataContainer).join(Job_P, DataContainer.jobs)
self.assert_compile(
q,
@@ -936,7 +937,7 @@ class SubclassRelationshipTest(
Job_P = with_polymorphic(Job, SubJob, aliased=True)
- s = Session()
+ s = fixture_session()
q = s.query(DataContainer).join(Job_P, DataContainer.jobs)
self.assert_compile(
q,
@@ -1185,7 +1186,7 @@ class SubclassRelationshipTest3(
B1 = aliased(B1, name="bbb")
C1 = aliased(C1, name="ccc")
- sess = Session()
+ sess = fixture_session()
abc = sess.query(A1)
if join_of_type:
diff --git a/test/orm/test_onetoone.py b/test/orm/test_onetoone.py
index a487c17e6..ae9f9b3a1 100644
--- a/test/orm/test_onetoone.py
+++ b/test/orm/test_onetoone.py
@@ -1,10 +1,10 @@
from sqlalchemy import ForeignKey
from sqlalchemy import Integer
from sqlalchemy import String
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -59,7 +59,7 @@ class O2OTest(fixtures.MappedTest):
),
)
- session = create_session()
+ session = fixture_session()
j = Jack(number="101")
session.add(j)
diff --git a/test/orm/test_options.py b/test/orm/test_options.py
index b4befcea3..b22b318e9 100644
--- a/test/orm/test_options.py
+++ b/test/orm/test_options.py
@@ -9,7 +9,6 @@ from sqlalchemy.orm import aliased
from sqlalchemy.orm import attributes
from sqlalchemy.orm import class_mapper
from sqlalchemy.orm import column_property
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import defaultload
from sqlalchemy.orm import defer
from sqlalchemy.orm import exc as orm_exc
@@ -18,7 +17,6 @@ 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 strategy_options
from sqlalchemy.orm import subqueryload
from sqlalchemy.orm import synonym
@@ -27,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 eq_
+from sqlalchemy.testing.fixtures import fixture_session
from test.orm import _fixtures
from .inheritance._poly_fixtures import _Polymorphic
from .inheritance._poly_fixtures import Company
@@ -205,7 +204,7 @@ class LoadTest(PathTest, QueryTest):
def test_gen_path_attr_str_not_mapped(self):
OrderWProp = self.classes.OrderWProp
- sess = Session()
+ sess = fixture_session()
q = sess.query(OrderWProp).options(defer("some_attr"))
assert_raises_message(
@@ -280,7 +279,7 @@ class OfTypePathingTest(PathTest, QueryTest):
SubAddr.sub_attr
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1,
@@ -297,7 +296,7 @@ class OfTypePathingTest(PathTest, QueryTest):
.defer(SubAddr.sub_attr)
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1,
@@ -310,7 +309,7 @@ class OfTypePathingTest(PathTest, QueryTest):
l1 = defaultload(User.addresses.of_type(SubAddr)).defer("sub_attr")
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1,
@@ -327,7 +326,7 @@ class OfTypePathingTest(PathTest, QueryTest):
.defer("sub_attr")
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1,
@@ -342,7 +341,7 @@ class OfTypePathingTest(PathTest, QueryTest):
SubAddr.dings
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1, q, [(User, "addresses"), (User, "addresses", SubAddr, "dings")]
@@ -357,7 +356,7 @@ class OfTypePathingTest(PathTest, QueryTest):
.joinedload(SubAddr.dings)
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1, q, [(User, "addresses"), (User, "addresses", SubAddr, "dings")]
@@ -368,7 +367,7 @@ class OfTypePathingTest(PathTest, QueryTest):
l1 = defaultload(User.addresses.of_type(SubAddr)).joinedload("dings")
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1, q, [(User, "addresses"), (User, "addresses", SubAddr, "dings")]
@@ -383,7 +382,7 @@ class OfTypePathingTest(PathTest, QueryTest):
.defer("sub_attr")
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
self._assert_path_result(
l1,
@@ -401,7 +400,7 @@ class OptionsTest(PathTest, QueryTest):
def test_get_path_one_level_string(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture("addresses")
@@ -410,7 +409,7 @@ class OptionsTest(PathTest, QueryTest):
def test_get_path_one_level_attribute(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture(User.addresses)
@@ -422,7 +421,7 @@ class OptionsTest(PathTest, QueryTest):
# ensure "current path" is fully consumed before
# matching against current entities.
# see [ticket:2098]
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture("email_address", "id")
q = sess.query(Address)._with_current_path(
@@ -435,7 +434,7 @@ class OptionsTest(PathTest, QueryTest):
def test_get_path_one_level_with_unrelated(self):
Order = self.classes.Order
- sess = Session()
+ sess = fixture_session()
q = sess.query(Order)
opt = self._option_fixture("addresses")
self._assert_path_result(opt, q, [])
@@ -447,7 +446,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture("orders.items.keywords")
@@ -468,7 +467,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture(User.orders, Order.items, Item.keywords)
@@ -489,7 +488,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item)._with_current_path(
self._make_path_registry([User, "orders", Order, "items"])
)
@@ -504,7 +503,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item)._with_current_path(
self._make_path_registry([User, "orders", Order, "items"])
)
@@ -519,7 +518,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item)._with_current_path(
self._make_path_registry([User, "orders", Order, "items"])
)
@@ -537,7 +536,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item)._with_current_path(
self._make_path_registry([User, "orders", Order, "items"])
)
@@ -555,7 +554,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Order,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item)._with_current_path(
self._make_path_registry(
[inspect(aliased(User)), "orders", Order, "items"]
@@ -588,7 +587,7 @@ class OptionsTest(PathTest, QueryTest):
)
ac = aliased(User)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item)._with_current_path(
self._make_path_registry([inspect(ac), "orders", Order, "items"])
)
@@ -602,7 +601,7 @@ class OptionsTest(PathTest, QueryTest):
def test_from_base_to_subclass_attr(self):
Dingaling, Address = self.classes.Dingaling, self.classes.Address
- sess = Session()
+ sess = fixture_session()
class SubAddr(Address):
pass
@@ -621,7 +620,7 @@ class OptionsTest(PathTest, QueryTest):
def test_from_subclass_to_subclass_attr(self):
Dingaling, Address = self.classes.Dingaling, self.classes.Address
- sess = Session()
+ sess = fixture_session()
class SubAddr(Address):
pass
@@ -640,7 +639,7 @@ class OptionsTest(PathTest, QueryTest):
def test_from_base_to_base_attr_via_subclass(self):
Dingaling, Address = self.classes.Dingaling, self.classes.Address
- sess = Session()
+ sess = fixture_session()
class SubAddr(Address):
pass
@@ -661,7 +660,7 @@ class OptionsTest(PathTest, QueryTest):
def test_of_type(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
class SubAddr(Address):
pass
@@ -692,7 +691,7 @@ class OptionsTest(PathTest, QueryTest):
def test_of_type_string_attr(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
class SubAddr(Address):
pass
@@ -725,7 +724,7 @@ class OptionsTest(PathTest, QueryTest):
self.classes.Address,
)
- sess = Session()
+ sess = fixture_session()
class SubAddr(Address):
pass
@@ -760,7 +759,7 @@ class OptionsTest(PathTest, QueryTest):
def test_aliased_single(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
ualias = aliased(User)
q = sess.query(ualias)
opt = self._option_fixture(ualias.addresses)
@@ -769,7 +768,7 @@ class OptionsTest(PathTest, QueryTest):
def test_with_current_aliased_single(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
ualias = aliased(User)
q = sess.query(ualias)._with_current_path(
self._make_path_registry([Address, "user"])
@@ -780,7 +779,7 @@ class OptionsTest(PathTest, QueryTest):
def test_with_current_aliased_single_nonmatching_option(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
ualias = aliased(User)
q = sess.query(User)._with_current_path(
self._make_path_registry([Address, "user"])
@@ -791,7 +790,7 @@ class OptionsTest(PathTest, QueryTest):
def test_with_current_aliased_single_nonmatching_entity(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
ualias = aliased(User)
q = sess.query(ualias)._with_current_path(
self._make_path_registry([Address, "user"])
@@ -803,7 +802,7 @@ class OptionsTest(PathTest, QueryTest):
Item = self.classes.Item
Order = self.classes.Order
opt = self._option_fixture(Order.items)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item, Order)
self._assert_path_result(opt, q, [(Order, "items")])
@@ -811,7 +810,7 @@ class OptionsTest(PathTest, QueryTest):
Item = self.classes.Item
Order = self.classes.Order
opt = self._option_fixture("items")
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item, Order)
self._assert_path_result(opt, q, [])
@@ -819,7 +818,7 @@ class OptionsTest(PathTest, QueryTest):
Item = self.classes.Item
Order = self.classes.Order
opt = self._option_fixture("items")
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item.id, Order.id)
self._assert_path_result(opt, q, [])
@@ -828,7 +827,7 @@ class OptionsTest(PathTest, QueryTest):
Item = self.classes.Item
Order = self.classes.Order
opt = self._option_fixture(User.orders)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Item)._with_current_path(
self._make_path_registry([User, "orders", Order, "items"])
)
@@ -837,7 +836,7 @@ class OptionsTest(PathTest, QueryTest):
def test_chained(self):
User = self.classes.User
Order = self.classes.Order
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture(User.orders).joinedload("items")
self._assert_path_result(
@@ -848,7 +847,7 @@ class OptionsTest(PathTest, QueryTest):
User = self.classes.User
Order = self.classes.Order
Item = self.classes.Item
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture("orders.items").joinedload("keywords")
self._assert_path_result(
@@ -865,7 +864,7 @@ class OptionsTest(PathTest, QueryTest):
User = self.classes.User
Order = self.classes.Order
Item = self.classes.Item
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
opt = self._option_fixture(User.orders, Order.items).joinedload(
"keywords"
@@ -918,7 +917,7 @@ class FromSubclassOptionsTest(PathTest, fixtures.DeclarativeMappedTest):
BaseCls, SubClass, Related, SubRelated = self.classes(
"BaseCls", "SubClass", "Related", "SubRelated"
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(Related)._with_current_path(
self._make_path_registry([inspect(SubClass), "related"])
@@ -1258,7 +1257,7 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
Item = self.classes.Item
context = (
- create_session()
+ fixture_session()
.query(*entity_list)
.options(joinedload(option))
._compile_state()
@@ -1270,7 +1269,7 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
assert_raises_message(
orm_exc.LoaderStrategyException,
message,
- create_session()
+ fixture_session()
.query(*entity_list)
.options(*options)
._compile_state,
@@ -1282,7 +1281,7 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
assert_raises_message(
sa.exc.ArgumentError,
message,
- create_session()
+ fixture_session()
.query(*entity_list)
.options(*options)
._compile_state,
@@ -1294,7 +1293,7 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
assert_raises_message(
sa.exc.ArgumentError,
message,
- create_session()
+ fixture_session()
.query(column)
.options(joinedload(eager_option))
._compile_state,
@@ -1303,7 +1302,7 @@ class OptionsNoPropTest(_fixtures.FixtureTest):
class OptionsNoPropTestInh(_Polymorphic):
def test_missing_attr_wpoly_subclasss(self):
- s = Session()
+ s = fixture_session()
wp = with_polymorphic(Person, [Manager], flat=True)
@@ -1316,7 +1315,7 @@ class OptionsNoPropTestInh(_Polymorphic):
)
def test_missing_attr_of_type_subclass(self):
- s = Session()
+ s = fixture_session()
assert_raises_message(
sa.exc.ArgumentError,
@@ -1332,7 +1331,7 @@ class OptionsNoPropTestInh(_Polymorphic):
)
def test_missing_attr_of_type_subclass_name_matches(self):
- s = Session()
+ s = fixture_session()
# the name "status" is present on Engineer also, make sure
# that doesn't get mixed up here
@@ -1350,7 +1349,7 @@ class OptionsNoPropTestInh(_Polymorphic):
)
def test_missing_str_attr_of_type_subclass(self):
- s = Session()
+ s = fixture_session()
assert_raises_message(
sa.exc.ArgumentError,
@@ -1366,7 +1365,7 @@ class OptionsNoPropTestInh(_Polymorphic):
)
def test_missing_attr_of_type_wpoly_subclass(self):
- s = Session()
+ s = fixture_session()
wp = with_polymorphic(Person, [Manager], flat=True)
@@ -1384,7 +1383,7 @@ class OptionsNoPropTestInh(_Polymorphic):
)
def test_missing_attr_is_missing_of_type_for_alias(self):
- s = Session()
+ s = fixture_session()
pa = aliased(Person)
@@ -1465,7 +1464,7 @@ class PickleTest(PathTest, QueryTest):
opt.__setstate__(state)
- query = create_session().query(User)
+ query = fixture_session().query(User)
attr = {}
load = opt._bind_loader(
[
@@ -1502,7 +1501,7 @@ class PickleTest(PathTest, QueryTest):
opt.__setstate__(state)
- query = create_session().query(User)
+ query = fixture_session().query(User)
attr = {}
load = opt._bind_loader(
[
@@ -1545,7 +1544,7 @@ class LocalOptsTest(PathTest, QueryTest):
def _assert_attrs(self, opts, expected):
User = self.classes.User
- query = create_session().query(User)
+ query = fixture_session().query(User)
attr = {}
for opt in opts:
@@ -1702,7 +1701,7 @@ class SubOptionsTest(PathTest, QueryTest):
defaultload(User.orders).defer(Order.description),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_two(self):
@@ -1721,7 +1720,7 @@ class SubOptionsTest(PathTest, QueryTest):
defaultload(User.orders).defer(Order.description),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_three(self):
@@ -1730,7 +1729,7 @@ class SubOptionsTest(PathTest, QueryTest):
)
sub_opt = defaultload(User.orders).options(defer("*"))
non_sub_opts = [defaultload(User.orders).defer("*")]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_four(self):
@@ -1759,7 +1758,7 @@ class SubOptionsTest(PathTest, QueryTest):
.defaultload(Item.keywords)
.defer(Keyword.name),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_four_strings(self):
@@ -1788,7 +1787,7 @@ class SubOptionsTest(PathTest, QueryTest):
.defaultload(Item.keywords)
.defer(Keyword.name),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_five(self):
@@ -1800,7 +1799,7 @@ class SubOptionsTest(PathTest, QueryTest):
joinedload(User.orders),
defaultload(User.orders).load_only(Order.description),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_five_strings(self):
@@ -1812,7 +1811,7 @@ class SubOptionsTest(PathTest, QueryTest):
joinedload(User.orders),
defaultload(User.orders).load_only(Order.description),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_invalid_one(self):
@@ -1832,7 +1831,7 @@ class SubOptionsTest(PathTest, QueryTest):
joinedload(User.orders).joinedload(Item.keywords),
defaultload(User.orders).joinedload(Order.items),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_invalid_two(self):
@@ -1852,7 +1851,7 @@ class SubOptionsTest(PathTest, QueryTest):
joinedload(User.orders).joinedload(Item.keywords),
defaultload(User.orders).joinedload(Order.items),
]
- sess = Session()
+ sess = fixture_session()
self._assert_opts(sess.query(User), sub_opt, non_sub_opts)
def test_not_implemented_fromload(self):
@@ -1905,7 +1904,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
)
def go():
- sess = create_session()
+ sess = fixture_session()
u = (
sess.query(User)
.order_by(User.id)
@@ -1936,7 +1935,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
result = (
sess.query(User)
.order_by(User.id)
@@ -1966,7 +1965,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
u = (
sess.query(User)
.options(sa.orm.joinedload("addresses"))
@@ -2003,7 +2002,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
u = (
sess.query(User)
.options(sa.orm.lazyload("addresses"))
@@ -2039,7 +2038,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
# first test straight eager load, 1 statement
def go():
@@ -2054,7 +2053,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
# then assert the data, which will launch 3 more lazy loads
# (previous users in session fell out of scope and were removed from
# session's identity map)
- r = users.select().order_by(users.c.id).execute()
+ r = sess.connection().execute(users.select().order_by(users.c.id))
ctx = sess.query(User)._compile_context()
@@ -2140,7 +2139,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
# first test straight eager load, 1 statement
def go():
@@ -2153,7 +2152,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
# then select just from users. run it into instances.
# then assert the data, which will launch 6 more lazy loads
- r = users.select().execute()
+ r = sess.connection().execute(users.select())
ctx = sess.query(User)._compile_context()
@@ -2183,7 +2182,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
),
)
- sess = create_session()
+ sess = fixture_session()
result = (
sess.query(User)
.order_by(User.id)
@@ -2214,7 +2213,7 @@ class MapperOptionsTest(_fixtures.FixtureTest):
)
mapper(Item, items)
- sess = create_session()
+ sess = fixture_session()
oalias = aliased(Order)
opt1 = sa.orm.joinedload(User.orders, Order.items)
diff --git a/test/orm/test_pickled.py b/test/orm/test_pickled.py
index a5a983740..189fd2d27 100644
--- a/test/orm/test_pickled.py
+++ b/test/orm/test_pickled.py
@@ -9,14 +9,11 @@ from sqlalchemy import testing
from sqlalchemy.orm import aliased
from sqlalchemy.orm import attributes
from sqlalchemy.orm import clear_mappers
-from sqlalchemy.orm import create_session
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 Session
-from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import state as sa_state
from sqlalchemy.orm import subqueryload
from sqlalchemy.orm import with_polymorphic
@@ -25,6 +22,7 @@ from sqlalchemy.orm.collections import column_mapped_collection
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.pickleable import Address
from sqlalchemy.testing.pickleable import Child1
from sqlalchemy.testing.pickleable import Child2
@@ -114,7 +112,7 @@ class PickleTest(fixtures.MappedTest):
properties={"dingaling": relationship(Dingaling)},
)
mapper(Dingaling, dingalings)
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="ed")
u1.addresses.append(Address(email_address="ed@bar.com"))
sess.add(u1)
@@ -132,7 +130,7 @@ class PickleTest(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="ed")
u1.addresses.append(Address(email_address="ed@bar.com"))
@@ -195,33 +193,38 @@ class PickleTest(fixtures.MappedTest):
"email_address": sa.orm.deferred(addresses.c.email_address)
},
)
- sess = create_session()
- u1 = User(name="ed")
- u1.addresses.append(Address(email_address="ed@bar.com"))
- sess.add(u1)
- sess.flush()
- sess.expunge_all()
- u1 = sess.query(User).get(u1.id)
- assert "name" not in u1.__dict__
- assert "addresses" not in u1.__dict__
+ with fixture_session(expire_on_commit=False) as sess:
+ u1 = User(name="ed")
+ u1.addresses.append(Address(email_address="ed@bar.com"))
+ sess.add(u1)
+ sess.commit()
+
+ with fixture_session() as sess:
+ u1 = sess.query(User).get(u1.id)
+ assert "name" not in u1.__dict__
+ assert "addresses" not in u1.__dict__
u2 = pickle.loads(pickle.dumps(u1))
- sess2 = create_session()
- sess2.add(u2)
- eq_(u2.name, "ed")
- eq_(
- u2,
- User(name="ed", addresses=[Address(email_address="ed@bar.com")]),
- )
+ with fixture_session() as sess2:
+ sess2.add(u2)
+ eq_(u2.name, "ed")
+ eq_(
+ u2,
+ User(
+ name="ed", addresses=[Address(email_address="ed@bar.com")]
+ ),
+ )
u2 = pickle.loads(pickle.dumps(u1))
- sess2 = create_session()
- u2 = sess2.merge(u2, load=False)
- eq_(u2.name, "ed")
- eq_(
- u2,
- User(name="ed", addresses=[Address(email_address="ed@bar.com")]),
- )
+ with fixture_session() as sess2:
+ u2 = sess2.merge(u2, load=False)
+ eq_(u2.name, "ed")
+ eq_(
+ u2,
+ User(
+ name="ed", addresses=[Address(email_address="ed@bar.com")]
+ ),
+ )
def test_instance_lazy_relation_loaders(self):
users, addresses = (self.tables.users, self.tables.addresses)
@@ -233,7 +236,7 @@ class PickleTest(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="ed", addresses=[Address(email_address="ed@bar.com")])
sess.add(u1)
@@ -243,7 +246,7 @@ class PickleTest(fixtures.MappedTest):
u1 = sess.query(User).options(lazyload(User.addresses)).first()
u2 = pickle.loads(pickle.dumps(u1))
- sess = Session()
+ sess = fixture_session()
sess.add(u2)
assert u2.addresses
@@ -290,52 +293,57 @@ class PickleTest(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = create_session()
- u1 = User(name="ed")
- u1.addresses.append(Address(email_address="ed@bar.com"))
- sess.add(u1)
- sess.flush()
- sess.expunge_all()
-
- u1 = (
- sess.query(User)
- .options(
- sa.orm.defer("name"), sa.orm.defer("addresses.email_address")
+ with fixture_session(expire_on_commit=False) as sess:
+ u1 = User(name="ed")
+ u1.addresses.append(Address(email_address="ed@bar.com"))
+ sess.add(u1)
+ sess.commit()
+
+ with fixture_session(expire_on_commit=False) as sess:
+ u1 = (
+ sess.query(User)
+ .options(
+ sa.orm.defer("name"),
+ sa.orm.defer("addresses.email_address"),
+ )
+ .get(u1.id)
)
- .get(u1.id)
- )
- assert "name" not in u1.__dict__
- assert "addresses" not in u1.__dict__
+ assert "name" not in u1.__dict__
+ assert "addresses" not in u1.__dict__
u2 = pickle.loads(pickle.dumps(u1))
- sess2 = create_session()
- sess2.add(u2)
- eq_(u2.name, "ed")
- assert "addresses" not in u2.__dict__
- ad = u2.addresses[0]
- assert "email_address" not in ad.__dict__
- eq_(ad.email_address, "ed@bar.com")
- eq_(
- u2,
- User(name="ed", addresses=[Address(email_address="ed@bar.com")]),
- )
+ with fixture_session() as sess2:
+ sess2.add(u2)
+ eq_(u2.name, "ed")
+ assert "addresses" not in u2.__dict__
+ ad = u2.addresses[0]
+ assert "email_address" not in ad.__dict__
+ eq_(ad.email_address, "ed@bar.com")
+ eq_(
+ u2,
+ User(
+ name="ed", addresses=[Address(email_address="ed@bar.com")]
+ ),
+ )
u2 = pickle.loads(pickle.dumps(u1))
- sess2 = create_session()
- u2 = sess2.merge(u2, load=False)
- eq_(u2.name, "ed")
- assert "addresses" not in u2.__dict__
- ad = u2.addresses[0]
+ with fixture_session() as sess2:
+ u2 = sess2.merge(u2, load=False)
+ eq_(u2.name, "ed")
+ assert "addresses" not in u2.__dict__
+ ad = u2.addresses[0]
- # mapper options now transmit over merge(),
- # new as of 0.6, so email_address is deferred.
- assert "email_address" not in ad.__dict__
+ # mapper options now transmit over merge(),
+ # new as of 0.6, so email_address is deferred.
+ assert "email_address" not in ad.__dict__
- eq_(ad.email_address, "ed@bar.com")
- eq_(
- u2,
- User(name="ed", addresses=[Address(email_address="ed@bar.com")]),
- )
+ eq_(ad.email_address, "ed@bar.com")
+ eq_(
+ u2,
+ User(
+ name="ed", addresses=[Address(email_address="ed@bar.com")]
+ ),
+ )
def test_pickle_protocols(self):
users, addresses = (self.tables.users, self.tables.addresses)
@@ -347,7 +355,7 @@ class PickleTest(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="ed")
u1.addresses.append(Address(email_address="ed@bar.com"))
sess.add(u1)
@@ -363,7 +371,7 @@ class PickleTest(fixtures.MappedTest):
def test_09_pickle(self):
users = self.tables.users
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
sess.add(User(id=1, name="ed"))
sess.commit()
sess.close()
@@ -389,7 +397,7 @@ class PickleTest(fixtures.MappedTest):
state.__setstate__(state_09)
eq_(state.expired_attributes, {"name", "id"})
- sess = Session()
+ sess = fixture_session()
sess.add(inst)
eq_(inst.name, "ed")
# test identity_token expansion
@@ -398,7 +406,7 @@ class PickleTest(fixtures.MappedTest):
def test_11_pickle(self):
users = self.tables.users
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="ed")
sess.add(u1)
sess.commit()
@@ -658,7 +666,7 @@ class OptionsTest(_Polymorphic):
eq_(opt2.__getstate__()["path"], serialized)
def test_load(self):
- s = Session()
+ s = fixture_session()
with_poly = with_polymorphic(Person, [Engineer, Manager], flat=True)
emp = (
@@ -706,17 +714,17 @@ class PolymorphicDeferredTest(fixtures.MappedTest):
)
eu = EmailUser(name="user1", email_address="foo@bar.com")
- sess = create_session()
- sess.add(eu)
- sess.flush()
- sess.expunge_all()
+ with fixture_session() as sess:
+ sess.add(eu)
+ sess.commit()
- eu = sess.query(User).first()
- eu2 = pickle.loads(pickle.dumps(eu))
- sess2 = create_session()
- sess2.add(eu2)
- assert "email_address" not in eu2.__dict__
- eq_(eu2.email_address, "foo@bar.com")
+ with fixture_session() as sess:
+ eu = sess.query(User).first()
+ eu2 = pickle.loads(pickle.dumps(eu))
+ sess2 = fixture_session()
+ sess2.add(eu2)
+ assert "email_address" not in eu2.__dict__
+ eq_(eu2.email_address, "foo@bar.com")
class TupleLabelTest(_fixtures.FixtureTest):
@@ -750,7 +758,7 @@ class TupleLabelTest(_fixtures.FixtureTest):
) # m2o
def test_tuple_labeling(self):
- sess = create_session()
+ sess = fixture_session()
# test pickle + all the protocols !
for pickled in False, -1, 0, 1, 2:
diff --git a/test/orm/test_query.py b/test/orm/test_query.py
index cee87c805..fd8e849fb 100644
--- a/test/orm/test_query.py
+++ b/test/orm/test_query.py
@@ -22,7 +22,6 @@ from sqlalchemy import inspect
from sqlalchemy import Integer
from sqlalchemy import literal
from sqlalchemy import literal_column
-from sqlalchemy import MetaData
from sqlalchemy import null
from sqlalchemy import or_
from sqlalchemy import select
@@ -43,7 +42,6 @@ from sqlalchemy.orm import backref
from sqlalchemy.orm import Bundle
from sqlalchemy.orm import column_property
from sqlalchemy.orm import contains_eager
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import defer
from sqlalchemy.orm import joinedload
from sqlalchemy.orm import lazyload
@@ -70,9 +68,9 @@ from sqlalchemy.testing import mock
from sqlalchemy.testing.assertions import assert_raises
from sqlalchemy.testing.assertions import assert_raises_message
from sqlalchemy.testing.assertions import eq_
-from sqlalchemy.testing.assertions import eq_ignore_whitespace
from sqlalchemy.testing.assertions import expect_warnings
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.util import collections_abc
@@ -95,8 +93,8 @@ class MiscTest(QueryTest):
def test_with_session(self):
User = self.classes.User
- s1 = Session()
- s2 = Session()
+ s1 = fixture_session()
+ s2 = fixture_session()
q1 = s1.query(User)
q2 = q1.with_session(s2)
assert q2.session is s2
@@ -106,14 +104,14 @@ class MiscTest(QueryTest):
class OnlyReturnTuplesTest(QueryTest):
def test_single_entity_false(self):
User = self.classes.User
- query = create_session().query(User).only_return_tuples(False)
+ query = fixture_session().query(User).only_return_tuples(False)
is_true(query.is_single_entity)
row = query.first()
assert isinstance(row, User)
def test_single_entity_true(self):
User = self.classes.User
- query = create_session().query(User).only_return_tuples(True)
+ query = fixture_session().query(User).only_return_tuples(True)
is_false(query.is_single_entity)
row = query.first()
assert isinstance(row, collections_abc.Sequence)
@@ -121,7 +119,9 @@ class OnlyReturnTuplesTest(QueryTest):
def test_multiple_entity_false(self):
User = self.classes.User
- query = create_session().query(User.id, User).only_return_tuples(False)
+ query = (
+ fixture_session().query(User.id, User).only_return_tuples(False)
+ )
is_false(query.is_single_entity)
row = query.first()
assert isinstance(row, collections_abc.Sequence)
@@ -129,7 +129,7 @@ class OnlyReturnTuplesTest(QueryTest):
def test_multiple_entity_true(self):
User = self.classes.User
- query = create_session().query(User.id, User).only_return_tuples(True)
+ query = fixture_session().query(User.id, User).only_return_tuples(True)
is_false(query.is_single_entity)
row = query.first()
assert isinstance(row, collections_abc.Sequence)
@@ -145,7 +145,7 @@ class RowTupleTest(QueryTest):
mapper(User, users, properties={"uname": users.c.name})
row = (
- create_session()
+ fixture_session()
.query(User.id, User.uname)
.filter(User.id == 7)
.first()
@@ -167,7 +167,7 @@ class RowTupleTest(QueryTest):
mapper(User, users)
- s = Session()
+ s = fixture_session()
q = testing.resolve_lambda(test_case, **locals())
@@ -189,7 +189,7 @@ class RowTupleTest(QueryTest):
mapper(User, users)
- s = Session(testing.db)
+ s = fixture_session()
q = testing.resolve_lambda(test_case, **locals())
@@ -207,7 +207,7 @@ class RowTupleTest(QueryTest):
mapper(User, users)
- s = Session()
+ s = fixture_session()
q = testing.resolve_lambda(test_case, **locals())
@@ -223,7 +223,7 @@ class RowTupleTest(QueryTest):
mapper(User, users, properties={"addresses": relationship(Address)})
mapper(Address, addresses)
- s = Session()
+ s = fixture_session()
row = s.query(User).only_return_tuples(True).first()
eq_(row._mapping[User], row[0])
@@ -451,7 +451,7 @@ class RowTupleTest(QueryTest):
mapper(User, users)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
user_alias = aliased(User)
user_alias_id_label = user_alias.id.label("foo")
address_alias = aliased(Address, name="aalias")
@@ -481,7 +481,7 @@ class RowTupleTest(QueryTest):
mapper(User, users)
- s = Session()
+ s = fixture_session()
q = s.query(User, type_coerce(users.c.id, MyType).label("foo")).filter(
User.id == 7
)
@@ -489,70 +489,11 @@ class RowTupleTest(QueryTest):
eq_(row, (User(id=7), [7]))
-class BindSensitiveStringifyTest(fixtures.TestBase):
- def _fixture(self):
- # building a totally separate metadata /mapping here
- # because we need to control if the MetaData is bound or not
-
- class User(object):
- pass
-
- m = MetaData()
- user_table = Table(
- "users",
- m,
- Column("id", Integer, primary_key=True),
- Column("name", String(50)),
- )
-
- mapper(User, user_table)
- return User
-
- def _dialect_fixture(self):
- class MyDialect(default.DefaultDialect):
- default_paramstyle = "qmark"
-
- from sqlalchemy.engine import base
-
- return base.Engine(mock.Mock(), MyDialect(), mock.Mock())
-
- def _test(self, bound_session, session_present, expect_bound):
- if bound_session:
- eng = self._dialect_fixture()
- else:
- eng = None
-
- User = self._fixture()
-
- s = Session(eng if bound_session else None)
- q = s.query(User).filter(User.id == 7)
- if not session_present:
- q = q.with_session(None)
-
- eq_ignore_whitespace(
- str(q),
- "SELECT users.id AS users_id, users.name AS users_name "
- "FROM users WHERE users.id = ?"
- if expect_bound
- else "SELECT users.id AS users_id, users.name AS users_name "
- "FROM users WHERE users.id = :id_1",
- )
-
- def test_query_bound_session(self):
- self._test(True, True, True)
-
- def test_query_no_session(self):
- self._test(False, False, False)
-
- def test_query_unbound_session(self):
- self._test(False, True, False)
-
-
class GetTest(QueryTest):
def test_loader_options(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1 = s.query(User).options(joinedload(User.addresses)).get(8)
eq_(len(u1.__dict__["addresses"]), 3)
@@ -560,7 +501,7 @@ class GetTest(QueryTest):
def test_loader_options_future(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1 = s.get(User, 8, options=[joinedload(User.addresses)])
eq_(len(u1.__dict__["addresses"]), 3)
@@ -568,13 +509,13 @@ class GetTest(QueryTest):
def test_get_composite_pk_keyword_based_no_result(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
is_(s.query(CompositePk).get({"i": 100, "j": 100}), None)
def test_get_composite_pk_keyword_based_result(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
one_two = s.query(CompositePk).get({"i": 1, "j": 2})
eq_(one_two.i, 1)
eq_(one_two.j, 2)
@@ -583,21 +524,21 @@ class GetTest(QueryTest):
def test_get_composite_pk_keyword_based_wrong_keys(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
q = s.query(CompositePk)
assert_raises(sa_exc.InvalidRequestError, q.get, {"i": 1, "k": 2})
def test_get_composite_pk_keyword_based_too_few_keys(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
q = s.query(CompositePk)
assert_raises(sa_exc.InvalidRequestError, q.get, {"i": 1})
def test_get_composite_pk_keyword_based_too_many_keys(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
q = s.query(CompositePk)
assert_raises(
sa_exc.InvalidRequestError, q.get, {"i": 1, "j": "2", "k": 3}
@@ -606,7 +547,7 @@ class GetTest(QueryTest):
def test_get(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
assert s.query(User).get(19) is None
u = s.query(User).get(7)
u2 = s.query(User).get(7)
@@ -618,7 +559,7 @@ class GetTest(QueryTest):
def test_get_future(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
assert s.get(User, 19) is None
u = s.get(User, 7)
u2 = s.get(User, 7)
@@ -630,13 +571,13 @@ class GetTest(QueryTest):
def test_get_composite_pk_no_result(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
assert s.query(CompositePk).get((100, 100)) is None
def test_get_composite_pk_result(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
one_two = s.query(CompositePk).get((1, 2))
assert one_two.i == 1
assert one_two.j == 2
@@ -645,28 +586,28 @@ class GetTest(QueryTest):
def test_get_too_few_params(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
q = s.query(CompositePk)
assert_raises(sa_exc.InvalidRequestError, q.get, 7)
def test_get_too_few_params_tuple(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
q = s.query(CompositePk)
assert_raises(sa_exc.InvalidRequestError, q.get, (7,))
def test_get_too_many_params(self):
CompositePk = self.classes.CompositePk
- s = Session()
+ s = fixture_session()
q = s.query(CompositePk)
assert_raises(sa_exc.InvalidRequestError, q.get, (7, 10, 100))
def test_get_against_col(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User.id)
assert_raises(sa_exc.InvalidRequestError, q.get, (5,))
@@ -694,14 +635,14 @@ class GetTest(QueryTest):
PK (i.e. map to an outerjoin) works with get()."""
UserThing = outerjoin_mapping
- sess = create_session()
+ sess = fixture_session()
u10 = sess.query(UserThing).get((10, None))
eq_(u10, UserThing(id=10))
def test_get_fully_null_pk(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User)
assert_raises_message(
sa_exc.SAWarning,
@@ -714,7 +655,7 @@ class GetTest(QueryTest):
def test_get_fully_null_composite_pk(self, outerjoin_mapping):
UserThing = outerjoin_mapping
- s = Session()
+ s = fixture_session()
q = s.query(UserThing)
assert_raises_message(
@@ -731,7 +672,7 @@ class GetTest(QueryTest):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
q = s.query(User).join("addresses").filter(Address.user_id == 8)
assert_raises(sa_exc.InvalidRequestError, q.get, 7)
@@ -750,7 +691,7 @@ class GetTest(QueryTest):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
s.query(User).get(7)
@@ -767,13 +708,13 @@ class GetTest(QueryTest):
m = mapper(SomeUser, s)
assert s.primary_key == m.primary_key
- sess = create_session()
+ sess = fixture_session()
assert sess.query(SomeUser).get(7).name == "jack"
def test_load(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session(autoflush=False)
assert s.query(User).populate_existing().get(19) is None
@@ -796,14 +737,8 @@ class GetTest(QueryTest):
assert u2.name == "jack"
assert a not in u2.addresses
- @testing.provide_metadata
@testing.requires.unicode_connections
- def test_unicode(self, connection):
- """test that Query.get properly sets up the type for the bind
- parameter. using unicode would normally fail on postgresql, mysql and
- oracle unless it is converted to an encoded string"""
-
- metadata = self.metadata
+ def test_unicode(self, metadata, connection):
table = Table(
"unicode_data",
metadata,
@@ -828,7 +763,7 @@ class GetTest(QueryTest):
def test_populate_existing(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session(autoflush=False)
userlist = s.query(User).all()
@@ -864,7 +799,7 @@ class GetTest(QueryTest):
def test_populate_existing_future(self):
User, Address = self.classes.User, self.classes.Address
- s = Session(testing.db, autoflush=False)
+ s = fixture_session(autoflush=False)
userlist = s.query(User).all()
@@ -915,7 +850,7 @@ class GetTest(QueryTest):
stmt = select(User).execution_options(
populate_existing=True, autoflush=False, yield_per=10
)
- s = Session(testing.db)
+ s = fixture_session()
m1 = mock.Mock()
@@ -940,7 +875,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
def test_no_limit_offset(self, test_case):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = testing.resolve_lambda(test_case, User=User, s=s)
@@ -964,7 +899,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
def test_no_from(self):
users, User = self.tables.users, self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User).select_from(users)
assert_raises(sa_exc.InvalidRequestError, q.select_from, users)
@@ -986,7 +921,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
def test_invalid_select_from(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User)
assert_raises(sa_exc.ArgumentError, q.select_from, User.id == 5)
assert_raises(sa_exc.ArgumentError, q.select_from, User.id)
@@ -998,7 +933,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
self.tables.users,
)
- s = create_session()
+ s = fixture_session()
q = s.query(User)
assert_raises(sa_exc.ArgumentError, q.from_statement, User.id == 5)
assert_raises(
@@ -1008,14 +943,14 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
def test_invalid_column(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User)
assert_raises(sa_exc.ArgumentError, q.add_columns, object())
def test_invalid_column_tuple(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User)
assert_raises(sa_exc.ArgumentError, q.add_columns, (1, 1))
@@ -1025,7 +960,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User).distinct()
assert_raises(sa_exc.InvalidRequestError, q.select_from, User)
assert_raises(
@@ -1041,7 +976,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User).order_by(User.id)
assert_raises(sa_exc.InvalidRequestError, q.select_from, User)
assert_raises(
@@ -1054,14 +989,14 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
def test_only_full_mapper_zero(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
q = s.query(User, Address)
assert_raises(sa_exc.InvalidRequestError, q.get, 5)
def test_entity_or_mapper_zero_from_context(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
q = s.query(User, Address)._compile_state()
is_(q._mapper_zero(), inspect(User))
@@ -1103,7 +1038,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
def test_from_statement(self, test_case):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = testing.resolve_lambda(test_case, User=User, s=s)
@@ -1119,7 +1054,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
def test_from_statement_text(self, meth, test_case):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User)
q = q.from_statement(text("x"))
@@ -1152,7 +1087,7 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
ua,
)
- s = Session()
+ s = fixture_session()
assert_raises_message(
sa_exc.ArgumentError,
"SQL expression element or literal value expected, got .*User",
@@ -1184,7 +1119,7 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
if entity is not None:
# specify a lead entity, so that when we are testing
# correlation, the correlation actually happens
- sess = Session()
+ sess = fixture_session()
lead = sess.query(entity)
context = lead._compile_context()
context.compile_state.statement._label_style = (
@@ -1199,7 +1134,7 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
self, clause, expected, from_, onclause, checkparams=None
):
dialect = default.DefaultDialect()
- sess = Session()
+ sess = fixture_session()
lead = sess.query(from_).join(onclause, aliased=True)
full = lead.filter(clause)
context = lead._compile_context()
@@ -1236,7 +1171,7 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
lhs = testing.resolve_lambda(lhs, User=User)
rhs = testing.resolve_lambda(rhs, User=User)
- create_session().query(User)
+ fixture_session().query(User)
self._test(py_op(lhs, rhs), res % sql_op)
@testing.combinations(
@@ -1269,7 +1204,7 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
def test_comparison(self, py_op, fwd_op, rev_op, fixture):
User = self.classes.User
- create_session().query(User)
+ fixture_session().query(User)
ualias = aliased(User)
lhs, rhs, l_sql, r_sql = fixture(User=User, ualias=ualias)
@@ -1554,7 +1489,7 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
self.classes.Dingaling,
)
- sess = Session()
+ sess = fixture_session()
q = sess.query(User).filter(
User.addresses.any(
@@ -1645,7 +1580,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_function_element_column_labels(self):
users = self.tables.users
- sess = Session()
+ sess = fixture_session()
class max_(expression.FunctionElement):
name = "max"
@@ -1659,7 +1594,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_truly_unlabeled_sql_expressions(self):
users = self.tables.users
- sess = Session()
+ sess = fixture_session()
class not_named_max(expression.ColumnElement):
name = "not_named_max"
@@ -1682,7 +1617,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- session = create_session()
+ session = fixture_session()
s = (
session.query(User)
.filter(
@@ -1733,7 +1668,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- session = create_session()
+ session = fixture_session()
q = session.query(User.id).filter(User.id == 7).scalar_subquery()
@@ -1751,7 +1686,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_subquery_no_eagerloads(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(User).options(joinedload(User.addresses)).subquery(),
@@ -1760,7 +1695,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_exists_no_eagerloads(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(
@@ -1772,7 +1707,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_named_subquery(self):
User = self.classes.User
- session = create_session()
+ session = fixture_session()
a1 = session.query(User.id).filter(User.id == 7).subquery("foo1")
a2 = session.query(User.id).filter(User.id == 7).subquery(name="foo2")
a3 = session.query(User.id).filter(User.id == 7).subquery()
@@ -1784,7 +1719,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_labeled_subquery(self):
User = self.classes.User
- session = create_session()
+ session = fixture_session()
a1 = (
session.query(User.id)
.filter(User.id == 7)
@@ -1796,7 +1731,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
ua = aliased(User)
- session = create_session()
+ session = fixture_session()
a1 = (
session.query(User.id, ua.id, ua.name)
.filter(User.id == ua.id)
@@ -1812,7 +1747,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_label(self):
User = self.classes.User
- session = create_session()
+ session = fixture_session()
q = session.query(User.id).filter(User.id == 7).label("foo")
self.assert_compile(
@@ -1824,7 +1759,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_scalar_subquery(self):
User = self.classes.User
- session = create_session()
+ session = fixture_session()
q = session.query(User.id).filter(User.id == 7).scalar_subquery()
@@ -1839,7 +1774,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_param_transfer(self):
User = self.classes.User
- session = create_session()
+ session = fixture_session()
q = (
session.query(User.id)
@@ -1855,7 +1790,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_in(self):
User, Address = self.classes.User, self.classes.Address
- session = create_session()
+ session = fixture_session()
s = (
session.query(User.id)
.join(User.addresses)
@@ -1867,7 +1802,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_union(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User).filter(User.name == "ed").with_labels()
q2 = s.query(User).filter(User.name == "fred").with_labels()
@@ -1881,7 +1816,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_select(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
# this is actually not legal on most DBs since the subquery has no
# alias
@@ -1898,7 +1833,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_join(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
# TODO: do we want aliased() to detect a query and convert to
# subquery() automatically ?
@@ -1918,7 +1853,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_group_by_plain(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).group_by(User.name)
self.assert_compile(
@@ -1931,7 +1866,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_group_by_append(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).group_by(User.name)
@@ -1946,7 +1881,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_group_by_cancellation(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).group_by(User.name)
# test cancellation by using None, replacement with something else
@@ -1969,7 +1904,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_group_by_cancelled_still_present(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).group_by(User.name).group_by(None)
@@ -1977,7 +1912,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_order_by_plain(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).order_by(User.name)
self.assert_compile(
@@ -1990,7 +1925,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_order_by_append(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).order_by(User.name)
@@ -2005,7 +1940,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_order_by_cancellation(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).order_by(User.name)
# test cancellation by using None, replacement with something else
@@ -2028,7 +1963,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_order_by_cancellation_false(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).order_by(User.name)
# test cancellation by using None, replacement with something else
@@ -2051,7 +1986,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_order_by_cancelled_allows_assertions(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).order_by(User.name).order_by(None)
@@ -2059,7 +1994,7 @@ class ExpressionTest(QueryTest, AssertsCompiledSQL):
def test_legacy_order_by_cancelled_allows_assertions(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q1 = s.query(User.id, User.name).order_by(User.name).order_by(False)
@@ -2118,7 +2053,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._func_fixture()
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1 = aliased(User)
self.assert_compile(
@@ -2131,7 +2066,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._func_fixture(label=True)
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1 = aliased(User)
self.assert_compile(
@@ -2144,7 +2079,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._func_fixture()
User = self.classes.User
- s = Session()
+ s = fixture_session()
u1 = aliased(User)
self.assert_compile(
@@ -2157,7 +2092,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, Address = self.classes("User", "Address")
self._fixture(label=True)
- s = Session()
+ s = fixture_session()
q = s.query(User).order_by("email_ad")
self.assert_compile(
q,
@@ -2172,7 +2107,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, Address = self.classes("User", "Address")
self._fixture(label=True)
- s = Session()
+ s = fixture_session()
ua = aliased(User)
q = s.query(ua).order_by("email_ad")
@@ -2187,7 +2122,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture(label=True)
ua = aliased(User)
- s = Session()
+ s = fixture_session()
q = s.query(ua).order_by(ua.ead)
self.assert_compile(
q,
@@ -2202,7 +2137,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture(label=True)
ua = aliased(User)
- s = Session()
+ s = fixture_session()
q = s.query(ua.ead).order_by(ua.ead)
self.assert_compile(
q,
@@ -2228,7 +2163,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture(label=True)
ua = aliased(User)
- s = Session()
+ s = fixture_session()
q = s.query(User.ead, ua.ead).order_by(User.ead, ua.ead)
self.assert_compile(
q,
@@ -2256,7 +2191,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture(label=True, polymorphic=True)
ua = aliased(User)
- s = Session()
+ s = fixture_session()
q = s.query(ua, User.id).order_by(ua.ead)
self.assert_compile(
q,
@@ -2272,7 +2207,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture(label=False)
ua = aliased(User)
- s = Session()
+ s = fixture_session()
q = s.query(ua).order_by(ua.ead)
self.assert_compile(
q,
@@ -2287,7 +2222,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture(label=False)
ua = aliased(User)
- s = Session()
+ s = fixture_session()
q = s.query(ua.ead).order_by(ua.ead)
self.assert_compile(
q,
@@ -2313,7 +2248,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture(label=False)
ua = aliased(User)
- s = Session()
+ s = fixture_session()
q = s.query(User.ead, ua.ead).order_by(User.ead, ua.ead)
self.assert_compile(
q,
@@ -2341,7 +2276,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, Address = self.classes("User", "Address")
self._fixture(label=True)
- s = Session()
+ s = fixture_session()
q = s.query(User).order_by(User.ead)
# this one is a bit of a surprise; this is compiler
# label-order-by logic kicking in, but won't work in more
@@ -2359,7 +2294,7 @@ class ColumnPropertyTest(_fixtures.FixtureTest, AssertsCompiledSQL):
User, Address = self.classes("User", "Address")
self._fixture(label=True)
- s = Session()
+ s = fixture_session()
q = s.query(User).options(defer(User.ead)).order_by(User.ead)
self.assert_compile(
q,
@@ -2387,7 +2322,7 @@ class ComparatorTest(QueryTest):
# this use case isn't exactly needed in this form, however it tests
# that we resolve for multiple __clause_element__() calls as is needed
# by systems like composites
- sess = Session()
+ sess = fixture_session()
eq_(
sess.query(Comparator(User.id))
.order_by(Comparator(User.id))
@@ -2404,16 +2339,16 @@ class SliceTest(QueryTest):
def test_first(self):
User = self.classes.User
- assert User(id=7) == create_session().query(User).first()
+ assert User(id=7) == fixture_session().query(User).first()
assert (
- create_session().query(User).filter(User.id == 27).first() is None
+ fixture_session().query(User).filter(User.id == 27).first() is None
)
def test_negative_indexes_raise(self):
User = self.classes.User
- sess = create_session(future=True)
+ sess = fixture_session(future=True)
q = sess.query(User).order_by(User.id)
with expect_raises_message(
@@ -2454,7 +2389,7 @@ class SliceTest(QueryTest):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).order_by(User.id)
self.assert_sql(
@@ -2516,7 +2451,7 @@ class SliceTest(QueryTest):
def test_first_against_expression_offset(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.order_by(User.id)
@@ -2540,7 +2475,7 @@ class SliceTest(QueryTest):
def test_full_slice_against_expression_offset(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.order_by(User.id)
@@ -2563,7 +2498,7 @@ class SliceTest(QueryTest):
def test_full_slice_against_integer_offset(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).order_by(User.id).offset(2)
self.assert_sql(
@@ -2583,7 +2518,7 @@ class SliceTest(QueryTest):
def test_start_slice_against_expression_offset(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).order_by(User.id).offset(literal_column("2"))
self.assert_sql(
@@ -2606,14 +2541,14 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_basic(self):
User = self.classes.User
- users = create_session().query(User).all()
+ users = fixture_session().query(User).all()
eq_([User(id=7), User(id=8), User(id=9), User(id=10)], users)
@testing.requires.offset
def test_limit_offset(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
assert [User(id=8), User(id=9)] == sess.query(User).order_by(
User.id
@@ -2632,7 +2567,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_select_with_bindparam_offset_limit(self):
"""Does a query allow bindparam for the limit?"""
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q1 = (
sess.query(self.classes.User)
.order_by(self.classes.User.id)
@@ -2659,7 +2594,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
@testing.requires.bound_limit_offset
def test_select_with_bindparam_offset_limit_w_cast(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
eq_(
list(
sess.query(User)
@@ -2677,7 +2612,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_exists(self):
User = self.classes.User
- sess = create_session(testing.db)
+ sess = fixture_session()
assert sess.query(exists().where(User.id == 9)).scalar()
assert not sess.query(exists().where(User.id == 29)).scalar()
@@ -2685,16 +2620,16 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_one_filter(self):
User = self.classes.User
- assert [User(id=8), User(id=9)] == create_session().query(User).filter(
- User.name.endswith("ed")
- ).all()
+ assert [User(id=8), User(id=9)] == fixture_session().query(
+ User
+ ).filter(User.name.endswith("ed")).all()
def test_contains(self):
"""test comparing a collection to an object instance."""
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
address = sess.query(Address).get(3)
assert [User(id=8)] == sess.query(User).filter(
User.addresses.contains(address)
@@ -2723,7 +2658,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_clause_element_ok(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(User).filter(User.addresses),
"SELECT users.id AS users_id, users.name AS users_name "
@@ -2735,7 +2670,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
unique"""
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
a1, a2 = sess.query(Address).order_by(Address.id)[0:2]
self.assert_compile(
sess.query(User)
@@ -2754,7 +2689,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
# SQL compilation
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
assert [User(id=8), User(id=9)] == sess.query(User).filter(
User.addresses.any(Address.email_address.like("%ed%"))
@@ -2789,7 +2724,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
# SQL compilation
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
# test that any() doesn't overcorrelate
assert [User(id=7), User(id=8)] == sess.query(User).join(
@@ -2807,7 +2742,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
assert [Address(id=5)] == sess.query(Address).filter(
Address.user.has(name="fred")
).all()
@@ -2856,7 +2791,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_contains_m2m(self):
Item, Order = self.classes.Item, self.classes.Order
- sess = create_session()
+ sess = fixture_session()
item = sess.query(Item).get(3)
eq_(
@@ -2912,7 +2847,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa.exc.ArgumentError,
"Mapped instance expected for relationship comparison to object.",
@@ -2933,7 +2868,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
user = sess.query(User).get(8)
assert [Address(id=2), Address(id=3), Address(id=4)] == sess.query(
Address
@@ -2978,7 +2913,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_filter_by(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
user = sess.query(User).get(8)
assert [Address(id=2), Address(id=3), Address(id=4)] == sess.query(
Address
@@ -2999,7 +2934,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_filter_by_tables(self):
users = self.tables.users
addresses = self.tables.addresses
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(users)
.filter_by(name="ed")
@@ -3014,7 +2949,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_empty_filters(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User)
@@ -3023,7 +2958,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_filter_by_no_property(self):
addresses = self.tables.addresses
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa.exc.InvalidRequestError,
'Entity namespace for "addresses" has no property "name"',
@@ -3038,7 +2973,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
self.classes.Address,
)
- sess = create_session()
+ sess = fixture_session()
# scalar
eq_(
@@ -3111,7 +3046,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
eq_(
[(7,), (8,), (9,), (10,)],
- create_session()
+ fixture_session()
.query(User.id)
.filter_by()
.order_by(User.id)
@@ -3119,7 +3054,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
)
eq_(
[(7,), (8,), (9,), (10,)],
- create_session()
+ fixture_session()
.query(User.id)
.filter_by(**{})
.order_by(User.id)
@@ -3128,7 +3063,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
def test_text_coerce(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
self.assert_compile(
s.query(User).filter(text("name='ed'")),
"SELECT users.id AS users_id, users.name "
@@ -3136,7 +3071,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
)
def test_filter_by_non_entity(self):
- s = create_session()
+ s = fixture_session()
e = sa.func.count(123)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -3197,7 +3132,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_has_composite_secondary(self):
A, D = self.classes("A", "D")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(A).filter(A.d.has(D.id == 1)),
"SELECT a.id AS a_id, a.b_id AS a_b_id FROM a WHERE EXISTS "
@@ -3207,7 +3142,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_has_many_to_one(self):
B, C = self.classes("B", "C")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(B).filter(B.c.has(C.id == 1)),
"SELECT b.id AS b_id, b.c_id AS b_c_id FROM b WHERE "
@@ -3216,7 +3151,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_any_many_to_many(self):
B, D = self.classes("B", "D")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(B).filter(B.d.any(D.id == 1)),
"SELECT b.id AS b_id, b.c_id AS b_c_id FROM b WHERE "
@@ -3226,7 +3161,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_any_one_to_many(self):
B, C = self.classes("B", "C")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(C).filter(C.bs.any(B.id == 1)),
"SELECT c.id AS c_id, c.d_id AS c_d_id FROM c WHERE "
@@ -3235,7 +3170,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_any_many_to_many_doesnt_overcorrelate(self):
B, D = self.classes("B", "D")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(B).join(B.d).filter(B.d.any(D.id == 1)),
@@ -3248,7 +3183,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_has_doesnt_overcorrelate(self):
B, C = self.classes("B", "C")
- s = Session()
+ s = fixture_session()
self.assert_compile(
s.query(B).join(B.c).filter(B.c.has(C.id == 1)),
@@ -3260,7 +3195,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_has_doesnt_get_aliased_join_subq(self):
B, C = self.classes("B", "C")
- s = Session()
+ s = fixture_session()
ca = aliased(C)
self.assert_compile(
@@ -3273,7 +3208,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
def test_any_many_to_many_doesnt_get_aliased_join_subq(self):
B, D = self.classes("B", "D")
- s = Session()
+ s = fixture_session()
da = aliased(D)
self.assert_compile(
@@ -3290,7 +3225,7 @@ class HasAnyTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
class HasMapperEntitiesTest(QueryTest):
def test_entity(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User)
@@ -3298,7 +3233,7 @@ class HasMapperEntitiesTest(QueryTest):
def test_cols(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User.id)
@@ -3306,7 +3241,7 @@ class HasMapperEntitiesTest(QueryTest):
def test_cols_set_entities(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User.id)
@@ -3315,7 +3250,7 @@ class HasMapperEntitiesTest(QueryTest):
def test_entity_set_entities(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q = s.query(User)
@@ -3329,7 +3264,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
def test_union(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
fred = s.query(User).filter(User.name == "fred")
ed = s.query(User).filter(User.name == "ed")
@@ -3355,7 +3290,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
q1 = (
s.query(User, Address)
.join(User.addresses)
@@ -3382,7 +3317,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q1 = s.query(User, literal("x"))
q2 = s.query(User, literal_column("'y'"))
q3 = q1.union(q2)
@@ -3401,7 +3336,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
def test_union_literal_expressions_results(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
x_literal = literal("x")
q1 = s.query(User, x_literal)
@@ -3435,7 +3370,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
def test_union_labeled_anonymous_columns(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
c1, c2 = column("c1"), column("c2")
q1 = s.query(User, c1.label("foo"), c1.label("bar"))
@@ -3460,7 +3395,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
def test_order_by_anonymous_col(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
c1, c2 = column("c1"), column("c2")
f = c1.label("foo")
@@ -3493,7 +3428,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
def test_union_mapped_colnames_preserved_across_subquery(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
q1 = s.query(User.name)
q2 = s.query(User.name)
@@ -3513,7 +3448,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
def test_intersect(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
fred = s.query(User).filter(User.name == "fred")
ed = s.query(User).filter(User.name == "ed")
@@ -3525,7 +3460,7 @@ class SetOpsTest(QueryTest, AssertsCompiledSQL):
def test_eager_load(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
fred = s.query(User).filter(User.name == "fred")
ed = s.query(User).filter(User.name == "ed")
@@ -3551,7 +3486,7 @@ class AggregateTest(QueryTest):
def test_sum(self):
Order = self.classes.Order
- sess = create_session()
+ sess = fixture_session()
orders = sess.query(Order).filter(Order.id.in_([2, 3, 4]))
eq_(
orders.with_entities(
@@ -3563,7 +3498,7 @@ class AggregateTest(QueryTest):
def test_apply(self):
Order = self.classes.Order
- sess = create_session()
+ sess = fixture_session()
assert sess.query(func.sum(Order.user_id * Order.address_id)).filter(
Order.id.in_([2, 3, 4])
).one() == (79,)
@@ -3571,7 +3506,7 @@ class AggregateTest(QueryTest):
def test_having(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
assert [User(name="ed", id=8)] == sess.query(User).order_by(
User.id
).group_by(User).join("addresses").having(
@@ -3593,7 +3528,7 @@ class ExistsTest(QueryTest, AssertsCompiledSQL):
def test_exists(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User)
self.assert_compile(
@@ -3612,7 +3547,7 @@ class ExistsTest(QueryTest, AssertsCompiledSQL):
def test_exists_col_warning(self):
User = self.classes.User
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query(User, Address).filter(User.id == Address.user_id)
self.assert_compile(
@@ -3625,7 +3560,7 @@ class ExistsTest(QueryTest, AssertsCompiledSQL):
def test_exists_w_select_from(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q1 = sess.query().select_from(User).exists()
self.assert_compile(
@@ -3637,7 +3572,7 @@ class CountTest(QueryTest):
def test_basic(self):
users, User = self.tables.users, self.classes.User
- s = create_session()
+ s = fixture_session()
eq_(s.query(User).count(), 4)
@@ -3646,7 +3581,7 @@ class CountTest(QueryTest):
def test_basic_future(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
eq_(
s.execute(select(func.count()).select_from(User)).scalar(),
@@ -3662,7 +3597,7 @@ class CountTest(QueryTest):
def test_count_char(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
# '*' is favored here as the most common character,
# it is reported that Informix doesn't like count(1),
# rumors about Oracle preferring count(1) don't appear
@@ -3681,7 +3616,7 @@ class CountTest(QueryTest):
def test_multiple_entity(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
q = s.query(User, Address).join(Address, true())
eq_(q.count(), 20) # cartesian product
@@ -3691,7 +3626,7 @@ class CountTest(QueryTest):
def test_multiple_entity_future(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
stmt = select(User, Address).join(Address, true())
@@ -3706,7 +3641,7 @@ class CountTest(QueryTest):
def test_nested(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
q = s.query(User, Address).join(Address, true()).limit(2)
eq_(q.count(), 2)
@@ -3719,7 +3654,7 @@ class CountTest(QueryTest):
def test_nested_future(self):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
stmt = select(User, Address).join(Address, true()).limit(2)
eq_(
@@ -3744,7 +3679,7 @@ class CountTest(QueryTest):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
q = s.query(func.count(distinct(User.name)))
eq_(q.count(), 1)
@@ -3766,7 +3701,7 @@ class CountTest(QueryTest):
User, Address = self.classes.User, self.classes.Address
- s = create_session()
+ s = fixture_session()
stmt = select(func.count(distinct(User.name)))
eq_(
@@ -3814,11 +3749,11 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
eq_(
[User(id=7), User(id=8), User(id=9), User(id=10)],
- create_session().query(User).order_by(User.id).distinct().all(),
+ fixture_session().query(User).order_by(User.id).distinct().all(),
)
eq_(
[User(id=7), User(id=9), User(id=8), User(id=10)],
- create_session()
+ fixture_session()
.query(User)
.distinct()
.order_by(desc(User.name))
@@ -3839,7 +3774,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
expr = (User.id.op("+")(2)).label("label")
- sess = create_session()
+ sess = fixture_session()
q = sess.query(expr).select_from(User).order_by(desc(expr)).distinct()
@@ -3856,7 +3791,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
expr = User.id + literal(1)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(expr).select_from(User).order_by(asc(expr)).distinct()
# no double col in the select list,
@@ -3872,7 +3807,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
expr = (User.id + literal(1)).label("label")
- sess = create_session()
+ sess = fixture_session()
q = sess.query(expr).select_from(User).order_by(asc(expr)).distinct()
# no double col in the select list,
@@ -3888,7 +3823,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
expr = (User.id + literal(1)).label("label")
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(expr)
.select_from(User)
@@ -3926,7 +3861,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
"""
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
subq = (
sess.query(User, Address.email_address)
@@ -3949,7 +3884,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
"""
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User, Address.email_address)
.join("addresses")
@@ -3972,7 +3907,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
# test that it works on embedded joinedload/LIMIT subquery
q = (
@@ -4001,7 +3936,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
subq = (
sess.query(
@@ -4046,7 +3981,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(
@@ -4086,7 +4021,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_one(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
subq = (
sess.query(
@@ -4123,7 +4058,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_union_one(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(
@@ -4160,7 +4095,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_union_two(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(
@@ -4190,7 +4125,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_two(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
@@ -4226,7 +4161,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_three(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User.id, User.name.label("foo"), Address.id)
@@ -4246,7 +4181,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_distinct_on(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
subq = (
sess.query(
@@ -4285,7 +4220,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_three_using_label_reference(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User.id, User.name.label("foo"), Address.id)
@@ -4305,7 +4240,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_illegal_label_reference(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User.id, User.name.label("foo"), Address.id).distinct(
"not a label"
@@ -4324,7 +4259,7 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
def test_columns_augmented_sql_four(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
@@ -4363,14 +4298,14 @@ class DistinctTest(QueryTest, AssertsCompiledSQL):
class PrefixSuffixWithTest(QueryTest, AssertsCompiledSQL):
def test_one_prefix(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
query = sess.query(User.name).prefix_with("PREFIX_1")
expected = "SELECT PREFIX_1 " "users.name AS users_name FROM users"
self.assert_compile(query, expected, dialect=default.DefaultDialect())
def test_one_suffix(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
query = sess.query(User.name).suffix_with("SUFFIX_1")
# trailing space for some reason
expected = "SELECT users.name AS users_name FROM users SUFFIX_1 "
@@ -4378,7 +4313,7 @@ class PrefixSuffixWithTest(QueryTest, AssertsCompiledSQL):
def test_many_prefixes(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
query = sess.query(User.name).prefix_with("PREFIX_1", "PREFIX_2")
expected = (
"SELECT PREFIX_1 PREFIX_2 " "users.name AS users_name FROM users"
@@ -4387,7 +4322,7 @@ class PrefixSuffixWithTest(QueryTest, AssertsCompiledSQL):
def test_chained_prefixes(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
query = (
sess.query(User.name)
.prefix_with("PREFIX_1")
@@ -4425,7 +4360,7 @@ class YieldTest(_fixtures.FixtureTest):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = iter(
sess.query(User)
.yield_per(1)
@@ -4451,7 +4386,7 @@ class YieldTest(_fixtures.FixtureTest):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
@event.listens_for(sess, "do_orm_execute")
def check(ctx):
@@ -4475,7 +4410,7 @@ class YieldTest(_fixtures.FixtureTest):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
@event.listens_for(sess, "do_orm_execute")
def check(ctx):
@@ -4500,7 +4435,7 @@ class YieldTest(_fixtures.FixtureTest):
self._eagerload_mappings()
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(joinedload("addresses")).yield_per(1)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -4513,7 +4448,7 @@ class YieldTest(_fixtures.FixtureTest):
self._eagerload_mappings()
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(subqueryload("addresses")).yield_per(1)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -4526,7 +4461,7 @@ class YieldTest(_fixtures.FixtureTest):
self._eagerload_mappings(addresses_lazy="subquery")
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).yield_per(1)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -4538,7 +4473,7 @@ class YieldTest(_fixtures.FixtureTest):
def test_joinedload_m2o_ok(self):
self._eagerload_mappings(user_lazy="joined")
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address).yield_per(1)
q.all()
@@ -4546,7 +4481,7 @@ class YieldTest(_fixtures.FixtureTest):
self._eagerload_mappings()
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(User)
.options(subqueryload("addresses"))
@@ -4566,7 +4501,7 @@ class YieldTest(_fixtures.FixtureTest):
def test_m2o_joinedload_not_others(self):
self._eagerload_mappings(addresses_lazy="joined")
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = (
sess.query(Address)
.options(lazyload("*"), joinedload("user"))
@@ -4591,7 +4526,7 @@ class HintsTest(QueryTest, AssertsCompiledSQL):
dialect = mysql.dialect()
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User).with_hint(
@@ -4627,7 +4562,7 @@ class HintsTest(QueryTest, AssertsCompiledSQL):
def test_statement_hints(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
stmt = (
sess.query(User)
.with_statement_hint("test hint one")
@@ -4658,7 +4593,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
assert_raises_message(
sa_exc.ArgumentError,
"Textual SQL expression",
- create_session().query(User).from_statement,
+ fixture_session().query(User).from_statement,
"select * from users order by id",
)
@@ -4666,14 +4601,14 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
eq_(
- create_session()
+ fixture_session()
.query(User)
.from_statement(text("select * from users order by id"))
.first(),
User(id=7),
)
eq_(
- create_session()
+ fixture_session()
.query(User)
.from_statement(
text("select * from users where name='nonexistent'")
@@ -4685,7 +4620,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_select_star_future(self):
User = self.classes.User
- sess = Session(testing.db)
+ sess = fixture_session()
eq_(
sess.execute(
select(User).from_statement(
@@ -4712,7 +4647,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
# ordering doesn't matter
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User).from_statement(
text(
"select name, 27 as foo, id as users_id from users order by id"
@@ -4733,7 +4668,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
# ordering doesn't matter
User = self.classes.User
- s = create_session(testing.db)
+ s = fixture_session()
q = select(User).from_statement(
text(
"select name, 27 as foo, id as users_id from users order by id"
@@ -4755,7 +4690,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session()
+ s = fixture_session()
q = s.query(User, Address).from_statement(
text(
"select users.name AS users_name, users.id AS users_id, "
@@ -4780,7 +4715,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session(testing.db)
+ s = fixture_session()
q = select(User, Address).from_statement(
text(
"select users.name AS users_name, users.id AS users_id, "
@@ -4805,7 +4740,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session()
+ s = fixture_session()
q = (
s.query(User)
.from_statement(
@@ -4831,7 +4766,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session(testing.db)
+ s = fixture_session()
q = (
select(User)
.from_statement(
@@ -4857,7 +4792,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session()
+ s = fixture_session()
q = (
s.query(User)
.from_statement(
@@ -4883,7 +4818,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session(testing.db)
+ s = fixture_session()
q = (
select(User)
.from_statement(
@@ -4911,7 +4846,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
users = self.tables.users
addresses = self.tables.addresses
- s = create_session()
+ s = fixture_session()
q = s.query(User.name, User.id, Address.id).from_statement(
text(
"select users.name AS users_name, users.id AS users_id, "
@@ -4950,7 +4885,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
if add_columns:
text_clause = text_clause.columns(User.id, User.name)
- s = create_session()
+ s = fixture_session()
q = (
s.query(User)
.from_statement(text_clause)
@@ -4966,12 +4901,12 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
eq_(
- create_session().query(User).filter(text("id in (8, 9)")).all(),
+ fixture_session().query(User).filter(text("id in (8, 9)")).all(),
[User(id=8), User(id=9)],
)
eq_(
- create_session()
+ fixture_session()
.query(User)
.filter(text("name='fred'"))
.filter(text("id=9"))
@@ -4979,7 +4914,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
[User(id=9)],
)
eq_(
- create_session()
+ fixture_session()
.query(User)
.filter(text("name='fred'"))
.filter(User.id == 9)
@@ -4990,7 +4925,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_whereclause_future(self):
User = self.classes.User
- s = create_session(testing.db)
+ s = fixture_session()
eq_(
s.execute(select(User).filter(text("id in (8, 9)")))
.scalars()
@@ -5022,14 +4957,14 @@ class TextTest(QueryTest, AssertsCompiledSQL):
sa_exc.ArgumentError,
r"Textual SQL expression 'id in \(:id1, :id2\)' "
"should be explicitly declared",
- create_session().query(User).filter,
+ fixture_session().query(User).filter,
"id in (:id1, :id2)",
)
def test_plain_textual_column(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
self.assert_compile(
s.query(User.id, text("users.name")),
@@ -5048,7 +4983,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_via_select(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
eq_(
s.query(User)
.from_statement(
@@ -5062,7 +4997,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_via_textasfrom_from_statement(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
eq_(
s.query(User)
@@ -5077,7 +5012,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_columns_via_textasfrom_from_statement(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
eq_(
s.query(User.id, User.name)
@@ -5092,7 +5027,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_via_textasfrom_use_mapped_columns(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
eq_(
s.query(User)
@@ -5107,7 +5042,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_via_textasfrom_select_from(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
eq_(
s.query(User)
@@ -5123,7 +5058,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_group_by_accepts_text(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = s.query(User).group_by(text("name"))
self.assert_compile(
@@ -5140,7 +5075,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_order_by_w_eager_one(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
# from 1.0.0 thru 1.0.2, the "name" symbol here was considered
# to be part of the things we need to ORDER BY and it was being
@@ -5169,7 +5104,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_order_by_w_eager_two(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
q = (
s.query(User)
@@ -5185,7 +5120,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_order_by_w_eager_three(self):
User = self.classes.User
- s = create_session()
+ s = fixture_session()
self.assert_compile(
s.query(User)
@@ -5217,7 +5152,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_order_by_w_eager_four(self):
User = self.classes.User
Address = self.classes.Address
- s = create_session()
+ s = fixture_session()
self.assert_compile(
s.query(User)
@@ -5254,7 +5189,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User, Address.email_address.label("email_address"))
@@ -5286,16 +5221,20 @@ class TextErrorTest(QueryTest, AssertsCompiledSQL):
def test_filter(self):
User = self.classes.User
- self._test(Session().query(User.id).filter, "myid == 5", "myid == 5")
+ self._test(
+ fixture_session().query(User.id).filter, "myid == 5", "myid == 5"
+ )
def test_having(self):
User = self.classes.User
- self._test(Session().query(User.id).having, "myid == 5", "myid == 5")
+ self._test(
+ fixture_session().query(User.id).having, "myid == 5", "myid == 5"
+ )
def test_from_statement(self):
User = self.classes.User
self._test(
- Session().query(User.id).from_statement,
+ fixture_session().query(User.id).from_statement,
"select id from user",
"select id from user",
)
@@ -5311,7 +5250,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
self.classes.Order,
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
u1 = q.filter_by(name="jack").one()
@@ -5362,7 +5301,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_select_from(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
q = sess.query(Address).select_from(Address).with_parent(u1)
self.assert_compile(
@@ -5377,7 +5316,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_from_entity_standalone_fn(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
q = sess.query(User, Address).filter(
with_parent(u1, "addresses", from_entity=Address)
@@ -5396,7 +5335,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_from_entity_query_entity(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
q = sess.query(User, Address).with_parent(
u1, "addresses", from_entity=Address
@@ -5415,7 +5354,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_select_from_alias(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
a1 = aliased(Address)
q = sess.query(a1).with_parent(u1)
@@ -5432,7 +5371,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_select_from_alias_explicit_prop(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
a1 = aliased(Address)
q = sess.query(a1).with_parent(u1, "addresses")
@@ -5449,7 +5388,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_select_from_alias_from_entity(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
a1 = aliased(Address)
a2 = aliased(Address)
@@ -5470,7 +5409,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_select_from_alias_of_type(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
a1 = aliased(Address)
a2 = aliased(Address)
@@ -5491,7 +5430,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_noparent(self):
Item, User = self.classes.Item, self.classes.User
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
u1 = q.filter_by(name="jack").one()
@@ -5508,7 +5447,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_m2m(self):
Item, Keyword = self.classes.Item, self.classes.Keyword
- sess = create_session()
+ sess = fixture_session()
i1 = sess.query(Item).filter_by(id=2).one()
k = sess.query(Keyword).with_parent(i1).all()
assert [
@@ -5520,7 +5459,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_with_transient(self):
User, Order = self.classes.User, self.classes.Order
- sess = Session()
+ sess = fixture_session()
q = sess.query(User)
u1 = q.filter_by(name="jack").one()
@@ -5548,7 +5487,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_with_pending_autoflush(self):
Order, User = self.classes.Order, self.classes.User
- sess = Session()
+ sess = fixture_session()
o1 = sess.query(Order).first()
opending = Order(id=20, user_id=o1.user_id)
@@ -5565,7 +5504,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_with_pending_no_autoflush(self):
Order, User = self.classes.Order, self.classes.User
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
o1 = sess.query(Order).first()
opending = Order(user_id=o1.user_id)
@@ -5579,7 +5518,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
"""bindparams used in the 'parent' query are unique"""
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
u1, u2 = sess.query(User).order_by(User.id)[0:2]
q1 = sess.query(Address).with_parent(u1, "addresses")
@@ -5604,7 +5543,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
def test_unique_binds_or(self):
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
u1, u2 = sess.query(User).order_by(User.id)[0:2]
self.assert_compile(
@@ -5672,7 +5611,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
q = sess.query(Address).filter(Address.user == User())
assert_raises_message(
@@ -5686,7 +5625,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
q = sess.query(Address).filter(Address.user == User(id=None))
with expect_warnings("Got None for value of column "):
@@ -5703,7 +5642,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
u1 = User()
# id is not set, so evaluates to NEVER_SET
@@ -5725,7 +5664,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
q = s.query(Address).filter(
Address.special_user == User(id=None, name=None)
)
@@ -5749,7 +5688,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self.classes.Dingaling,
self.classes.HasDingaling,
)
- s = Session()
+ s = fixture_session()
d = Dingaling(id=1)
s.add(d)
s.flush()
@@ -5773,7 +5712,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self.classes.Dingaling,
self.classes.HasDingaling,
)
- s = Session()
+ s = fixture_session()
d = Dingaling()
s.add(d)
s.flush()
@@ -5803,7 +5742,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self.classes.Dingaling,
self.classes.HasDingaling,
)
- s = Session()
+ s = fixture_session()
d = Dingaling(data="some data")
s.add(d)
s.commit()
@@ -5825,7 +5764,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- sess = Session()
+ sess = fixture_session()
q = sess.query(User).with_parent(Address(user_id=None), "user")
with expect_warnings("Got None for value of column"):
@@ -5840,7 +5779,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
q = s.query(User).with_parent(
Address(user_id=None, email_address=None), "special_user"
)
@@ -5858,7 +5797,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
q = s.query(Address).filter(Address.user != User(id=None))
with expect_warnings("Got None for value of column"):
self.assert_compile(
@@ -5876,7 +5815,7 @@ class WithTransientOnNone(_fixtures.FixtureTest, AssertsCompiledSQL):
self._fixture1()
User, Address = self.classes.User, self.classes.Address
- s = Session()
+ s = fixture_session()
# this one does *not* warn because we do the criteria
# without deferral
@@ -5965,7 +5904,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
def test_options(self):
User, Order = self.classes.User, self.classes.Order
- s = create_session()
+ s = fixture_session()
def go():
result = (
@@ -5994,7 +5933,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
def test_options_syn_of_syn(self):
User, Order = self.classes.User, self.classes.Order
- s = create_session()
+ s = fixture_session()
def go():
result = (
@@ -6023,7 +5962,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
def test_options_syn_of_syn_string(self):
User, Order = self.classes.User, self.classes.Order
- s = create_session()
+ s = fixture_session()
def go():
result = (
@@ -6061,7 +6000,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
[User.orders_syn, Order.items_syn],
[User.orders_syn_2, Order.items_syn],
):
- q = create_session().query(User)
+ q = fixture_session().query(User)
for path in j:
q = q.join(path)
q = q.filter_by(id=3)
@@ -6079,7 +6018,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
("name_syn", "orders_syn"),
("name_syn", "orders_syn_2"),
):
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
u1 = q.filter_by(**{nameprop: "jack"}).one()
@@ -6094,7 +6033,7 @@ class SynonymTest(QueryTest, AssertsCompiledSQL):
def test_froms_aliased_col(self):
Address, User = self.classes.Address, self.classes.User
- sess = create_session()
+ sess = fixture_session()
ua = aliased(User)
q = sess.query(ua.name_syn).join(Address, ua.id == Address.user_id)
@@ -6126,7 +6065,7 @@ class ImmediateTest(_fixtures.FixtureTest):
def test_one(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
sa.orm.exc.NoResultFound,
@@ -6208,7 +6147,7 @@ class ImmediateTest(_fixtures.FixtureTest):
def test_one_or_none(self):
User, Address = self.classes.User, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
eq_(sess.query(User).filter(User.id == 99).one_or_none(), None)
@@ -6291,7 +6230,7 @@ class ImmediateTest(_fixtures.FixtureTest):
def test_scalar(self):
User = self.classes.User
- sess = create_session()
+ sess = fixture_session()
eq_(sess.query(User.id).filter_by(id=7).scalar(), 7)
eq_(sess.query(User.id, User.name).filter_by(id=7).scalar(), 7)
@@ -6312,7 +6251,7 @@ class ExecutionOptionsTest(QueryTest):
def test_option_building(self):
User = self.classes.User
- sess = create_session(bind=testing.db, autocommit=False)
+ sess = fixture_session(autocommit=False)
q1 = sess.query(User)
eq_(q1._execution_options, dict())
@@ -6330,7 +6269,7 @@ class ExecutionOptionsTest(QueryTest):
def test_get_options(self):
User = self.classes.User
- sess = create_session(bind=testing.db, autocommit=False)
+ sess = fixture_session(autocommit=False)
q = sess.query(User).execution_options(foo="bar", stream_results=True)
eq_(q.get_execution_options(), dict(foo="bar", stream_results=True))
@@ -6350,9 +6289,7 @@ class ExecutionOptionsTest(QueryTest):
result.close()
return iter([])
- sess = create_session(
- bind=testing.db, autocommit=False, query_cls=TQuery
- )
+ sess = fixture_session(autocommit=False, query_cls=TQuery)
q1 = sess.query(User).execution_options(**execution_options)
q1.all()
@@ -6367,7 +6304,7 @@ class BooleanEvalTest(fixtures.TestBase, testing.AssertsCompiledSQL):
return d
def test_one(self):
- s = Session()
+ s = fixture_session()
c = column("x", Boolean)
self.assert_compile(
s.query(c).filter(c),
@@ -6376,7 +6313,7 @@ class BooleanEvalTest(fixtures.TestBase, testing.AssertsCompiledSQL):
)
def test_two(self):
- s = Session()
+ s = fixture_session()
c = column("x", Boolean)
self.assert_compile(
s.query(c).filter(c),
@@ -6385,7 +6322,7 @@ class BooleanEvalTest(fixtures.TestBase, testing.AssertsCompiledSQL):
)
def test_three(self):
- s = Session()
+ s = fixture_session()
c = column("x", Boolean)
self.assert_compile(
s.query(c).filter(~c),
@@ -6394,7 +6331,7 @@ class BooleanEvalTest(fixtures.TestBase, testing.AssertsCompiledSQL):
)
def test_four(self):
- s = Session()
+ s = fixture_session()
c = column("x", Boolean)
self.assert_compile(
s.query(c).filter(~c),
@@ -6403,7 +6340,7 @@ class BooleanEvalTest(fixtures.TestBase, testing.AssertsCompiledSQL):
)
def test_five(self):
- s = Session()
+ s = fixture_session()
c = column("x", Boolean)
self.assert_compile(
s.query(c).having(c),
@@ -6431,26 +6368,26 @@ class SessionBindTest(QueryTest):
def test_single_entity_q(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(User).all()
def test_aliased_entity_q(self):
User = self.classes.User
u = aliased(User)
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(u).all()
def test_sql_expr_entity_q(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(User.id).all()
def test_sql_expr_subquery_from_entity(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
subq = session.query(User.id).subquery()
session.query(subq).all()
@@ -6458,14 +6395,14 @@ class SessionBindTest(QueryTest):
@testing.requires.boolean_col_expressions
def test_sql_expr_exists_from_entity(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
subq = session.query(User.id).exists()
session.query(subq).all()
def test_sql_expr_cte_from_entity(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
cte = session.query(User.id).cte()
subq = session.query(cte).subquery()
@@ -6473,7 +6410,7 @@ class SessionBindTest(QueryTest):
def test_sql_expr_bundle_cte_from_entity(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
cte = session.query(User.id, User.name).cte()
subq = session.query(cte).subquery()
@@ -6482,63 +6419,63 @@ class SessionBindTest(QueryTest):
def test_count(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(User).count()
def test_single_col(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(User.name).all()
def test_single_col_from_subq(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
subq = session.query(User.id, User.name).subquery()
session.query(subq.c.name).all()
def test_aggregate_fn(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(func.max(User.name)).all()
def test_case(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(case([(User.name == "x", "C")], else_="W")).all()
def test_cast(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(cast(User.name, String())).all()
def test_type_coerce(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(type_coerce(User.name, String())).all()
def test_binary_op(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(User.name + "x").all()
@testing.requires.boolean_col_expressions
def test_boolean_op(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(User.name == "x").all()
def test_bulk_update_no_sync(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session):
session.query(User).filter(User.id == 15).update(
{"name": "foob"}, synchronize_session=False
@@ -6546,7 +6483,7 @@ class SessionBindTest(QueryTest):
def test_bulk_delete_no_sync(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session):
session.query(User).filter(User.id == 15).delete(
synchronize_session=False
@@ -6554,7 +6491,7 @@ class SessionBindTest(QueryTest):
def test_bulk_update_fetch_sync(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session):
session.query(User).filter(User.id == 15).update(
{"name": "foob"}, synchronize_session="fetch"
@@ -6562,7 +6499,7 @@ class SessionBindTest(QueryTest):
def test_bulk_delete_fetch_sync(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session):
session.query(User).filter(User.id == 15).delete(
synchronize_session="fetch"
@@ -6576,14 +6513,14 @@ class SessionBindTest(QueryTest):
"score",
column_property(func.coalesce(self.tables.users.c.name, None)),
)
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=True):
session.query(func.max(User.score)).scalar()
def test_plain_table(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=False):
session.query(inspect(User).local_table).all()
@@ -6591,14 +6528,14 @@ class SessionBindTest(QueryTest):
User = self.classes.User
# TODO: this test is dumb
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=False):
session.query(inspect(User).local_table).from_self().all()
def test_plain_table_count(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=False):
session.query(inspect(User).local_table).count()
@@ -6606,7 +6543,7 @@ class SessionBindTest(QueryTest):
User = self.classes.User
table = inspect(User).local_table
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session, expect_mapped_bind=False):
session.query(table).select_from(table).all()
@@ -6624,7 +6561,7 @@ class SessionBindTest(QueryTest):
.scalar_subquery()
),
)
- session = Session()
+ session = fixture_session()
with self._assert_bind_args(session):
session.query(func.max(User.score)).scalar()
@@ -6656,7 +6593,7 @@ class QueryClsTest(QueryTest):
def _test_get(self, fixture):
User = self.classes.User
- s = Session(query_cls=fixture())
+ s = fixture_session(query_cls=fixture())
assert s.query(User).get(19) is None
u = s.query(User).get(7)
@@ -6666,7 +6603,7 @@ class QueryClsTest(QueryTest):
def _test_o2m_lazyload(self, fixture):
User, Address = self.classes("User", "Address")
- s = Session(query_cls=fixture())
+ s = fixture_session(query_cls=fixture())
u1 = s.query(User).filter(User.id == 7).first()
eq_(u1.addresses, [Address(id=1)])
@@ -6674,7 +6611,7 @@ class QueryClsTest(QueryTest):
def _test_m2o_lazyload(self, fixture):
User, Address = self.classes("User", "Address")
- s = Session(query_cls=fixture())
+ s = fixture_session(query_cls=fixture())
a1 = s.query(Address).filter(Address.id == 1).first()
eq_(a1.user, User(id=7))
@@ -6682,7 +6619,7 @@ class QueryClsTest(QueryTest):
def _test_expr(self, fixture):
User, Address = self.classes("User", "Address")
- s = Session(query_cls=fixture())
+ s = fixture_session(query_cls=fixture())
q = s.query(func.max(User.id).label("max"))
eq_(q.scalar(), 10)
@@ -6691,7 +6628,7 @@ class QueryClsTest(QueryTest):
# see #4269. not documented but already out there.
User, Address = self.classes("User", "Address")
- s = Session(query_cls=fixture())
+ s = fixture_session(query_cls=fixture())
q = Query(func.max(User.id).label("max")).with_session(s)
eq_(q.scalar(), 10)
diff --git a/test/orm/test_relationships.py b/test/orm/test_relationships.py
index 996488fb1..5143d98c5 100644
--- a/test/orm/test_relationships.py
+++ b/test/orm/test_relationships.py
@@ -20,7 +20,6 @@ from sqlalchemy.orm import clear_mappers
from sqlalchemy.orm import column_property
from sqlalchemy.orm import composite
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import foreign
from sqlalchemy.orm import joinedload
@@ -29,7 +28,6 @@ from sqlalchemy.orm import relationship
from sqlalchemy.orm import remote
from sqlalchemy.orm import selectinload
from sqlalchemy.orm import Session
-from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import subqueryload
from sqlalchemy.orm import synonym
from sqlalchemy.orm.interfaces import MANYTOONE
@@ -41,9 +39,9 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import in_
from sqlalchemy.testing import is_
-from sqlalchemy.testing import startswith_
from sqlalchemy.testing.assertsql import assert_engine
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -288,7 +286,7 @@ class DependencyTwoParentTest(fixtures.MappedTest):
cls.classes.D,
)
- session = create_session(connection)
+ session = Session(connection)
a = A(name="a1")
b = B(name="b1")
c = C(name="c1", a_row=a)
@@ -303,7 +301,7 @@ class DependencyTwoParentTest(fixtures.MappedTest):
def test_DeleteRootTable(self):
A = self.classes.A
- session = create_session()
+ session = fixture_session()
a = session.query(A).filter_by(name="a1").one()
session.delete(a)
@@ -312,7 +310,7 @@ class DependencyTwoParentTest(fixtures.MappedTest):
def test_DeleteMiddleTable(self):
C = self.classes.C
- session = create_session()
+ session = fixture_session()
c = session.query(C).filter_by(name="c1").one()
session.delete(c)
@@ -345,7 +343,7 @@ class M2ODontOverwriteFKTest(fixtures.MappedTest):
def test_joinedload_doesnt_produce_bogus_event(self):
A, B = self._fixture()
- sess = Session()
+ sess = fixture_session()
b1 = B()
sess.add(b1)
@@ -364,7 +362,7 @@ class M2ODontOverwriteFKTest(fixtures.MappedTest):
def test_init_doesnt_produce_scalar_event(self):
A, B = self._fixture()
- sess = Session()
+ sess = fixture_session()
b1 = B()
sess.add(b1)
@@ -379,7 +377,7 @@ class M2ODontOverwriteFKTest(fixtures.MappedTest):
def test_init_doesnt_produce_collection_event(self):
A, B = self._fixture(uselist=True)
- sess = Session()
+ sess = fixture_session()
b1 = B()
sess.add(b1)
@@ -394,7 +392,7 @@ class M2ODontOverwriteFKTest(fixtures.MappedTest):
def test_scalar_relationship_overrides_fk(self):
A, B = self._fixture()
- sess = Session()
+ sess = fixture_session()
b1 = B()
sess.add(b1)
@@ -409,7 +407,7 @@ class M2ODontOverwriteFKTest(fixtures.MappedTest):
def test_collection_relationship_overrides_fk(self):
A, B = self._fixture(uselist=True)
- sess = Session()
+ sess = fixture_session()
b1 = B()
sess.add(b1)
@@ -506,7 +504,7 @@ class DirectSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
def _fixture(self):
Entity = self.classes.Entity
- sess = Session()
+ sess = fixture_session()
sess.add_all(
[
Entity("/foo"),
@@ -625,7 +623,7 @@ class DirectSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
def test_plain_join_descendants(self):
self._descendants_fixture(data=False)
Entity = self.classes.Entity
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(Entity).join(Entity.descendants, aliased=True),
"SELECT entity.path AS entity_path FROM entity JOIN entity AS "
@@ -1271,7 +1269,7 @@ class CompositeSelfRefFKTest(fixtures.MappedTest, AssertsCompiledSQL):
def _test_no_warning(self, overwrites=False):
configure_mappers()
self._test_relationships()
- sess = Session()
+ sess = fixture_session()
self._setup_data(sess)
self._test_lazy_relations(sess)
self._test_join_aliasing(sess)
@@ -1486,7 +1484,7 @@ class SynonymsAsFKsTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
b = B(id=0)
a = A(id=0, b=b)
@@ -1556,15 +1554,15 @@ class FKsAsPksTest(fixtures.MappedTest):
configure_mappers()
assert A.b.property.strategy.use_get
- sess = create_session()
+ with fixture_session() as sess:
+ a1 = A()
+ sess.add(a1)
+ sess.commit()
- a1 = A()
- sess.add(a1)
- sess.flush()
- sess.close()
- a1 = sess.query(A).first()
- a1.b = B()
- sess.flush()
+ with fixture_session() as sess:
+ a1 = sess.query(A).first()
+ a1.b = B()
+ sess.commit()
def test_no_delete_PK_AtoB(self):
"""A cant be deleted without B because B would have no PK value."""
@@ -1585,19 +1583,17 @@ class FKsAsPksTest(fixtures.MappedTest):
a1 = A()
a1.bs.append(B())
- sess = create_session()
- sess.add(a1)
- sess.flush()
-
- sess.delete(a1)
- try:
+ with fixture_session() as sess:
+ sess.add(a1)
sess.flush()
- assert False
- except AssertionError as e:
- startswith_(
- str(e),
+
+ sess.delete(a1)
+
+ assert_raises_message(
+ AssertionError,
"Dependency rule tried to blank-out "
"primary key column 'tableB.id' on instance ",
+ sess.flush,
)
def test_no_delete_PK_BtoA(self):
@@ -1616,40 +1612,37 @@ class FKsAsPksTest(fixtures.MappedTest):
b1 = B()
a1 = A()
b1.a = a1
- sess = create_session()
- sess.add(b1)
- sess.flush()
- b1.a = None
- try:
+ with fixture_session() as sess:
+ sess.add(b1)
sess.flush()
- assert False
- except AssertionError as e:
- startswith_(
- str(e),
+ b1.a = None
+ assert_raises_message(
+ AssertionError,
"Dependency rule tried to blank-out "
"primary key column 'tableB.id' on instance ",
+ sess.flush,
)
@testing.fails_on_everything_except(
"sqlite", testing.requires.mysql_non_strict
)
- def test_nullPKsOK_BtoA(self):
+ def test_nullPKsOK_BtoA(self, metadata, connection):
A, tableA = self.classes.A, self.tables.tableA
# postgresql cant handle a nullable PK column...?
tableC = Table(
"tablec",
- tableA.metadata,
+ metadata,
Column("id", Integer, primary_key=True),
Column(
"a_id",
Integer,
- ForeignKey("tableA.id"),
+ ForeignKey(tableA.c.id),
primary_key=True,
nullable=True,
),
)
- tableC.create()
+ tableC.create(connection)
class C(fixtures.BasicEntity):
pass
@@ -1662,10 +1655,10 @@ class FKsAsPksTest(fixtures.MappedTest):
c1 = C()
c1.id = 5
c1.a = None
- sess = create_session()
- sess.add(c1)
- # test that no error is raised.
- sess.flush()
+ with fixture_session() as sess:
+ sess.add(c1)
+ # test that no error is raised.
+ sess.flush()
def test_delete_cascade_BtoA(self):
"""No 'blank the PK' error when the child is to
@@ -1695,14 +1688,14 @@ class FKsAsPksTest(fixtures.MappedTest):
b1 = B()
a1 = A()
b1.a = a1
- sess = create_session()
- sess.add(b1)
- sess.flush()
- sess.delete(b1)
- sess.flush()
- assert a1 not in sess
- assert b1 not in sess
- sess.expunge_all()
+ 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):
@@ -1729,15 +1722,15 @@ class FKsAsPksTest(fixtures.MappedTest):
a1 = A()
b1 = B()
a1.bs.append(b1)
- sess = create_session()
- sess.add(a1)
- sess.flush()
+ with fixture_session() as sess:
+ sess.add(a1)
+ sess.flush()
+
+ sess.delete(a1)
+ sess.flush()
+ assert a1 not in sess
+ assert b1 not in sess
- sess.delete(a1)
- sess.flush()
- assert a1 not in sess
- assert b1 not in sess
- sess.expunge_all()
sa.orm.clear_mappers()
def test_delete_manual_AtoB(self):
@@ -1754,17 +1747,16 @@ class FKsAsPksTest(fixtures.MappedTest):
a1 = A()
b1 = B()
a1.bs.append(b1)
- sess = create_session()
- sess.add(a1)
- sess.add(b1)
- sess.flush()
+ with fixture_session() as sess:
+ sess.add(a1)
+ sess.add(b1)
+ sess.flush()
- sess.delete(a1)
- sess.delete(b1)
- sess.flush()
- assert a1 not in sess
- assert b1 not in sess
- sess.expunge_all()
+ sess.delete(a1)
+ sess.delete(b1)
+ sess.flush()
+ assert a1 not in sess
+ assert b1 not in sess
def test_delete_manual_BtoA(self):
tableB, A, B, tableA = (
@@ -1780,15 +1772,15 @@ class FKsAsPksTest(fixtures.MappedTest):
b1 = B()
a1 = A()
b1.a = a1
- sess = create_session()
- sess.add(b1)
- sess.add(a1)
- sess.flush()
- sess.delete(b1)
- sess.delete(a1)
- sess.flush()
- assert a1 not in sess
- assert b1 not in sess
+ with fixture_session() as sess:
+ sess.add(b1)
+ sess.add(a1)
+ sess.flush()
+ sess.delete(b1)
+ sess.delete(a1)
+ sess.flush()
+ assert a1 not in sess
+ assert b1 not in sess
class UniqueColReferenceSwitchTest(fixtures.MappedTest):
@@ -1840,7 +1832,7 @@ class UniqueColReferenceSwitchTest(fixtures.MappedTest):
mapper(A, table_a)
mapper(B, table_b, properties={"a": relationship(A, backref="bs")})
- session = create_session()
+ session = fixture_session()
a1, a2 = A(ident="uuid1"), A(ident="uuid2")
session.add_all([a1, a2])
a1.bs = [B(), B()]
@@ -1926,7 +1918,7 @@ class RelationshipToSelectableTest(fixtures.MappedTest):
),
)
- session = create_session()
+ session = fixture_session()
con = Container()
con.policyNum = "99"
con.policyEffDate = datetime.date.today()
@@ -2003,7 +1995,7 @@ class FKEquatedToConstantTest(fixtures.MappedTest):
mapper(TagInstance, tag_foo)
- sess = create_session()
+ sess = fixture_session()
t1 = Tag(data="some tag")
t1.foo.append(TagInstance(data="iplc_case"))
t1.foo.append(TagInstance(data="not_iplc_case"))
@@ -2075,7 +2067,7 @@ class BackrefPropagatesForwardsArgs(fixtures.MappedTest):
)
mapper(Address, addresses)
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="u1", addresses=[Address(email="a1")])
sess.add(u1)
sess.commit()
@@ -2153,7 +2145,7 @@ class AmbiguousJoinInterpretedAsSelfRef(fixtures.MappedTest):
def test_mapping(self):
Subscriber, Address = self.classes.Subscriber, self.classes.Address
- sess = create_session()
+ sess = fixture_session()
assert Subscriber.addresses.property.direction is ONETOMANY
assert Address.customer.property.direction is MANYTOONE
@@ -2210,7 +2202,7 @@ class ManualBackrefTest(_fixtures.FixtureTest):
},
)
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="u1")
a1 = Address(email_address="foo")
@@ -2550,7 +2542,7 @@ class TypeMatchTest(fixtures.MappedTest):
c1 = C()
a1.bs.append(b1)
a1.bs.append(c1)
- sess = create_session()
+ sess = fixture_session()
try:
sess.add(a1)
assert False
@@ -2582,7 +2574,7 @@ class TypeMatchTest(fixtures.MappedTest):
c1 = C()
a1.bs.append(b1)
a1.bs.append(c1)
- sess = create_session()
+ sess = fixture_session()
sess.add(a1)
sess.add(b1)
sess.add(c1)
@@ -2611,7 +2603,7 @@ class TypeMatchTest(fixtures.MappedTest):
c1 = C()
a1.bs.append(b1)
a1.bs.append(c1)
- sess = create_session()
+ sess = fixture_session()
sess.add(a1)
sess.add(b1)
sess.add(c1)
@@ -2637,7 +2629,7 @@ class TypeMatchTest(fixtures.MappedTest):
b1 = B()
d1 = D()
d1.a = b1
- sess = create_session()
+ sess = fixture_session()
sess.add(b1)
sess.add(d1)
assert_raises_message(
@@ -2662,7 +2654,7 @@ class TypeMatchTest(fixtures.MappedTest):
b1 = B()
d1 = D()
d1.a = b1
- sess = create_session()
+ sess = fixture_session()
assert_raises_message(
AssertionError, "doesn't handle objects of type", sess.add, d1
)
@@ -2725,16 +2717,22 @@ class TypedAssociationTable(fixtures.MappedTest):
c.col1 = "cid"
a.t2s.append(b)
a.t2s.append(c)
- sess = create_session()
+ sess = fixture_session()
sess.add(a)
sess.flush()
- eq_(select(func.count("*")).select_from(t3).scalar(), 2)
+ eq_(
+ sess.connection().scalar(select(func.count("*")).select_from(t3)),
+ 2,
+ )
a.t2s.remove(c)
sess.flush()
- eq_(select(func.count("*")).select_from(t3).scalar(), 1)
+ eq_(
+ sess.connection().scalar(select(func.count("*")).select_from(t3)),
+ 1,
+ )
class CustomOperatorTest(fixtures.MappedTest, AssertsCompiledSQL):
@@ -2782,7 +2780,7 @@ class CustomOperatorTest(fixtures.MappedTest, AssertsCompiledSQL):
)
mapper(B, self.tables.b)
self.assert_compile(
- Session().query(A).join(A.bs),
+ fixture_session().query(A).join(A.bs),
"SELECT a.id AS a_id, a.foo AS a_foo "
"FROM a JOIN b ON a.foo &* b.foo",
)
@@ -2976,7 +2974,7 @@ class ViewOnlyM2MBackrefTest(fixtures.MappedTest):
configure_mappers()
- sess = create_session()
+ sess = fixture_session()
a1 = A()
b1 = B(as_=[a1])
@@ -3069,7 +3067,7 @@ class ViewOnlyOverlappingNames(fixtures.MappedTest):
c3 = C3()
c3.data = "c1data"
c3.t2 = c2b
- sess = create_session()
+ sess = fixture_session()
sess.add(c1)
sess.add(c3)
sess.flush()
@@ -3330,7 +3328,7 @@ class ViewOnlyUniqueNames(fixtures.MappedTest):
c3 = C3()
c3.data = "c1data"
c3.t2 = c2b
- sess = create_session()
+ sess = fixture_session()
sess.add_all((c1, c3))
sess.flush()
@@ -3418,20 +3416,20 @@ class ViewOnlyNonEquijoin(fixtures.MappedTest):
mapper(Bar, bars)
- sess = create_session()
- sess.add_all(
- (
- Foo(id=4),
- Foo(id=9),
- Bar(id=1, fid=2),
- Bar(id=2, fid=3),
- Bar(id=3, fid=6),
- Bar(id=4, fid=7),
+ with fixture_session() as sess:
+ sess.add_all(
+ (
+ Foo(id=4),
+ Foo(id=9),
+ Bar(id=1, fid=2),
+ Bar(id=2, fid=3),
+ Bar(id=3, fid=6),
+ Bar(id=4, fid=7),
+ )
)
- )
- sess.flush()
+ sess.commit()
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(Foo).filter_by(id=4).one(),
Foo(id=4, bars=[Bar(fid=2), Bar(fid=3)]),
@@ -3492,7 +3490,7 @@ class ViewOnlyRepeatedRemoteColumn(fixtures.MappedTest):
)
mapper(Bar, bars)
- sess = create_session()
+ sess = fixture_session()
b1 = Bar(id=1, data="b1")
b2 = Bar(id=2, data="b2")
b3 = Bar(id=3, data="b3")
@@ -3566,7 +3564,7 @@ class ViewOnlyRepeatedLocalColumn(fixtures.MappedTest):
)
mapper(Bar, bars)
- sess = create_session()
+ sess = fixture_session()
f1 = Foo(id=1, data="f1")
f2 = Foo(id=2, data="f2")
b1 = Bar(fid1=1, data="b1")
@@ -3678,7 +3676,7 @@ class ViewOnlyComplexJoin(_RelationshipErrors, fixtures.MappedTest):
)
mapper(T3, t3)
- sess = create_session()
+ sess = fixture_session()
sess.add(T2(data="t2", t1=T1(data="t1"), t3s=[T3(data="t3")]))
sess.flush()
sess.expunge_all()
@@ -3766,7 +3764,7 @@ class FunctionAsPrimaryJoinTest(fixtures.DeclarativeMappedTest):
def test_lazyload(self):
Venue = self.classes.Venue
- s = Session()
+ s = fixture_session()
v1 = s.query(Venue).filter_by(name="parent1").one()
eq_(
[d.name for d in v1.descendants],
@@ -3775,7 +3773,7 @@ class FunctionAsPrimaryJoinTest(fixtures.DeclarativeMappedTest):
def test_joinedload(self):
Venue = self.classes.Venue
- s = Session()
+ s = fixture_session()
def go():
v1 = (
@@ -3951,7 +3949,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
)
is_(T1.t2s.property.direction, ONETOMANY)
eq_(T1.t2s.property.local_remote_pairs, [(t1.c.id, t2.c.t1id)])
- sess = create_session()
+ sess = fixture_session()
a1 = T1(id="number1", data="a1")
a2 = T1(id="number2", data="a2")
b1 = T2(data="b1", t1id="NuMbEr1")
@@ -3996,7 +3994,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
a1 = T1(id="number1", data="a1")
a2 = T1(id="number2", data="a2")
b1 = T2(data="b1", t1id="NuMbEr1")
@@ -4036,7 +4034,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
)
mapper(T2, t2)
- sess = create_session()
+ sess = fixture_session()
a1 = T1(id="NuMbeR1", data="a1")
a2 = T1(id="NuMbeR2", data="a2")
b1 = T2(data="b1", t1id="number1")
@@ -4081,7 +4079,7 @@ class ExplicitLocalRemoteTest(fixtures.MappedTest):
},
)
- sess = create_session()
+ sess = fixture_session()
a1 = T1(id="NuMbeR1", data="a1")
a2 = T1(id="NuMbeR2", data="a2")
b1 = T2(data="b1", t1id="number1")
@@ -4525,7 +4523,7 @@ class SecondaryNestedJoinTest(
def test_render_join(self):
A = self.classes.A
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(A).join(A.d),
"SELECT a.id AS a_id, a.name AS a_name, a.b_id AS a_b_id "
@@ -4537,7 +4535,7 @@ class SecondaryNestedJoinTest(
def test_render_joinedload(self):
A = self.classes.A
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(A).options(joinedload(A.d)),
"SELECT a.id AS a_id, a.name AS a_name, a.b_id AS a_b_id, "
@@ -4551,7 +4549,7 @@ class SecondaryNestedJoinTest(
def test_render_lazyload(self):
A = self.classes.A
- sess = Session()
+ sess = fixture_session()
a1 = sess.query(A).filter(A.name == "a1").first()
def go():
@@ -4577,14 +4575,14 @@ class SecondaryNestedJoinTest(
def test_join(self):
A, D = self.classes.A, self.classes.D
- sess = Session()
+ sess = fixture_session()
for a, d in sess.query(A, D).outerjoin(A.d):
eq_(self.mapping[a.name], d.name if d is not None else None)
def test_joinedload(self):
A = self.classes.A
- sess = Session()
+ sess = fixture_session()
for a in sess.query(A).options(joinedload(A.d)):
d = a.d
@@ -4592,7 +4590,7 @@ class SecondaryNestedJoinTest(
def test_lazyload(self):
A = self.classes.A
- sess = Session()
+ sess = fixture_session()
for a in sess.query(A):
d = a.d
@@ -5343,7 +5341,7 @@ class ActiveHistoryFlagTest(_fixtures.FixtureTest):
run_deletes = None
def _test_attribute(self, obj, attrname, newvalue):
- sess = Session()
+ sess = fixture_session()
sess.add(obj)
oldvalue = getattr(obj, attrname)
sess.commit()
@@ -5627,7 +5625,7 @@ class InactiveHistoryNoRaiseTest(_fixtures.FixtureTest):
},
)
- s = Session()
+ s = fixture_session()
a1 = Address(email_address="a1")
u1 = User(name="u1", addresses=[a1])
@@ -5727,7 +5725,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
users,
properties=dict(addresses=relationship(Address, lazy="raise")),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = [None]
def go():
@@ -5753,7 +5751,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
mapper(Address, addresses)
mapper(User, users, properties=dict(addresses=relationship(Address)))
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = [None]
def go():
@@ -5787,7 +5785,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
users,
properties=dict(addresses=relationship(Address, lazy="raise")),
)
- q = create_session().query(User).options(sa.orm.lazyload("addresses"))
+ q = fixture_session().query(User).options(sa.orm.lazyload("addresses"))
result = [None]
def go():
@@ -5810,7 +5808,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
)
mapper(Address, addresses, properties={"user": relationship(User)})
mapper(User, users)
- s = Session()
+ s = fixture_session()
a1 = (
s.query(Address)
.filter_by(id=1)
@@ -5836,7 +5834,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
)
mapper(Address, addresses, properties={"user": relationship(User)})
mapper(User, users)
- s = Session()
+ s = fixture_session()
a1 = (
s.query(Address)
.filter_by(id=1)
@@ -5886,7 +5884,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
},
)
mapper(User, users)
- s = Session()
+ s = fixture_session()
u1 = s.query(User).first() # noqa
a1 = (
s.query(Address)
@@ -5917,7 +5915,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
properties=dict(addresses=relationship(Address, backref="user")),
)
q = (
- create_session()
+ fixture_session()
.query(User, Address)
.join(Address, User.id == Address.user_id)
)
@@ -5955,7 +5953,7 @@ class RaiseLoadTest(_fixtures.FixtureTest):
properties=dict(addresses=relationship(Address, backref="user")),
)
q = (
- create_session()
+ fixture_session()
.query(User, Address)
.join(Address, User.id == Address.user_id)
)
@@ -6052,7 +6050,7 @@ class RelationDeprecationTest(fixtures.MappedTest):
)
mapper(Address, addresses_table)
- session = create_session()
+ session = fixture_session()
session.query(User).filter(
User.addresses.any(Address.email_address == "ed@foo.bar")
@@ -6123,7 +6121,7 @@ class SecondaryIncludesLocalColsTest(fixtures.MappedTest):
def test_query_join(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
with assert_engine(testing.db) as asserter_:
rows = s.query(A.id, B.id).join(A.bs).order_by(A.id, B.id).all()
@@ -6143,7 +6141,7 @@ class SecondaryIncludesLocalColsTest(fixtures.MappedTest):
def test_eager_join(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
with assert_engine(testing.db) as asserter_:
a2 = (
@@ -6166,7 +6164,7 @@ class SecondaryIncludesLocalColsTest(fixtures.MappedTest):
def test_exists(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
with assert_engine(testing.db) as asserter_:
eq_(set(id_ for id_, in s.query(A.id).filter(A.bs.any())), {1, 2})
@@ -6184,7 +6182,7 @@ class SecondaryIncludesLocalColsTest(fixtures.MappedTest):
def test_eager_selectin(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
with assert_engine(testing.db) as asserter_:
a2 = (
diff --git a/test/orm/test_scoping.py b/test/orm/test_scoping.py
index d1ed9acc1..5386fd112 100644
--- a/test/orm/test_scoping.py
+++ b/test/orm/test_scoping.py
@@ -39,7 +39,7 @@ class ScopedSessionTest(fixtures.MappedTest):
def test_basic(self):
table2, table1 = self.tables.table2, self.tables.table1
- Session = scoped_session(sa.orm.sessionmaker())
+ Session = scoped_session(sa.orm.sessionmaker(testing.db))
class CustomQuery(query.Query):
pass
diff --git a/test/orm/test_selectable.py b/test/orm/test_selectable.py
index 502df314a..c22391b44 100644
--- a/test/orm/test_selectable.py
+++ b/test/orm/test_selectable.py
@@ -12,6 +12,7 @@ from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -44,7 +45,7 @@ class SelectableNoFromsTest(fixtures.MappedTest, AssertsCompiledSQL):
mapper(Subset, selectable, primary_key=[selectable.c.x])
self.assert_compile(
- Session().query(Subset),
+ fixture_session().query(Subset),
"SELECT anon_1.x AS anon_1_x, anon_1.y AS anon_1_y, "
"anon_1.z AS anon_1_z FROM (SELECT x, y, z) AS anon_1",
use_default_dialect=True,
diff --git a/test/orm/test_selectin_relations.py b/test/orm/test_selectin_relations.py
index de6282da5..5535fe5d6 100644
--- a/test/orm/test_selectin_relations.py
+++ b/test/orm/test_selectin_relations.py
@@ -8,7 +8,6 @@ from sqlalchemy import String
from sqlalchemy import testing
from sqlalchemy.orm import aliased
from sqlalchemy.orm import clear_mappers
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import defaultload
from sqlalchemy.orm import defer
from sqlalchemy.orm import deferred
@@ -31,6 +30,7 @@ from sqlalchemy.testing import mock
from sqlalchemy.testing.assertsql import AllOf
from sqlalchemy.testing.assertsql import assert_engine
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -64,7 +64,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(selectinload(User.addresses))
@@ -122,7 +122,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
def go():
- sess = create_session()
+ sess = fixture_session()
u = aliased(User)
@@ -148,7 +148,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
for i in range(3):
def go():
- sess = create_session()
+ sess = fixture_session()
u = aliased(User)
@@ -165,7 +165,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
for i in range(3):
def go():
- sess = create_session()
+ sess = fixture_session()
u = aliased(User)
@@ -217,7 +217,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(selectinload(User.addresses))
@@ -249,7 +249,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(selectinload(User.addresses))
@@ -280,7 +280,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
properties={"addresses": relationship(Address, lazy="dynamic")},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
# previously this would not raise, but would emit
# the query needlessly and put the result nowhere.
@@ -314,7 +314,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(Item).order_by(Item.id)
+ q = fixture_session().query(Item).order_by(Item.id)
def go():
eq_(self.static.item_keyword_result, q.all())
@@ -344,7 +344,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(Item).order_by(Item.id)
+ q = fixture_session().query(Item).order_by(Item.id)
def go():
eq_(
@@ -377,7 +377,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(Item).order_by(Item.id)
+ q = fixture_session().query(Item).order_by(Item.id)
def go():
ka = aliased(Keyword)
@@ -407,7 +407,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -444,7 +444,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -484,7 +484,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = (
q.filter(User.id == Address.user_id)
.order_by(Address.email_address)
@@ -527,7 +527,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- sess = create_session()
+ sess = fixture_session()
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -713,7 +713,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
def _do_query_tests(self, opts, count):
Order, User = self.classes.Order, self.classes.User
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -732,7 +732,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
self.static.user_item_keyword_result[2:3],
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User)
.options(*opts)
@@ -772,7 +772,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
is_(sa.orm.class_mapper(Address).get_property("user").lazy, "selectin")
- sess = create_session()
+ sess = fixture_session()
eq_(
self.static.user_address_result,
sess.query(User).order_by(User.id).all(),
@@ -810,7 +810,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
is_(sa.orm.class_mapper(Address).get_property("user").lazy, "selectin")
- sess = create_session()
+ sess = fixture_session()
eq_(
self.static.user_address_result,
sess.query(User).order_by(User.id).all(),
@@ -1034,7 +1034,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
User, Address, Order, Item = self.classes(
"User", "Address", "Order", "Item"
)
- q = create_session().query(User).order_by(User.id)
+ q = fixture_session().query(User).order_by(User.id)
def items(*ids):
if no_items:
@@ -1133,7 +1133,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
result = q.order_by(User.id).limit(2).offset(1).all()
@@ -1159,7 +1159,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
result = q.filter(users.c.id == 7).all()
@@ -1184,7 +1184,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
result = q.filter(users.c.id == 10).all()
@@ -1207,7 +1207,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
user=relationship(mapper(User, users), lazy="selectin")
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address)
def go():
@@ -1233,7 +1233,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
q = sess.query(Order).filter(Order.id.in_([4, 5])).order_by(Order.id)
o4, o5 = q.all()
@@ -1269,7 +1269,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Order).filter(Order.id.in_([4, 5])).order_by(Order.id)
o4, o5 = q.all()
@@ -1293,7 +1293,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = q.filter(users.c.id == 10).all()
u1 = result[0]
@@ -1334,7 +1334,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
eq_(
@@ -1374,7 +1374,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
properties={"order": relationship(Order, uselist=False)},
)
mapper(Order, orders)
- s = create_session()
+ s = fixture_session()
assert_raises(
sa.exc.SAWarning,
s.query(User).options(selectinload(User.order)).all,
@@ -1405,7 +1405,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
)
mapper(Dingaling, self.tables.dingalings)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, Dingaling, sess
def _collection_to_collection_fixture(self):
@@ -1426,7 +1426,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
)
mapper(Item, self.tables.items)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Order, Item, sess
def _eager_config_fixture(self):
@@ -1437,7 +1437,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
properties={"addresses": relationship(Address, lazy="selectin")},
)
mapper(Address, self.tables.addresses)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, sess
def _deferred_config_fixture(self):
@@ -1451,7 +1451,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
},
)
mapper(Address, self.tables.addresses)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, sess
def test_runs_query_on_refresh(self):
@@ -1622,7 +1622,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
)
mapper(B, b)
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -1730,12 +1730,12 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
Paperwork(description="tps report #2"),
]
e2.paperwork = [Paperwork(description="tps report #3")]
- sess = create_session(connection)
+ sess = Session(connection)
sess.add_all([e1, e2])
sess.flush()
def test_correct_select_nofrom(self):
- sess = create_session()
+ sess = fixture_session()
# use Person.paperwork here just to give the least
# amount of context
q = (
@@ -1778,7 +1778,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
)
def test_correct_select_existingfrom(self):
- sess = create_session()
+ sess = fixture_session()
# use Person.paperwork here just to give the least
# amount of context
q = (
@@ -1829,7 +1829,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
def test_correct_select_with_polymorphic_no_alias(self):
# test #3106
- sess = create_session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer])
q = (
@@ -1875,7 +1875,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
def test_correct_select_with_polymorphic_alias(self):
# test #3106
- sess = create_session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer], aliased=True)
q = (
@@ -1929,7 +1929,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
def test_correct_select_with_polymorphic_flat_alias(self):
# test #3106
- sess = create_session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer], aliased=True, flat=True)
q = (
@@ -2061,7 +2061,7 @@ class HeterogeneousSubtypesTest(fixtures.DeclarativeMappedTest):
Company, Programmer, Manager, GolfSwing, Language = self.classes(
"Company", "Programmer", "Manager", "GolfSwing", "Language"
)
- sess = Session()
+ sess = fixture_session()
company = (
sess.query(Company)
.filter(Company.id == 1)
@@ -2082,7 +2082,7 @@ class HeterogeneousSubtypesTest(fixtures.DeclarativeMappedTest):
Company, Programmer, Manager, GolfSwing, Language = self.classes(
"Company", "Programmer", "Manager", "GolfSwing", "Language"
)
- sess = Session()
+ sess = fixture_session()
company = (
sess.query(Company)
.filter(Company.id == 2)
@@ -2105,7 +2105,7 @@ class HeterogeneousSubtypesTest(fixtures.DeclarativeMappedTest):
Company, Programmer, Manager, GolfSwing, Language = self.classes(
"Company", "Programmer", "Manager", "GolfSwing", "Language"
)
- sess = Session()
+ sess = fixture_session()
rows = (
sess.query(Company)
.options(
@@ -2169,7 +2169,7 @@ class TupleTest(fixtures.DeclarativeMappedTest):
def test_load_o2m(self):
A, B = self.classes("A", "B")
- session = Session()
+ session = fixture_session()
def go():
q = (
@@ -2205,7 +2205,7 @@ class TupleTest(fixtures.DeclarativeMappedTest):
def test_load_m2o(self):
A, B = self.classes("A", "B")
- session = Session()
+ session = fixture_session()
def go():
q = session.query(B).options(selectinload(B.a)).order_by(B.id)
@@ -2277,7 +2277,7 @@ class ChunkingTest(fixtures.DeclarativeMappedTest):
def test_odd_number_chunks(self):
A, B = self.classes("A", "B")
- session = Session()
+ session = fixture_session()
def go():
with mock.patch(
@@ -2320,7 +2320,7 @@ class ChunkingTest(fixtures.DeclarativeMappedTest):
import random
- session = Session()
+ session = fixture_session()
yield_per = random.randint(8, 105)
offset = random.randint(0, 19)
@@ -2350,7 +2350,7 @@ class ChunkingTest(fixtures.DeclarativeMappedTest):
def test_dont_emit_for_redundant_m2o(self):
A, B = self.classes("A", "B")
- session = Session()
+ session = fixture_session()
def go():
with mock.patch(
@@ -2498,7 +2498,7 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
@classmethod
def insert_data(cls, connection):
c1 = cls._fixture()
- sess = create_session(connection)
+ sess = Session(connection)
sess.add(c1)
sess.flush()
@@ -2526,7 +2526,7 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
)
def test_chained_selectin_subclass(self):
- s = Session()
+ s = fixture_session()
q = s.query(Company).options(
selectinload(Company.employees.of_type(Engineer))
.selectinload(Engineer.machines)
@@ -2568,7 +2568,7 @@ class SelfReferentialTest(fixtures.MappedTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2644,7 +2644,7 @@ class SelfReferentialTest(fixtures.MappedTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2691,7 +2691,7 @@ class SelfReferentialTest(fixtures.MappedTest):
"data": deferred(nodes.c.data),
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2744,7 +2744,7 @@ class SelfReferentialTest(fixtures.MappedTest):
nodes,
properties={"children": relationship(Node, order_by=nodes.c.id)},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2799,7 +2799,7 @@ class SelfReferentialTest(fixtures.MappedTest):
nodes,
properties={"children": relationship(Node, lazy="selectin")},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2891,7 +2891,7 @@ class SelfRefInheritanceAliasedTest(
attr1 = Foo.foo.of_type(r)
attr2 = r.foo
- s = Session()
+ s = fixture_session()
q = (
s.query(Foo)
.filter(Foo.id == 2)
@@ -2996,7 +2996,7 @@ class TestExistingRowPopulation(fixtures.DeclarativeMappedTest):
def test_o2m(self):
A, A2, B, C1o2m, C2o2m = self.classes("A", "A2", "B", "C1o2m", "C2o2m")
- s = Session()
+ s = fixture_session()
# A -J-> B -L-> C1
# A -J-> B -S-> C2
@@ -3017,7 +3017,7 @@ class TestExistingRowPopulation(fixtures.DeclarativeMappedTest):
def test_m2o(self):
A, A2, B, C1m2o, C2m2o = self.classes("A", "A2", "B", "C1m2o", "C2m2o")
- s = Session()
+ s = fixture_session()
# A -J-> B -L-> C1
# A -J-> B -S-> C2
@@ -3070,7 +3070,7 @@ class SingleInhSubclassTest(
def test_load(self):
(EmployerUser,) = self.classes("EmployerUser")
- s = Session()
+ s = fixture_session()
q = s.query(EmployerUser)
@@ -3132,7 +3132,7 @@ class MissingForeignTest(
def test_missing_rec(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
eq_(
s.query(A).options(selectinload(A.b)).order_by(A.id).all(),
[
@@ -3191,7 +3191,7 @@ class M2OWDegradeTest(
def test_use_join_parent_criteria(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
q = (
s.query(A)
.filter(A.id.in_([1, 3]))
@@ -3220,7 +3220,7 @@ class M2OWDegradeTest(
def test_use_join_parent_criteria_degrade_on_defer(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
q = (
s.query(A)
.filter(A.id.in_([1, 3]))
@@ -3255,7 +3255,7 @@ class M2OWDegradeTest(
def test_use_join(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
q = s.query(A).options(selectinload(A.b)).order_by(A.id)
results = self.assert_sql_execution(
testing.db,
@@ -3286,7 +3286,7 @@ class M2OWDegradeTest(
def test_use_join_omit_join_false(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
q = s.query(A).options(selectinload(A.b_no_omit_join)).order_by(A.id)
results = self.assert_sql_execution(
testing.db,
@@ -3318,7 +3318,7 @@ class M2OWDegradeTest(
def test_use_join_parent_degrade_on_defer(self):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
q = s.query(A).options(defer(A.b_id), selectinload(A.b)).order_by(A.id)
results = self.assert_sql_execution(
testing.db,
@@ -3423,7 +3423,7 @@ class SameNamePolymorphicTest(fixtures.DeclarativeMappedTest):
GenericParent, ParentA, ParentB, ChildA, ChildB = self.classes(
"GenericParent", "ParentA", "ParentB", "ChildA", "ChildB"
)
- session = Session()
+ session = fixture_session()
parent_types = with_polymorphic(GenericParent, [ParentA, ParentB])
@@ -3516,7 +3516,7 @@ class TestBakedCancelsCorrectly(fixtures.DeclarativeMappedTest):
# the cache spoil did not use full=True which kept the lead
# entities around.
- sess = Session()
+ sess = fixture_session()
foo_polymorphic = with_polymorphic(Foo, [SubFoo], aliased=True)
credit_adjustment_load = selectinload(
diff --git a/test/orm/test_session.py b/test/orm/test_session.py
index c5cf27525..20c4752b8 100644
--- a/test/orm/test_session.py
+++ b/test/orm/test_session.py
@@ -35,7 +35,7 @@ from sqlalchemy.testing import is_not
from sqlalchemy.testing import is_true
from sqlalchemy.testing import mock
from sqlalchemy.testing import pickleable
-from sqlalchemy.testing.fixtures import create_session
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.testing.util import gc_collect
@@ -203,11 +203,11 @@ class SessionUtilTest(_fixtures.FixtureTest):
mapper(User, users)
- s1 = Session()
+ s1 = fixture_session()
u1 = User()
s1.add(u1)
- s2 = Session()
+ s2 = fixture_session()
u2 = User()
s2.add(u2)
@@ -224,11 +224,11 @@ class SessionUtilTest(_fixtures.FixtureTest):
mapper(User, users)
- s1 = Session()
+ s1 = fixture_session()
u1 = User()
s1.add(u1)
- s2 = Session()
+ s2 = fixture_session()
u2 = User()
s2.add(u2)
@@ -255,7 +255,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = create_session()
+ sess = fixture_session(autoflush=False)
sess.add(User(name="test"))
sess.flush()
@@ -303,7 +303,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="test")
sess.add(u1)
sess.commit()
@@ -318,7 +318,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="test")
sess.add(u1)
sess.commit()
@@ -334,7 +334,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="test")
sess.add(u1)
assert_raises_message(
@@ -348,7 +348,7 @@ class SessionUtilTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="test")
sess.add(u1)
sess.commit()
@@ -367,7 +367,7 @@ class SessionStateTest(_fixtures.FixtureTest):
__prefer_requires__ = ("independent_connections",)
def test_info(self):
- s = Session()
+ s = fixture_session()
eq_(s.info, {})
maker = sessionmaker(info={"global": True, "s1": 5})
@@ -419,7 +419,7 @@ class SessionStateTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u = User()
u.name = "ed"
@@ -473,7 +473,7 @@ class SessionStateTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = sessionmaker()()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -504,7 +504,7 @@ class SessionStateTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
sess.commit()
@@ -537,7 +537,7 @@ class SessionStateTest(_fixtures.FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- with create_session(autocommit=False, autoflush=True) as sess:
+ with fixture_session(autocommit=False, autoflush=True) as sess:
u = User()
u.name = "ed"
sess.add(u)
@@ -653,7 +653,7 @@ class SessionStateTest(_fixtures.FixtureTest):
self.tables.users,
)
- s = create_session()
+ s = fixture_session()
mapper(
User,
users,
@@ -692,7 +692,7 @@ class SessionStateTest(_fixtures.FixtureTest):
assert user in s
assert user not in s.dirty
- s2 = create_session()
+ s2 = fixture_session()
assert_raises_message(
sa.exc.InvalidRequestError,
"is already attached to session",
@@ -722,8 +722,8 @@ class SessionStateTest(_fixtures.FixtureTest):
users = self.tables.users
mapper(User, users)
- s1 = Session()
- s2 = Session()
+ s1 = fixture_session()
+ s2 = fixture_session()
u1 = User(id=1, name="u1")
make_transient_to_detached(u1) # shorthand for actually persisting it
@@ -743,7 +743,7 @@ class SessionStateTest(_fixtures.FixtureTest):
mapper(User, users)
- with create_session() as s:
+ with fixture_session() as s:
s.execute(users.delete())
u1 = User(name="ed")
s.add(u1)
@@ -775,7 +775,7 @@ class SessionStateTest(_fixtures.FixtureTest):
)
mapper(Address, addresses)
- session = Session()
+ session = fixture_session()
@event.listens_for(session, "after_flush")
def load_collections(session, flush_context):
@@ -806,8 +806,8 @@ class SessionStateTest(_fixtures.FixtureTest):
users, User = self.tables.users, pickleable.User
mapper(User, users)
- sess1 = create_session()
- sess2 = create_session()
+ sess1 = fixture_session()
+ sess2 = fixture_session()
u1 = User(name="u1")
sess1.add(u1)
assert_raises_message(
@@ -824,7 +824,7 @@ class SessionStateTest(_fixtures.FixtureTest):
mapper(User, users)
Session = sessionmaker()
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -870,7 +870,7 @@ class SessionStateTest(_fixtures.FixtureTest):
def test_no_double_save(self):
users = self.tables.users
- sess = create_session()
+ sess = fixture_session()
class Foo(object):
def __init__(self):
@@ -893,7 +893,7 @@ class SessionStateTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
sess.add_all([User(name="u1"), User(name="u2"), User(name="u3")])
sess.commit()
@@ -911,7 +911,7 @@ class SessionStateTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
m = mapper(User, users)
- s = Session()
+ s = fixture_session()
@event.listens_for(m, "after_update")
def e(mapper, conn, target):
@@ -955,7 +955,7 @@ class SessionStateTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
sess.add(User(name="x"))
sess.commit()
@@ -976,7 +976,7 @@ class SessionStateTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="x")
sess.add(u1)
@@ -995,7 +995,7 @@ class SessionStateTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
sess.add(User(name="x"))
sess.commit()
@@ -1047,7 +1047,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
"""
User, Address = self.classes("User", "Address")
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = User(name="ed", addresses=[Address(email_address="foo")])
sess.add(u)
eq_(
@@ -1058,7 +1058,9 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
def test_deferred_expression_obj_was_gced(self):
User, Address = self.classes("User", "Address")
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(
+ autoflush=True, autocommit=False, expire_on_commit=False
+ )
u = User(name="ed", addresses=[Address(email_address="foo")])
sess.add(u)
@@ -1078,7 +1080,9 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
User, Address = self.classes("User", "Address")
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(
+ autoflush=True, autocommit=False, expire_on_commit=False
+ )
u = User(name="ed", addresses=[Address(email_address="foo")])
sess.add(u)
sess.commit()
@@ -1091,7 +1095,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
def test_deferred_expression_obj_was_never_flushed(self):
User, Address = self.classes("User", "Address")
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = User(name="ed", addresses=[Address(email_address="foo")])
assert_raises_message(
@@ -1120,7 +1124,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
def test_deferred_expression_unflushed_obj_became_detached_unexpired(self):
User, Address = self.classes("User", "Address")
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = User(name="ed", addresses=[Address(email_address="foo")])
q = sess.query(Address).filter(Address.user == u)
@@ -1134,7 +1138,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
def test_deferred_expression_unflushed_obj_became_detached_expired(self):
User, Address = self.classes("User", "Address")
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = User(name="ed", addresses=[Address(email_address="foo")])
q = sess.query(Address).filter(Address.user == u)
@@ -1149,7 +1153,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
def test_deferred_expr_unflushed_obj_became_detached_expired_by_key(self):
User, Address = self.classes("User", "Address")
- sess = create_session(autoflush=True, autocommit=False)
+ sess = fixture_session(autoflush=True, autocommit=False)
u = User(name="ed", addresses=[Address(email_address="foo")])
q = sess.query(Address).filter(Address.user == u)
@@ -1164,7 +1168,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
def test_deferred_expression_expired_obj_became_detached_expired(self):
User, Address = self.classes("User", "Address")
- sess = create_session(
+ sess = fixture_session(
autoflush=True, autocommit=False, expire_on_commit=True
)
u = User(name="ed", addresses=[Address(email_address="foo")])
@@ -1207,7 +1211,7 @@ class SessionStateWFixtureTest(_fixtures.FixtureTest):
mapper(Address, addresses)
mapper(User, users, properties={"addresses": relationship(Address)})
- sess = create_session(autocommit=False, autoflush=True)
+ sess = fixture_session(autocommit=False, autoflush=True)
u = sess.query(User).get(8)
newad = Address(email_address="a new address")
u.addresses.append(newad)
@@ -1244,7 +1248,7 @@ class SessionStateWFixtureTest(_fixtures.FixtureTest):
},
)
- session = create_session()
+ session = fixture_session()
u = session.query(User).filter_by(id=7).one()
# get everything to load in both directions
@@ -1288,7 +1292,7 @@ class NoCyclesOnTransientDetachedTest(_fixtures.FixtureTest):
User = self.classes.User
u1 = User()
u1.name = "ed"
- sess = Session()
+ sess = fixture_session()
sess.add(u1)
sess.flush()
return sess, u1
@@ -1306,7 +1310,7 @@ class NoCyclesOnTransientDetachedTest(_fixtures.FixtureTest):
u1.name = "ed"
self._assert_modified(u1)
self._assert_no_cycle(u1)
- sess = Session()
+ sess = fixture_session()
sess.add(u1)
self._assert_cycle(u1)
sess.flush()
@@ -1366,7 +1370,7 @@ class NoCyclesOnTransientDetachedTest(_fixtures.FixtureTest):
def test_move_persistent_clean(self):
sess, u1 = self._persistent_fixture()
sess.close()
- s2 = Session()
+ s2 = fixture_session()
s2.add(u1)
self._assert_no_cycle(u1)
self._assert_not_modified(u1)
@@ -1378,7 +1382,7 @@ class NoCyclesOnTransientDetachedTest(_fixtures.FixtureTest):
self._assert_modified(u1)
sess.close()
self._assert_no_cycle(u1)
- s2 = Session()
+ s2 = fixture_session()
s2.add(u1)
self._assert_cycle(u1)
self._assert_modified(u1)
@@ -1392,7 +1396,7 @@ class NoCyclesOnTransientDetachedTest(_fixtures.FixtureTest):
del sess
gc_collect()
self._assert_cycle(u1)
- s2 = Session()
+ s2 = fixture_session()
s2.add(u1)
self._assert_cycle(u1)
self._assert_modified(u1)
@@ -1417,7 +1421,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
- s = create_session()
+ s = fixture_session()
mapper(User, users)
s.add(User(name="ed"))
@@ -1449,7 +1453,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
def test_weakref_pickled(self):
users, User = self.tables.users, pickleable.User
- s = create_session()
+ s = fixture_session()
mapper(User, users)
s.add(User(name="ed"))
@@ -1486,7 +1490,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
self.classes.User,
)
- s = sessionmaker()()
+ s = fixture_session()
mapper(
User,
users,
@@ -1524,7 +1528,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
self.classes.User,
)
- s = sessionmaker()()
+ s = fixture_session()
mapper(
User,
users,
@@ -1561,7 +1565,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1569,7 +1573,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
# can't add u1 to Session,
# already belongs to u2
- s2 = Session()
+ s2 = fixture_session()
assert_raises_message(
sa.exc.InvalidRequestError,
r".*is already attached to session",
@@ -1592,7 +1596,7 @@ class WeakIdentityMapTest(_fixtures.FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="u1")
sess.add(u1)
@@ -1629,7 +1633,7 @@ class IsModifiedTest(_fixtures.FixtureTest):
def test_is_modified(self):
User, Address = self._default_mapping_fixture()
- s = create_session()
+ s = fixture_session()
# save user
u = User(name="fred")
@@ -1662,7 +1666,7 @@ class IsModifiedTest(_fixtures.FixtureTest):
User, Address = self._default_mapping_fixture()
- s = Session()
+ s = fixture_session()
u = User(name="fred", addresses=[Address(email_address="foo")])
s.add(u)
s.commit()
@@ -1687,7 +1691,7 @@ class IsModifiedTest(_fixtures.FixtureTest):
def test_is_modified_syn(self):
User, users = self.classes.User, self.tables.users
- s = sessionmaker()()
+ s = fixture_session()
mapper(User, users, properties={"uname": sa.orm.synonym("name")})
u = User(uname="fred")
@@ -1850,7 +1854,7 @@ class SessionInterface(fixtures.TestBase):
)
def raises_(method, *args, **kw):
- x_raises_(create_session(), method, *args, **kw)
+ x_raises_(fixture_session(), method, *args, **kw)
for name in [
"__contains__",
@@ -1874,7 +1878,7 @@ class SessionInterface(fixtures.TestBase):
self._map_it(OK)
- s = create_session()
+ s = fixture_session()
s.add(OK())
x_raises_(s, "flush", (user_arg,))
@@ -1903,7 +1907,10 @@ class SessionInterface(fixtures.TestBase):
def raises_(method, *args, **kw):
watchdog.add(method)
- callable_ = getattr(Session(), method)
+ callable_ = getattr(
+ Session(),
+ method,
+ )
if is_class:
assert_raises(
sa.orm.exc.UnmappedClassError, callable_, *args, **kw
@@ -1976,7 +1983,7 @@ class SessionInterface(fixtures.TestBase):
self._map_it(Mapped)
m1 = Mapped()
- s = create_session()
+ s = fixture_session()
with mock.patch.object(s, "_validate_persistent"):
assert_raises_message(
@@ -2107,7 +2114,7 @@ class FlushWarningsTest(fixtures.MappedTest):
User = self.classes.User
Address = self.classes.Address
- s = Session()
+ s = fixture_session()
event.listen(User, "after_insert", fn)
u1 = User(name="u1", addresses=[Address(name="a1")])
diff --git a/test/orm/test_subquery_relations.py b/test/orm/test_subquery_relations.py
index 280a4355f..fe20442a3 100644
--- a/test/orm/test_subquery_relations.py
+++ b/test/orm/test_subquery_relations.py
@@ -10,7 +10,6 @@ from sqlalchemy.orm import aliased
from sqlalchemy.orm import backref
from sqlalchemy.orm import clear_mappers
from sqlalchemy.orm import close_all_sessions
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import deferred
from sqlalchemy.orm import joinedload
from sqlalchemy.orm import mapper
@@ -28,6 +27,7 @@ from sqlalchemy.testing import is_not
from sqlalchemy.testing import is_true
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.entities import ComparableEntity
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from test.orm import _fixtures
@@ -62,7 +62,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(subqueryload(User.addresses))
@@ -106,7 +106,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
query_cache = {}
- sess = create_session()
+ sess = fixture_session()
u1 = (
sess.query(User)
@@ -155,7 +155,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
User, Dingaling, Address = self.user_dingaling_fixture()
for i in range(3):
- sess = create_session()
+ sess = fixture_session()
u = aliased(User)
@@ -180,7 +180,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
User, Dingaling, Address = self.user_dingaling_fixture()
for i in range(3):
- sess = create_session()
+ sess = fixture_session()
u = aliased(User)
@@ -195,7 +195,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
User, Dingaling, Address = self.user_dingaling_fixture()
for i in range(3):
- sess = create_session()
+ sess = fixture_session()
u = aliased(User)
q = sess.query(u).options(
@@ -248,7 +248,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(subqueryload(User.addresses))
@@ -280,7 +280,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User).options(subqueryload(User.addresses))
@@ -311,7 +311,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
properties={"addresses": relationship(Address, lazy="dynamic")},
)
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
# previously this would not raise, but would emit
# the query needlessly and put the result nowhere.
@@ -345,7 +345,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(Item).order_by(Item.id)
+ q = fixture_session().query(Item).order_by(Item.id)
def go():
eq_(self.static.item_keyword_result, q.all())
@@ -375,7 +375,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(Item).order_by(Item.id)
+ q = fixture_session().query(Item).order_by(Item.id)
def go():
eq_(
@@ -408,7 +408,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(Item).order_by(Item.id)
+ q = fixture_session().query(Item).order_by(Item.id)
def go():
ka = aliased(Keyword)
@@ -438,7 +438,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -475,7 +475,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -515,7 +515,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
result = (
q.filter(User.id == Address.user_id)
.order_by(Address.email_address)
@@ -558,7 +558,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- sess = create_session()
+ sess = fixture_session()
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -734,7 +734,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
def _do_query_tests(self, opts, count):
Order, User = self.classes.Order, self.classes.User
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -753,7 +753,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
self.static.user_item_keyword_result[2:3],
)
- sess = create_session()
+ sess = fixture_session()
eq_(
sess.query(User)
.options(*opts)
@@ -793,7 +793,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
is_(sa.orm.class_mapper(Address).get_property("user").lazy, "subquery")
- sess = create_session()
+ sess = fixture_session()
eq_(
self.static.user_address_result,
sess.query(User).order_by(User.id).all(),
@@ -831,7 +831,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
is_(sa.orm.class_mapper(Address).get_property("user").lazy, "subquery")
- sess = create_session()
+ sess = fixture_session()
eq_(
self.static.user_address_result,
sess.query(User).order_by(User.id).all(),
@@ -852,7 +852,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
properties=dict(addresses=relationship(Address, lazy="subquery")),
)
- sess = create_session()
+ sess = fixture_session()
self.assert_compile(
sess.query(User, literal_column("1")),
@@ -1071,7 +1071,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
User, Address, Order, Item = self.classes(
"User", "Address", "Order", "Item"
)
- q = create_session().query(User).order_by(User.id)
+ q = fixture_session().query(User).order_by(User.id)
def items(*ids):
if no_items:
@@ -1170,7 +1170,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(User)
result = q.order_by(User.id).limit(2).offset(1).all()
@@ -1200,7 +1200,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
eq_(
[
User(id=7, addresses=[Address(id=1)]),
@@ -1235,7 +1235,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
),
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
result = q.filter(users.c.id == 7).all()
@@ -1258,7 +1258,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
user=relationship(mapper(User, users), lazy="subquery")
),
)
- sess = create_session()
+ sess = fixture_session()
q = sess.query(Address)
def go():
@@ -1304,7 +1304,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
},
)
- q = create_session().query(User)
+ q = fixture_session().query(User)
def go():
eq_(
@@ -1344,7 +1344,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
properties={"order": relationship(Order, uselist=False)},
)
mapper(Order, orders)
- s = create_session()
+ s = fixture_session()
assert_raises(
sa.exc.SAWarning,
s.query(User).options(subqueryload(User.order)).all,
@@ -1375,7 +1375,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
)
mapper(Dingaling, self.tables.dingalings)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, Dingaling, sess
def _collection_to_collection_fixture(self):
@@ -1396,7 +1396,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
)
mapper(Item, self.tables.items)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Order, Item, sess
def _eager_config_fixture(self):
@@ -1407,7 +1407,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
properties={"addresses": relationship(Address, lazy="subquery")},
)
mapper(Address, self.tables.addresses)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, sess
def _deferred_config_fixture(self):
@@ -1421,7 +1421,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
},
)
mapper(Address, self.tables.addresses)
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
return User, Address, sess
def test_runs_query_on_refresh(self):
@@ -1592,7 +1592,7 @@ class OrderBySecondaryTest(fixtures.MappedTest):
)
mapper(B, b)
- sess = create_session()
+ sess = fixture_session()
def go():
eq_(
@@ -1721,12 +1721,12 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
),
]
e2.paperwork = [Paperwork(description="tps report #3")]
- sess = create_session(connection)
+ sess = Session(connection)
sess.add_all([e1, e2])
sess.flush()
def test_correct_subquery_nofrom(self):
- sess = create_session()
+ sess = fixture_session()
# use Person.paperwork here just to give the least
# amount of context
q = (
@@ -1779,7 +1779,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
)
def test_correct_subquery_existingfrom(self):
- sess = create_session()
+ sess = fixture_session()
# use Person.paperwork here just to give the least
# amount of context
q = (
@@ -1839,7 +1839,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
)
def test_correct_subquery_multilevel(self):
- sess = create_session()
+ sess = fixture_session()
# use Person.paperwork here just to give the least
# amount of context
q = (
@@ -1917,7 +1917,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
def test_correct_subquery_with_polymorphic_no_alias(self):
# test #3106
- sess = create_session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer])
q = (
@@ -1966,7 +1966,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
def test_correct_subquery_with_polymorphic_alias(self):
# test #3106
- sess = create_session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer], aliased=True)
q = (
@@ -2033,7 +2033,7 @@ class BaseRelationFromJoinedSubclassTest(_Polymorphic):
def test_correct_subquery_with_polymorphic_flat_alias(self):
# test #3106
- sess = create_session()
+ sess = fixture_session()
wp = with_polymorphic(Person, [Engineer], aliased=True, flat=True)
q = (
@@ -2193,7 +2193,7 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
@classmethod
def insert_data(cls, connection):
c1 = cls._fixture()
- sess = create_session(connection)
+ sess = Session(connection)
sess.add(c1)
sess.flush()
@@ -2221,7 +2221,7 @@ class SubRelationFromJoinedSubclassMultiLevelTest(_Polymorphic):
)
def test_chained_subq_subclass(self):
- s = Session()
+ s = fixture_session()
q = s.query(Company).options(
subqueryload(Company.employees.of_type(Engineer))
.subqueryload(Engineer.machines)
@@ -2263,7 +2263,7 @@ class SelfReferentialTest(fixtures.MappedTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2339,7 +2339,7 @@ class SelfReferentialTest(fixtures.MappedTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2386,7 +2386,7 @@ class SelfReferentialTest(fixtures.MappedTest):
"data": deferred(nodes.c.data),
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2439,7 +2439,7 @@ class SelfReferentialTest(fixtures.MappedTest):
nodes,
properties={"children": relationship(Node, order_by=nodes.c.id)},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2494,7 +2494,7 @@ class SelfReferentialTest(fixtures.MappedTest):
nodes,
properties={"children": relationship(Node, lazy="subquery")},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.append(Node(data="n11"))
n1.append(Node(data="n12"))
@@ -2725,7 +2725,7 @@ class CyclicalInheritingEagerTestOne(fixtures.MappedTest):
mapper(SubT2, None, inherits=T2, polymorphic_identity="subt2")
# testing a particular endless loop condition in eager load setup
- create_session().query(SubT).all()
+ fixture_session().query(SubT).all()
class CyclicalInheritingEagerTestTwo(
@@ -2765,7 +2765,7 @@ class CyclicalInheritingEagerTestTwo(
def test_from_subclass(self):
Director = self.classes.Director
- s = create_session()
+ s = fixture_session()
with self.sql_execution_asserter(testing.db) as asserter:
s.query(Director).options(subqueryload("*")).all()
@@ -2869,7 +2869,7 @@ class SubqueryloadDistinctTest(
Movie(title="Manhattan", credits=[Credit(), Credit()]),
Movie(title="Sweet and Lowdown", credits=[Credit()]),
]
- sess = create_session(connection)
+ sess = Session(connection)
sess.add_all([d])
sess.flush()
@@ -2897,7 +2897,7 @@ class SubqueryloadDistinctTest(
# Director.photos
expect_distinct = director_strategy_level in (True, None)
- s = create_session(testing.db)
+ s = fixture_session()
with self.sql_execution_asserter(testing.db) as asserter:
result = (
@@ -2963,7 +2963,7 @@ class SubqueryloadDistinctTest(
Movie = self.classes.Movie
Credit = self.classes.Credit
- s = create_session(testing.db)
+ s = fixture_session()
with self.sql_execution_asserter(testing.db) as asserter:
result = (
@@ -3047,7 +3047,7 @@ class JoinedNoLoadConflictTest(fixtures.DeclarativeMappedTest):
Parent = self.classes.Parent
Child = self.classes.Child
- s = Session()
+ s = fixture_session()
# here we have
# Parent->subqueryload->Child->joinedload->parent->noload->children.
@@ -3101,7 +3101,7 @@ class SelfRefInheritanceAliasedTest(
attr1 = Foo.foo.of_type(r)
attr2 = r.foo
- s = Session()
+ s = fixture_session()
q = (
s.query(Foo)
.filter(Foo.id == 2)
@@ -3211,7 +3211,7 @@ class TestExistingRowPopulation(fixtures.DeclarativeMappedTest):
def test_o2m(self):
A, A2, B, C1o2m, C2o2m = self.classes("A", "A2", "B", "C1o2m", "C2o2m")
- s = Session()
+ s = fixture_session()
# A -J-> B -L-> C1
# A -J-> B -S-> C2
@@ -3232,7 +3232,7 @@ class TestExistingRowPopulation(fixtures.DeclarativeMappedTest):
def test_m2o(self):
A, A2, B, C1m2o, C2m2o = self.classes("A", "A2", "B", "C1m2o", "C2m2o")
- s = Session()
+ s = fixture_session()
# A -J-> B -L-> C1
# A -J-> B -S-> C2
@@ -3323,7 +3323,7 @@ class FromSubqTest(fixtures.DeclarativeMappedTest):
def test_subq_w_from_self_one(self):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
cache = {}
@@ -3409,7 +3409,7 @@ class FromSubqTest(fixtures.DeclarativeMappedTest):
A, B, C = self.classes("A", "B", "C")
- s = Session()
+ s = fixture_session()
cache = {}
for i in range(3):
diff --git a/test/orm/test_sync.py b/test/orm/test_sync.py
index 880f0bd18..76cd7f758 100644
--- a/test/orm/test_sync.py
+++ b/test/orm/test_sync.py
@@ -3,7 +3,6 @@ from sqlalchemy import Integer
from sqlalchemy import testing
from sqlalchemy.orm import attributes
from sqlalchemy.orm import class_mapper
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import mapper
from sqlalchemy.orm import sync
@@ -11,6 +10,7 @@ from sqlalchemy.orm import unitofwork
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -61,7 +61,7 @@ class SyncTest(
def _fixture(self):
A, B = self.classes.A, self.classes.B
- session = create_session()
+ session = fixture_session()
uowcommit = self._get_test_uow(session)
a_mapper = class_mapper(A)
b_mapper = class_mapper(B)
diff --git a/test/orm/test_transaction.py b/test/orm/test_transaction.py
index 6eda6fbb6..550cf6535 100644
--- a/test/orm/test_transaction.py
+++ b/test/orm/test_transaction.py
@@ -14,7 +14,6 @@ from sqlalchemy import testing
from sqlalchemy import text
from sqlalchemy.future import Engine
from sqlalchemy.orm import attributes
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
@@ -33,6 +32,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import is_not
from sqlalchemy.testing import mock
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.util import gc_collect
from test.orm._fixtures import FixtureTest
@@ -44,10 +44,9 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
def test_no_close_transaction_on_flush(self):
User, users = self.classes.User, self.tables.users
- c = testing.db.connect()
- try:
+ with testing.db.connect() as c:
mapper(User, users)
- s = create_session(bind=c)
+ s = Session(bind=c)
s.begin()
tran = s._legacy_transaction()
s.add(User(name="first"))
@@ -61,8 +60,6 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
s.flush()
assert s._legacy_transaction() is tran
tran.close()
- finally:
- c.close()
@engines.close_open_connections
def test_subtransaction_on_external_subtrans(self):
@@ -71,7 +68,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
conn = testing.db.connect()
trans = conn.begin()
- sess = create_session(bind=conn, autocommit=False, autoflush=True)
+ sess = Session(bind=conn, autocommit=False, autoflush=True)
sess.begin(subtransactions=True)
u = User(name="ed")
sess.add(u)
@@ -88,7 +85,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
conn = testing.db.connect()
trans = conn.begin()
- sess = create_session(bind=conn, autocommit=False, autoflush=True)
+ sess = Session(bind=conn, autocommit=False, autoflush=True)
u = User(name="ed")
sess.add(u)
sess.flush()
@@ -106,7 +103,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
try:
conn = testing.db.connect()
trans = conn.begin()
- sess = create_session(bind=conn, autocommit=False, autoflush=True)
+ sess = Session(bind=conn, autocommit=False, autoflush=True)
u1 = User(name="u1")
sess.add(u1)
sess.flush()
@@ -134,7 +131,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
conn = engine.connect()
conn.begin()
- sess = create_session(bind=conn, autocommit=False, autoflush=True)
+ sess = Session(bind=conn, autocommit=False, autoflush=True)
u = User(name="ed")
sess.add(u)
sess.flush()
@@ -154,7 +151,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
conn = engine.connect()
conn.begin()
- sess = create_session(bind=conn, autocommit=False, autoflush=True)
+ sess = Session(bind=conn, autocommit=False, autoflush=True)
u = User(name="ed")
sess.add(u)
sess.flush()
@@ -174,7 +171,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
with engine.connect() as conn:
conn.begin()
- sess = create_session(bind=conn, autocommit=False, autoflush=True)
+ sess = Session(bind=conn, autocommit=False, autoflush=True)
u1 = User(name="u1")
sess.add(u1)
sess.flush()
@@ -194,7 +191,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
- session = create_session(bind=testing.db)
+ session = fixture_session()
session.begin()
session.begin_nested()
u1 = User(name="u1")
@@ -210,7 +207,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
- session = create_session(bind=testing.db)
+ session = fixture_session()
session.begin()
u1 = User(name="u1")
session.add(u1)
@@ -230,7 +227,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
def test_heavy_nesting(self):
users = self.tables.users
- session = create_session(bind=testing.db)
+ session = fixture_session()
session.begin()
session.connection().execute(users.insert().values(name="user1"))
session.begin(subtransactions=True)
@@ -263,7 +260,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
users = self.tables.users
engine = Engine._future_facade(testing.db)
- session = create_session(engine, autocommit=False)
+ session = Session(engine, autocommit=False)
session.begin()
session.connection().execute(users.insert().values(name="user1"))
@@ -354,8 +351,8 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
- s1 = create_session(bind=testing.db, autocommit=False)
- s2 = create_session(bind=testing.db, autocommit=False)
+ s1 = fixture_session(autocommit=False)
+ s2 = fixture_session(autocommit=False)
u1 = User(name="u1")
s1.add(u1)
s1.flush()
@@ -377,7 +374,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(Address, addresses)
engine2 = engines.testing_engine()
- sess = create_session(autocommit=True, autoflush=False, twophase=True)
+ sess = fixture_session(autocommit=True, autoflush=False, twophase=True)
sess.bind_mapper(User, testing.db)
sess.bind_mapper(Address, engine2)
sess.begin()
@@ -387,14 +384,15 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
sess.commit()
sess.close()
engine2.dispose()
- eq_(select(func.count("*")).select_from(users).scalar(), 1)
- eq_(select(func.count("*")).select_from(addresses).scalar(), 1)
+ with testing.db.connect() as conn:
+ eq_(conn.scalar(select(func.count("*")).select_from(users)), 1)
+ eq_(conn.scalar(select(func.count("*")).select_from(addresses)), 1)
@testing.requires.independent_connections
def test_invalidate(self):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u = User(name="u1")
sess.add(u)
sess.flush()
@@ -423,7 +421,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session(autocommit=False, autoflush=True)
+ sess = fixture_session(autocommit=False, autoflush=True)
sess.begin(subtransactions=True)
u = User(name="u1")
sess.add(u)
@@ -438,7 +436,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session()
+ sess = fixture_session()
sess.begin()
u = User(name="u1")
@@ -462,7 +460,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session(autocommit=False)
+ sess = fixture_session(autocommit=False)
u = User(name="u1")
sess.add(u)
sess.flush()
@@ -484,7 +482,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- sess = create_session(testing.db, autocommit=False, future=True)
+ sess = fixture_session(autocommit=False, future=True)
u = User(name="u1")
sess.add(u)
sess.flush()
@@ -507,7 +505,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
- sess = create_session(autocommit=True)
+ sess = fixture_session(autocommit=True)
sess.begin()
sess.begin_nested()
@@ -543,7 +541,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
- sess = create_session(autocommit=True)
+ sess = fixture_session(autocommit=True)
sess.begin()
sess.begin_nested()
@@ -575,7 +573,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
mapper(User, users)
- sess = create_session(autocommit=False)
+ sess = fixture_session(autocommit=False)
sess.begin_nested()
@@ -653,7 +651,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
to_flush = [User(name="ed"), User(name="jack"), User(name="wendy")]
@@ -677,7 +675,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
@event.listens_for(sess, "after_flush_postexec")
def add_another_user(session, ctx):
@@ -694,7 +692,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = create_session(autocommit=True)
+ sess = fixture_session(autocommit=True)
sess.begin()
sess.begin(subtransactions=True)
sess.add(User(name="u1"))
@@ -711,7 +709,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
sess.close()
def test_no_sql_during_commit(self):
- sess = create_session(bind=testing.db, autocommit=False)
+ sess = fixture_session(autocommit=False)
@event.listens_for(sess, "after_commit")
def go(session):
@@ -725,7 +723,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
)
def test_no_sql_during_prepare(self):
- sess = create_session(bind=testing.db, autocommit=False, twophase=True)
+ sess = fixture_session(autocommit=False, twophase=True)
sess.prepare()
@@ -738,7 +736,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
)
def test_no_sql_during_rollback(self):
- sess = create_session(bind=testing.db, autocommit=False)
+ sess = fixture_session(autocommit=False)
sess.connection()
@@ -820,7 +818,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
eq_(session.is_active, True)
def test_no_prepare_wo_twophase(self):
- sess = create_session(bind=testing.db, autocommit=False)
+ sess = fixture_session(autocommit=False)
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -830,7 +828,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
)
def test_closed_status_check(self):
- sess = create_session()
+ sess = fixture_session()
trans = sess.begin()
trans.rollback()
assert_raises_message(
@@ -845,7 +843,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
)
def test_deactive_status_check(self):
- sess = create_session()
+ sess = fixture_session()
trans = sess.begin()
trans2 = sess.begin(subtransactions=True)
trans2.rollback()
@@ -858,7 +856,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
)
def test_deactive_status_check_w_exception(self):
- sess = create_session()
+ sess = fixture_session()
trans = sess.begin()
trans2 = sess.begin(subtransactions=True)
try:
@@ -878,7 +876,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="u1")
sess.add(u1)
sess.commit()
@@ -984,7 +982,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(id=1, name="u1")
sess.add(u1)
sess.commit()
@@ -1027,7 +1025,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- session = create_session(autocommit=False)
+ session = fixture_session(autocommit=False)
session.add(User(name="ed"))
session._legacy_transaction().commit()
@@ -1037,7 +1035,7 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
User, users = self.classes.User, self.tables.users
mapper(User, users)
- session = create_session(testing.db, autocommit=False, future=True)
+ session = fixture_session(autocommit=False, future=True)
session.add(User(name="ed"))
session._legacy_transaction().commit()
@@ -1073,7 +1071,6 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
class _LocalFixture(FixtureTest):
run_setup_mappers = "once"
run_inserts = None
- session = sessionmaker()
@classmethod
def setup_mappers(cls):
@@ -1351,7 +1348,7 @@ class FixtureDataTest(_LocalFixture):
def test_attrs_on_rollback(self):
User = self.classes.User
- sess = self.session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
u1.name = "ed"
sess.rollback()
@@ -1359,7 +1356,7 @@ class FixtureDataTest(_LocalFixture):
def test_commit_persistent(self):
User = self.classes.User
- sess = self.session()
+ sess = fixture_session()
u1 = sess.query(User).get(7)
u1.name = "ed"
sess.flush()
@@ -1368,12 +1365,12 @@ class FixtureDataTest(_LocalFixture):
def test_concurrent_commit_persistent(self):
User = self.classes.User
- s1 = self.session()
+ s1 = fixture_session()
u1 = s1.query(User).get(7)
u1.name = "ed"
s1.commit()
- s2 = self.session()
+ s2 = fixture_session()
u2 = s2.query(User).get(7)
assert u2.name == "ed"
u2.name = "will"
@@ -1455,7 +1452,7 @@ class AutoExpireTest(_LocalFixture):
def test_expunge_pending_on_rollback(self):
User = self.classes.User
- sess = self.session()
+ sess = fixture_session()
u2 = User(name="newuser")
sess.add(u2)
assert u2 in sess
@@ -1464,7 +1461,7 @@ class AutoExpireTest(_LocalFixture):
def test_trans_pending_cleared_on_commit(self):
User = self.classes.User
- sess = self.session()
+ sess = fixture_session()
u2 = User(name="newuser")
sess.add(u2)
assert u2 in sess
@@ -1478,7 +1475,7 @@ class AutoExpireTest(_LocalFixture):
def test_update_deleted_on_rollback(self):
User = self.classes.User
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed")
s.add(u1)
s.commit()
@@ -1496,7 +1493,7 @@ class AutoExpireTest(_LocalFixture):
def test_gced_delete_on_rollback(self):
User, users = self.classes.User, self.tables.users
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed")
s.add(u1)
s.commit()
@@ -1531,7 +1528,7 @@ class AutoExpireTest(_LocalFixture):
def test_trans_deleted_cleared_on_rollback(self):
User = self.classes.User
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed")
s.add(u1)
s.commit()
@@ -1545,7 +1542,7 @@ class AutoExpireTest(_LocalFixture):
def test_update_deleted_on_rollback_cascade(self):
User, Address = self.classes.User, self.classes.Address
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed", addresses=[Address(email_address="foo")])
s.add(u1)
s.commit()
@@ -1561,7 +1558,7 @@ class AutoExpireTest(_LocalFixture):
def test_update_deleted_on_rollback_orphan(self):
User, Address = self.classes.User, self.classes.Address
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed", addresses=[Address(email_address="foo")])
s.add(u1)
s.commit()
@@ -1577,7 +1574,7 @@ class AutoExpireTest(_LocalFixture):
def test_commit_pending(self):
User = self.classes.User
- sess = self.session()
+ sess = fixture_session()
u1 = User(name="newuser")
sess.add(u1)
sess.flush()
@@ -1586,12 +1583,12 @@ class AutoExpireTest(_LocalFixture):
def test_concurrent_commit_pending(self):
User = self.classes.User
- s1 = self.session()
+ s1 = fixture_session()
u1 = User(name="edward")
s1.add(u1)
s1.commit()
- s2 = self.session()
+ s2 = fixture_session()
u2 = s2.query(User).filter(User.name == "edward").one()
u2.name = "will"
s2.commit()
@@ -1605,7 +1602,7 @@ class TwoPhaseTest(_LocalFixture):
@testing.requires.two_phase_transactions
def test_rollback_on_prepare(self):
User = self.classes.User
- s = self.session(twophase=True)
+ s = fixture_session(twophase=True)
u = User(name="ed")
s.add(u)
@@ -1620,7 +1617,7 @@ class RollbackRecoverTest(_LocalFixture):
def test_pk_violation(self):
User, Address = self.classes.User, self.classes.Address
- s = self.session()
+ s = fixture_session()
a1 = Address(email_address="foo")
u1 = User(id=1, name="ed", addresses=[a1])
@@ -1662,7 +1659,7 @@ class RollbackRecoverTest(_LocalFixture):
@testing.requires.savepoints
def test_pk_violation_with_savepoint(self):
User, Address = self.classes.User, self.classes.Address
- s = self.session()
+ s = fixture_session()
a1 = Address(email_address="foo")
u1 = User(id=1, name="ed", addresses=[a1])
s.add(u1)
@@ -1704,7 +1701,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints
def test_savepoint_rollback(self):
User = self.classes.User
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed")
u2 = User(name="jack")
s.add_all([u1, u2])
@@ -1731,7 +1728,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints
def test_savepoint_delete(self):
User = self.classes.User
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed")
s.add(u1)
s.commit()
@@ -1745,7 +1742,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints
def test_savepoint_commit(self):
User = self.classes.User
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed")
u2 = User(name="jack")
s.add_all([u1, u2])
@@ -1781,7 +1778,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints
def test_savepoint_rollback_collections(self):
User, Address = self.classes.User, self.classes.Address
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed", addresses=[Address(email_address="foo")])
s.add(u1)
s.commit()
@@ -1834,7 +1831,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints
def test_savepoint_commit_collections(self):
User, Address = self.classes.User, self.classes.Address
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed", addresses=[Address(email_address="foo")])
s.add(u1)
s.commit()
@@ -1889,7 +1886,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints
def test_expunge_pending_on_rollback(self):
User = self.classes.User
- sess = self.session()
+ sess = fixture_session()
sess.begin_nested()
u2 = User(name="newuser")
@@ -1901,7 +1898,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints
def test_update_deleted_on_rollback(self):
User = self.classes.User
- s = self.session()
+ s = fixture_session()
u1 = User(name="ed")
s.add(u1)
s.commit()
@@ -1916,7 +1913,7 @@ class SavepointTest(_LocalFixture):
@testing.requires.savepoints_w_release
def test_savepoint_lost_still_runs(self):
User = self.classes.User
- s = self.session(bind=self.bind)
+ s = fixture_session()
trans = s.begin_nested()
s.connection()
u1 = User(name="ed")
@@ -1951,7 +1948,7 @@ class AccountingFlagsTest(_LocalFixture):
def test_no_expire_on_commit(self):
User, users = self.classes.User, self.tables.users
- sess = sessionmaker(expire_on_commit=False)()
+ sess = fixture_session(expire_on_commit=False)
u1 = User(name="ed")
sess.add(u1)
sess.commit()
@@ -1967,12 +1964,12 @@ class AutoCommitTest(_LocalFixture):
__backend__ = True
def test_begin_nested_requires_trans(self):
- sess = create_session(autocommit=True)
+ sess = fixture_session(autocommit=True)
assert_raises(sa_exc.InvalidRequestError, sess.begin_nested)
def test_begin_preflush(self):
User = self.classes.User
- sess = create_session(autocommit=True)
+ sess = fixture_session(autocommit=True)
u1 = User(name="ed")
sess.add(u1)
@@ -1987,7 +1984,7 @@ class AutoCommitTest(_LocalFixture):
def test_accounting_commit_fails_add(self):
User = self.classes.User
- sess = create_session(autocommit=True)
+ sess = fixture_session(autocommit=True)
fail = False
@@ -2016,7 +2013,7 @@ class AutoCommitTest(_LocalFixture):
def test_accounting_commit_fails_delete(self):
User = self.classes.User
- sess = create_session(autocommit=True)
+ sess = fixture_session(autocommit=True)
fail = False
@@ -2047,7 +2044,7 @@ class AutoCommitTest(_LocalFixture):
when autocommit=True/expire_on_commit=True."""
User = self.classes.User
- sess = create_session(autocommit=True, expire_on_commit=True)
+ sess = fixture_session(autocommit=True, expire_on_commit=True)
u1 = User(id=1, name="ed")
sess.add(u1)
@@ -2071,7 +2068,7 @@ class ContextManagerPlusFutureTest(FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
def go():
with sess.begin_nested():
@@ -2091,7 +2088,7 @@ class ContextManagerPlusFutureTest(FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
with sess.begin():
sess.add(User(name="u1"))
@@ -2103,7 +2100,7 @@ class ContextManagerPlusFutureTest(FixtureTest):
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
def go():
with sess.begin():
@@ -2513,7 +2510,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
mapper(User, users)
- session = sessionmaker()()
+ session = fixture_session()
u1, u2, u3 = User(name="u1"), User(name="u2"), User(name="u3")
@@ -2544,7 +2541,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
u1 = User(name="u1")
- s = Session()
+ s = fixture_session()
s.add(u1)
s.flush()
del u1
@@ -2568,7 +2565,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
u1 = User(name="u1")
u2 = User(name="u2")
- s = Session()
+ s = fixture_session()
s.add_all([u1, u2])
s.commit()
@@ -2595,7 +2592,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
u1 = User(name="u1")
- s = Session()
+ s = fixture_session()
s.add(u1)
s.commit()
@@ -2624,7 +2621,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
u2 = User(name="u2")
u3 = User(name="u3")
- s = Session()
+ s = fixture_session()
s.add_all([u1, u2, u3])
s.commit()
@@ -2655,7 +2652,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
u1 = User(name="u1")
- s = Session()
+ s = fixture_session()
s.add(u1)
s.commit()
diff --git a/test/orm/test_unitofwork.py b/test/orm/test_unitofwork.py
index 7583b9d22..84373b2dc 100644
--- a/test/orm/test_unitofwork.py
+++ b/test/orm/test_unitofwork.py
@@ -17,7 +17,6 @@ from sqlalchemy import String
from sqlalchemy import testing
from sqlalchemy.inspection import inspect
from sqlalchemy.orm import column_property
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
@@ -30,6 +29,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing.assertsql import AllOf
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import Conditional
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.util import OrderedDict
@@ -70,7 +70,7 @@ class HistoryTest(_fixtures.FixtureTest):
),
)
- session = create_session(autocommit=False)
+ session = fixture_session(autocommit=False)
u = User(name="u1")
a = Address(email_address="u1@e")
@@ -129,7 +129,7 @@ class UnicodeTest(fixtures.MappedTest):
t1 = Test(id=1, txt=txt)
self.assert_(t1.txt == txt)
- session = create_session(autocommit=False)
+ session = fixture_session(autocommit=False)
session.add(t1)
session.commit()
@@ -150,12 +150,12 @@ class UnicodeTest(fixtures.MappedTest):
t1 = Test(txt=txt)
t1.t2s.append(Test2())
t1.t2s.append(Test2())
- session = create_session(autocommit=False)
+ session = fixture_session(autocommit=False, expire_on_commit=False)
session.add(t1)
session.commit()
session.close()
- session = create_session()
+ session = fixture_session()
t1 = session.query(Test).filter_by(id=t1.id).one()
assert len(t1.t2s) == 2
@@ -227,7 +227,7 @@ class UnicodeSchemaTest(fixtures.MappedTest):
b1 = B()
a1.t2s.append(b1)
- session = create_session()
+ session = fixture_session()
session.add(a1)
session.flush()
session.expunge_all()
@@ -265,7 +265,7 @@ class UnicodeSchemaTest(fixtures.MappedTest):
a1 = A(b=5)
b1 = B(e=7)
- session = create_session()
+ session = fixture_session()
session.add_all((a1, b1))
session.flush()
session.expunge_all()
@@ -302,7 +302,7 @@ class BinaryHistTest(fixtures.MappedTest, testing.AssertsExecutionResults):
mapper(Foo, t1)
- s = create_session()
+ s = fixture_session()
f1 = Foo(data=data)
s.add(f1)
@@ -367,7 +367,7 @@ class PKTest(fixtures.MappedTest):
e = Entry(name="entry1", value="this is entry 1", multi_rev=2)
- session = create_session()
+ session = fixture_session()
session.add(e)
session.flush()
session.expunge_all()
@@ -386,7 +386,7 @@ class PKTest(fixtures.MappedTest):
e = Entry(pk_col_1="pk1", pk_col_2="pk1_related", data="im the data")
- session = create_session()
+ session = fixture_session()
session.add(e)
session.flush()
@@ -402,7 +402,7 @@ class PKTest(fixtures.MappedTest):
data="some more data",
)
- session = create_session()
+ session = fixture_session()
session.add(e)
session.flush()
@@ -463,20 +463,21 @@ class ForeignPKTest(fixtures.MappedTest):
ps = PersonSite(site="asdf")
p.sites.append(ps)
- session = create_session()
+ session = fixture_session()
session.add(p)
session.flush()
- p_count = (
- select(func.count("*"))
- .where(people.c.person == "im the key")
- .scalar()
+ conn = session.connection()
+ p_count = conn.scalar(
+ select(func.count("*")).where(people.c.person == "im the key")
)
eq_(p_count, 1)
eq_(
- select(func.count("*"))
- .where(peoplesites.c.person == "im the key")
- .scalar(),
+ conn.scalar(
+ select(func.count("*")).where(
+ peoplesites.c.person == "im the key"
+ )
+ ),
1,
)
@@ -539,7 +540,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
u = User(name="test")
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
@@ -557,7 +558,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
u = User(name="test")
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
@@ -582,7 +583,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
u = User(name="test", counter=sa.select(5).scalar_subquery())
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
@@ -593,7 +594,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
PkDefault = self.classes.PkDefault
pk = PkDefault(id=literal(5) + 10, data="some data")
- session = Session()
+ session = fixture_session()
session.add(pk)
session.flush()
@@ -613,7 +614,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
bool,
None == sa.false(), # noqa
)
- s = create_session()
+ s = fixture_session()
hb = HasBoolean(value=None)
s.add(hb)
s.flush()
@@ -638,7 +639,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
u = User(id=5, name="test", counter=Thing(3))
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
@@ -706,24 +707,32 @@ class PassiveDeletesTest(fixtures.MappedTest):
)
},
)
- session = create_session()
- mc = MyClass()
- mc.children.append(MyOtherClass())
- mc.children.append(MyOtherClass())
- mc.children.append(MyOtherClass())
- mc.children.append(MyOtherClass())
+ with fixture_session() as session:
+ mc = MyClass()
+ mc.children.append(MyOtherClass())
+ mc.children.append(MyOtherClass())
+ mc.children.append(MyOtherClass())
+ mc.children.append(MyOtherClass())
- session.add(mc)
- session.flush()
- session.expunge_all()
+ session.add(mc)
+ session.flush()
+ session.expunge_all()
- eq_(select(func.count("*")).select_from(myothertable).scalar(), 4)
- mc = session.query(MyClass).get(mc.id)
- session.delete(mc)
- session.flush()
+ conn = session.connection()
+
+ eq_(
+ conn.scalar(select(func.count("*")).select_from(myothertable)),
+ 4,
+ )
+ mc = session.query(MyClass).get(mc.id)
+ session.delete(mc)
+ session.flush()
- eq_(select(func.count("*")).select_from(mytable).scalar(), 0)
- eq_(select(func.count("*")).select_from(myothertable).scalar(), 0)
+ eq_(conn.scalar(select(func.count("*")).select_from(mytable)), 0)
+ eq_(
+ conn.scalar(select(func.count("*")).select_from(myothertable)),
+ 0,
+ )
@testing.emits_warning(
r".*'passive_deletes' is normally configured on one-to-many"
@@ -754,7 +763,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
)
mapper(MyClass, mytable)
- session = Session()
+ session = fixture_session()
mc = MyClass()
mco = MyOtherClass()
mco.myclass = mc
@@ -882,20 +891,24 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
},
)
- session = create_session()
- mc = MyClass()
- mc.children.append(MyOtherClass())
- mc.children.append(MyOtherClass())
- mc.children.append(MyOtherClass())
- mc.children.append(MyOtherClass())
- session.add(mc)
- session.flush()
- session.expunge_all()
+ with fixture_session(expire_on_commit=False) as session:
+ mc = MyClass()
+ mc.children.append(MyOtherClass())
+ mc.children.append(MyOtherClass())
+ mc.children.append(MyOtherClass())
+ mc.children.append(MyOtherClass())
+ session.add(mc)
+ session.commit()
- eq_(select(func.count("*")).select_from(myothertable).scalar(), 4)
- mc = session.query(MyClass).get(mc.id)
- session.delete(mc)
- assert_raises(sa.exc.DBAPIError, session.flush)
+ with fixture_session(expire_on_commit=False) as session:
+ conn = session.connection()
+ eq_(
+ conn.scalar(select(func.count("*")).select_from(myothertable)),
+ 4,
+ )
+ mc = session.query(MyClass).get(mc.id)
+ session.delete(mc)
+ assert_raises(sa.exc.DBAPIError, session.flush)
def test_extra_passive_2(self):
myothertable, MyClass, MyOtherClass, mytable = (
@@ -916,19 +929,23 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
},
)
- session = create_session()
- mc = MyClass()
- mc.children.append(MyOtherClass())
- session.add(mc)
- session.flush()
- session.expunge_all()
+ with fixture_session(expire_on_commit=False) as session:
+ mc = MyClass()
+ mc.children.append(MyOtherClass())
+ session.add(mc)
+ session.commit()
- eq_(select(func.count("*")).select_from(myothertable).scalar(), 1)
+ with fixture_session(autoflush=False) as session:
+ conn = session.connection()
+ eq_(
+ conn.scalar(select(func.count("*")).select_from(myothertable)),
+ 1,
+ )
- mc = session.query(MyClass).get(mc.id)
- session.delete(mc)
- mc.children[0].data = "some new data"
- assert_raises(sa.exc.DBAPIError, session.flush)
+ mc = session.query(MyClass).get(mc.id)
+ session.delete(mc)
+ mc.children[0].data = "some new data"
+ assert_raises(sa.exc.DBAPIError, session.flush)
def test_extra_passive_obj_removed_o2m(self):
myothertable, MyClass, MyOtherClass, mytable = (
@@ -947,7 +964,7 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
},
)
- session = create_session()
+ session = fixture_session()
mc = MyClass()
moc1 = MyOtherClass()
moc2 = MyOtherClass()
@@ -982,7 +999,7 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
)
},
)
- session = Session()
+ session = fixture_session()
mc = MyClass()
session.add(mc)
session.commit()
@@ -1016,16 +1033,18 @@ class ColumnCollisionTest(fixtures.MappedTest):
pass
mapper(Book, book)
- sess = create_session()
+ with fixture_session() as sess:
- b1 = Book(book_id="abc", title="def")
- sess.add(b1)
- sess.flush()
+ b1 = Book(book_id="abc", title="def")
+ sess.add(b1)
+ sess.flush()
- b1.title = "ghi"
- sess.flush()
- sess.close()
- eq_(sess.query(Book).first(), Book(book_id="abc", title="ghi"))
+ b1.title = "ghi"
+ sess.flush()
+ sess.commit()
+
+ with fixture_session() as sess:
+ eq_(sess.query(Book).first(), Book(book_id="abc", title="ghi"))
class DefaultTest(fixtures.MappedTest):
@@ -1133,7 +1152,7 @@ class DefaultTest(fixtures.MappedTest):
h4 = Hoho()
h5 = Hoho(foober="im the new foober")
- session = create_session(autocommit=False)
+ session = fixture_session(autocommit=False, expire_on_commit=False)
session.add_all((h1, h2, h3, h4, h5))
session.commit()
@@ -1193,7 +1212,7 @@ class DefaultTest(fixtures.MappedTest):
mapper(Secondary, self.tables.secondary_table)
h1 = Hoho()
- session = create_session()
+ session = fixture_session()
session.add(h1)
if testing.db.dialect.implicit_returning:
@@ -1218,7 +1237,7 @@ class DefaultTest(fixtures.MappedTest):
mapper(Hoho, default_t)
h1 = Hoho(hoho="15", counter=15)
- session = create_session()
+ session = fixture_session()
session.add(h1)
session.flush()
@@ -1236,7 +1255,7 @@ class DefaultTest(fixtures.MappedTest):
mapper(Hoho, default_t)
h1 = Hoho()
- session = create_session()
+ session = fixture_session()
session.add(h1)
session.flush()
@@ -1272,7 +1291,7 @@ class DefaultTest(fixtures.MappedTest):
s1 = Secondary(data="s1")
h1.secondaries.append(s1)
- session = create_session()
+ session = fixture_session()
session.add(h1)
session.flush()
session.expunge_all()
@@ -1428,7 +1447,7 @@ class ColumnPropertyTest(fixtures.MappedTest):
)
mapper(SubData, subdata, inherits=Data)
- sess = create_session()
+ sess = fixture_session()
sd1 = SubData(a="hello", b="there", c="hi")
sess.add(sd1)
sess.flush()
@@ -1437,25 +1456,27 @@ class ColumnPropertyTest(fixtures.MappedTest):
def _test(self, expect_expiry, expect_deferred_load=False):
Data = self.classes.Data
- sess = create_session()
+ with fixture_session() as sess:
- d1 = Data(a="hello", b="there")
- sess.add(d1)
- sess.flush()
+ d1 = Data(a="hello", b="there")
+ sess.add(d1)
+ sess.flush()
- eq_(d1.aplusb, "hello there")
-
- d1.b = "bye"
- sess.flush()
- if expect_expiry:
- eq_(d1.aplusb, "hello bye")
- else:
eq_(d1.aplusb, "hello there")
- d1.b = "foobar"
- d1.aplusb = "im setting this explicitly"
- sess.flush()
- eq_(d1.aplusb, "im setting this explicitly")
+ d1.b = "bye"
+ sess.flush()
+ if expect_expiry:
+ eq_(d1.aplusb, "hello bye")
+ else:
+ eq_(d1.aplusb, "hello there")
+
+ d1.b = "foobar"
+ d1.aplusb = "im setting this explicitly"
+ sess.flush()
+ eq_(d1.aplusb, "im setting this explicitly")
+
+ sess.commit()
# test issue #3984.
# NOTE: if we only expire_all() here rather than start with brand new
@@ -1463,18 +1484,18 @@ class ColumnPropertyTest(fixtures.MappedTest):
# "undeferred". this is questionable but not as severe as the never-
# loaded attribute being loaded during an unexpire.
- sess.close()
- d1 = sess.query(Data).first()
+ with fixture_session() as sess:
+ d1 = sess.query(Data).first()
- d1.b = "so long"
- sess.flush()
- sess.expire_all()
- eq_(d1.b, "so long")
- if expect_deferred_load:
- eq_("aplusb" in d1.__dict__, False)
- else:
- eq_("aplusb" in d1.__dict__, True)
- eq_(d1.aplusb, "hello so long")
+ d1.b = "so long"
+ sess.flush()
+ sess.expire_all()
+ eq_(d1.b, "so long")
+ if expect_deferred_load:
+ eq_("aplusb" in d1.__dict__, False)
+ else:
+ eq_("aplusb" in d1.__dict__, True)
+ eq_(d1.aplusb, "hello so long")
class OneToManyTest(_fixtures.FixtureTest):
@@ -1506,21 +1527,22 @@ class OneToManyTest(_fixtures.FixtureTest):
a2 = Address(email_address="lala@test.org")
u.addresses.append(a2)
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
- user_rows = users.select(users.c.id.in_([u.id])).execute().fetchall()
+ conn = session.connection()
+ user_rows = conn.execute(
+ users.select(users.c.id.in_([u.id]))
+ ).fetchall()
eq_(list(user_rows[0]), [u.id, "one2manytester"])
- address_rows = (
+ address_rows = conn.execute(
addresses.select(
addresses.c.id.in_([a.id, a2.id]),
order_by=[addresses.c.email_address],
)
- .execute()
- .fetchall()
- )
+ ).fetchall()
eq_(list(address_rows[0]), [a2.id, u.id, "lala@test.org"])
eq_(list(address_rows[1]), [a.id, u.id, "one2many@test.org"])
@@ -1531,9 +1553,9 @@ class OneToManyTest(_fixtures.FixtureTest):
session.flush()
- address_rows = (
- addresses.select(addresses.c.id == addressid).execute().fetchall()
- )
+ address_rows = conn.execute(
+ addresses.select(addresses.c.id == addressid)
+ ).fetchall()
eq_(list(address_rows[0]), [addressid, userid, "somethingnew@foo.com"])
self.assert_(u.id == userid and a2.id == addressid)
@@ -1569,7 +1591,7 @@ class OneToManyTest(_fixtures.FixtureTest):
a3 = Address(email_address="emailaddress3")
- session = create_session()
+ session = fixture_session()
session.add_all((u1, u2, a3))
session.flush()
@@ -1631,7 +1653,7 @@ class OneToManyTest(_fixtures.FixtureTest):
a = Address(email_address="address1")
u1.addresses.append(a)
- session = create_session()
+ session = fixture_session()
session.add_all((u1, u2))
session.flush()
@@ -1668,7 +1690,7 @@ class OneToManyTest(_fixtures.FixtureTest):
a = Address(email_address="address1")
u1.addresses.append(a)
- session = create_session()
+ session = fixture_session()
session.add_all((u1, u2))
session.flush()
@@ -1703,7 +1725,7 @@ class OneToManyTest(_fixtures.FixtureTest):
a = Address(email_address="myonlyaddress@foo.com")
u.address = a
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
@@ -1738,7 +1760,7 @@ class OneToManyTest(_fixtures.FixtureTest):
u = User(name="one2onetester")
u.address = Address(email_address="myonlyaddress@foo.com")
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
@@ -1768,7 +1790,7 @@ class OneToManyTest(_fixtures.FixtureTest):
u = User(name="test")
Address(email_address="testaddress", user=u)
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
session.delete(u)
@@ -1812,7 +1834,7 @@ class OneToManyTest(_fixtures.FixtureTest):
u.boston_addresses.append(a)
u.newyork_addresses.append(b)
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
@@ -1829,40 +1851,42 @@ class SaveTest(_fixtures.FixtureTest):
u = User(name="savetester")
u2 = User(name="savetester2")
- session = create_session()
- session.add_all((u, u2))
- session.flush()
+ with fixture_session() as session:
+ session.add_all((u, u2))
+ session.flush()
- # assert the first one retrieves the same from the identity map
- nu = session.query(m).get(u.id)
- assert u is nu
+ # assert the first one retrieves the same from the identity map
+ nu = session.query(m).get(u.id)
+ assert u is nu
- # clear out the identity map, so next get forces a SELECT
- session.expunge_all()
+ # clear out the identity map, so next get forces a SELECT
+ session.expunge_all()
- # check it again, identity should be different but ids the same
- nu = session.query(m).get(u.id)
- assert u is not nu and u.id == nu.id and nu.name == "savetester"
+ # check it again, identity should be different but ids the same
+ nu = session.query(m).get(u.id)
+ assert u is not nu and u.id == nu.id and nu.name == "savetester"
+
+ session.commit()
# change first users name and save
- session = create_session()
- session.add(u)
- u.name = "modifiedname"
- assert u in session.dirty
- session.flush()
+ with fixture_session() as session:
+ session.add(u)
+ u.name = "modifiedname"
+ assert u in session.dirty
+ session.flush()
- # select both
- userlist = (
- session.query(User)
- .filter(users.c.id.in_([u.id, u2.id]))
- .order_by(users.c.name)
- .all()
- )
+ # select both
+ userlist = (
+ session.query(User)
+ .filter(users.c.id.in_([u.id, u2.id]))
+ .order_by(users.c.name)
+ .all()
+ )
- eq_(u.id, userlist[0].id)
- eq_(userlist[0].name, "modifiedname")
- eq_(u2.id, userlist[1].id)
- eq_(userlist[1].name, "savetester2")
+ eq_(u.id, userlist[0].id)
+ eq_(userlist[0].name, "modifiedname")
+ eq_(u2.id, userlist[1].id)
+ eq_(userlist[1].name, "savetester2")
def test_synonym(self):
users = self.tables.users
@@ -1881,7 +1905,7 @@ class SaveTest(_fixtures.FixtureTest):
u = SUser(syn_name="some name")
eq_(u.syn_name, "User:some name:User")
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
session.expunge_all()
@@ -1916,7 +1940,7 @@ class SaveTest(_fixtures.FixtureTest):
u.addresses.append(Address(email_address="u1@e3"))
u.addresses.append(Address(email_address="u1@e4"))
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
session.expunge_all()
@@ -1951,7 +1975,7 @@ class SaveTest(_fixtures.FixtureTest):
au = AddressUser(name="u", email_address="u@e")
- session = create_session()
+ session = fixture_session()
session.add(au)
session.flush()
session.expunge_all()
@@ -1973,7 +1997,7 @@ class SaveTest(_fixtures.FixtureTest):
# don't set deferred attribute, commit session
o = Order(id=42)
- session = create_session(autocommit=False)
+ session = fixture_session(autocommit=False)
session.add(o)
session.commit()
@@ -2022,7 +2046,7 @@ class SaveTest(_fixtures.FixtureTest):
mapper(User, users)
u = User(name="")
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
session.expunge_all()
@@ -2058,7 +2082,7 @@ class SaveTest(_fixtures.FixtureTest):
)
u = User(name="multitester", email="multi@test.org")
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
session.expunge_all()
@@ -2068,26 +2092,27 @@ class SaveTest(_fixtures.FixtureTest):
u = session.query(User).get(id_)
assert u.name == "multitester"
- user_rows = (
- users.select(users.c.id.in_([u.foo_id])).execute().fetchall()
- )
+ conn = session.connection()
+ user_rows = conn.execute(
+ users.select(users.c.id.in_([u.foo_id]))
+ ).fetchall()
eq_(list(user_rows[0]), [u.foo_id, "multitester"])
- address_rows = (
- addresses.select(addresses.c.id.in_([u.id])).execute().fetchall()
- )
+ address_rows = conn.execute(
+ addresses.select(addresses.c.id.in_([u.id]))
+ ).fetchall()
eq_(list(address_rows[0]), [u.id, u.foo_id, "multi@test.org"])
u.email = "lala@hey.com"
u.name = "imnew"
session.flush()
- user_rows = (
- users.select(users.c.id.in_([u.foo_id])).execute().fetchall()
- )
+ user_rows = conn.execute(
+ users.select(users.c.id.in_([u.foo_id]))
+ ).fetchall()
eq_(list(user_rows[0]), [u.foo_id, "imnew"])
- address_rows = (
- addresses.select(addresses.c.id.in_([u.id])).execute().fetchall()
- )
+ address_rows = conn.execute(
+ addresses.select(addresses.c.id.in_([u.id]))
+ ).fetchall()
eq_(list(address_rows[0]), [u.id, u.foo_id, "lala@hey.com"])
session.expunge_all()
@@ -2118,7 +2143,7 @@ class SaveTest(_fixtures.FixtureTest):
u = User(name="u1")
u.addresses.append(Address(email_address="u1@e1"))
u.addresses.append(Address(email_address="u1@e2"))
- session = create_session()
+ session = fixture_session()
session.add(u)
session.flush()
session.expunge_all()
@@ -2126,8 +2151,18 @@ class SaveTest(_fixtures.FixtureTest):
u = session.query(User).get(u.id)
session.delete(u)
session.flush()
- eq_(select(func.count("*")).select_from(users).scalar(), 0)
- eq_(select(func.count("*")).select_from(addresses).scalar(), 0)
+ eq_(
+ session.connection().scalar(
+ select(func.count("*")).select_from(users)
+ ),
+ 0,
+ )
+ eq_(
+ session.connection().scalar(
+ select(func.count("*")).select_from(addresses)
+ ),
+ 0,
+ )
def test_batch_mode(self):
"""The 'batch=False' flag on mapper()"""
@@ -2153,7 +2188,7 @@ class SaveTest(_fixtures.FixtureTest):
u1 = User(name="user1")
u2 = User(name="user2")
- session = create_session()
+ session = fixture_session()
session.add_all((u1, u2))
session.flush()
@@ -2202,7 +2237,7 @@ class ManyToOneTest(_fixtures.FixtureTest):
),
)
- session = create_session()
+ session = fixture_session()
data = [
{"name": "thesub", "email_address": "bar@foo.com"},
@@ -2253,14 +2288,13 @@ class ManyToOneTest(_fixtures.FixtureTest):
),
)
- result = (
- sa.select(users, addresses)
- .where(
+ conn = session.connection()
+ result = conn.execute(
+ sa.select(users, addresses).where(
sa.and_(
users.c.id == addresses.c.user_id, addresses.c.id == a.id
),
)
- .execute()
)
eq_(
list(result.first()),
@@ -2287,7 +2321,7 @@ class ManyToOneTest(_fixtures.FixtureTest):
u1 = User(name="user1")
a1.user = u1
- session = create_session()
+ session = fixture_session()
session.add(a1)
session.flush()
session.expunge_all()
@@ -2324,7 +2358,7 @@ class ManyToOneTest(_fixtures.FixtureTest):
u1 = User(name="user1")
a1.user = u1
- session = create_session()
+ session = fixture_session()
session.add_all((a1, a2))
session.flush()
session.expunge_all()
@@ -2366,7 +2400,7 @@ class ManyToOneTest(_fixtures.FixtureTest):
u2 = User(name="user2")
a1.user = u1
- session = create_session()
+ session = fixture_session()
session.add_all((a1, u1, u2))
session.flush()
session.expunge_all()
@@ -2408,7 +2442,7 @@ class ManyToOneTest(_fixtures.FixtureTest):
a1 = Address(email_address="e1")
a1.user = u1
- session = create_session()
+ session = fixture_session()
session.add(u1)
session.flush()
session.expunge_all()
@@ -2496,7 +2530,7 @@ class ManyToManyTest(_fixtures.FixtureTest):
},
]
- session = create_session()
+ session = fixture_session()
objects = []
_keywords = dict([(k.name, k) for k in session.query(Keyword)])
@@ -2600,14 +2634,15 @@ class ManyToManyTest(_fixtures.FixtureTest):
i.keywords.append(k1)
i.keywords.append(k2)
- session = create_session()
+ session = fixture_session()
session.add(i)
session.flush()
- eq_(select(func.count("*")).select_from(item_keywords).scalar(), 2)
+ conn = session.connection()
+ eq_(conn.scalar(select(func.count("*")).select_from(item_keywords)), 2)
i.keywords = []
session.flush()
- eq_(select(func.count("*")).select_from(item_keywords).scalar(), 0)
+ eq_(conn.scalar(select(func.count("*")).select_from(item_keywords)), 0)
def test_scalar(self):
"""sa.dependency won't delete an m2m relationship referencing None."""
@@ -2633,7 +2668,7 @@ class ManyToManyTest(_fixtures.FixtureTest):
)
i = Item(description="x")
- session = create_session()
+ session = fixture_session()
session.add(i)
session.flush()
session.delete(i)
@@ -2671,7 +2706,7 @@ class ManyToManyTest(_fixtures.FixtureTest):
item = Item(description="item 1")
item.keywords.extend([k1, k2, k3])
- session = create_session()
+ session = fixture_session()
session.add(item)
session.flush()
@@ -2727,7 +2762,7 @@ class ManyToManyTest(_fixtures.FixtureTest):
),
)
- session = create_session()
+ session = fixture_session()
def fixture():
_kw = dict([(k.name, k) for k in session.query(Keyword)])
@@ -2786,7 +2821,7 @@ class SaveTest2(_fixtures.FixtureTest):
),
)
- session = create_session()
+ session = fixture_session()
def fixture():
return [
@@ -2909,14 +2944,24 @@ class SaveTest3(fixtures.MappedTest):
i.keywords.append(k1)
i.keywords.append(k2)
- session = create_session()
+ session = fixture_session()
session.add(i)
session.flush()
- eq_(select(func.count("*")).select_from(assoc).scalar(), 2)
+ eq_(
+ session.connection().scalar(
+ select(func.count("*")).select_from(assoc)
+ ),
+ 2,
+ )
i.keywords = []
session.flush()
- eq_(select(func.count("*")).select_from(assoc).scalar(), 0)
+ eq_(
+ session.connection().scalar(
+ select(func.count("*")).select_from(assoc)
+ ),
+ 0,
+ )
class BooleanColTest(fixtures.MappedTest):
@@ -2941,7 +2986,7 @@ class BooleanColTest(fixtures.MappedTest):
mapper(T, t1_t)
- sess = create_session()
+ sess = fixture_session()
t1 = T(value=True, name="t1")
t2 = T(value=False, name="t2")
t3 = T(value=True, name="t3")
@@ -3060,7 +3105,7 @@ class RowSwitchTest(fixtures.MappedTest):
)
mapper(T6, t6)
- sess = create_session()
+ sess = fixture_session()
o5 = T5(data="some t5", id=1)
o5.t6s.append(T6(data="some t6", id=1))
@@ -3108,7 +3153,7 @@ class RowSwitchTest(fixtures.MappedTest):
)
mapper(T7, t7)
- sess = create_session()
+ sess = fixture_session()
o5 = T5(data="some t5", id=1)
o5.t7s.append(T7(data="some t7", id=1))
@@ -3159,7 +3204,7 @@ class RowSwitchTest(fixtures.MappedTest):
mapper(T6, t6, properties={"t5": relationship(T5)})
mapper(T5, t5)
- sess = create_session()
+ sess = fixture_session()
o5 = T6(data="some t6", id=1)
o5.t5 = T5(data="some t5", id=1)
@@ -3222,7 +3267,7 @@ class InheritingRowSwitchTest(fixtures.MappedTest):
mapper(P, parent)
mapper(C, child, inherits=P)
- sess = create_session()
+ sess = fixture_session()
c1 = C(pid=1, cid=1, pdata="c1", cdata="c1")
sess.add(c1)
sess.flush()
@@ -3253,67 +3298,6 @@ class InheritingRowSwitchTest(fixtures.MappedTest):
)
-class TransactionTest(fixtures.MappedTest):
- __requires__ = ("deferrable_or_no_constraints",)
-
- @classmethod
- def define_tables(cls, metadata):
- Table("t1", metadata, Column("id", Integer, primary_key=True))
-
- Table(
- "t2",
- metadata,
- Column("id", Integer, primary_key=True),
- Column(
- "t1_id",
- Integer,
- ForeignKey("t1.id", deferrable=True, initially="deferred"),
- ),
- )
-
- @classmethod
- def setup_classes(cls):
- class T1(cls.Comparable):
- pass
-
- class T2(cls.Comparable):
- pass
-
- @classmethod
- def setup_mappers(cls):
- T2, T1, t2, t1 = (
- cls.classes.T2,
- cls.classes.T1,
- cls.tables.t2,
- cls.tables.t1,
- )
-
- mapper(T1, t1)
- mapper(T2, t2)
-
- def test_close_transaction_on_commit_fail(self):
- T2, t1 = self.classes.T2, self.tables.t1
-
- session = create_session(autocommit=True)
-
- # with a deferred constraint, this fails at COMMIT time instead
- # of at INSERT time.
- session.add(T2(t1_id=123))
-
- try:
- session.flush()
- assert False
- except Exception:
- # Flush needs to rollback also when commit fails
- assert session._legacy_transaction() is None
-
- # todo: on 8.3 at least, the failed commit seems to close the cursor?
- # needs investigation. leaving in the DDL above now to help verify
- # that the new deferrable support on FK isn't involved in this issue.
- if testing.against("postgresql"):
- t1.bind.engine.dispose()
-
-
class PartialNullPKTest(fixtures.MappedTest):
# sqlite totally fine with NULLs in pk columns.
# no other DB is like this.
@@ -3340,7 +3324,7 @@ class PartialNullPKTest(fixtures.MappedTest):
def test_key_switch(self):
T1 = self.classes.T1
- s = Session()
+ s = fixture_session()
s.add(T1(col1="1", col2=None))
t1 = s.query(T1).first()
@@ -3354,7 +3338,7 @@ class PartialNullPKTest(fixtures.MappedTest):
def test_plain_update(self):
T1 = self.classes.T1
- s = Session()
+ s = fixture_session()
s.add(T1(col1="1", col2=None))
t1 = s.query(T1).first()
@@ -3368,7 +3352,7 @@ class PartialNullPKTest(fixtures.MappedTest):
def test_delete(self):
T1 = self.classes.T1
- s = Session()
+ s = fixture_session()
s.add(T1(col1="1", col2=None))
t1 = s.query(T1).first()
@@ -3382,7 +3366,7 @@ class PartialNullPKTest(fixtures.MappedTest):
def test_total_null(self):
T1 = self.classes.T1
- s = Session()
+ s = fixture_session()
s.add(T1(col1=None, col2=None))
assert_raises_message(
orm_exc.FlushError,
@@ -3394,7 +3378,7 @@ class PartialNullPKTest(fixtures.MappedTest):
def test_dont_complain_if_no_update(self):
T1 = self.classes.T1
- s = Session()
+ s = fixture_session()
t = T1(col1="1", col2=None)
s.add(t)
s.commit()
@@ -3494,7 +3478,7 @@ class EnsurePKSortableTest(fixtures.MappedTest):
mapper(cls.classes.T3, cls.tables.t3)
def test_exception_persistent_flush_py3k(self):
- s = Session()
+ s = fixture_session()
a, b = self.classes.T2(id=self.three), self.classes.T2(id=self.four)
s.add_all([a, b])
@@ -3520,7 +3504,7 @@ class EnsurePKSortableTest(fixtures.MappedTest):
s.close()
def test_persistent_flush_sortable(self):
- s = Session()
+ s = fixture_session()
a, b = self.classes.T1(id=self.one), self.classes.T1(id=self.two)
s.add_all([a, b])
@@ -3531,7 +3515,7 @@ class EnsurePKSortableTest(fixtures.MappedTest):
s.commit()
def test_pep435_custom_sort_key(self):
- s = Session()
+ s = fixture_session()
a = self.classes.T3(id=self.three, value=1)
b = self.classes.T3(id=self.four, value=2)
diff --git a/test/orm/test_unitofworkv2.py b/test/orm/test_unitofworkv2.py
index 97b7b9edd..4e713627c 100644
--- a/test/orm/test_unitofworkv2.py
+++ b/test/orm/test_unitofworkv2.py
@@ -15,7 +15,6 @@ from sqlalchemy import text
from sqlalchemy import util
from sqlalchemy.orm import attributes
from sqlalchemy.orm import backref
-from sqlalchemy.orm import create_session
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
@@ -30,6 +29,7 @@ from sqlalchemy.testing import is_
from sqlalchemy.testing.assertsql import AllOf
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import Conditional
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.mock import Mock
from sqlalchemy.testing.mock import patch
from sqlalchemy.testing.schema import Column
@@ -73,7 +73,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users, properties={"addresses": relationship(Address)})
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
a1, a2 = Address(email_address="a1"), Address(email_address="a2")
u1 = User(name="u1", addresses=[a1, a2])
@@ -122,7 +122,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users, properties={"addresses": relationship(Address)})
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
a1, a2 = Address(email_address="a1"), Address(email_address="a2")
u1 = User(name="u1", addresses=[a1, a2])
sess.add(u1)
@@ -153,7 +153,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users, properties={"addresses": relationship(Address)})
mapper(Address, addresses)
- sess = create_session()
+ sess = fixture_session()
a1, a2 = Address(email_address="a1"), Address(email_address="a2")
u1 = User(name="u1", addresses=[a1, a2])
sess.add(u1)
@@ -186,7 +186,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="u1")
a1, a2 = (
@@ -238,7 +238,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="u1")
a1, a2 = (
@@ -273,7 +273,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="u1")
a1, a2 = (
@@ -318,7 +318,7 @@ class RudimentaryFlushTest(UOWTest):
Address(email_address="c2", parent=parent),
)
- session = Session()
+ session = fixture_session()
session.add_all([c1, c2])
session.add(parent)
@@ -399,7 +399,7 @@ class RudimentaryFlushTest(UOWTest):
Address(email_address="c2", parent=parent),
)
- session = Session()
+ session = fixture_session()
session.add_all([c1, c2])
session.add(parent)
@@ -464,7 +464,7 @@ class RudimentaryFlushTest(UOWTest):
Address(email_address="c2", parent=parent),
)
- session = Session()
+ session = fixture_session()
session.add_all([c1, c2])
session.add(parent)
@@ -521,7 +521,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="u1")
a1, a2 = (
@@ -552,7 +552,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users)
mapper(Address, addresses, properties={"user": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="u1")
a1, a2 = (
@@ -593,7 +593,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users)
mapper(Address, addresses, properties={"parent": relationship(User)})
- sess = create_session()
+ sess = fixture_session()
u1 = User(id=1, name="u1")
a1 = Address(id=1, user_id=1, email_address="a2")
@@ -632,7 +632,7 @@ class RudimentaryFlushTest(UOWTest):
mapper(Node, nodes, properties={"children": relationship(Node)})
- sess = create_session()
+ sess = fixture_session()
n1 = Node(id=1)
n2 = Node(id=2, parent_id=1)
@@ -674,7 +674,7 @@ class RudimentaryFlushTest(UOWTest):
)
mapper(Keyword, keywords)
- sess = create_session()
+ sess = fixture_session()
k1 = Keyword(name="k1")
i1 = Item(description="i1", keywords=[k1])
sess.add(i1)
@@ -723,7 +723,7 @@ class RudimentaryFlushTest(UOWTest):
addresses,
properties={"user": relationship(User, passive_updates=True)},
)
- sess = create_session()
+ sess = fixture_session()
u1 = User(name="ed")
sess.add(u1)
self._assert_uow_size(sess, 2)
@@ -739,35 +739,35 @@ class RudimentaryFlushTest(UOWTest):
mapper(User, users, properties={"addresses": relationship(Address)})
mapper(Address, addresses)
- sess = create_session()
- u1 = User(name="ed")
- sess.add(u1)
- self._assert_uow_size(sess, 2)
+ with fixture_session(autoflush=False) as sess:
+ u1 = User(name="ed")
+ sess.add(u1)
+ self._assert_uow_size(sess, 2)
- sess.flush()
+ sess.flush()
- u1.name = "jack"
+ u1.name = "jack"
- self._assert_uow_size(sess, 2)
- sess.flush()
+ self._assert_uow_size(sess, 2)
+ sess.flush()
- a1 = Address(email_address="foo")
- sess.add(a1)
- sess.flush()
+ a1 = Address(email_address="foo")
+ sess.add(a1)
+ sess.flush()
- u1.addresses.append(a1)
+ u1.addresses.append(a1)
- self._assert_uow_size(sess, 6)
+ self._assert_uow_size(sess, 6)
- sess.flush()
+ sess.commit()
- sess = create_session()
- u1 = sess.query(User).first()
- u1.name = "ed"
- self._assert_uow_size(sess, 2)
+ with fixture_session(autoflush=False) as sess:
+ u1 = sess.query(User).first()
+ u1.name = "ed"
+ self._assert_uow_size(sess, 2)
- u1.addresses
- self._assert_uow_size(sess, 6)
+ u1.addresses
+ self._assert_uow_size(sess, 6)
class SingleCycleTest(UOWTest):
@@ -784,7 +784,7 @@ class SingleCycleTest(UOWTest):
Node, nodes = self.classes.Node, self.tables.nodes
mapper(Node, nodes, properties={"children": relationship(Node)})
- sess = create_session()
+ sess = fixture_session()
n2, n3 = Node(data="n2"), Node(data="n3")
n1 = Node(data="n1", children=[n2, n3])
@@ -832,7 +832,7 @@ class SingleCycleTest(UOWTest):
Node, nodes = self.classes.Node, self.tables.nodes
mapper(Node, nodes, properties={"children": relationship(Node)})
- sess = create_session()
+ sess = fixture_session()
n2, n3 = Node(data="n2", children=[]), Node(data="n3", children=[])
n1 = Node(data="n1", children=[n2, n3])
@@ -860,7 +860,7 @@ class SingleCycleTest(UOWTest):
Node, nodes = self.classes.Node, self.tables.nodes
mapper(Node, nodes, properties={"children": relationship(Node)})
- sess = create_session()
+ sess = fixture_session()
n2, n3 = Node(data="n2", children=[]), Node(data="n3", children=[])
n1 = Node(data="n1", children=[n2, n3])
@@ -894,7 +894,7 @@ class SingleCycleTest(UOWTest):
nodes,
properties={"parent": relationship(Node, remote_side=nodes.c.id)},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n2, n3 = Node(data="n2", parent=n1), Node(data="n3", parent=n1)
@@ -946,7 +946,7 @@ class SingleCycleTest(UOWTest):
nodes,
properties={"parent": relationship(Node, remote_side=nodes.c.id)},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n2, n3 = Node(data="n2", parent=n1), Node(data="n3", parent=n1)
@@ -978,30 +978,30 @@ class SingleCycleTest(UOWTest):
nodes,
properties={"parent": relationship(Node, remote_side=nodes.c.id)},
)
- sess = create_session()
- n1 = Node(data="n1")
- n2 = Node(data="n2", parent=n1)
- sess.add_all([n1, n2])
- sess.flush()
- sess.close()
+ with fixture_session() as sess:
+ n1 = Node(data="n1")
+ n2 = Node(data="n2", parent=n1)
+ sess.add_all([n1, n2])
+ sess.commit()
- n2 = sess.query(Node).filter_by(data="n2").one()
- n2.parent = None
- self.assert_sql_execution(
- testing.db,
- sess.flush,
- CompiledSQL(
- "UPDATE nodes SET parent_id=:parent_id WHERE "
- "nodes.id = :nodes_id",
- lambda ctx: {"parent_id": None, "nodes_id": n2.id},
- ),
- )
+ with fixture_session() as sess:
+ n2 = sess.query(Node).filter_by(data="n2").one()
+ n2.parent = None
+ self.assert_sql_execution(
+ testing.db,
+ sess.flush,
+ CompiledSQL(
+ "UPDATE nodes SET parent_id=:parent_id WHERE "
+ "nodes.id = :nodes_id",
+ lambda ctx: {"parent_id": None, "nodes_id": n2.id},
+ ),
+ )
def test_cycle_rowswitch(self):
Node, nodes = self.classes.Node, self.tables.nodes
mapper(Node, nodes, properties={"children": relationship(Node)})
- sess = create_session()
+ sess = fixture_session()
n2, n3 = Node(data="n2", children=[]), Node(data="n3", children=[])
n1 = Node(data="n1", children=[n2])
@@ -1025,7 +1025,7 @@ class SingleCycleTest(UOWTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n2, n3 = Node(data="n2", children=[]), Node(data="n3", children=[])
n1 = Node(data="n1", children=[n2])
@@ -1051,7 +1051,7 @@ class SingleCycleTest(UOWTest):
)
},
)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n1.children.append(Node(data="n11"))
n12 = Node(data="n12")
@@ -1137,29 +1137,29 @@ class SingleCycleTest(UOWTest):
Node, nodes = self.classes.Node, self.tables.nodes
mapper(Node, nodes, properties={"children": relationship(Node)})
- sess = create_session()
- n1 = Node(data="ed")
- sess.add(n1)
- self._assert_uow_size(sess, 2)
+ with fixture_session() as sess:
+ n1 = Node(data="ed")
+ sess.add(n1)
+ self._assert_uow_size(sess, 2)
- sess.flush()
+ sess.flush()
- n1.data = "jack"
+ n1.data = "jack"
- self._assert_uow_size(sess, 2)
- sess.flush()
+ self._assert_uow_size(sess, 2)
+ sess.flush()
- n2 = Node(data="foo")
- sess.add(n2)
- sess.flush()
+ n2 = Node(data="foo")
+ sess.add(n2)
+ sess.flush()
- n1.children.append(n2)
+ n1.children.append(n2)
- self._assert_uow_size(sess, 3)
+ self._assert_uow_size(sess, 3)
- sess.flush()
+ sess.commit()
- sess = create_session()
+ sess = fixture_session(autoflush=False)
n1 = sess.query(Node).first()
n1.data = "ed"
self._assert_uow_size(sess, 2)
@@ -1179,7 +1179,7 @@ class SingleCycleTest(UOWTest):
parent = Node()
c1, c2 = Node(parent=parent), Node(parent=parent)
- session = Session()
+ session = fixture_session()
session.add_all([c1, c2])
session.add(parent)
@@ -1285,7 +1285,7 @@ class SingleCyclePlusAttributeTest(
)
mapper(FooBar, foobars)
- sess = create_session()
+ sess = fixture_session()
n1 = Node(data="n1")
n2 = Node(data="n2")
n1.children.append(n2)
@@ -1355,110 +1355,111 @@ class SingleCycleM2MTest(
},
)
- sess = create_session()
- n1 = Node(data="n1")
- n2 = Node(data="n2")
- n3 = Node(data="n3")
- n4 = Node(data="n4")
- n5 = Node(data="n5")
+ with fixture_session(autoflush=False) as sess:
+ n1 = Node(data="n1")
+ n2 = Node(data="n2")
+ n3 = Node(data="n3")
+ n4 = Node(data="n4")
+ n5 = Node(data="n5")
- n4.favorite = n3
- n1.favorite = n5
- n5.favorite = n2
+ n4.favorite = n3
+ n1.favorite = n5
+ n5.favorite = n2
- n1.children = [n2, n3, n4]
- n2.children = [n3, n5]
- n3.children = [n5, n4]
+ n1.children = [n2, n3, n4]
+ n2.children = [n3, n5]
+ n3.children = [n5, n4]
- sess.add_all([n1, n2, n3, n4, n5])
+ sess.add_all([n1, n2, n3, n4, n5])
- # can't really assert the SQL on this easily
- # since there's too many ways to insert the rows.
- # so check the end result
- sess.flush()
- eq_(
- sess.query(
- node_to_nodes.c.left_node_id, node_to_nodes.c.right_node_id
- )
- .order_by(
- node_to_nodes.c.left_node_id, node_to_nodes.c.right_node_id
+ # can't really assert the SQL on this easily
+ # since there's too many ways to insert the rows.
+ # so check the end result
+ sess.flush()
+ eq_(
+ sess.query(
+ node_to_nodes.c.left_node_id, node_to_nodes.c.right_node_id
+ )
+ .order_by(
+ node_to_nodes.c.left_node_id, node_to_nodes.c.right_node_id
+ )
+ .all(),
+ sorted(
+ [
+ (n1.id, n2.id),
+ (n1.id, n3.id),
+ (n1.id, n4.id),
+ (n2.id, n3.id),
+ (n2.id, n5.id),
+ (n3.id, n5.id),
+ (n3.id, n4.id),
+ ]
+ ),
)
- .all(),
- sorted(
- [
- (n1.id, n2.id),
- (n1.id, n3.id),
- (n1.id, n4.id),
- (n2.id, n3.id),
- (n2.id, n5.id),
- (n3.id, n5.id),
- (n3.id, n4.id),
- ]
- ),
- )
- sess.delete(n1)
+ sess.delete(n1)
- self.assert_sql_execution(
- testing.db,
- sess.flush,
- # this is n1.parents firing off, as it should, since
- # passive_deletes is False for n1.parents
- CompiledSQL(
- "SELECT nodes.id AS nodes_id, nodes.data AS nodes_data, "
- "nodes.favorite_node_id AS nodes_favorite_node_id FROM "
- "nodes, node_to_nodes WHERE :param_1 = "
- "node_to_nodes.right_node_id AND nodes.id = "
- "node_to_nodes.left_node_id",
- lambda ctx: {"param_1": n1.id},
- ),
- CompiledSQL(
- "DELETE FROM node_to_nodes WHERE "
- "node_to_nodes.left_node_id = :left_node_id AND "
- "node_to_nodes.right_node_id = :right_node_id",
- lambda ctx: [
- {"right_node_id": n2.id, "left_node_id": n1.id},
- {"right_node_id": n3.id, "left_node_id": n1.id},
- {"right_node_id": n4.id, "left_node_id": n1.id},
- ],
- ),
- CompiledSQL(
- "DELETE FROM nodes WHERE nodes.id = :id",
- lambda ctx: {"id": n1.id},
- ),
- )
+ self.assert_sql_execution(
+ testing.db,
+ sess.flush,
+ # this is n1.parents firing off, as it should, since
+ # passive_deletes is False for n1.parents
+ CompiledSQL(
+ "SELECT nodes.id AS nodes_id, nodes.data AS nodes_data, "
+ "nodes.favorite_node_id AS nodes_favorite_node_id FROM "
+ "nodes, node_to_nodes WHERE :param_1 = "
+ "node_to_nodes.right_node_id AND nodes.id = "
+ "node_to_nodes.left_node_id",
+ lambda ctx: {"param_1": n1.id},
+ ),
+ CompiledSQL(
+ "DELETE FROM node_to_nodes WHERE "
+ "node_to_nodes.left_node_id = :left_node_id AND "
+ "node_to_nodes.right_node_id = :right_node_id",
+ lambda ctx: [
+ {"right_node_id": n2.id, "left_node_id": n1.id},
+ {"right_node_id": n3.id, "left_node_id": n1.id},
+ {"right_node_id": n4.id, "left_node_id": n1.id},
+ ],
+ ),
+ CompiledSQL(
+ "DELETE FROM nodes WHERE nodes.id = :id",
+ lambda ctx: {"id": n1.id},
+ ),
+ )
- for n in [n2, n3, n4, n5]:
- sess.delete(n)
+ for n in [n2, n3, n4, n5]:
+ sess.delete(n)
- # load these collections
- # outside of the flush() below
- n4.children
- n5.children
+ # load these collections
+ # outside of the flush() below
+ n4.children
+ n5.children
- self.assert_sql_execution(
- testing.db,
- sess.flush,
- CompiledSQL(
- "DELETE FROM node_to_nodes WHERE node_to_nodes.left_node_id "
- "= :left_node_id AND node_to_nodes.right_node_id = "
- ":right_node_id",
- lambda ctx: [
- {"right_node_id": n5.id, "left_node_id": n3.id},
- {"right_node_id": n4.id, "left_node_id": n3.id},
- {"right_node_id": n3.id, "left_node_id": n2.id},
- {"right_node_id": n5.id, "left_node_id": n2.id},
- ],
- ),
- CompiledSQL(
- "DELETE FROM nodes WHERE nodes.id = :id",
- lambda ctx: [{"id": n4.id}, {"id": n5.id}],
- ),
- CompiledSQL(
- "DELETE FROM nodes WHERE nodes.id = :id",
- lambda ctx: [{"id": n2.id}, {"id": n3.id}],
- ),
- )
+ self.assert_sql_execution(
+ testing.db,
+ sess.flush,
+ CompiledSQL(
+ "DELETE FROM node_to_nodes "
+ "WHERE node_to_nodes.left_node_id "
+ "= :left_node_id AND node_to_nodes.right_node_id = "
+ ":right_node_id",
+ lambda ctx: [
+ {"right_node_id": n5.id, "left_node_id": n3.id},
+ {"right_node_id": n4.id, "left_node_id": n3.id},
+ {"right_node_id": n3.id, "left_node_id": n2.id},
+ {"right_node_id": n5.id, "left_node_id": n2.id},
+ ],
+ ),
+ CompiledSQL(
+ "DELETE FROM nodes WHERE nodes.id = :id",
+ lambda ctx: [{"id": n4.id}, {"id": n5.id}],
+ ),
+ CompiledSQL(
+ "DELETE FROM nodes WHERE nodes.id = :id",
+ lambda ctx: [{"id": n2.id}, {"id": n3.id}],
+ ),
+ )
class RowswitchAccountingTest(fixtures.MappedTest):
@@ -1504,7 +1505,7 @@ class RowswitchAccountingTest(fixtures.MappedTest):
def test_switch_on_update(self):
Parent, Child = self._fixture()
- sess = create_session(autocommit=False)
+ sess = fixture_session(autocommit=False)
p1 = Parent(id=1, child=Child())
sess.add(p1)
@@ -1535,7 +1536,7 @@ class RowswitchAccountingTest(fixtures.MappedTest):
def test_switch_on_delete(self):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
sess.add(p1)
sess.flush()
@@ -1603,7 +1604,7 @@ class RowswitchM2OTest(fixtures.MappedTest):
# change that previously showed up as nothing.
A, B, C = self._fixture()
- sess = Session()
+ sess = fixture_session()
sess.add(A(id=1, bs=[B(id=1, c=C(id=1))]))
sess.commit()
@@ -1615,7 +1616,7 @@ class RowswitchM2OTest(fixtures.MappedTest):
def test_set_none_w_get_replaces_m2o(self):
A, B, C = self._fixture()
- sess = Session()
+ sess = fixture_session()
sess.add(A(id=1, bs=[B(id=1, c=C(id=1))]))
sess.commit()
@@ -1634,7 +1635,7 @@ class RowswitchM2OTest(fixtures.MappedTest):
# shows, we can't rely on this - the get of None will blow
# away the history.
A, B, C = self._fixture()
- sess = Session()
+ sess = fixture_session()
sess.add(A(id=1, bs=[B(id=1, data="somedata")]))
sess.commit()
@@ -1646,7 +1647,7 @@ class RowswitchM2OTest(fixtures.MappedTest):
def test_set_none_w_get_replaces_scalar(self):
A, B, C = self._fixture()
- sess = Session()
+ sess = fixture_session()
sess.add(A(id=1, bs=[B(id=1, data="somedata")]))
sess.commit()
@@ -1706,7 +1707,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
@testing.requires.sane_rowcount
def test_update_single_missing(self):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2)
sess.add(p1)
sess.flush()
@@ -1737,7 +1738,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
"sqlalchemy.engine.cursor.CursorResult.rowcount", rowcount
):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2)
sess.add(p1)
sess.flush()
@@ -1767,7 +1768,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
"sqlalchemy.engine.cursor.CursorResult.rowcount", rowcount
):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2)
p2 = Parent(id=2, data=3)
sess.add_all([p1, p2])
@@ -1797,7 +1798,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
"sqlalchemy.engine.cursor.CursorResult.rowcount", rowcount
):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=1)
sess.add(p1)
sess.flush()
@@ -1815,7 +1816,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
@testing.requires.sane_rowcount
def test_delete_twice(self):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
sess.add(p1)
sess.commit()
@@ -1835,7 +1836,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
@testing.requires.sane_multi_rowcount
def test_delete_multi_missing_warning(self):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
p2 = Parent(id=2, data=3, child=None)
sess.add_all([p1, p2])
@@ -1856,7 +1857,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
# raise occurs for single row UPDATE that misses even if
# supports_sane_multi_rowcount is False
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
sess.add(p1)
sess.flush()
@@ -1879,7 +1880,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
# supports_sane_multi_rowcount is False, even if rowcount is still
# correct
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
p2 = Parent(id=2, data=3, child=None)
sess.add_all([p1, p2])
@@ -1897,7 +1898,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
def test_delete_single_broken_multi_rowcount_still_warns(self):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
sess.add(p1)
sess.flush()
@@ -1919,7 +1920,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
def test_delete_multi_broken_multi_rowcount_doesnt_warn(self):
Parent, Child = self._fixture()
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
p2 = Parent(id=2, data=3, child=None)
sess.add_all([p1, p2])
@@ -1941,7 +1942,7 @@ class BasicStaleChecksTest(fixtures.MappedTest):
def test_delete_multi_missing_allow(self):
Parent, Child = self._fixture(confirm_deleted_rows=False)
- sess = Session()
+ sess = fixture_session()
p1 = Parent(id=1, data=2, child=None)
p2 = Parent(id=2, data=3, child=None)
sess.add_all([p1, p2])
@@ -1979,7 +1980,7 @@ class BatchInsertsTest(fixtures.MappedTest, testing.AssertsExecutionResults):
pass
mapper(T, t)
- sess = Session()
+ sess = fixture_session()
sess.add_all(
[
T(data="t1"),
@@ -2078,7 +2079,7 @@ class LoadersUsingCommittedTest(UOWTest):
},
)
mapper(Address, addresses)
- return create_session(autocommit=False)
+ return fixture_session(expire_on_commit=False)
def test_before_update_m2o(self):
"""Expect normal many to one attribute load behavior
@@ -2225,7 +2226,7 @@ class NoAttrEventInFlushTest(fixtures.MappedTest):
event.listen(Thing.prefetch_val, "set", mock.prefetch_val)
event.listen(Thing.returning_val, "set", mock.prefetch_val)
t1 = Thing()
- s = Session()
+ s = fixture_session()
s.add(t1)
s.flush()
@@ -2275,7 +2276,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_insert_defaults_present(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
t1, t2 = (Thing(id=1, foo=5), Thing(id=2, foo=10))
@@ -2298,7 +2299,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_insert_defaults_present_as_expr(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
t1, t2 = (
Thing(id=1, foo=text("2 + 5")),
@@ -2357,7 +2358,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_insert_defaults_nonpresent(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
t1, t2 = (Thing(id=1), Thing(id=2))
@@ -2416,7 +2417,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_update_defaults_nonpresent(self):
Thing2 = self.classes.Thing2
- s = Session()
+ s = fixture_session()
t1, t2, t3, t4 = (
Thing2(id=1, foo=1, bar=2),
@@ -2511,7 +2512,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_update_defaults_present_as_expr(self):
Thing2 = self.classes.Thing2
- s = Session()
+ s = fixture_session()
t1, t2, t3, t4 = (
Thing2(id=1, foo=1, bar=2),
@@ -2612,7 +2613,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_insert_defaults_bulk_insert(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
mappings = [{"id": 1}, {"id": 2}]
@@ -2626,7 +2627,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_update_defaults_bulk_update(self):
Thing2 = self.classes.Thing2
- s = Session()
+ s = fixture_session()
t1, t2, t3, t4 = (
Thing2(id=1, foo=1, bar=2),
@@ -2665,7 +2666,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_update_defaults_present(self):
Thing2 = self.classes.Thing2
- s = Session()
+ s = fixture_session()
t1, t2 = (Thing2(id=1, foo=1, bar=2), Thing2(id=2, foo=2, bar=3))
@@ -2687,7 +2688,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_insert_dont_fetch_nondefaults(self):
Thing2 = self.classes.Thing2
- s = Session()
+ s = fixture_session()
t1 = Thing2(id=1, bar=2)
@@ -2704,7 +2705,7 @@ class EagerDefaultsTest(fixtures.MappedTest):
def test_update_dont_fetch_nondefaults(self):
Thing2 = self.classes.Thing2
- s = Session()
+ s = fixture_session()
t1 = Thing2(id=1, bar=2)
@@ -2783,7 +2784,7 @@ class TypeWoBoolTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def test_update_against_none(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
s.add(Thing(value=self.MyWidget("foo")))
s.commit()
@@ -2796,7 +2797,7 @@ class TypeWoBoolTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def test_update_against_something_else(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
s.add(Thing(value=self.MyWidget("foo")))
s.commit()
@@ -2809,7 +2810,7 @@ class TypeWoBoolTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def test_no_update_no_change(self):
Thing = self.classes.Thing
- s = Session()
+ s = fixture_session()
s.add(Thing(value=self.MyWidget("foo"), unrelated="unrelated"))
s.commit()
@@ -2923,7 +2924,7 @@ class NullEvaluatingTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def _assert_col(self, name, value):
Thing, AltNameThing = self.classes.Thing, self.classes.AltNameThing
- s = Session()
+ s = fixture_session()
col = getattr(Thing, name)
obj = s.query(col).filter(col == value).one()
@@ -2936,7 +2937,7 @@ class NullEvaluatingTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def _test_insert(self, attr, expected):
Thing, AltNameThing = self.classes.Thing, self.classes.AltNameThing
- s = Session()
+ s = fixture_session()
t1 = Thing(**{attr: None})
s.add(t1)
@@ -2950,7 +2951,7 @@ class NullEvaluatingTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def _test_bulk_insert(self, attr, expected):
Thing, AltNameThing = self.classes.Thing, self.classes.AltNameThing
- s = Session()
+ s = fixture_session()
s.bulk_insert_mappings(Thing, [{attr: None}])
s.bulk_insert_mappings(AltNameThing, [{"_foo_" + attr: None}])
s.commit()
@@ -2960,7 +2961,7 @@ class NullEvaluatingTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def _test_insert_novalue(self, attr, expected):
Thing, AltNameThing = self.classes.Thing, self.classes.AltNameThing
- s = Session()
+ s = fixture_session()
t1 = Thing()
s.add(t1)
@@ -2974,7 +2975,7 @@ class NullEvaluatingTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def _test_bulk_insert_novalue(self, attr, expected):
Thing, AltNameThing = self.classes.Thing, self.classes.AltNameThing
- s = Session()
+ s = fixture_session()
s.bulk_insert_mappings(Thing, [{}])
s.bulk_insert_mappings(AltNameThing, [{}])
s.commit()
@@ -3059,7 +3060,7 @@ class NullEvaluatingTest(fixtures.MappedTest, testing.AssertsExecutionResults):
def test_json_none_as_null(self):
JSONThing = self.classes.JSONThing
- s = Session()
+ s = fixture_session()
f1 = JSONThing(data=None, data_null=None)
s.add(f1)
s.commit()
diff --git a/test/orm/test_update_delete.py b/test/orm/test_update_delete.py
index 0b0c9cea7..e350ee018 100644
--- a/test/orm/test_update_delete.py
+++ b/test/orm/test_update_delete.py
@@ -29,6 +29,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import in_
from sqlalchemy.testing import not_in
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -96,7 +97,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_illegal_eval(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
assert_raises_message(
exc.ArgumentError,
"Valid strategies for session synchronization "
@@ -110,7 +111,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
User = self.classes.User
Address = self.classes.Address
- s = Session()
+ s = fixture_session()
for q, mname in (
(s.query(User).limit(2), r"limit\(\)"),
@@ -197,7 +198,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def __clause_element__(self):
return User.name.__clause_element__()
- s = Session()
+ s = fixture_session()
jill = s.query(User).get(3)
s.query(User).update(
{Thing(): "moonbeam"}, synchronize_session="evaluate"
@@ -211,7 +212,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def __clause_element__(self):
return 5
- s = Session()
+ s = fixture_session()
assert_raises_message(
exc.ArgumentError,
@@ -224,7 +225,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_evaluate_unmapped_col(self):
User = self.classes.User
- s = Session()
+ s = fixture_session()
jill = s.query(User).get(3)
s.query(User).update(
{column("name"): "moonbeam"}, synchronize_session="evaluate"
@@ -239,7 +240,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
mapper(Foo, self.tables.users, properties={"uname": synonym("name")})
- s = Session()
+ s = fixture_session()
jill = s.query(Foo).get(3)
s.query(Foo).update(
{"uname": "moonbeam"}, synchronize_session="evaluate"
@@ -252,7 +253,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
mapper(Foo, self.tables.users, properties={"uname": synonym("name")})
- s = Session()
+ s = fixture_session()
jill = s.query(Foo).get(3)
s.query(Foo).update(
{Foo.uname: "moonbeam"}, synchronize_session="evaluate"
@@ -269,7 +270,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
properties={"uname": synonym("name"), "ufoo": synonym("uname")},
)
- s = Session()
+ s = fixture_session()
jill = s.query(Foo).get(3)
s.query(Foo).update(
{Foo.ufoo: "moonbeam"}, synchronize_session="evaluate"
@@ -287,7 +288,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -392,7 +393,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_fetch_dont_refresh_expired_objects(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -455,7 +456,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(
@@ -470,14 +471,14 @@ class UpdateDeleteTest(fixtures.MappedTest):
User = self.classes.User
users = self.tables.users
- sess = Session()
+ sess = fixture_session()
sess.query(users).delete(synchronize_session=False)
eq_(sess.query(User).count(), 0)
def test_delete_with_bindparams(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(text("name = :name")).params(
@@ -490,7 +491,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_rollback(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(
or_(User.name == "john", User.name == "jill")
@@ -502,7 +503,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_rollback_with_fetch(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(
or_(User.name == "john", User.name == "jill")
@@ -514,7 +515,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_without_session_sync(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(
@@ -528,7 +529,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_with_fetch_strategy(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(
@@ -543,7 +544,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_invalid_evaluation(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -566,7 +567,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(User.age > 29).update(
@@ -779,7 +780,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_against_table_col(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
eq_([john.age, jack.age, jill.age, jane.age], [25, 47, 29, 37])
sess.query(User).filter(User.age > 27).update(
@@ -790,7 +791,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_against_metadata(self):
User, users = self.classes.User, self.tables.users
- sess = Session()
+ sess = fixture_session()
sess.query(users).update(
{users.c.age_int: 29}, synchronize_session=False
@@ -803,7 +804,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_with_bindparams(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -820,7 +821,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_fetch_returning(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -905,7 +906,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_fetch_returning(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -994,7 +995,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
assert_raises(
exc.ArgumentError,
lambda: sess.query(User.name == "filter").update(
@@ -1005,7 +1006,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_without_load(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
sess.query(User).filter(User.id == 3).update(
{"age": 44}, synchronize_session="fetch"
@@ -1018,7 +1019,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_changes_resets_dirty(self):
User = self.classes.User
- sess = Session(autoflush=False)
+ sess = fixture_session(autoflush=False)
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -1047,7 +1048,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_changes_with_autoflush(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
@@ -1073,7 +1074,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_with_expire_strategy(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).filter(User.age > 29).update(
@@ -1090,7 +1091,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_returns_rowcount(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
rowcount = (
sess.query(User)
@@ -1110,7 +1111,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_returns_rowcount(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
rowcount = (
sess.query(User)
@@ -1122,7 +1123,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_all(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).update({"age": 42}, synchronize_session="evaluate")
@@ -1136,7 +1137,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_delete_all(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).delete(synchronize_session="evaluate")
@@ -1149,7 +1150,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_autoflush_before_evaluate_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
john.name = "j2"
@@ -1161,7 +1162,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_autoflush_before_fetch_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
john.name = "j2"
@@ -1173,7 +1174,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_autoflush_before_evaluate_delete(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
john.name = "j2"
@@ -1185,7 +1186,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_autoflush_before_fetch_delete(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
john.name = "j2"
@@ -1197,7 +1198,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_evaluate_before_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
sess.expire(john, ["age"])
@@ -1213,7 +1214,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_fetch_before_update(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
sess.expire(john, ["age"])
@@ -1226,7 +1227,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_evaluate_before_delete(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
sess.expire(john, ["age"])
@@ -1238,7 +1239,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_fetch_before_delete(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john = sess.query(User).filter_by(name="john").one()
sess.expire(john, ["age"])
@@ -1249,7 +1250,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_unordered_dict(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
# Do an update using unordered dict and check that the parameters used
# are ordered in table order
@@ -1266,7 +1267,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
def test_update_preserve_parameter_order_query(self):
User = self.classes.User
- session = Session()
+ session = fixture_session()
# Do update using a tuple and check that order is preserved
@@ -1444,7 +1445,7 @@ class UpdateDeleteIgnoresLoadersTest(fixtures.MappedTest):
def test_update_with_eager_relationships(self):
Document = self.classes.Document
- sess = Session()
+ sess = fixture_session()
foo, bar, baz = sess.query(Document).order_by(Document.id).all()
sess.query(Document).filter(Document.user_id == 1).update(
@@ -1461,7 +1462,7 @@ class UpdateDeleteIgnoresLoadersTest(fixtures.MappedTest):
def test_update_with_explicit_joinedload(self):
User = self.classes.User
- sess = Session()
+ sess = fixture_session()
john, jack, jill, jane = sess.query(User).order_by(User.id).all()
sess.query(User).options(joinedload(User.documents)).filter(
@@ -1477,7 +1478,7 @@ class UpdateDeleteIgnoresLoadersTest(fixtures.MappedTest):
def test_delete_with_eager_relationships(self):
Document = self.classes.Document
- sess = Session()
+ sess = fixture_session()
sess.query(Document).filter(Document.user_id == 1).delete(
synchronize_session=False
@@ -1556,7 +1557,7 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
@testing.requires.update_from
def test_update_from_joined_subq_test(self):
Document = self.classes.Document
- s = Session()
+ s = fixture_session()
subq = (
s.query(func.max(Document.title).label("title"))
@@ -1585,7 +1586,7 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
@testing.requires.delete_from
def test_delete_from_joined_subq_test(self):
Document = self.classes.Document
- s = Session()
+ s = fixture_session()
subq = (
s.query(func.max(Document.title).label("title"))
@@ -1606,7 +1607,7 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
User = self.classes.User
Document = self.classes.Document
- s = Session()
+ s = fixture_session()
q = s.query(User).filter(User.id == Document.user_id)
assert_raises_message(
@@ -1619,7 +1620,7 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
@testing.requires.update_where_target_in_subquery
def test_update_using_in(self):
Document = self.classes.Document
- s = Session()
+ s = fixture_session()
subq = (
s.query(func.max(Document.title).label("title"))
@@ -1649,7 +1650,7 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
@testing.requires.standalone_binds
def test_update_using_case(self):
Document = self.classes.Document
- s = Session()
+ s = fixture_session()
subq = (
s.query(func.max(Document.title).label("title"))
@@ -1684,7 +1685,7 @@ class UpdateDeleteFromTest(fixtures.MappedTest):
Document = self.classes.Document
User = self.classes.User
- s = Session()
+ s = fixture_session()
s.query(Document).filter(User.id == Document.user_id).filter(
User.id == 2
@@ -1735,7 +1736,7 @@ class ExpressionUpdateTest(fixtures.MappedTest):
Data = self.classes.Data
d1 = Data()
- sess = Session()
+ sess = fixture_session()
sess.add(d1)
sess.commit()
eq_(d1.cnt, 0)
@@ -1753,7 +1754,7 @@ class ExpressionUpdateTest(fixtures.MappedTest):
def test_update_args(self):
Data = self.classes.Data
- session = Session()
+ session = fixture_session()
update_args = {"mysql_limit": 1}
m1 = testing.mock.Mock()
@@ -1937,7 +1938,7 @@ class SingleTablePolymorphicTest(fixtures.DeclarativeMappedTest):
def test_update(self, fetchstyle, future):
Staff, Sales, Support = self.classes("Staff", "Sales", "Support")
- sess = Session()
+ sess = fixture_session()
en1, en2 = (
sess.execute(select(Sales).order_by(Sales.sales_stats))
@@ -1987,7 +1988,7 @@ class SingleTablePolymorphicTest(fixtures.DeclarativeMappedTest):
def test_delete(self, fetchstyle, future):
Staff, Sales, Support = self.classes("Staff", "Sales", "Support")
- sess = Session()
+ sess = fixture_session()
en1, en2 = sess.query(Sales).order_by(Sales.sales_stats).all()
mn1, mn2 = sess.query(Support).order_by(Support.support_stats).all()
diff --git a/test/orm/test_utils.py b/test/orm/test_utils.py
index d3082accd..260cae37b 100644
--- a/test/orm/test_utils.py
+++ b/test/orm/test_utils.py
@@ -8,9 +8,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 create_session
from sqlalchemy.orm import mapper
-from sqlalchemy.orm import Session
from sqlalchemy.orm import synonym
from sqlalchemy.orm import util as orm_util
from sqlalchemy.orm import with_polymorphic
@@ -22,6 +20,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.util import compat
from test.orm import _fixtures
from .inheritance import _poly_fixtures
@@ -177,7 +176,7 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
self._fixture(Point)
alias = aliased(Point)
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(alias).filter(alias.left_of(Point)),
@@ -203,7 +202,7 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
eq_(str(Point.double_x.__clause_element__()), "point.x * :x_1")
eq_(str(alias.double_x.__clause_element__()), "point_1.x * :x_1")
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(alias).filter(alias.double_x > Point.x),
@@ -262,7 +261,7 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
a2 = aliased(Point)
eq_(str(a2.x_alone == alias.x), "point_1.x = point_2.x")
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(alias).filter(alias.x_alone > Point.x),
@@ -282,7 +281,7 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
eq_(str(Point.x_syn), "Point.x_syn")
eq_(str(alias.x_syn), "AliasedClass_Point.x_syn")
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(alias.x_syn).filter(alias.x_syn > Point.x_syn),
"SELECT point_1.x AS point_1_x FROM point AS point_1, point "
@@ -321,7 +320,7 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
a2 = aliased(Point)
eq_(str(a2.x_syn == alias.x), "point_1.x = point_2.x")
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(alias).filter(alias.x_syn > Point.x),
@@ -350,7 +349,7 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
eq_(str(Point.double_x.__clause_element__()), "point.x * :x_1")
eq_(str(alias.double_x.__clause_element__()), "point_1.x * :x_1")
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(alias).filter(alias.double_x > Point.x),
@@ -380,7 +379,7 @@ class AliasedClassTest(fixtures.TestBase, AssertsCompiledSQL):
eq_(str(Point.double_x.__clause_element__()), "point.x * :x_1")
eq_(str(alias.double_x.__clause_element__()), "point_1.x * :x_1")
- sess = Session()
+ sess = fixture_session()
self.assert_compile(
sess.query(alias).filter(alias.double_x > Point.x),
@@ -469,7 +468,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
users, User = self.tables.users, self.classes.User
mapper(User, users)
- s = create_session()
+ s = fixture_session()
u = User(name="u1")
s.add(u)
s.flush()
diff --git a/test/orm/test_validators.py b/test/orm/test_validators.py
index 547815745..887ff7754 100644
--- a/test/orm/test_validators.py
+++ b/test/orm/test_validators.py
@@ -2,13 +2,13 @@ from sqlalchemy import exc
from sqlalchemy.orm import collections
from sqlalchemy.orm import mapper
from sqlalchemy.orm import relationship
-from sqlalchemy.orm import Session
from sqlalchemy.orm import validates
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import ne_
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.mock import call
from sqlalchemy.testing.mock import Mock
from test.orm import _fixtures
@@ -27,7 +27,7 @@ class ValidatorTest(_fixtures.FixtureTest):
return name + " modified"
mapper(User, users)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="ed")
eq_(u1.name, "ed modified")
assert_raises(AssertionError, setattr, u1, "name", "fred")
@@ -60,7 +60,7 @@ class ValidatorTest(_fixtures.FixtureTest):
mapper(User, users, properties={"addresses": relationship(Address)})
mapper(Address, addresses)
- sess = Session()
+ sess = fixture_session()
u1 = User(name="edward")
a0 = Address(email_address="noemail")
assert_raises(AssertionError, u1.addresses.append, a0)
diff --git a/test/orm/test_versioning.py b/test/orm/test_versioning.py
index 32f18e47c..c185c59d0 100644
--- a/test/orm/test_versioning.py
+++ b/test/orm/test_versioning.py
@@ -15,12 +15,10 @@ from sqlalchemy import testing
from sqlalchemy import TypeDecorator
from sqlalchemy import util
from sqlalchemy.orm import configure_mappers
-from sqlalchemy.orm import create_session
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 sessionmaker
from sqlalchemy.testing import assert_raises
from sqlalchemy.testing import assert_raises_message
from sqlalchemy.testing import config
@@ -31,6 +29,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_false
from sqlalchemy.testing import is_true
from sqlalchemy.testing.assertsql import CompiledSQL
+from sqlalchemy.testing.fixtures import fixture_session
from sqlalchemy.testing.mock import patch
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
@@ -98,7 +97,7 @@ class NullVersionIdTest(fixtures.MappedTest):
version_id_generator=False,
)
- s1 = Session()
+ s1 = fixture_session()
return s1
def test_null_version_id_insert(self):
@@ -175,7 +174,7 @@ class VersioningTest(fixtures.MappedTest):
Foo, version_table = self.classes.Foo, self.tables.version_table
mapper(Foo, version_table, version_id_col=version_table.c.version_id)
- s1 = Session()
+ s1 = fixture_session()
return s1
@engines.close_open_connections
@@ -211,7 +210,7 @@ class VersioningTest(fixtures.MappedTest):
):
s1.commit()
- s2 = create_session(autocommit=False)
+ s2 = fixture_session(autocommit=False)
f1_s = s2.query(Foo).get(f1.id)
f1_s.value = "f1rev3"
with conditional_sane_rowcount_warnings(
@@ -371,7 +370,7 @@ class VersioningTest(fixtures.MappedTest):
s1.add(f1s1)
s1.commit()
- s2 = create_session(autocommit=False)
+ s2 = fixture_session(autocommit=False)
f1s2 = s2.query(Foo).get(f1s1.id)
f1s2.value = "f1 new value"
with conditional_sane_rowcount_warnings(
@@ -406,7 +405,7 @@ class VersioningTest(fixtures.MappedTest):
version_table = self.tables.version_table
mapper(Foo, version_table)
- s1 = Session()
+ s1 = fixture_session()
f1s1 = Foo(value="f1 value", version_id=1)
s1.add(f1s1)
s1.commit()
@@ -425,7 +424,7 @@ class VersioningTest(fixtures.MappedTest):
s1.add(f1s1)
s1.commit()
- s2 = create_session(autocommit=False)
+ s2 = fixture_session(autocommit=False)
f1s2 = s2.query(Foo).get(f1s1.id)
# not sure if I like this API
s2.refresh(f1s2, with_for_update=True)
@@ -502,13 +501,13 @@ class VersioningTest(fixtures.MappedTest):
Foo, version_table = self.classes.Foo, self.tables.version_table
- s1 = create_session(autocommit=False)
+ s1 = fixture_session(autocommit=False)
mapper(Foo, version_table)
f1s1 = Foo(value="foo", version_id=0)
s1.add(f1s1)
s1.commit()
- s2 = create_session(autocommit=False)
+ s2 = fixture_session(autocommit=False)
f1s2 = s2.query(Foo).with_for_update(read=True).get(f1s1.id)
assert f1s2.id == f1s1.id
assert f1s2.value == f1s1.value
@@ -647,7 +646,7 @@ class VersionOnPostUpdateTest(fixtures.MappedTest):
version_id_col=node.c.version_id,
)
- s = Session()
+ s = fixture_session()
n1 = Node(id=1)
n2 = Node(id=2)
@@ -827,7 +826,7 @@ class NoBumpOnRelationshipTest(fixtures.MappedTest):
def _run_test(self, auto_version_counter=True):
A, B = self.classes("A", "B")
- s = Session()
+ s = fixture_session()
if auto_version_counter:
a1 = A()
else:
@@ -918,7 +917,7 @@ class ColumnTypeTest(fixtures.MappedTest):
Foo, version_table = self.classes.Foo, self.tables.version_table
mapper(Foo, version_table, version_id_col=version_table.c.version_id)
- s1 = Session()
+ s1 = fixture_session()
return s1
@engines.close_open_connections
@@ -984,7 +983,7 @@ class RowSwitchTest(fixtures.MappedTest):
def test_row_switch(self):
P = self.classes.P
- session = sessionmaker()()
+ session = fixture_session()
session.add(P(id="P1", data="P version 1"))
session.commit()
session.close()
@@ -1002,7 +1001,7 @@ class RowSwitchTest(fixtures.MappedTest):
assert P.c.property.strategy.use_get
- session = sessionmaker()()
+ session = fixture_session()
session.add(P(id="P1", data="P version 1"))
session.commit()
session.close()
@@ -1073,7 +1072,7 @@ class AlternateGeneratorTest(fixtures.MappedTest):
def test_row_switch(self):
P = self.classes.P
- session = sessionmaker()()
+ session = fixture_session()
session.add(P(id="P1", data="P version 1"))
session.commit()
session.close()
@@ -1091,7 +1090,7 @@ class AlternateGeneratorTest(fixtures.MappedTest):
assert P.c.property.strategy.use_get
- session = sessionmaker()()
+ session = fixture_session()
session.add(P(id="P1", data="P version 1"))
session.commit()
session.close()
@@ -1111,19 +1110,17 @@ class AlternateGeneratorTest(fixtures.MappedTest):
def test_child_row_switch_two(self):
P = self.classes.P
- Session = sessionmaker()
-
# TODO: not sure this test is
# testing exactly what its looking for
- sess1 = Session()
+ sess1 = fixture_session()
sess1.add(P(id="P1", data="P version 1"))
sess1.commit()
sess1.close()
p1 = sess1.query(P).first()
- sess2 = Session()
+ sess2 = fixture_session()
p2 = sess2.query(P).first()
sess1.delete(p1)
@@ -1185,7 +1182,7 @@ class PlainInheritanceTest(fixtures.MappedTest):
mapper(Base, base, version_id_col=base.c.version_id)
mapper(Sub, sub, inherits=Base)
- s = Session()
+ s = fixture_session()
s1 = Sub(data="b", sub_data="s")
s.add(s1)
s.commit()
@@ -1245,13 +1242,13 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
mapper(Base, base, version_id_col=base.c.version_id)
mapper(Sub, sub, inherits=Base)
- session = Session()
+ session = fixture_session()
b1 = Base(data="b1")
session.add(b1)
session.commit()
eq_(b1.version_id, 1)
# base is populated
- eq_(select(base.c.version_id).scalar(), 1)
+ eq_(session.connection().scalar(select(base.c.version_id)), 1)
def test_sub_both(self):
Base, sub, base, Sub = (
@@ -1264,16 +1261,16 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
mapper(Base, base, version_id_col=base.c.version_id)
mapper(Sub, sub, inherits=Base)
- session = Session()
+ session = fixture_session()
s1 = Sub(data="s1", sub_data="s1")
session.add(s1)
session.commit()
# table is populated
- eq_(select(sub.c.version_id).scalar(), 1)
+ eq_(session.connection().scalar(select(sub.c.version_id)), 1)
# base is populated
- eq_(select(base.c.version_id).scalar(), 1)
+ eq_(session.connection().scalar(select(base.c.version_id)), 1)
def test_sub_only(self):
Base, sub, base, Sub = (
@@ -1286,16 +1283,16 @@ class InheritanceTwoVersionIdsTest(fixtures.MappedTest):
mapper(Base, base)
mapper(Sub, sub, inherits=Base, version_id_col=sub.c.version_id)
- session = Session()
+ session = fixture_session()
s1 = Sub(data="s1", sub_data="s1")
session.add(s1)
session.commit()
# table is populated
- eq_(select(sub.c.version_id).scalar(), 1)
+ eq_(session.connection().scalar(select(sub.c.version_id)), 1)
# base is not
- eq_(select(base.c.version_id).scalar(), None)
+ eq_(session.connection().scalar(select(base.c.version_id)), None)
def test_mismatch_version_col_warning(self):
Base, sub, base, Sub = (
@@ -1384,7 +1381,7 @@ class ServerVersioningTest(fixtures.MappedTest):
eager_defaults=eager_defaults,
)
- s1 = Session(expire_on_commit=expire_on_commit)
+ s1 = fixture_session(expire_on_commit=expire_on_commit)
return s1
def test_insert_col(self):
@@ -1625,7 +1622,7 @@ class ServerVersioningTest(fixtures.MappedTest):
f1.value
- s2 = Session()
+ s2 = fixture_session()
f2 = s2.query(self.classes.Foo).first()
f2.value = "f2"
s2.commit()
@@ -1652,7 +1649,7 @@ class ServerVersioningTest(fixtures.MappedTest):
# a SELECT for it within the flush.
f1.value
- s2 = Session(expire_on_commit=False)
+ s2 = fixture_session(expire_on_commit=False)
f2 = s2.query(self.classes.Foo).first()
f2.value = "f2"
s2.commit()
@@ -1698,7 +1695,7 @@ class ManualVersionTest(fixtures.MappedTest):
)
def test_insert(self):
- sess = Session()
+ sess = fixture_session()
a1 = self.classes.A()
a1.vid = 1
@@ -1708,7 +1705,7 @@ class ManualVersionTest(fixtures.MappedTest):
eq_(a1.vid, 1)
def test_update(self):
- sess = Session()
+ sess = fixture_session()
a1 = self.classes.A()
a1.vid = 1
@@ -1728,7 +1725,7 @@ class ManualVersionTest(fixtures.MappedTest):
@testing.requires.sane_rowcount_w_returning
def test_update_concurrent_check(self):
- sess = Session()
+ sess = fixture_session()
a1 = self.classes.A()
a1.vid = 1
@@ -1742,7 +1739,7 @@ class ManualVersionTest(fixtures.MappedTest):
assert_raises(orm_exc.StaleDataError, sess.commit)
def test_update_version_conditional(self):
- sess = Session()
+ sess = fixture_session()
a1 = self.classes.A()
a1.vid = 1
@@ -1814,7 +1811,7 @@ class ManualInheritanceVersionTest(fixtures.MappedTest):
mapper(cls.classes.B, cls.tables.b, inherits=cls.classes.A)
def test_no_increment(self):
- sess = Session()
+ sess = fixture_session()
b1 = self.classes.B()
b1.vid = 1
@@ -1874,7 +1871,7 @@ class VersioningMappedSelectTest(fixtures.MappedTest):
)
mapper(Foo, current, version_id_col=version_table.c.version_id)
- s1 = Session()
+ s1 = fixture_session()
return s1
def _explicit_version_fixture(self):
@@ -1892,7 +1889,7 @@ class VersioningMappedSelectTest(fixtures.MappedTest):
version_id_col=version_table.c.version_id,
version_id_generator=False,
)
- s1 = Session()
+ s1 = fixture_session()
return s1
def test_implicit(self):
diff --git a/test/sql/test_functions.py b/test/sql/test_functions.py
index 1722a1e69..91076f9c3 100644
--- a/test/sql/test_functions.py
+++ b/test/sql/test_functions.py
@@ -1064,14 +1064,10 @@ class ExecuteTest(fixtures.TestBase):
@testing.fails_on_everything_except("postgresql")
def test_as_from(self, connection):
# TODO: shouldn't this work on oracle too ?
- x = connection.execute(func.current_date(bind=testing.db)).scalar()
- y = connection.execute(
- func.current_date(bind=testing.db).select()
- ).scalar()
- z = connection.scalar(func.current_date(bind=testing.db))
- w = connection.scalar(
- select("*").select_from(func.current_date(bind=testing.db))
- )
+ x = connection.execute(func.current_date()).scalar()
+ y = connection.execute(func.current_date().select()).scalar()
+ z = connection.scalar(func.current_date())
+ w = connection.scalar(select("*").select_from(func.current_date()))
assert x == y == z == w
diff --git a/test/sql/test_query.py b/test/sql/test_query.py
index 9af8ef6da..3047b5d09 100644
--- a/test/sql/test_query.py
+++ b/test/sql/test_query.py
@@ -264,15 +264,23 @@ class QueryTest(fixtures.TablesTest):
def test_compiled_execute(self, connection):
users = self.tables.users
connection.execute(users.insert(), user_id=7, user_name="jack")
- s = select(users).where(users.c.user_id == bindparam("id")).compile()
+ s = (
+ select(users)
+ .where(users.c.user_id == bindparam("id"))
+ .compile(connection)
+ )
eq_(connection.execute(s, id=7).first()._mapping["user_id"], 7)
def test_compiled_insert_execute(self, connection):
users = self.tables.users
connection.execute(
- users.insert().compile(), user_id=7, user_name="jack"
+ users.insert().compile(connection), user_id=7, user_name="jack"
+ )
+ s = (
+ select(users)
+ .where(users.c.user_id == bindparam("id"))
+ .compile(connection)
)
- s = select(users).where(users.c.user_id == bindparam("id")).compile()
eq_(connection.execute(s, id=7).first()._mapping["user_id"], 7)
def test_repeated_bindparams(self, connection):
diff --git a/test/sql/test_sequences.py b/test/sql/test_sequences.py
index b5ba28df7..65325aa6f 100644
--- a/test/sql/test_sequences.py
+++ b/test/sql/test_sequences.py
@@ -520,7 +520,7 @@ class SequenceAsServerDefaultTest(
def test_drop_ordering(self):
with self.sql_execution_asserter(testing.db) as asserter:
- self.tables_test_metadata.drop_all(checkfirst=False)
+ self.tables_test_metadata.drop_all(testing.db, checkfirst=False)
asserter.assert_(
AllOf(