diff options
Diffstat (limited to 'test/orm/test_query.py')
| -rw-r--r-- | test/orm/test_query.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/orm/test_query.py b/test/orm/test_query.py index 3ed2e7d7a..b0501739f 100644 --- a/test/orm/test_query.py +++ b/test/orm/test_query.py @@ -776,6 +776,42 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL): meth, q, *arg, **kw ) + def test_illegal_coercions(self): + User = self.classes.User + + assert_raises_message( + sa_exc.ArgumentError, + "Object .*User.* is not legal as a SQL literal value", + distinct, User + ) + + ua = aliased(User) + assert_raises_message( + sa_exc.ArgumentError, + "Object .*User.* is not legal as a SQL literal value", + distinct, ua + ) + + s = Session() + assert_raises_message( + sa_exc.ArgumentError, + "Object .*User.* is not legal as a SQL literal value", + lambda: s.query(User).filter(User.name == User) + ) + + u1 = User() + assert_raises_message( + sa_exc.ArgumentError, + "Object .*User.* is not legal as a SQL literal value", + distinct, u1 + ) + + assert_raises_message( + sa_exc.ArgumentError, + "Object .*User.* is not legal as a SQL literal value", + lambda: s.query(User).filter(User.name == u1) + ) + class OperatorTest(QueryTest, AssertsCompiledSQL): """test sql.Comparator implementation for MapperProperties""" |
