X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FTests%2FCommand%2FInstallCommandTest.php;h=bd61f750aba1b00ccd3a01c4e9f86e0f4dbc2c7d;hb=637dc4bb21edf8f3b0b0926aa50fa5ffdf362db8;hp=7d75e2b7b2755ee5878a51644aeb37ef4bc53e87;hpb=86719c63bf47686ca55020e6b0443344de36d45a;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php b/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php index 7d75e2b7..bd61f750 100644 --- a/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php +++ b/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php @@ -14,6 +14,24 @@ use Wallabag\CoreBundle\Tests\WallabagCoreTestCase; class InstallCommandTest extends WallabagCoreTestCase { + public function setUp() + { + parent::setUp(); + + if ($this->getClient()->getContainer()->get('doctrine')->getConnection()->getDriver() instanceof \Doctrine\DBAL\Driver\PDOPgSql\Driver) { + /* + * LOG: statement: CREATE DATABASE "wallabag" + * ERROR: source database "template1" is being accessed by other users + * DETAIL: There is 1 other session using the database. + * STATEMENT: CREATE DATABASE "wallabag" + * FATAL: database "wallabag" does not exist + * + * http://stackoverflow.com/a/14374832/569101 + */ + $this->markTestSkipped('PostgreSQL spotted: can find a good way to drop current database, skipping.'); + } + } + public static function tearDownAfterClass() { $application = new Application(static::$kernel); @@ -49,10 +67,11 @@ class InstallCommandTest extends WallabagCoreTestCase 'command' => $command->getName(), )); - $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay()); - $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay()); - $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay()); - $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay()); + $this->assertContains('Checking system requirements.', $tester->getDisplay()); + $this->assertContains('Setting up database.', $tester->getDisplay()); + $this->assertContains('Administration setup.', $tester->getDisplay()); + $this->assertContains('Config setup.', $tester->getDisplay()); + $this->assertContains('Installing assets.', $tester->getDisplay()); } public function testRunInstallCommandWithReset() @@ -79,10 +98,12 @@ class InstallCommandTest extends WallabagCoreTestCase '--reset' => true, )); - $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay()); - $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay()); - $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay()); - $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay()); + $this->assertContains('Checking system requirements.', $tester->getDisplay()); + $this->assertContains('Setting up database.', $tester->getDisplay()); + $this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay()); + $this->assertContains('Administration setup.', $tester->getDisplay()); + $this->assertContains('Config setup.', $tester->getDisplay()); + $this->assertContains('Installing assets.', $tester->getDisplay()); // we force to reset everything $this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay()); @@ -90,19 +111,6 @@ class InstallCommandTest extends WallabagCoreTestCase public function testRunInstallCommandWithDatabaseRemoved() { - if ($this->getClient()->getContainer()->get('doctrine')->getConnection()->getDriver() instanceof \Doctrine\DBAL\Driver\PDOPgSql\Driver) { - /* - * LOG: statement: CREATE DATABASE "wallabag" - * ERROR: source database "template1" is being accessed by other users - * DETAIL: There is 1 other session using the database. - * STATEMENT: CREATE DATABASE "wallabag" - * FATAL: database "wallabag" does not exist - * - * http://stackoverflow.com/a/14374832/569101 - */ - $this->markTestSkipped('PostgreSQL spotted: can find a good way to drop current database, skipping.'); - } - $application = new Application($this->getClient()->getKernel()); $application->add(new DropDatabaseDoctrineCommand()); @@ -136,10 +144,11 @@ class InstallCommandTest extends WallabagCoreTestCase 'command' => $command->getName(), )); - $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay()); - $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay()); - $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay()); - $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay()); + $this->assertContains('Checking system requirements.', $tester->getDisplay()); + $this->assertContains('Setting up database.', $tester->getDisplay()); + $this->assertContains('Administration setup.', $tester->getDisplay()); + $this->assertContains('Config setup.', $tester->getDisplay()); + $this->assertContains('Installing assets.', $tester->getDisplay()); // the current database doesn't already exist $this->assertContains('Creating database and schema, clearing the cache', $tester->getDisplay()); @@ -173,23 +182,17 @@ class InstallCommandTest extends WallabagCoreTestCase 'command' => $command->getName(), )); - $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay()); - $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay()); - $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay()); - $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay()); + $this->assertContains('Checking system requirements.', $tester->getDisplay()); + $this->assertContains('Setting up database.', $tester->getDisplay()); + $this->assertContains('Administration setup.', $tester->getDisplay()); + $this->assertContains('Config setup.', $tester->getDisplay()); + $this->assertContains('Installing assets.', $tester->getDisplay()); $this->assertContains('Droping schema and creating schema', $tester->getDisplay()); } public function testRunInstallCommandChooseNothing() { - if ($this->getClient()->getContainer()->get('doctrine')->getConnection()->getDriver() instanceof \Doctrine\DBAL\Driver\PDOPgSql\Driver) { - /* - * @see testRunInstallCommandWithDatabaseRemoved - */ - $this->markTestSkipped('PostgreSQL spotted: can find a good way to drop current database, skipping.'); - } - $application = new Application($this->getClient()->getKernel()); $application->add(new InstallCommand()); $application->add(new DropDatabaseDoctrineCommand()); @@ -234,10 +237,11 @@ class InstallCommandTest extends WallabagCoreTestCase 'command' => $command->getName(), )); - $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay()); - $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay()); - $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay()); - $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay()); + $this->assertContains('Checking system requirements.', $tester->getDisplay()); + $this->assertContains('Setting up database.', $tester->getDisplay()); + $this->assertContains('Administration setup.', $tester->getDisplay()); + $this->assertContains('Config setup.', $tester->getDisplay()); + $this->assertContains('Installing assets.', $tester->getDisplay()); $this->assertContains('Creating schema', $tester->getDisplay()); } @@ -266,9 +270,10 @@ class InstallCommandTest extends WallabagCoreTestCase '--no-interaction' => true, )); - $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay()); - $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay()); - $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay()); - $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay()); + $this->assertContains('Checking system requirements.', $tester->getDisplay()); + $this->assertContains('Setting up database.', $tester->getDisplay()); + $this->assertContains('Administration setup.', $tester->getDisplay()); + $this->assertContains('Config setup.', $tester->getDisplay()); + $this->assertContains('Installing assets.', $tester->getDisplay()); } }