From fe0fc3e9959aea46586f6e35baa76461437dd18e Mon Sep 17 00:00:00 2001
From: Robin Appelman <robin@icewind.nl>
Date: Mon, 15 Jul 2024 14:49:38 +0200
Subject: [PATCH] test: update share tests to work with sharding

Signed-off-by: Robin Appelman <robin@icewind.nl>
---
 .../Command/CleanupRemoteStoragesTest.php     | 44 +++++++++----------
 apps/files_sharing/tests/TestCase.php         |  2 +-
 lib/private/DB/QueryBuilder/QueryBuilder.php  |  1 -
 3 files changed, 23 insertions(+), 24 deletions(-)

diff --git a/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php b/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php
index fae07bccfa7..803ee1d02c9 100644
--- a/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php
+++ b/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php
@@ -54,48 +54,48 @@ class CleanupRemoteStoragesTest extends TestCase {
 
 		$storageQuery = \OC::$server->getDatabaseConnection()->getQueryBuilder();
 		$storageQuery->insert('storages')
-			->setValue('id', '?');
+			->setValue('id', $storageQuery->createParameter('id'));
 
 		$shareExternalQuery = \OC::$server->getDatabaseConnection()->getQueryBuilder();
 		$shareExternalQuery->insert('share_external')
-			->setValue('share_token', '?')
-			->setValue('remote', '?')
-			->setValue('name', '?')
-			->setValue('owner', '?')
-			->setValue('user', '?')
-			->setValue('mountpoint', '?')
-			->setValue('mountpoint_hash', '?');
+			->setValue('share_token', $shareExternalQuery->createParameter('share_token'))
+			->setValue('remote', $shareExternalQuery->createParameter('remote'))
+			->setValue('name', $shareExternalQuery->createParameter('name'))
+			->setValue('owner', $shareExternalQuery->createParameter('owner'))
+			->setValue('user', $shareExternalQuery->createParameter('user'))
+			->setValue('mountpoint', $shareExternalQuery->createParameter('mountpoint'))
+			->setValue('mountpoint_hash', $shareExternalQuery->createParameter('mountpoint_hash'));
 
 		$filesQuery = \OC::$server->getDatabaseConnection()->getQueryBuilder();
 		$filesQuery->insert('filecache')
-			->setValue('storage', '?')
-			->setValue('path', '?')
-			->setValue('path_hash', '?');
+			->setValue('storage', $filesQuery->createParameter('storage'))
+			->setValue('path', $filesQuery->createParameter('path'))
+			->setValue('path_hash', $filesQuery->createParameter('path_hash'));
 
 		foreach ($this->storages as &$storage) {
 			if (isset($storage['id'])) {
-				$storageQuery->setParameter(0, $storage['id']);
+				$storageQuery->setParameter('id', $storage['id']);
 				$storageQuery->execute();
 				$storage['numeric_id'] = $storageQuery->getLastInsertId();
 			}
 
 			if (isset($storage['share_token'])) {
 				$shareExternalQuery
-					->setParameter(0, $storage['share_token'])
-					->setParameter(1, $storage['remote'])
-					->setParameter(2, 'irrelevant')
-					->setParameter(3, 'irrelevant')
-					->setParameter(4, $storage['user'])
-					->setParameter(5, 'irrelevant')
-					->setParameter(6, 'irrelevant');
+					->setParameter('share_token', $storage['share_token'])
+					->setParameter('remote', $storage['remote'])
+					->setParameter('name', 'irrelevant')
+					->setParameter('owner', 'irrelevant')
+					->setParameter('user', $storage['user'])
+					->setParameter('mountpoint', 'irrelevant')
+					->setParameter('mountpoint_hash', 'irrelevant');
 				$shareExternalQuery->executeStatement();
 			}
 
 			if (isset($storage['files_count'])) {
 				for ($i = 0; $i < $storage['files_count']; $i++) {
-					$filesQuery->setParameter(0, $storage['numeric_id']);
-					$filesQuery->setParameter(1, 'file' . $i);
-					$filesQuery->setParameter(2, md5('file' . $i));
+					$filesQuery->setParameter('storage', $storage['numeric_id']);
+					$filesQuery->setParameter('path', 'file' . $i);
+					$filesQuery->setParameter('path_hash', md5('file' . $i));
 					$filesQuery->executeStatement();
 				}
 			}
diff --git a/apps/files_sharing/tests/TestCase.php b/apps/files_sharing/tests/TestCase.php
index 4aaeec1f765..3fe2993e189 100644
--- a/apps/files_sharing/tests/TestCase.php
+++ b/apps/files_sharing/tests/TestCase.php
@@ -118,7 +118,7 @@ abstract class TestCase extends \Test\TestCase {
 		$qb->execute();
 
 		$qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
-		$qb->delete('filecache');
+		$qb->delete('filecache')->runAcrossAllShards();
 		$qb->execute();
 
 		parent::tearDown();
diff --git a/lib/private/DB/QueryBuilder/QueryBuilder.php b/lib/private/DB/QueryBuilder/QueryBuilder.php
index 32c50c0852e..5c4da557592 100644
--- a/lib/private/DB/QueryBuilder/QueryBuilder.php
+++ b/lib/private/DB/QueryBuilder/QueryBuilder.php
@@ -23,7 +23,6 @@ use OC\DB\QueryBuilder\FunctionBuilder\FunctionBuilder;
 use OC\DB\QueryBuilder\FunctionBuilder\OCIFunctionBuilder;
 use OC\DB\QueryBuilder\FunctionBuilder\PgSqlFunctionBuilder;
 use OC\DB\QueryBuilder\FunctionBuilder\SqliteFunctionBuilder;
-use OC\DB\ResultAdapter;
 use OC\SystemConfig;
 use OCP\DB\IResult;
 use OCP\DB\QueryBuilder\ICompositeExpression;
-- 
GitLab