]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Skipping all Posgres test for wallabag:install 1734/head
authorJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 29 Feb 2016 15:22:30 +0000 (16:22 +0100)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 29 Feb 2016 15:23:36 +0000 (16:23 +0100)
We already faced this problem but we are facing it again.
https://github.com/wallabag/wallabag/commit/d502762598db68ec822078642df8f6a8214202f7

It seems we can drop a database properly using wallabag:install.

The server log keep saying:
ERROR:  source database "template1" is being accessed by other users
DETAIL:  There is 1 other session using the database.
STATEMENT:  CREATE DATABASE "wallabag_test"

Which means, it can't remove the database wallabag_test because one other person is using it.

src/Wallabag/CoreBundle/Command/InstallCommand.php
src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php

index 771b3c5a4070a82f71ad5f9f96cc918f898db42c..e97ba46adfa597febeb1f1c66b05660f71e1523d 100644 (file)
@@ -193,7 +193,7 @@ class InstallCommand extends ContainerAwareCommand
         $this->defaultOutput->writeln('<info><comment>Step 3 of 4.</comment> Administration setup.</info>');
 
         $questionHelper = $this->getHelperSet()->get('question');
-        $question = new ConfirmationQuestion('Would you like to create a new admin user (recommended) ? (y/N)', true);
+        $question = new ConfirmationQuestion('Would you like to create a new admin user (recommended) ? (Y/n)', true);
 
         if (!$questionHelper->ask($this->defaultInput, $this->defaultOutput, $question)) {
             return $this;
index a79d7b9065409a24b4e0318b774546ef985c1df3..bb8fb8888093968b44859a9216d293c20846ad12 100644 (file)
@@ -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);
@@ -91,19 +109,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());
 
@@ -184,13 +189,6 @@ class InstallCommandTest extends WallabagCoreTestCase
 
     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());