From 591cc4249307636b19af44b5446aa79f291b1470 Mon Sep 17 00:00:00 2001
From: Christian Kuhn <lolli@schwarzbu.ch>
Date: Wed, 13 Jul 2022 11:37:44 +0200
Subject: [PATCH] [TASK] Avoid importDataSet() in functional tests
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This avoids using importDataSet() in functional tests
using .xml fixture files from the testing framework.

Usages are converted to importCSVDataSet(), fixture
files are added as .csv to the according extension.

XML handling in functional tests is now down to
setUpBackendUserFromFixture() which will be prepared
in testing-framework and adapted in core with another
patch.

Change-Id: Ifc3cc30d4b824775dc6ccc7e1d982d9d122f39d9
Resolves: #97924
Related: #96856
Releases: main
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75165
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 .../ConditionMatcherTest.php                  |  2 +-
 .../Controller/EditDocumentControllerTest.php |  4 +-
 .../FormInlineAjaxControllerTest.php          |  2 +-
 .../Controller/Page/Fixtures/pages.xml        | 17 -------
 .../Tests/Functional/Fixtures/pages.csv       | 12 +++--
 .../Tests/Functional/Fixtures/tt_content.csv  |  3 ++
 .../Functional/Utility/BackendUtilityTest.php |  4 +-
 .../BackendUserAuthenticationTest.php         |  2 +-
 .../DataHandler/DataSet/pages.csv             |  9 ++++
 .../DataHandling/DataHandler/SecurityTest.php |  2 +-
 .../FAL/AbstractActionTestCase.php            |  2 +-
 .../Functional/Fixtures/sys_file_storage.csv  | 20 +++++++++
 .../Resource/ResourceStorageTest.php          | 26 +++++------
 .../Tests/Functional/Fixtures/pages.csv       |  9 ++++
 .../ActionControllerValidationTest.php        |  6 +--
 .../Functional/Persistence/CountTest.php      |  2 +-
 .../Persistence/EnableFieldsTest.php          |  2 +-
 .../Tests/Functional/Persistence/InTest.php   |  2 +-
 .../Functional/Persistence/IsDirtyTest.php    |  2 +-
 .../Functional/Persistence/OperatorTest.php   |  2 +-
 .../Functional/Persistence/RelationTest.php   |  2 +-
 .../Persistence/TranslationTest.php           |  2 +-
 .../Functional/Persistence/WorkspaceTest.php  |  2 +-
 .../ConditionMatcherTest.php                  |  2 +-
 .../Tests/Functional/Fixtures/pages.csv       |  9 ++++
 .../Functional/Fixtures/sys_file_storage.csv  | 20 +++++++++
 .../Functional/Imaging/GifBuilderTest.php     |  2 +-
 .../LocalizedSiteContentRenderingTest.php     |  2 +-
 .../CheckBrokenRteLinkEventListenerTest.php   |  2 +-
 .../Tests/Functional/Fixtures/pages.csv       |  9 ++++
 .../Recycle/AbstractRecycleTestCase.php       | 45 -------------------
 .../Recycle/Pages/AdminRecycleTest.php        | 11 +----
 .../Pages/DataSet/Assertion/deletedPage-3.csv |  3 --
 .../Pages/DataSet/Assertion/deletedPage-3.xml | 11 -----
 .../DataSet/Assertion/deletedPage-3_4_5.csv   |  5 ---
 .../DataSet/Assertion/deletedPage-3_4_5.xml   | 27 -----------
 .../DataSet/Assertion/deletedPage-3_4_5_7.csv |  6 ---
 .../DataSet/Assertion/deletedPage-3_4_5_7.xml | 37 ---------------
 .../Recycle/Pages/UserRecycleTest.php         | 11 +----
 .../EventListener/Fixtures/Redirects.xml      | 23 ----------
 40 files changed, 129 insertions(+), 232 deletions(-)
 delete mode 100644 typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/pages.xml
 create mode 100644 typo3/sysext/backend/Tests/Functional/Fixtures/tt_content.csv
 create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/DataSet/pages.csv
 create mode 100644 typo3/sysext/core/Tests/Functional/Fixtures/sys_file_storage.csv
 create mode 100644 typo3/sysext/extbase/Tests/Functional/Fixtures/pages.csv
 create mode 100644 typo3/sysext/frontend/Tests/Functional/Fixtures/pages.csv
 create mode 100644 typo3/sysext/frontend/Tests/Functional/Fixtures/sys_file_storage.csv
 create mode 100644 typo3/sysext/linkvalidator/Tests/Functional/Fixtures/pages.csv
 delete mode 100644 typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.csv
 delete mode 100644 typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.xml
 delete mode 100644 typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.csv
 delete mode 100644 typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.xml
 delete mode 100644 typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.csv
 delete mode 100644 typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.xml
 delete mode 100644 typo3/sysext/redirects/Tests/Functional/EventListener/Fixtures/Redirects.xml

