diff options
Diffstat (limited to 'test/orm/test_composites.py')
-rw-r--r-- | test/orm/test_composites.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/test/orm/test_composites.py b/test/orm/test_composites.py index b4abb2dce..8946b6908 100644 --- a/test/orm/test_composites.py +++ b/test/orm/test_composites.py @@ -6,7 +6,7 @@ from sqlalchemy import Integer, String, ForeignKey, \ from sqlalchemy.testing.schema import Table, Column from sqlalchemy.orm import mapper, relationship, \ CompositeProperty, aliased -from sqlalchemy.orm import composite, Session +from sqlalchemy.orm import composite, Session, configure_mappers from sqlalchemy.testing import eq_ from sqlalchemy.testing import fixtures @@ -739,6 +739,24 @@ class ConfigurationTest(fixtures.MappedTest): }) self._test_roundtrip() + def test_check_prop_type(self): + edge, Edge, Point = (self.tables.edge, + self.classes.Edge, + self.classes.Point) + mapper(Edge, edge, properties={ + 'start': sa.orm.composite(Point, (edge.c.x1,), edge.c.y1), + }) + assert_raises_message( + sa.exc.ArgumentError, + # note that we also are checking that the tuple + # renders here, so the "%" operator in the string needs to + # apply the tuple also + r"Composite expects Column or Column-bound " + "attributes/attribute names as " + "arguments, got: \(Column", + configure_mappers + ) + class ComparatorTest(fixtures.MappedTest, testing.AssertsCompiledSQL): __dialect__ = 'default' |