summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2023-02-27 06:36:41 +0000
committerGerrit Code Review <gerrit@bbpush.zzzcomputing.com>2023-02-27 06:36:41 +0000
commit8d16aac95d99c708ff4eecc9f8676776c27cfd58 (patch)
tree80bba068953ec78eb082e912b508a47014bccd51 /test
parent1737585241ef8e3f5ed0bdb39b71a8526b41d8b3 (diff)
parent18db042ea74a0ff4e6f4bdecb66c9321a999c1a8 (diff)
downloadsqlalchemy-8d16aac95d99c708ff4eecc9f8676776c27cfd58.tar.gz
Merge "Create public QueryPropertyDescriptor type for query_property" into main
Diffstat (limited to 'test')
-rw-r--r--test/ext/mypy/plain_files/sessionmakers.py32
-rw-r--r--test/ext/mypy/plugin_files/issue_9156.py3
2 files changed, 33 insertions, 2 deletions
diff --git a/test/ext/mypy/plain_files/sessionmakers.py b/test/ext/mypy/plain_files/sessionmakers.py
index 2d02f2a3f..2897606cf 100644
--- a/test/ext/mypy/plain_files/sessionmakers.py
+++ b/test/ext/mypy/plain_files/sessionmakers.py
@@ -1,4 +1,6 @@
-"""test #7656"""
+"""test sessionmaker, originally for #7656"""
+
+from typing import reveal_type
from sqlalchemy import create_engine
from sqlalchemy import Engine
@@ -7,6 +9,7 @@ from sqlalchemy.ext.asyncio import async_sessionmaker
from sqlalchemy.ext.asyncio import AsyncEngine
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.ext.asyncio import create_async_engine
+from sqlalchemy.orm import QueryPropertyDescriptor
from sqlalchemy.orm import scoped_session
from sqlalchemy.orm import Session
from sqlalchemy.orm import sessionmaker
@@ -110,3 +113,30 @@ def test_8837_async() -> None:
# EXPECTED_TYPE: AsyncSession
reveal_type(async_session)
+
+
+# test #9338
+ss_9338 = scoped_session_factory(engine)
+
+# EXPECTED_TYPE: QueryPropertyDescriptor
+reveal_type(ss_9338.query_property())
+qp: QueryPropertyDescriptor = ss_9338.query_property()
+
+
+class Foo:
+ query = qp
+
+
+# EXPECTED_TYPE: Query[Foo]
+reveal_type(Foo.query)
+
+# EXPECTED_TYPE: list[Foo]
+reveal_type(Foo.query.all())
+
+
+class Bar:
+ query: QueryPropertyDescriptor = ss_9338.query_property()
+
+
+# EXPECTED_TYPE: Query[Bar]
+reveal_type(Bar.query)
diff --git a/test/ext/mypy/plugin_files/issue_9156.py b/test/ext/mypy/plugin_files/issue_9156.py
index 46e5e9570..e67f64442 100644
--- a/test/ext/mypy/plugin_files/issue_9156.py
+++ b/test/ext/mypy/plugin_files/issue_9156.py
@@ -1,4 +1,5 @@
-from typing import Any, Type
+from typing import Any
+from typing import Type
from sqlalchemy.sql.elements import ColumnElement
from sqlalchemy.sql.type_api import TypeEngine