diff --git a/typo3/sysext/backend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php b/typo3/sysext/backend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
index c12dfc0b5e79..b85631f1b691 100644
--- a/typo3/sysext/backend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
+++ b/typo3/sysext/backend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
@@ -43,7 +43,7 @@ class ConditionMatcherTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../../../Fixtures/pages.csv');
 
         $backendUser = new BackendUserAuthentication();
         $backendUser->user['uid'] = 13;
diff --git a/typo3/sysext/backend/Tests/Functional/Controller/EditDocumentControllerTest.php b/typo3/sysext/backend/Tests/Functional/Controller/EditDocumentControllerTest.php
index 6d97ff813587..31c56dd08913 100644
--- a/typo3/sysext/backend/Tests/Functional/Controller/EditDocumentControllerTest.php
+++ b/typo3/sysext/backend/Tests/Functional/Controller/EditDocumentControllerTest.php
@@ -43,8 +43,8 @@ class EditDocumentControllerTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/tt_content.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/tt_content.csv');
 
         $this->setUpBackendUserFromFixture(1);
         Bootstrap::initializeLanguageObject();
diff --git a/typo3/sysext/backend/Tests/Functional/Controller/FormInlineAjaxControllerTest.php b/typo3/sysext/backend/Tests/Functional/Controller/FormInlineAjaxControllerTest.php
index 5a894771bff4..02a35a7c7d1d 100644
--- a/typo3/sysext/backend/Tests/Functional/Controller/FormInlineAjaxControllerTest.php
+++ b/typo3/sysext/backend/Tests/Functional/Controller/FormInlineAjaxControllerTest.php
@@ -53,7 +53,7 @@ class FormInlineAjaxControllerTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Fixtures/tx_testirrecsv_hotel.csv');
 
         $this->setUpBackendUserFromFixture(1);
diff --git a/typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/pages.xml b/typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/pages.xml
deleted file mode 100644
index 77692105d449..000000000000
--- a/typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/pages.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<dataset>
-	<pages>
-		<uid>1</uid>
-		<pid>0</pid>
-		<title>Localization</title>
-		<deleted>0</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-	<pages>
-		<uid>2</uid>
-		<pid>0</pid>
-		<title>Localization 2</title>
-		<deleted>0</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-</dataset>
\ No newline at end of file
diff --git a/typo3/sysext/backend/Tests/Functional/Fixtures/pages.csv b/typo3/sysext/backend/Tests/Functional/Fixtures/pages.csv
index cb3b4885e1a0..1fcb4b24df5a 100644
--- a/typo3/sysext/backend/Tests/Functional/Fixtures/pages.csv
+++ b/typo3/sysext/backend/Tests/Functional/Fixtures/pages.csv
@@ -1,3 +1,9 @@
-pages,,,,,
-,uid,pid,title,deleted,perms_everybody
-,1,0,Localization,0,15
+"pages"
+,"uid","pid","sorting","title","deleted","perms_everybody"
+,1,0,128,"Root",0,15
+,2,1,128,"Dummy 1-2",0,15
+,3,2,128,"Dummy 1-2-3",0,15
+,4,3,128,"Dummy 1-2-3-4",0,15
+,5,1,256,"Dummy 1-5",0,15
+,6,5,128,"Dummy 1-5-6",0,15
+,7,0,256,"Root 2",0,15
diff --git a/typo3/sysext/backend/Tests/Functional/Fixtures/tt_content.csv b/typo3/sysext/backend/Tests/Functional/Fixtures/tt_content.csv
new file mode 100644
index 000000000000..44c91963f7e3
--- /dev/null
+++ b/typo3/sysext/backend/Tests/Functional/Fixtures/tt_content.csv
@@ -0,0 +1,3 @@
+"tt_content"
+,"uid","pid","CType","header","deleted","t3ver_oid","t3ver_wsid"
+,1,1,"header","Test content",0,0,0
diff --git a/typo3/sysext/backend/Tests/Functional/Utility/BackendUtilityTest.php b/typo3/sysext/backend/Tests/Functional/Utility/BackendUtilityTest.php
index 506d6472f22a..4c5882a369ae 100644
--- a/typo3/sysext/backend/Tests/Functional/Utility/BackendUtilityTest.php
+++ b/typo3/sysext/backend/Tests/Functional/Utility/BackendUtilityTest.php
@@ -23,8 +23,8 @@ class BackendUtilityTest extends FunctionalTestCase
     public function setUp(): void
     {
         parent::setUp();
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/tt_content.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/tt_content.csv');
         $this->setUpBackendUserFromFixture(1);
         Bootstrap::initializeLanguageObject();
     }
diff --git a/typo3/sysext/core/Tests/Functional/Authentication/BackendUserAuthenticationTest.php b/typo3/sysext/core/Tests/Functional/Authentication/BackendUserAuthenticationTest.php
index 2ed0db2f2a75..46a2f8571cad 100644
--- a/typo3/sysext/core/Tests/Functional/Authentication/BackendUserAuthenticationTest.php
+++ b/typo3/sysext/core/Tests/Functional/Authentication/BackendUserAuthenticationTest.php
@@ -109,7 +109,7 @@ class BackendUserAuthenticationTest extends FunctionalTestCase
      */
     public function getDefaultUploadFolderFallsBackToDefaultStorage(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $path = 'user_upload/some-folder-that-does-not-exist';
         $fullPathToStorageBase = Environment::getPublicPath() . '/fileadmin/' . $path;
         GeneralUtility::rmdir($fullPathToStorageBase);
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/DataSet/pages.csv b/typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/DataSet/pages.csv
new file mode 100644
index 000000000000..1fcb4b24df5a
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/DataSet/pages.csv
@@ -0,0 +1,9 @@
+"pages"
+,"uid","pid","sorting","title","deleted","perms_everybody"
+,1,0,128,"Root",0,15
+,2,1,128,"Dummy 1-2",0,15
+,3,2,128,"Dummy 1-2-3",0,15
+,4,3,128,"Dummy 1-2-3-4",0,15
+,5,1,256,"Dummy 1-5",0,15
+,6,5,128,"Dummy 1-5-6",0,15
+,7,0,256,"Root 2",0,15
diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/SecurityTest.php b/typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/SecurityTest.php
index 2d3bfd0ee39e..ef9c1c349bb3 100644
--- a/typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/SecurityTest.php
+++ b/typo3/sysext/core/Tests/Functional/DataHandling/DataHandler/SecurityTest.php
@@ -46,7 +46,7 @@ class SecurityTest extends FunctionalTestCase
     protected function setUp(): void
     {
         parent::setUp();
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/DataSet/pages.csv');
         $this->backendUser = $this->setUpBackendUserFromFixture(1);
         $this->backendUser->workspace = 0;
         GeneralUtility::makeInstance(Context::class)
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/FAL/AbstractActionTestCase.php b/typo3/sysext/core/Tests/Functional/DataScenarios/FAL/AbstractActionTestCase.php
index eba8750c6649..a1e68131e82f 100644
--- a/typo3/sysext/core/Tests/Functional/DataScenarios/FAL/AbstractActionTestCase.php
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/FAL/AbstractActionTestCase.php
@@ -57,7 +57,7 @@ abstract class AbstractActionTestCase extends AbstractDataHandlerActionTestCase
     {
         parent::setUp();
         $this->importCSVDataSet(static::SCENARIO_DataSet);
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../../Fixtures/sys_file_storage.csv');
 
         $this->setUpFrontendSite(1, $this->siteLanguageConfiguration);
         $this->setUpFrontendRootPage(1, ['typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.typoscript']);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/sys_file_storage.csv b/typo3/sysext/core/Tests/Functional/Fixtures/sys_file_storage.csv
new file mode 100644
index 000000000000..9ebdff0c6c8a
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/sys_file_storage.csv
@@ -0,0 +1,20 @@
+"sys_file_storage"
+,"uid","pid","name","processingfolder","driver","is_browsable","is_public","is_writable","is_online","configuration"
+,1,0,"fileadmin/ (auto-created)","temp/assets/_processed_/","Local",1,1,1,1,"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes"" ?>
+<T3FlexForms>
+	<data>
+		<sheet index=""sDEF"">
+			<language index=""lDEF"">
+				<field index=""basePath"">
+					<value index=""vDEF"">fileadmin/</value>
+				</field>
+				<field index=""pathType"">
+					<value index=""vDEF"">relative</value>
+				</field>
+				<field index=""caseSensitive"">
+					<value index=""vDEF"">1</value>
+				</field>
+			</language>
+		</sheet>
+	</data>
+</T3FlexForms>"
diff --git a/typo3/sysext/core/Tests/Functional/Resource/ResourceStorageTest.php b/typo3/sysext/core/Tests/Functional/Resource/ResourceStorageTest.php
index 428ada6d4f31..07544c0877d6 100644
--- a/typo3/sysext/core/Tests/Functional/Resource/ResourceStorageTest.php
+++ b/typo3/sysext/core/Tests/Functional/Resource/ResourceStorageTest.php
@@ -51,7 +51,7 @@ class ResourceStorageTest extends FunctionalTestCase
      */
     public function getNestedProcessingFolderTest(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
         $subject->setEvaluatePermissions(false);
@@ -87,7 +87,7 @@ class ResourceStorageTest extends FunctionalTestCase
      */
     public function isWithinFileMountBoundariesRespectsReadOnlyFileMounts($targetDirectory, $fileMountFolder, $isFileMountReadOnly, $checkWriteAccess, $expectedResult): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $fileName = 'bar.txt';
         $this->setUpBackendUserFromFixture(1);
         GeneralUtility::mkdir_deep(Environment::getPublicPath() . '/fileadmin/_processed_');
@@ -163,7 +163,7 @@ class ResourceStorageTest extends FunctionalTestCase
      */
     public function getProcessingRootFolderTest(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
 
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
@@ -178,7 +178,7 @@ class ResourceStorageTest extends FunctionalTestCase
     public function getRoleReturnsDefaultForRegularFolders(): void
     {
         $folderIdentifier = StringUtility::getUniqueId();
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
 
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
@@ -194,7 +194,7 @@ class ResourceStorageTest extends FunctionalTestCase
      */
     public function replaceFileFailsIfLocalFileDoesNotExist(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
 
@@ -213,7 +213,7 @@ class ResourceStorageTest extends FunctionalTestCase
      */
     public function createFolderThrowsExceptionIfParentFolderDoesNotExist(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
 
@@ -227,7 +227,7 @@ class ResourceStorageTest extends FunctionalTestCase
      */
     public function deleteFileMovesFileToRecyclerFolderIfAvailable(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
 
@@ -248,7 +248,7 @@ class ResourceStorageTest extends FunctionalTestCase
      */
     public function deleteFileUnlinksFileIfNoRecyclerFolderAvailable(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
 
@@ -397,7 +397,7 @@ class ResourceStorageTest extends FunctionalTestCase
     public function searchFilesFindsFilesInFolder(string $searchTerm, ?string $searchFolder, bool $recursive, array $filters, array $expectedIdentifiers): void
     {
         try {
-            $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+            $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
             $this->importCSVDataSet(__DIR__ . '/Fixtures/FileSearch.csv');
             $this->setUpBackendUserFromFixture(1);
             $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
@@ -441,7 +441,7 @@ class ResourceStorageTest extends FunctionalTestCase
     public function copyFolderThrowsErrorWhenFolderAlreadyExistsInTargetFolderAndConflictModeIsCancel(): void
     {
         $conflictMode = DuplicationBehavior::cast(DuplicationBehavior::CANCEL);
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
 
@@ -460,7 +460,7 @@ class ResourceStorageTest extends FunctionalTestCase
     public function copyFolderGeneratesNewFolderNameWhenFolderAlreadyExistsInTargetFolderAndConflictModeIsRename(): void
     {
         $conflictMode = DuplicationBehavior::cast(DuplicationBehavior::RENAME);
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         $subject = GeneralUtility::makeInstance(StorageRepository::class)->findByUid(1);
 
@@ -480,7 +480,7 @@ class ResourceStorageTest extends FunctionalTestCase
     public function copyFileThrowsErrorWhenFileWithSameNameAlreadyExistsInTargetFolderAndConflictModeIsCancel(): void
     {
         $conflictMode = DuplicationBehavior::cast(DuplicationBehavior::CANCEL);
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         GeneralUtility::mkdir_deep(Environment::getPublicPath() . '/fileadmin/foo');
         file_put_contents(Environment::getPublicPath() . '/fileadmin/foo/bar.txt', 'Temp file 1');
@@ -502,7 +502,7 @@ class ResourceStorageTest extends FunctionalTestCase
     public function copyFileGeneratesNewFileNameWhenFileAlreadyExistsInTargetFolderAndConflictModeIsRename(): void
     {
         $conflictMode = DuplicationBehavior::cast(DuplicationBehavior::RENAME);
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
         GeneralUtility::mkdir_deep(Environment::getPublicPath() . '/fileadmin/foo');
         file_put_contents(Environment::getPublicPath() . '/fileadmin/foo/bar.txt', 'Temp file 1');
diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/pages.csv b/typo3/sysext/extbase/Tests/Functional/Fixtures/pages.csv
new file mode 100644
index 000000000000..1fcb4b24df5a
--- /dev/null
+++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/pages.csv
@@ -0,0 +1,9 @@
+"pages"
+,"uid","pid","sorting","title","deleted","perms_everybody"
+,1,0,128,"Root",0,15
+,2,1,128,"Dummy 1-2",0,15
+,3,2,128,"Dummy 1-2-3",0,15
+,4,3,128,"Dummy 1-2-3-4",0,15
+,5,1,256,"Dummy 1-5",0,15
+,6,5,128,"Dummy 1-5-6",0,15
+,7,0,256,"Root 2",0,15
diff --git a/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php b/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php
index 4ee0fc4dd224..2cc6ce18d161 100644
--- a/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php
@@ -69,7 +69,7 @@ class ActionControllerValidationTest extends FunctionalTestCase
         $GLOBALS['LANG'] = $this->get(LanguageServiceFactory::class)->create('default');
         $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = 'testkey';
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../../Persistence/Fixtures/posts.csv');
 
@@ -120,7 +120,7 @@ class ActionControllerValidationTest extends FunctionalTestCase
         $GLOBALS['LANG'] = $this->get(LanguageServiceFactory::class)->create('default');
         $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = 'testkey';
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../../Persistence/Fixtures/posts.csv');
 
@@ -186,7 +186,7 @@ class ActionControllerValidationTest extends FunctionalTestCase
         $GLOBALS['LANG'] = $this->get(LanguageServiceFactory::class)->create('default');
         $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = 'testkey';
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../../Persistence/Fixtures/posts.csv');
 
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/CountTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/CountTest.php
index 9da7726520c6..b310e5a82ba6 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/CountTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/CountTest.php
@@ -42,7 +42,7 @@ class CountTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/posts.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/post-post-mm.csv');
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/EnableFieldsTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/EnableFieldsTest.php
index 87b93c08558a..acf40bccdc39 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/EnableFieldsTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/EnableFieldsTest.php
@@ -38,7 +38,7 @@ class EnableFieldsTest extends AbstractDataHandlerActionTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/fe_groups.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/fe_users.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/blogs-with-fe_groups.csv');
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/InTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/InTest.php
index b6a86dca5f9c..051ddc9e81e3 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/InTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/InTest.php
@@ -44,7 +44,7 @@ class InTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/posts.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/tags.csv');
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/IsDirtyTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/IsDirtyTest.php
index f73cb388afe7..07edaeacc12a 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/IsDirtyTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/IsDirtyTest.php
@@ -44,7 +44,7 @@ class IsDirtyTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/posts.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/post-post-mm.csv');
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/OperatorTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/OperatorTest.php
index e1a7151e8553..0404aaff14ab 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/OperatorTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/OperatorTest.php
@@ -43,7 +43,7 @@ class OperatorTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/posts.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/tags.csv');
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/RelationTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/RelationTest.php
index 62692a1e262b..cc8038e7f8be 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/RelationTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/RelationTest.php
@@ -55,7 +55,7 @@ class RelationTest extends FunctionalTestCase
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/posts.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/persons.csv');
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/TranslationTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/TranslationTest.php
index 37e0593cfa0f..a9f03c89c43c 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/TranslationTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/TranslationTest.php
@@ -57,7 +57,7 @@ class TranslationTest extends FunctionalTestCase
          * Post10 [hidden]
          *   -> GR: Post10 [hidden]
          */
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/blogs.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/translated-posts.csv');
         $this->importCSVDataSet(__DIR__ . '/../Persistence/Fixtures/post-tag-mm.csv');
diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/WorkspaceTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/WorkspaceTest.php
index efeceaa66c1f..46441f6e8702 100644
--- a/typo3/sysext/extbase/Tests/Functional/Persistence/WorkspaceTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Persistence/WorkspaceTest.php
@@ -49,7 +49,7 @@ class WorkspaceTest extends FunctionalTestCase
     protected function setUp(): void
     {
         parent::setUp();
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
         $this->importCsvDataSet(__DIR__ . '/../Persistence/Fixtures/blogs.csv');
         $this->importCsvDataSet(__DIR__ . '/../Persistence/Fixtures/posts.csv');
         $this->importCsvDataSet(__DIR__ . '/../Persistence/Fixtures/categories.csv');
diff --git a/typo3/sysext/frontend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php b/typo3/sysext/frontend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
index 67db5e28e0ea..a06ef3967c58 100644
--- a/typo3/sysext/frontend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
@@ -55,7 +55,7 @@ class ConditionMatcherTest extends FunctionalTestCase
         $GLOBALS['TYPO3_REQUEST'] = (new ServerRequest())
             ->withAttribute('applicationType', SystemEnvironmentBuilder::REQUESTTYPE_FE);
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../../../Fixtures/pages.csv');
         $this->setupFrontendController(3);
     }
 
diff --git a/typo3/sysext/frontend/Tests/Functional/Fixtures/pages.csv b/typo3/sysext/frontend/Tests/Functional/Fixtures/pages.csv
new file mode 100644
index 000000000000..1fcb4b24df5a
--- /dev/null
+++ b/typo3/sysext/frontend/Tests/Functional/Fixtures/pages.csv
@@ -0,0 +1,9 @@
+"pages"
+,"uid","pid","sorting","title","deleted","perms_everybody"
+,1,0,128,"Root",0,15
+,2,1,128,"Dummy 1-2",0,15
+,3,2,128,"Dummy 1-2-3",0,15
+,4,3,128,"Dummy 1-2-3-4",0,15
+,5,1,256,"Dummy 1-5",0,15
+,6,5,128,"Dummy 1-5-6",0,15
+,7,0,256,"Root 2",0,15
diff --git a/typo3/sysext/frontend/Tests/Functional/Fixtures/sys_file_storage.csv b/typo3/sysext/frontend/Tests/Functional/Fixtures/sys_file_storage.csv
new file mode 100644
index 000000000000..9ebdff0c6c8a
--- /dev/null
+++ b/typo3/sysext/frontend/Tests/Functional/Fixtures/sys_file_storage.csv
@@ -0,0 +1,20 @@
+"sys_file_storage"
+,"uid","pid","name","processingfolder","driver","is_browsable","is_public","is_writable","is_online","configuration"
+,1,0,"fileadmin/ (auto-created)","temp/assets/_processed_/","Local",1,1,1,1,"<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes"" ?>
+<T3FlexForms>
+	<data>
+		<sheet index=""sDEF"">
+			<language index=""lDEF"">
+				<field index=""basePath"">
+					<value index=""vDEF"">fileadmin/</value>
+				</field>
+				<field index=""pathType"">
+					<value index=""vDEF"">relative</value>
+				</field>
+				<field index=""caseSensitive"">
+					<value index=""vDEF"">1</value>
+				</field>
+			</language>
+		</sheet>
+	</data>
+</T3FlexForms>"
diff --git a/typo3/sysext/frontend/Tests/Functional/Imaging/GifBuilderTest.php b/typo3/sysext/frontend/Tests/Functional/Imaging/GifBuilderTest.php
index 1b686de718d0..38240fb37f53 100644
--- a/typo3/sysext/frontend/Tests/Functional/Imaging/GifBuilderTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/Imaging/GifBuilderTest.php
@@ -35,7 +35,7 @@ class GifBuilderTest extends FunctionalTestCase
 {
     private function setupFullTestEnvironment(): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->setUpBackendUserFromFixture(1);
 
         $GLOBALS['TYPO3_REQUEST'] = (new ServerRequest('https://www.example.com/'))
diff --git a/typo3/sysext/frontend/Tests/Functional/Rendering/LocalizedSiteContentRenderingTest.php b/typo3/sysext/frontend/Tests/Functional/Rendering/LocalizedSiteContentRenderingTest.php
index 1f6d0d52ea6a..7b8477f10ebc 100644
--- a/typo3/sysext/frontend/Tests/Functional/Rendering/LocalizedSiteContentRenderingTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/Rendering/LocalizedSiteContentRenderingTest.php
@@ -124,7 +124,7 @@ class LocalizedSiteContentRenderingTest extends AbstractDataHandlerActionTestCas
     {
         parent::setUp();
 
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_file_storage.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/sys_file_storage.csv');
         $this->importCSVDataSet(__DIR__ . '/DataSet/LiveDefaultPages.csv');
         $this->importCSVDataSet(__DIR__ . '/DataSet/LiveDefaultElements.csv');
 
diff --git a/typo3/sysext/linkvalidator/Tests/Functional/EventListener/CheckBrokenRteLinkEventListenerTest.php b/typo3/sysext/linkvalidator/Tests/Functional/EventListener/CheckBrokenRteLinkEventListenerTest.php
index c395f3729222..f44c8191a8e6 100644
--- a/typo3/sysext/linkvalidator/Tests/Functional/EventListener/CheckBrokenRteLinkEventListenerTest.php
+++ b/typo3/sysext/linkvalidator/Tests/Functional/EventListener/CheckBrokenRteLinkEventListenerTest.php
@@ -40,7 +40,7 @@ class CheckBrokenRteLinkEventListenerTest extends FunctionalTestCase
      */
     public function checkPageLinkTest(string $linkType, array $linkData, bool $isMarkedAsBroken): void
     {
-        $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
+        $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
 
         $event = new BrokenLinkAnalysisEvent(
             $linkType,
diff --git a/typo3/sysext/linkvalidator/Tests/Functional/Fixtures/pages.csv b/typo3/sysext/linkvalidator/Tests/Functional/Fixtures/pages.csv
new file mode 100644
index 000000000000..1fcb4b24df5a
--- /dev/null
+++ b/typo3/sysext/linkvalidator/Tests/Functional/Fixtures/pages.csv
@@ -0,0 +1,9 @@
+"pages"
+,"uid","pid","sorting","title","deleted","perms_everybody"
+,1,0,128,"Root",0,15
+,2,1,128,"Dummy 1-2",0,15
+,3,2,128,"Dummy 1-2-3",0,15
+,4,3,128,"Dummy 1-2-3-4",0,15
+,5,1,256,"Dummy 1-5",0,15
+,6,5,128,"Dummy 1-5-6",0,15
+,7,0,256,"Root 2",0,15
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php b/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php
index 20f6180ce122..15590752f53e 100644
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php
+++ b/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php
@@ -66,49 +66,4 @@ abstract class AbstractRecycleTestCase extends FunctionalTestCase
         $deletedRecords->loadData($contentUid, 'tt_content', 0);
         return $deletedRecords->getDeletedRows();
     }
-
-    /**
-     * Loads a data set represented as XML and returns it as array.
-     *
-     * @param string $path Absolute path to the XML file containing the data set to load
-     * @return array The records loaded from the data set
-     * @throws \Exception
-     */
-    protected function loadDataSet($path): array
-    {
-        if (!is_file($path)) {
-            throw new \Exception(
-                'Fixture file ' . $path . ' not found',
-                1476109709
-            );
-        }
-
-        $data = [];
-        $fileContent = file_get_contents($path);
-        $xml = simplexml_load_string($fileContent);
-
-        /** @var \SimpleXMLElement $table */
-        foreach ($xml->children() as $table) {
-            $record = [];
-
-            /** @var \SimpleXMLElement $column*/
-            foreach ($table->children() as $column) {
-                $columnName = $column->getName();
-
-                if (isset($column['ref'])) {
-                    $columnValue = explode('#', (string)$column['ref']);
-                } elseif (isset($column['is-NULL']) && ((string)$column['is-NULL'] === 'yes')) {
-                    $columnValue = null;
-                } else {
-                    $columnValue = (string)$table->$columnName;
-                }
-
-                $record[$columnName] = $columnValue;
-            }
-
-            $tableName = $table->getName();
-            $data[$tableName][] = $record;
-        }
-        return $data;
-    }
 }
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php
index 198c8898955a..007ffb8e2f0b 100644
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php
+++ b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php
@@ -25,9 +25,6 @@ use TYPO3\CMS\Recycler\Tests\Functional\Recycle\AbstractRecycleTestCase;
  */
 class AdminRecycleTest extends AbstractRecycleTestCase
 {
-    /**
-     * Set up the test
-     */
     protected function setUp(): void
     {
         parent::setUp();
@@ -43,13 +40,11 @@ class AdminRecycleTest extends AbstractRecycleTestCase
     public function retrieveDeletedPagesNoRecursion(): void
     {
         $deletedPages = $this->getDeletedPages(1, 0);
-        $assertData = $this->loadDataSet(__DIR__ . '/DataSet/Assertion/deletedPage-3.xml');
         self::assertCount(1, $deletedPages);
         self::assertArrayHasKey('pages', $deletedPages);
         self::assertCount(3, $deletedPages['pages']);
-        self::assertGreaterThan(0, (int)($assertData['pages'][0]['uid'] ?? 0));
         self::assertGreaterThan(0, (int)($deletedPages['pages'][0]['uid'] ?? 0));
-        self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']);
+        self::assertSame(3, (int)$deletedPages['pages'][0]['uid']);
     }
 
     /**
@@ -58,12 +53,10 @@ class AdminRecycleTest extends AbstractRecycleTestCase
     public function retrieveDeletedPagesOneLevelRecursion(): void
     {
         $deletedPages = $this->getDeletedPages(1, 1);
-        $assertData = $this->loadDataSet(__DIR__ . '/DataSet/Assertion/deletedPage-3_4_5_7.xml');
         self::assertCount(1, $deletedPages);
         self::assertArrayHasKey('pages', $deletedPages);
         self::assertCount(4, $deletedPages['pages']);
-        self::assertGreaterThan(0, (int)($assertData['pages'][0]['uid'] ?? 0));
         self::assertGreaterThan(0, (int)($deletedPages['pages'][0]['uid'] ?? 0));
-        self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']);
+        self::assertSame(3, (int)$deletedPages['pages'][0]['uid']);
     }
 }
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.csv b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.csv
deleted file mode 100644
index aef80377034b..000000000000
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-pages,,,,,,
-,uid,pid,title,doktype,deleted,perms_everybody
-,3,1,"Dummy 1-3 (deleted)",1,1,15
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.xml b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.xml
deleted file mode 100644
index 083e2e11755d..000000000000
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<dataset>
-	<pages>
-		<uid>3</uid>
-		<pid>1</pid>
-		<title>Dummy 1-3 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-</dataset>
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.csv b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.csv
deleted file mode 100644
index a7560aaf6536..000000000000
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-pages,,,,,,
-,uid,pid,title,doktype,deleted,perms_everybody
-,3,1,"Dummy 1-3 (deleted)",1,1,15
-,4,1,"Dummy 1-4 (deleted)",1,1,15
-,5,4,"Dummy 1-4-5 (deleted)",1,1,15
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.xml b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.xml
deleted file mode 100644
index cc7bde331418..000000000000
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<dataset>
-	<pages>
-		<uid>3</uid>
-		<pid>1</pid>
-		<title>Dummy 1-3 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-	<pages>
-		<uid>4</uid>
-		<pid>1</pid>
-		<title>Dummy 1-4 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-	<pages>
-		<uid>5</uid>
-		<pid>4</pid>
-		<title>Dummy 1-4-5 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-</dataset>
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.csv b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.csv
deleted file mode 100644
index 4f429b3c895f..000000000000
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-pages,,,,,,
-,uid,pid,title,doktype,deleted,perms_everybody
-,3,1,"Dummy 1-3 (deleted)",1,1,15
-,4,1,"Dummy 1-4 (deleted)",1,1,15
-,5,4,"Dummy 1-4-5 (deleted)",1,1,15
-,7,1,"Dummy 1-7 (deleted)",1,1,0
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.xml b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.xml
deleted file mode 100644
index 4b20657bbbfa..000000000000
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/DataSet/Assertion/deletedPage-3_4_5_7.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<dataset>
-	<pages>
-		<uid>3</uid>
-		<pid>1</pid>
-		<title>Dummy 1-3 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-	<pages>
-		<uid>4</uid>
-		<pid>1</pid>
-		<title>Dummy 1-4 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-	<pages>
-		<uid>5</uid>
-		<pid>4</pid>
-		<title>Dummy 1-4-5 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>15</perms_everybody>
-	</pages>
-
-	<pages>
-		<uid>7</uid>
-		<pid>1</pid>
-		<title>Dummy 1-7 (deleted)</title>
-		<doktype>1</doktype>
-		<deleted>1</deleted>
-		<perms_everybody>0</perms_everybody>
-	</pages>
-</dataset>
-
diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php
index 17695aab3835..bdb3125a607f 100644
--- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php
+++ b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php
@@ -25,9 +25,6 @@ use TYPO3\CMS\Recycler\Tests\Functional\Recycle\AbstractRecycleTestCase;
  */
 class UserRecycleTest extends AbstractRecycleTestCase
 {
-    /**
-     * Set up the test
-     */
     protected function setUp(): void
     {
         parent::setUp();
@@ -43,13 +40,11 @@ class UserRecycleTest extends AbstractRecycleTestCase
     public function retrieveDeletedPagesNoRecursion(): void
     {
         $deletedPages = $this->getDeletedPages(1, 0);
-        $assertData = $this->loadDataSet(__DIR__ . '/DataSet/Assertion/deletedPage-3.xml');
         self::assertCount(1, $deletedPages);
         self::assertArrayHasKey('pages', $deletedPages);
         self::assertCount(2, $deletedPages['pages']);
-        self::assertGreaterThan(0, (int)($assertData['pages'][0]['uid'] ?? 0));
         self::assertGreaterThan(0, (int)($deletedPages['pages'][0]['uid'] ?? 0));
-        self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']);
+        self::assertSame(3, (int)$deletedPages['pages'][0]['uid']);
     }
 
     /**
@@ -58,13 +53,11 @@ class UserRecycleTest extends AbstractRecycleTestCase
     public function retrieveDeletedPagesOneLevelRecursion(): void
     {
         $deletedPages = $this->getDeletedPages(1, 1);
-        $assertData = $this->loadDataSet(__DIR__ . '/DataSet/Assertion/deletedPage-3_4_5.xml');
         self::assertCount(1, $deletedPages);
         self::assertArrayHasKey('pages', $deletedPages);
         self::assertCount(3, $deletedPages['pages']);
-        self::assertGreaterThan(0, (int)($assertData['pages'][0]['uid'] ?? 0));
         self::assertGreaterThan(0, (int)($deletedPages['pages'][0]['uid'] ?? 0));
-        self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']);
+        self::assertSame(3, (int)$deletedPages['pages'][0]['uid']);
     }
 
     /**
diff --git a/typo3/sysext/redirects/Tests/Functional/EventListener/Fixtures/Redirects.xml b/typo3/sysext/redirects/Tests/Functional/EventListener/Fixtures/Redirects.xml
deleted file mode 100644
index 0cd363ae5097..000000000000
--- a/typo3/sysext/redirects/Tests/Functional/EventListener/Fixtures/Redirects.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<dataset>
-    <sys_redirect>
-        <uid>12</uid>
-        <pid>0</pid>
-        <deleted>0</deleted>
-        <disabled>0</disabled>
-        <target>https://example.com/bar</target>
-        <target_statuscode>307</target_statuscode>
-        <hitcount>3</hitcount>
-        <disable_hitcount>0</disable_hitcount>
-    </sys_redirect>
-    <sys_redirect>
-        <uid>13</uid>
-        <pid>0</pid>
-        <deleted>0</deleted>
-        <disabled>0</disabled>
-        <target>https://example.com/baz</target>
-        <target_statuscode>307</target_statuscode>
-        <hitcount>0</hitcount>
-        <disable_hitcount>1</disable_hitcount>
-    </sys_redirect>
-</dataset>
-- 
GitLab