Skip to content

Commit b5e3275

Browse files
derrabusfabpot
authored andcommitted
Fix tests failing with DBAL 3
1 parent 6a8c229 commit b5e3275

File tree

3 files changed

+29
-5
lines changed

3 files changed

+29
-5
lines changed

Tests/Transport/Doctrine/ConnectionTest.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,11 @@ private function getDBALConnectionMock()
140140
$schemaConfig->method('getMaxIdentifierLength')->willReturn(63);
141141
$schemaConfig->method('getDefaultTableOptions')->willReturn([]);
142142
$schemaManager->method('createSchemaConfig')->willReturn($schemaConfig);
143-
$driverConnection->method('getSchemaManager')->willReturn($schemaManager);
143+
if (method_exists(DBALConnection::class, 'createSchemaManager')) {
144+
$driverConnection->method('createSchemaManager')->willReturn($schemaManager);
145+
} else {
146+
$driverConnection->method('getSchemaManager')->willReturn($schemaManager);
147+
}
144148

145149
return $driverConnection;
146150
}
@@ -428,7 +432,11 @@ public function testSetupIndices(string $platformClass, array $expectedIndices)
428432
$expectedTable->addIndex($indexColumns);
429433
}
430434
$schemaManager->method('createSchema')->willReturn($schema);
431-
$driverConnection->method('getSchemaManager')->willReturn($schemaManager);
435+
if (method_exists(DBALConnection::class, 'createSchemaManager')) {
436+
$driverConnection->method('createSchemaManager')->willReturn($schemaManager);
437+
} else {
438+
$driverConnection->method('getSchemaManager')->willReturn($schemaManager);
439+
}
432440

433441
$platformMock = $this->createMock($platformClass);
434442
$platformMock

Tests/Transport/Doctrine/DoctrineIntegrationTest.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Doctrine\DBAL\Driver\Result as DriverResult;
1515
use Doctrine\DBAL\DriverManager;
1616
use Doctrine\DBAL\Result;
17+
use Doctrine\DBAL\Schema\AbstractSchemaManager;
1718
use PHPUnit\Framework\TestCase;
1819
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1920
use Symfony\Component\Messenger\Transport\Doctrine\Connection;
@@ -175,7 +176,7 @@ public function testItRetrieveTheMessageThatIsOlderThanRedeliverTimeout()
175176

176177
public function testTheTransportIsSetupOnGet()
177178
{
178-
$this->assertFalse($this->driverConnection->getSchemaManager()->tablesExist('messenger_messages'));
179+
$this->assertFalse($this->createSchemaManager()->tablesExist('messenger_messages'));
179180
$this->assertNull($this->connection->get());
180181

181182
$this->connection->send('the body', ['my' => 'header']);
@@ -187,4 +188,11 @@ private function formatDateTime(\DateTime $dateTime)
187188
{
188189
return $dateTime->format($this->driverConnection->getDatabasePlatform()->getDateTimeFormatString());
189190
}
191+
192+
private function createSchemaManager(): AbstractSchemaManager
193+
{
194+
return method_exists($this->driverConnection, 'createSchemaManager')
195+
? $this->driverConnection->createSchemaManager()
196+
: $this->driverConnection->getSchemaManager();
197+
}
190198
}

Transport/Doctrine/Connection.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use Doctrine\DBAL\Platforms\MySqlPlatform;
2121
use Doctrine\DBAL\Query\QueryBuilder;
2222
use Doctrine\DBAL\Result;
23+
use Doctrine\DBAL\Schema\AbstractSchemaManager;
2324
use Doctrine\DBAL\Schema\Comparator;
2425
use Doctrine\DBAL\Schema\Schema;
2526
use Doctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer;
@@ -377,7 +378,7 @@ private function executeStatement(string $sql, array $parameters = [], array $ty
377378

378379
private function getSchema(): Schema
379380
{
380-
$schema = new Schema([], [], $this->driverConnection->getSchemaManager()->createSchemaConfig());
381+
$schema = new Schema([], [], $this->createSchemaManager()->createSchemaConfig());
381382
$table = $schema->createTable($this->configuration['table_name']);
382383
$table->addColumn('id', self::$useDeprecatedConstants ? Type::BIGINT : Types::BIGINT)
383384
->setAutoincrement(true)
@@ -421,7 +422,7 @@ private function updateSchema(): void
421422
}
422423

423424
$comparator = new Comparator();
424-
$schemaDiff = $comparator->compare($this->driverConnection->getSchemaManager()->createSchema(), $this->getSchema());
425+
$schemaDiff = $comparator->compare($this->createSchemaManager()->createSchema(), $this->getSchema());
425426

426427
foreach ($schemaDiff->toSaveSql($this->driverConnection->getDatabasePlatform()) as $sql) {
427428
if (method_exists($this->driverConnection, 'executeStatement')) {
@@ -431,4 +432,11 @@ private function updateSchema(): void
431432
}
432433
}
433434
}
435+
436+
private function createSchemaManager(): AbstractSchemaManager
437+
{
438+
return method_exists($this->driverConnection, 'createSchemaManager')
439+
? $this->driverConnection->createSchemaManager()
440+
: $this->driverConnection->getSchemaManager();
441+
}
434442
}

0 commit comments

Comments
 (0)