X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FWallabag%2FCoreBundle%2FCommand%2FInstallCommandTest.php;h=d8928451121aa045b6dba6b22a3e7643852ebd34;hb=877787e5fe6a6545105616968939949b4db81347;hp=94fc0b9490679a87e039d78b41328587c5afa033;hpb=590151680538ea1edfef9053da476cd92c6944c4;p=github%2Fwallabag%2Fwallabag.git diff --git a/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php b/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php index 94fc0b94..d8928451 100644 --- a/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php +++ b/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php @@ -5,18 +5,31 @@ namespace Tests\Wallabag\CoreBundle\Command; use DAMA\DoctrineTestBundle\Doctrine\DBAL\StaticDriver; use Doctrine\Bundle\DoctrineBundle\Command\CreateDatabaseDoctrineCommand; use Doctrine\Bundle\DoctrineBundle\Command\DropDatabaseDoctrineCommand; +use Doctrine\Bundle\MigrationsBundle\Command\MigrationsMigrateDoctrineCommand; use Doctrine\DBAL\Platforms\PostgreSqlPlatform; use Doctrine\DBAL\Platforms\SqlitePlatform; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Output\NullOutput; use Symfony\Component\Console\Tester\CommandTester; -use Wallabag\CoreBundle\Command\InstallCommand; use Tests\Wallabag\CoreBundle\Mock\InstallCommandMock; use Tests\Wallabag\CoreBundle\WallabagCoreTestCase; +use Wallabag\CoreBundle\Command\InstallCommand; class InstallCommandTest extends WallabagCoreTestCase { + public static function setUpBeforeClass() + { + // disable doctrine-test-bundle + StaticDriver::setKeepStaticConnections(false); + } + + public static function tearDownAfterClass() + { + // enable doctrine-test-bundle + StaticDriver::setKeepStaticConnections(true); + } + public function setUp() { parent::setUp(); @@ -50,9 +63,6 @@ class InstallCommandTest extends WallabagCoreTestCase parent::setUp(); } - // disable doctrine-test-bundle - StaticDriver::setKeepStaticConnections(false); - $this->resetDatabase($this->getClient()); } @@ -61,6 +71,7 @@ class InstallCommandTest extends WallabagCoreTestCase $databasePath = getenv('TEST_DATABASE_PATH'); // Remove variable environnement putenv('TEST_DATABASE_PATH'); + if ($databasePath && file_exists($databasePath)) { unlink($databasePath); } else { @@ -70,8 +81,6 @@ class InstallCommandTest extends WallabagCoreTestCase $this->resetDatabase($client); } - // enable doctrine-test-bundle - StaticDriver::setKeepStaticConnections(true); parent::tearDown(); } @@ -86,9 +95,9 @@ class InstallCommandTest extends WallabagCoreTestCase $tester->setInputs([ 'y', // dropping database 'y', // create super admin - 'username_'.uniqid('', true), // username - 'password_'.uniqid('', true), // password - 'email_'.uniqid('', true).'@wallabag.it', // email + 'username_' . uniqid('', true), // username + 'password_' . uniqid('', true), // password + 'email_' . uniqid('', true) . '@wallabag.it', // email ]); $tester->execute([ 'command' => $command->getName(), @@ -98,7 +107,6 @@ class InstallCommandTest extends WallabagCoreTestCase $this->assertContains('Setting up database.', $tester->getDisplay()); $this->assertContains('Administration setup.', $tester->getDisplay()); $this->assertContains('Config setup.', $tester->getDisplay()); - $this->assertContains('Run migrations.', $tester->getDisplay()); } public function testRunInstallCommandWithReset() @@ -111,9 +119,9 @@ class InstallCommandTest extends WallabagCoreTestCase $tester = new CommandTester($command); $tester->setInputs([ 'y', // create super admin - 'username_'.uniqid('', true), // username - 'password_'.uniqid('', true), // password - 'email_'.uniqid('', true).'@wallabag.it', // email + 'username_' . uniqid('', true), // username + 'password_' . uniqid('', true), // password + 'email_' . uniqid('', true) . '@wallabag.it', // email ]); $tester->execute([ 'command' => $command->getName(), @@ -125,7 +133,6 @@ class InstallCommandTest extends WallabagCoreTestCase $this->assertContains('Dropping database, creating database and schema, clearing the cache', $tester->getDisplay()); $this->assertContains('Administration setup.', $tester->getDisplay()); $this->assertContains('Config setup.', $tester->getDisplay()); - $this->assertContains('Run migrations.', $tester->getDisplay()); // we force to reset everything $this->assertContains('Dropping database, creating database and schema, clearing the cache', $tester->getDisplay()); @@ -159,9 +166,9 @@ class InstallCommandTest extends WallabagCoreTestCase $tester = new CommandTester($command); $tester->setInputs([ 'y', // create super admin - 'username_'.uniqid('', true), // username - 'password_'.uniqid('', true), // password - 'email_'.uniqid('', true).'@wallabag.it', // email + 'username_' . uniqid('', true), // username + 'password_' . uniqid('', true), // password + 'email_' . uniqid('', true) . '@wallabag.it', // email ]); $tester->execute([ 'command' => $command->getName(), @@ -171,7 +178,6 @@ class InstallCommandTest extends WallabagCoreTestCase $this->assertContains('Setting up database.', $tester->getDisplay()); $this->assertContains('Administration setup.', $tester->getDisplay()); $this->assertContains('Config setup.', $tester->getDisplay()); - $this->assertContains('Run migrations.', $tester->getDisplay()); // the current database doesn't already exist $this->assertContains('Creating database and schema, clearing the cache', $tester->getDisplay()); @@ -198,7 +204,6 @@ class InstallCommandTest extends WallabagCoreTestCase $this->assertContains('Setting up database.', $tester->getDisplay()); $this->assertContains('Administration setup.', $tester->getDisplay()); $this->assertContains('Config setup.', $tester->getDisplay()); - $this->assertContains('Run migrations.', $tester->getDisplay()); $this->assertContains('Dropping schema and creating schema', $tester->getDisplay()); } @@ -209,6 +214,7 @@ class InstallCommandTest extends WallabagCoreTestCase $application->add(new InstallCommand()); $application->add(new DropDatabaseDoctrineCommand()); $application->add(new CreateDatabaseDoctrineCommand()); + $application->add(new MigrationsMigrateDoctrineCommand()); // drop database first, so the install command won't ask to reset things $command = new DropDatabaseDoctrineCommand(); @@ -242,7 +248,6 @@ class InstallCommandTest extends WallabagCoreTestCase $this->assertContains('Setting up database.', $tester->getDisplay()); $this->assertContains('Administration setup.', $tester->getDisplay()); $this->assertContains('Config setup.', $tester->getDisplay()); - $this->assertContains('Run migrations.', $tester->getDisplay()); $this->assertContains('Creating schema', $tester->getDisplay()); } @@ -265,6 +270,5 @@ class InstallCommandTest extends WallabagCoreTestCase $this->assertContains('Setting up database.', $tester->getDisplay()); $this->assertContains('Administration setup.', $tester->getDisplay()); $this->assertContains('Config setup.', $tester->getDisplay()); - $this->assertContains('Run migrations.', $tester->getDisplay()); } }