summaryrefslogtreecommitdiff
path: root/test/ext/mypy/plugin_files/relationship_err1.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/ext/mypy/plugin_files/relationship_err1.py')
-rw-r--r--test/ext/mypy/plugin_files/relationship_err1.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/ext/mypy/plugin_files/relationship_err1.py b/test/ext/mypy/plugin_files/relationship_err1.py
new file mode 100644
index 000000000..ba3783f05
--- /dev/null
+++ b/test/ext/mypy/plugin_files/relationship_err1.py
@@ -0,0 +1,31 @@
+from typing import List
+
+from sqlalchemy import Column
+from sqlalchemy import ForeignKey
+from sqlalchemy import Integer
+from sqlalchemy.ext.declarative import declarative_base
+from sqlalchemy.orm import relationship
+
+Base = declarative_base()
+
+
+class B(Base):
+ __tablename__ = "b"
+ id = Column(Integer, primary_key=True)
+
+ # EXPECTED: Expected Python collection type for collection_class parameter # noqa
+ as_: List["A"] = relationship("A", collection_class=None)
+
+ # EXPECTED: Can't infer type from ORM mapped expression assigned to attribute 'another_as_'; # noqa
+ another_as_ = relationship("A", uselist=True)
+
+
+class A(Base):
+ __tablename__ = "a"
+
+ id = Column(Integer, primary_key=True)
+ b_id: int = Column(ForeignKey("b.id"))
+
+ # EXPECTED: Sending uselist=False and collection_class at the same time does not make sense # noqa
+ # EXPECTED_MYPY_RE: No overload variant of "relationship" matches argument types
+ b: B = relationship(B, uselist=False, collection_class=set)