diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2021-03-09 19:44:18 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2021-03-09 19:44:18 +0000 |
| commit | 28b0b6515af26ee3ba09600a8212849b2dae0699 (patch) | |
| tree | 03dcbe800ee169d3661dc4752c00c9b8ed77e136 /test/sql/test_query.py | |
| parent | 04866df7bd81e3d3388397aa4064f1b56b5c5d15 (diff) | |
| parent | 79bde753e47bd86f0199c4aa6a5c2ead1e4aec95 (diff) | |
| download | sqlalchemy-28b0b6515af26ee3ba09600a8212849b2dae0699.tar.gz | |
Merge "Apply percent sign escaping to op(), custom_op()"
Diffstat (limited to 'test/sql/test_query.py')
| -rw-r--r-- | test/sql/test_query.py | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/test/sql/test_query.py b/test/sql/test_query.py index 913b7f4d1..33245bfbc 100644 --- a/test/sql/test_query.py +++ b/test/sql/test_query.py @@ -34,6 +34,7 @@ from sqlalchemy.testing import fixtures from sqlalchemy.testing import is_ from sqlalchemy.testing.schema import Column from sqlalchemy.testing.schema import Table +from sqlalchemy.testing.util import resolve_lambda class QueryTest(fixtures.TablesTest): @@ -173,7 +174,34 @@ class QueryTest(fixtures.TablesTest): select(tuple_(users.c.user_id, users.c.user_name)), ) - def test_like_ops(self, connection): + @testing.combinations( + ( + lambda users: select(users.c.user_id).where( + users.c.user_name.startswith("apple") + ), + [(1,)], + ), + ( + lambda users: select(users.c.user_id).where( + users.c.user_name.contains("i % t") + ), + [(5,)], + ), + ( + lambda users: select(users.c.user_id).where( + users.c.user_name.endswith("anas") + ), + [(3,)], + ), + ( + lambda users: select(users.c.user_id).where( + users.c.user_name.contains("i % t", escape="&") + ), + [(5,)], + ), + argnames="expr,result", + ) + def test_like_ops(self, connection, expr, result): users = self.tables.users connection.execute( users.insert(), @@ -186,33 +214,8 @@ class QueryTest(fixtures.TablesTest): ], ) - for expr, result in ( - ( - select(users.c.user_id).where( - users.c.user_name.startswith("apple") - ), - [(1,)], - ), - ( - select(users.c.user_id).where( - users.c.user_name.contains("i % t") - ), - [(5,)], - ), - ( - select(users.c.user_id).where( - users.c.user_name.endswith("anas") - ), - [(3,)], - ), - ( - select(users.c.user_id).where( - users.c.user_name.contains("i % t", escape="&") - ), - [(5,)], - ), - ): - eq_(connection.execute(expr).fetchall(), result) + expr = resolve_lambda(expr, users=users) + eq_(connection.execute(expr).fetchall(), result) @testing.requires.mod_operator_as_percent_sign @testing.emits_warning(".*now automatically escapes.*") |
