diff options
Diffstat (limited to 'test/ext/asyncio/test_session_py3k.py')
-rw-r--r-- | test/ext/asyncio/test_session_py3k.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/ext/asyncio/test_session_py3k.py b/test/ext/asyncio/test_session_py3k.py index ce38de511..48c5e60ab 100644 --- a/test/ext/asyncio/test_session_py3k.py +++ b/test/ext/asyncio/test_session_py3k.py @@ -6,6 +6,7 @@ from sqlalchemy import func from sqlalchemy import inspect from sqlalchemy import Integer from sqlalchemy import select +from sqlalchemy import Sequence from sqlalchemy import Table from sqlalchemy import testing from sqlalchemy import update @@ -25,6 +26,7 @@ from sqlalchemy.testing import expect_raises_message from sqlalchemy.testing import is_ from sqlalchemy.testing import is_true from sqlalchemy.testing import mock +from sqlalchemy.testing.assertions import expect_deprecated from sqlalchemy.testing.assertions import is_false from .test_engine_py3k import AsyncFixture as _AsyncFixture from ...orm import _fixtures @@ -68,6 +70,34 @@ class AsyncSessionTest(AsyncFixture): ss = AsyncSession(binds=binds) is_(ss.binds, binds) + @async_test + @testing.combinations((True,), (False,), argnames="use_scalar") + @testing.requires.sequences + async def test_sequence_execute( + self, async_session: AsyncSession, metadata, use_scalar + ): + seq = Sequence("some_sequence", metadata=metadata) + + sync_connection = (await async_session.connection()).sync_connection + + await (await async_session.connection()).run_sync(metadata.create_all) + + if use_scalar: + eq_( + await async_session.scalar(seq), + sync_connection.dialect.default_sequence_base, + ) + else: + with expect_deprecated( + r"Using the .execute\(\) method to invoke a " + r"DefaultGenerator object is deprecated; please use " + r"the .scalar\(\) method." + ): + eq_( + await async_session.execute(seq), + sync_connection.dialect.default_sequence_base, + ) + class AsyncSessionQueryTest(AsyncFixture): @async_test |