summaryrefslogtreecommitdiff
path: root/test/orm/test_composites.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/orm/test_composites.py')
-rw-r--r--test/orm/test_composites.py20
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'