From bef952bd16949bdba4e1d26c495ac93302e66b66 Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Wed, 13 Mar 2019 21:51:04 +0100 Subject: [PATCH] Fixed ConfigConsoleTest --- .../AutomaticInstallationConsoleTest.php | 73 +++++++++++-------- tests/src/Core/Console/ConfigConsoleTest.php | 2 + tests/src/Core/Console/ConsoleTest.php | 2 - 3 files changed, 45 insertions(+), 32 deletions(-) diff --git a/tests/src/Core/Console/AutomaticInstallationConsoleTest.php b/tests/src/Core/Console/AutomaticInstallationConsoleTest.php index f806e6d7bb..925b122b43 100644 --- a/tests/src/Core/Console/AutomaticInstallationConsoleTest.php +++ b/tests/src/Core/Console/AutomaticInstallationConsoleTest.php @@ -2,6 +2,7 @@ namespace Friendica\Test\src\Core\Console; +use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Console\AutomaticInstallation; use Friendica\Core\Installer; use Friendica\Test\Util\DBAMockTrait; @@ -53,24 +54,6 @@ class AutomaticInstallationConsoleTest extends ConsoleTest $this->db_user = getenv('MYSQL_USERNAME') . getenv('MYSQL_USER'); $this->db_pass = getenv('MYSQL_PASSWORD'); - $this->configMock - ->shouldReceive('get') - ->with('config', 'php_path') - ->andReturn(null); - - $this->configMock->shouldReceive('set') - ->with('config', 'php_path', \Mockery::any())->once(); - $this->configMock->shouldReceive('set') - ->with('config', 'hostname', '')->once(); - $this->configMock->shouldReceive('set') - ->with('system', 'basepath', \Mockery::any())->once(); - $this->configMock->shouldReceive('set') - ->with('system', 'urlpath' , '')->once(); - $this->configMock->shouldReceive('set') - ->with('system', 'ssl_policy', SSL_POLICY_NONE)->once(); - $this->mode->shouldReceive('isInstall') - ->andReturn(false); - $this->mockL10nT(); } @@ -192,25 +175,51 @@ FIN; $this->assertEquals($finished, $txt); } + public function dataInstaller() + { + return [ + 'empty' => [ + 'data' => [ + 'database' => [ + 'hostname' => '', + 'username' => '', + 'password' => '', + 'database' => '', + ], + 'config' => [ + 'php_path' => '', + 'hostname' => '', + 'admin_email' => '', + ], + 'system' => [ + 'urlpath' => '', + 'basepath' => '', + 'ssl_policy' => '', + 'default_timezone' => '', + 'language' => '', + ], + ], + ] + ]; + } + /** * Test the automatic installation without any parameter + * @dataProvider dataInstaller */ - public function testEmpty() + public function testEmpty(array $data) { + $configCache = new ConfigCache(); + $configCache->load($data); + $configCache->set('system', 'basepath', $this->root->url()); + + $this->mockApp($this->root, $configCache); + $this->mockConnect(true, 1); $this->mockConnected(true, 1); $this->mockExistsTable('user', false, 1); $this->mockUpdate([$this->root->url(), false, true, true], null, 1); - $this->configMock->shouldReceive('set') - ->with('database', 'hostname', Installer::DEFAULT_HOST)->once(); - $this->configMock->shouldReceive('set') - ->with('database', 'username', '')->once(); - $this->configMock->shouldReceive('set') - ->with('database', 'password', '')->once(); - $this->configMock->shouldReceive('set') - ->with('database', 'database', '')->once(); - $this->mockGetMarkupTemplate('local.config.tpl', 'testTemplate', 1); $this->mockReplaceMacros('testTemplate', \Mockery::any(), '', 1); @@ -218,14 +227,18 @@ FIN; $txt = $this->dumpExecute($console); - $this->assertFinished($txt, false, true); + $this->assertEquals(Installer::DEFAULT_LANG, $configCache->get('system', 'language')); + $this->assertEquals(Installer::DEFAULT_TZ, $configCache->get('system', 'default_timezone')); + $this->assertEquals(Installer::DEFAULT_HOST, $configCache->get('database', 'hostname')); + $this->assertFinished($txt, true, false); } /** * @medium + * @dataProvider dataInstaller */ - public function testWithConfig() + public function testWithConfig(array $data) { $this->mockConnect(true, 1); $this->mockConnected(true, 1); diff --git a/tests/src/Core/Console/ConfigConsoleTest.php b/tests/src/Core/Console/ConfigConsoleTest.php index ef50c19b72..c8deda5555 100644 --- a/tests/src/Core/Console/ConfigConsoleTest.php +++ b/tests/src/Core/Console/ConfigConsoleTest.php @@ -16,6 +16,8 @@ class ConfigConsoleTest extends ConsoleTest { parent::setUp(); + $this->mockApp($this->root); + \Mockery::getConfiguration()->setConstantsMap([ Mode::class => [ 'DBCONFIGAVAILABLE' => 0 diff --git a/tests/src/Core/Console/ConsoleTest.php b/tests/src/Core/Console/ConsoleTest.php index bd821614f2..4fc44b92c5 100644 --- a/tests/src/Core/Console/ConsoleTest.php +++ b/tests/src/Core/Console/ConsoleTest.php @@ -29,8 +29,6 @@ abstract class ConsoleTest extends MockedTest Intercept::setUp(); $this->setUpVfsDir(); - $this->mockApp($this->root); - } /**