l10n = $this->createMock(IL10N::class); $this->urlGenerator = $this->createMock(IURLGenerator::class); $this->connection = Server::get(IDBConnection::class); $this->check = new SupportedDatabase( $this->l10n, $this->urlGenerator, Server::get(IDBConnection::class) ); } public function testPass(): void { $severities = [SetupResult::SUCCESS, SetupResult::INFO]; if ($this->connection->getDatabaseProvider() === IDBConnection::PLATFORM_SQLITE) { $severities = [SetupResult::WARNING]; } elseif ($this->connection->getDatabaseProvider(true) === IDBConnection::PLATFORM_ORACLE) { $result = $this->connection->executeQuery('SELECT VERSION FROM PRODUCT_COMPONENT_VERSION'); $version = $result->fetchOne(); $result->closeCursor(); if (str_starts_with($version, '11.')) { $severities = [SetupResult::WARNING]; } } $this->assertContains($this->check->run()->getSeverity(), $severities, 'Oracle 11 and SQLite expect a warning, other databases should be success or info only'); } }