summaryrefslogtreecommitdiff
path: root/test/sql/test_update.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql/test_update.py')
-rw-r--r--test/sql/test_update.py36
1 files changed, 34 insertions, 2 deletions
diff --git a/test/sql/test_update.py b/test/sql/test_update.py
index 3ab580b11..872671008 100644
--- a/test/sql/test_update.py
+++ b/test/sql/test_update.py
@@ -1,8 +1,10 @@
-from sqlalchemy import *
+from sqlalchemy import Integer, String, ForeignKey, and_, or_, func, \
+ literal, update, table, bindparam, column, select, exc
from sqlalchemy import testing
from sqlalchemy.dialects import mysql
from sqlalchemy.engine import default
-from sqlalchemy.testing import AssertsCompiledSQL, eq_, fixtures
+from sqlalchemy.testing import AssertsCompiledSQL, eq_, fixtures, \
+ assert_raises_message
from sqlalchemy.testing.schema import Table, Column
from sqlalchemy import util
@@ -188,6 +190,36 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
'mytable.myid = hoho(:hoho_1) AND '
'mytable.name = :param_2 || mytable.name || :param_3')
+ def test_unconsumed_names_kwargs(self):
+ t = table("t", column("x"), column("y"))
+
+ assert_raises_message(
+ exc.CompileError,
+ "Unconsumed column names: z",
+ t.update().values(x=5, z=5).compile,
+ )
+
+ def test_unconsumed_names_values_dict(self):
+ t = table("t", column("x"), column("y"))
+ t2 = table("t2", column("q"), column("z"))
+
+ assert_raises_message(
+ exc.CompileError,
+ "Unconsumed column names: j",
+ t.update().values(x=5, j=7).values({t2.c.z: 5}).
+ where(t.c.x == t2.c.q).compile,
+ )
+
+ def test_unconsumed_names_kwargs_w_keys(self):
+ t = table("t", column("x"), column("y"))
+
+ assert_raises_message(
+ exc.CompileError,
+ "Unconsumed column names: j",
+ t.update().values(x=5, j=7).compile,
+ column_keys=['j']
+ )
+
def test_update_ordered_parameters_1(self):
table1 = self.tables.mytable