summaryrefslogtreecommitdiff
path: root/test/ext/asyncio/test_session_py3k.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/ext/asyncio/test_session_py3k.py')
-rw-r--r--test/ext/asyncio/test_session_py3k.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/ext/asyncio/test_session_py3k.py b/test/ext/asyncio/test_session_py3k.py
index 4165991d4..cd9054740 100644
--- a/test/ext/asyncio/test_session_py3k.py
+++ b/test/ext/asyncio/test_session_py3k.py
@@ -107,6 +107,17 @@ class AsyncSessionQueryTest(AsyncFixture):
is_(u3, None)
@async_test
+ async def test_get_loader_options(self, async_session):
+ User = self.classes.User
+
+ u = await async_session.get(
+ User, 7, options=[selectinload(User.addresses)]
+ )
+
+ eq_(u.name, "jack")
+ eq_(len(u.__dict__["addresses"]), 1)
+
+ @async_test
@testing.requires.independent_cursors
@testing.combinations(
{}, dict(execution_options={"logging_token": "test"}), argnames="kw"
@@ -336,6 +347,28 @@ class AsyncSessionTransactionTest(AsyncFixture):
eq_(u1.name, "new u1")
@async_test
+ async def test_merge_loader_options(self, async_session):
+ User = self.classes.User
+ Address = self.classes.Address
+
+ async with async_session.begin():
+ u1 = User(id=1, name="u1", addresses=[Address(email_address="e1")])
+
+ async_session.add(u1)
+
+ await async_session.close()
+
+ async with async_session.begin():
+ new_u1 = User(id=1, name="new u1")
+
+ new_u_merged = await async_session.merge(
+ new_u1, options=[selectinload(User.addresses)]
+ )
+
+ eq_(new_u_merged.name, "new u1")
+ eq_(len(new_u_merged.__dict__["addresses"]), 1)
+
+ @async_test
async def test_join_to_external_transaction(self, async_engine):
User = self.classes.User