44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Unit\Controller;
|
|
|
|
use App\Controller\ConfigController;
|
|
use App\Controller\DatabaseConnection;
|
|
use PDO;
|
|
use PDOException;
|
|
|
|
/**
|
|
* @covers \App\Controller\DatabaseConnection
|
|
* @covers \App\Controller\ConfigController
|
|
*/
|
|
class DatabaseConnectionTest extends BindApiTestController
|
|
{
|
|
private PDO $dbConnection;
|
|
|
|
public function testGetConnection()
|
|
{
|
|
|
|
$configController = new ConfigController(test: true);
|
|
|
|
$dbHost = $configController->getConfig(configKey: 'dbHost');
|
|
$dbPort = $configController->getConfig(configKey: 'dbPort');
|
|
$dbDatabase = $configController->getConfig(configKey: 'dbDatabase');
|
|
$dbUser = $configController->getConfig(configKey: 'dbUser');
|
|
$dbPassword = $configController->getConfig(configKey: 'dbPassword');
|
|
|
|
try {
|
|
$this->dbConnection = new PDO(
|
|
dsn: "mysql:host=$dbHost;port=$dbPort;charset=utf8mb4;dbname=$dbDatabase",
|
|
username: $dbUser,
|
|
password: $dbPassword
|
|
);
|
|
} catch (PDOException $e) {
|
|
$this->fail(message: $e->getMessage());
|
|
}
|
|
|
|
$databaseConnection = new DatabaseConnection(configController: $configController);
|
|
|
|
self::assertEquals(expected: $databaseConnection->getConnection(), actual: $this->dbConnection);
|
|
}
|
|
}
|