From 3c39f5ac413cc1bd58a0647fcbb52982af81c078 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Mon, 29 Feb 2016 16:22:30 +0100 Subject: [PATCH] Skipping all Posgres test for wallabag:install 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. --- .../CoreBundle/Command/InstallCommand.php | 2 +- .../Tests/Command/InstallCommandTest.php | 38 +++++++++---------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php index 771b3c5a..e97ba46a 100644 --- a/src/Wallabag/CoreBundle/Command/InstallCommand.php +++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php @@ -193,7 +193,7 @@ class InstallCommand extends ContainerAwareCommand $this->defaultOutput->writeln('Step 3 of 4. Administration setup.'); $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; diff --git a/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php b/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php index a79d7b90..bb8fb888 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); @@ -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()); -- 2.41.0