summary refs log tree commit diff
path: root/tests/storage/test_base.py
diff options
context:
space:
mode:
authorPatrick Cloke <clokep@users.noreply.github.com>2023-11-07 14:00:25 -0500
committerGitHub <noreply@github.com>2023-11-07 14:00:25 -0500
commit9738b1c4975b293a1bc25ee27b5527724038baa1 (patch)
tree43c74a577da2f5eeda0f6a2806910de44163a57a /tests/storage/test_base.py
parentMore tests for the simple_* methods. (#16596) (diff)
downloadsynapse-9738b1c4975b293a1bc25ee27b5527724038baa1.tar.xz
Avoid executing no-op queries. (#16583)
If simple_{insert,upsert,update}_many_txn is called without any data
to modify then return instead of executing the query.

This matches the behavior of simple_{select,delete}_many_txn.
Diffstat (limited to 'tests/storage/test_base.py')
-rw-r--r--tests/storage/test_base.py25
1 files changed, 5 insertions, 20 deletions
diff --git a/tests/storage/test_base.py b/tests/storage/test_base.py
index b4c490b568..de4fcfe026 100644
--- a/tests/storage/test_base.py
+++ b/tests/storage/test_base.py
@@ -189,17 +189,9 @@ class SQLBaseStoreTestCase(unittest.TestCase):
         )
 
         if USE_POSTGRES_FOR_TESTS:
-            self.mock_execute_values.assert_called_once_with(
-                self.mock_txn,
-                "INSERT INTO tablename (col1, col2) VALUES ?",
-                [],
-                template=None,
-                fetch=False,
-            )
+            self.mock_execute_values.assert_not_called()
         else:
-            self.mock_txn.executemany.assert_called_once_with(
-                "INSERT INTO tablename (col1, col2) VALUES(?, ?)", []
-            )
+            self.mock_txn.executemany.assert_not_called()
 
     @defer.inlineCallbacks
     def test_select_one_1col(self) -> Generator["defer.Deferred[object]", object, None]:
@@ -393,7 +385,7 @@ class SQLBaseStoreTestCase(unittest.TestCase):
             )
 
     @defer.inlineCallbacks
-    def test_update_many_no_values(
+    def test_update_many_no_iterable(
         self,
     ) -> Generator["defer.Deferred[object]", object, None]:
         yield defer.ensureDeferred(
@@ -408,16 +400,9 @@ class SQLBaseStoreTestCase(unittest.TestCase):
         )
 
         if USE_POSTGRES_FOR_TESTS:
-            self.mock_execute_batch.assert_called_once_with(
-                self.mock_txn,
-                "UPDATE tablename SET col3 = ? WHERE col1 = ? AND col2 = ?",
-                [],
-            )
+            self.mock_execute_batch.assert_not_called()
         else:
-            self.mock_txn.executemany.assert_called_once_with(
-                "UPDATE tablename SET col3 = ? WHERE col1 = ? AND col2 = ?",
-                [],
-            )
+            self.mock_txn.executemany.assert_not_called()
 
     @defer.inlineCallbacks
     def test_delete_one(self) -> Generator["defer.Deferred[object]", object, None]: