Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[TASK] Streamline
Testbase->setUpTestDatabase()
The `Testbase->setUpTestDatabase()` takes care of correct database setup for each test instance and that the database is created. To accomplish that, current TYPO3 connections are closed. Doctrine DriverManager is used as lowlevel tool to create the instance database. In case that the database has not been created, which occures on the first test execution per test-case, an exception is thrown and disturbes the `getDatabasePlatform <-> getServerVersion()` detection with the Doctrine construct. That has been mitigated by catching the exception within `Connection->getServerVersion()` and returning an empty string ending up retrieving at least a the lowest default platform for the driver. That was mainly a workaround in functional test runs. Doctrine DBAL 3.9.x & 4.1.x will introduce a new version based postgres platform class along with a new exception, if the server version does not match the version pattern - which is the case for an emtpy string and not returning a PostgresSQL platform anymore - failing to create the database. This change catches the exception for non existing database to prepare the removal of the connection workaround in `Connection->getServerVersion()`, but still ensures the ConnectionPool instances are closed. Minor code cleanups within the method are applied in the same run.
- Loading branch information