Skip to content

Commit

Permalink
bernardphp#251 the doctrine driver should not attempt inserts for alr…
Browse files Browse the repository at this point in the history
…eady existing repositories
  • Loading branch information
Ocramius committed Aug 22, 2016
1 parent 9442bf4 commit 0dc337c
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions tests/Bernard/Tests/Driver/DoctrineDriverTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,23 @@
use Bernard\Doctrine\MessagesSchema;
use Bernard\Driver\DoctrineDriver;

use Doctrine\DBAL\Connection;
use Doctrine\DBAL\DriverManager;
use Doctrine\DBAL\Logging\DebugStack;
use Doctrine\DBAL\Schema\Schema;

class DoctrineDriverTest extends \PHPUnit_Framework_TestCase
{
/**
* @var Connection
*/
private $connection;

/**
* @var DoctrineDriver
*/
private $driver;

public function setUp()
{
$this->connection = $this->setUpDatabase();
Expand Down Expand Up @@ -39,6 +51,25 @@ public function testCreateAndRemoveQueue()
$this->assertEquals(array('send-newsletter'), $this->driver->listQueues());
}

public function testCreateQueueWillNotAttemptDuplicateQueueCreation()
{
$logger = new DebugStack();

$this->connection->getConfiguration()->setSQLLogger($logger);

$this->driver->createQueue('import-users');
$this->driver->createQueue('import-users');

self::assertCount(7, $logger->queries);
self::assertStringMatchesFormat('%aSTART TRANSACTION%a', $logger->queries[1]['sql']);
self::assertStringStartsWith('SELECT ', $logger->queries[2]['sql']);
self::assertStringStartsWith('INSERT ', $logger->queries[3]['sql']);
self::assertStringMatchesFormat('%aCOMMIT%a', $logger->queries[4]['sql']);
self::assertStringMatchesFormat('%aSTART TRANSACTION%a', $logger->queries[5]['sql']);
self::assertStringStartsWith('SELECT ', $logger->queries[6]['sql']);
self::assertStringMatchesFormat('%aCOMMIT%a', $logger->queries[7]['sql']);
}

public function testPushMessageLazilyCreatesQueue()
{
$this->driver->pushMessage('send-newsletter', 'something');
Expand Down

0 comments on commit 0dc337c

Please sign in to comment.