]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fix SQLite on conflict tests
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 19 Dec 2024 22:50:21 +0000 (17:50 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 19 Dec 2024 22:52:14 +0000 (17:52 -0500)
in I4d66ec1473321616a1707da324a7dfe7a61ec94e we added new tests
in the sqlite suite but we forgot to extend from fixtures.TestBase,
so these tests did not get run at all.  repair tests

Change-Id: Iaec17a754e0ab1d4b43f063706b512ed335a7465
(cherry picked from commit 6a87d619d9dfe82a8135f0ab3268bf526ac42383)

test/dialect/test_sqlite.py

index 53565504938f7b9db9c677783c7980ad0501ce4d..f73ba4025a1c23c4c04b5542e92c0e220c26517c 100644 (file)
@@ -2949,7 +2949,7 @@ class RegexpTest(fixtures.TestBase, testing.AssertsCompiledSQL):
         )
 
 
-class OnConflictCompileTest(AssertsCompiledSQL):
+class OnConflictCompileTest(AssertsCompiledSQL, fixtures.TestBase):
     __dialect__ = "sqlite"
 
     @testing.combinations(
@@ -3009,8 +3009,8 @@ class OnConflictCompileTest(AssertsCompiledSQL):
                 f"INSERT INTO users (id, name) VALUES (?, ?) {expected}",
             )
 
-    @testing.combinations("control", "excluded", "dict")
-    def test_set_excluded(self, scenario, users):
+    @testing.combinations("control", "excluded", "dict", argnames="scenario")
+    def test_set_excluded(self, scenario, users, users_w_key):
         """test #8014, sending all of .excluded to set"""
 
         if scenario == "control":
@@ -3022,7 +3022,6 @@ class OnConflictCompileTest(AssertsCompiledSQL):
                 "DO UPDATE SET id = excluded.id, name = excluded.name",
             )
         else:
-            users_w_key = self.tables.users_w_key
 
             stmt = insert(users_w_key)
 
@@ -3046,9 +3045,7 @@ class OnConflictCompileTest(AssertsCompiledSQL):
                     "DO UPDATE SET id = excluded.id, name = excluded.name",
                 )
 
-    def test_on_conflict_do_update_exotic_targets_six(
-        self, connection, users_xtra
-    ):
+    def test_on_conflict_do_update_exotic_targets_six(self, users_xtra):
         users = users_xtra
 
         unique_partial_index = schema.Index(
@@ -3059,16 +3056,6 @@ class OnConflictCompileTest(AssertsCompiledSQL):
             sqlite_where=users_xtra.c.lets_index_this == "unique_name",
         )
 
-        conn = connection
-        conn.execute(
-            insert(users),
-            dict(
-                id=1,
-                name="name1",
-                login_email="mail1@gmail.com",
-                lets_index_this="unique_name",
-            ),
-        )
         i = insert(users)
         i = i.on_conflict_do_update(
             index_elements=unique_partial_index.columns,
@@ -3105,6 +3092,16 @@ class OnConflictCompileTest(AssertsCompiledSQL):
             Column("name", String(50)),
         )
 
+    @testing.fixture
+    def users_w_key(self):
+        metadata = MetaData()
+        return Table(
+            "users_w_key",
+            metadata,
+            Column("id", Integer, primary_key=True),
+            Column("name", String(50), key="name_keyed"),
+        )
+
     @testing.fixture
     def users_xtra(self):
         metadata = MetaData()