From 90e88d6c35fdce069bf4c44774afab88a0bee208 Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Mon, 4 Feb 2019 00:04:16 +0100 Subject: [PATCH] Bugfixing AutomaticInstallation test --- src/Core/Console/AutomaticInstallation.php | 8 +++---- src/Core/Console/Config.php | 6 ++--- src/Core/Console/Typo.php | 4 +++- tests/Util/AppMockTrait.php | 24 ++++++++++++------- tests/src/BaseObjectTest.php | 3 ++- tests/src/Core/Cache/CacheTest.php | 3 ++- .../AutomaticInstallationConsoleTest.php | 8 +++---- tests/src/Core/Console/ConsoleTest.php | 3 ++- tests/src/Core/Lock/LockTest.php | 3 ++- 9 files changed, 37 insertions(+), 25 deletions(-) diff --git a/src/Core/Console/AutomaticInstallation.php b/src/Core/Console/AutomaticInstallation.php index 8c3e5ebbee..da078545e3 100644 --- a/src/Core/Console/AutomaticInstallation.php +++ b/src/Core/Console/AutomaticInstallation.php @@ -100,10 +100,10 @@ HELP; } } - $db_host = Config::getConfigValue('database', 'hostname'); - $db_user = Config::getConfigValue('database', 'username'); - $db_pass = Config::getConfigValue('database', 'password'); - $db_data = Config::getConfigValue('database', 'database'); + $db_host = $a->getConfig()->get('database', 'hostname'); + $db_user = $a->getConfig()->get('database', 'username'); + $db_pass = $a->getConfig()->get('database', 'password'); + $db_data = $a->getConfig()->get('database', 'database'); } else { // Creating config file $this->out("Creating config file...\n"); diff --git a/src/Core/Console/Config.php b/src/Core/Console/Config.php index 8a0e0f88cf..c72e26906f 100644 --- a/src/Core/Console/Config.php +++ b/src/Core/Console/Config.php @@ -124,9 +124,9 @@ HELP; $cat = $this->getArgument(0); Core\Config::load($cat); - if (Core\Config::getConfigValue($cat) !== null) { + if ($a->getConfig()->get($cat) !== null) { $this->out("[{$cat}]"); - $catVal = Core\Config::getConfigValue($cat); + $catVal = $a->getConfig()->get($cat); foreach ($catVal as $key => $value) { if (is_array($value)) { foreach ($value as $k => $v) { @@ -148,7 +148,7 @@ HELP; $this->out('Warning: The JIT (Just In Time) Config adapter doesn\'t support loading the entire configuration, showing file config only'); } - $config = Core\Config::getAll(); + $config = $a->getConfig()->getAll(); foreach ($config as $cat => $section) { if (is_array($section)) { foreach ($section as $key => $value) { diff --git a/src/Core/Console/Typo.php b/src/Core/Console/Typo.php index 3f9dce84e0..32ba6ded35 100644 --- a/src/Core/Console/Typo.php +++ b/src/Core/Console/Typo.php @@ -2,6 +2,8 @@ namespace Friendica\Core\Console; +use Friendica\BaseObject; + /** * Tired of chasing typos and finding them after a commit. * Run this and quickly see if we've got any parse errors in our application files. @@ -41,7 +43,7 @@ HELP; throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments'); } - $php_path = \Friendica\Core\Config::getConfigValue('config', 'php_path', 'php'); + $php_path = BaseObject::getApp()->getConfig()->get('config', 'php_path', 'php'); if ($this->getOption('v')) { $this->out('Directory: src'); diff --git a/tests/Util/AppMockTrait.php b/tests/Util/AppMockTrait.php index c679321844..290191cba1 100644 --- a/tests/Util/AppMockTrait.php +++ b/tests/Util/AppMockTrait.php @@ -4,6 +4,7 @@ namespace Friendica\Test\Util; use Friendica\App; use Friendica\BaseObject; +use Friendica\Core\Config\ConfigCache; use Friendica\Render\FriendicaSmartyEngine; use Mockery\MockInterface; use org\bovigo\vfs\vfsStreamDirectory; @@ -24,8 +25,9 @@ trait AppMockTrait * Mock the App * * @param vfsStreamDirectory $root The root directory + * @param MockInterface|ConfigCache $config The config cache */ - public function mockApp($root) + public function mockApp($root, $config) { $this->mockConfigGet('system', 'theme', 'testtheme'); @@ -35,22 +37,26 @@ trait AppMockTrait ->shouldReceive('getBasePath') ->andReturn($root->url()); - $this->app - ->shouldReceive('getConfigValue') + $config + ->shouldReceive('get') ->with('database', 'hostname') ->andReturn(getenv('MYSQL_HOST')); - $this->app - ->shouldReceive('getConfigValue') + $config + ->shouldReceive('get') ->with('database', 'username') ->andReturn(getenv('MYSQL_USERNAME')); - $this->app - ->shouldReceive('getConfigValue') + $config + ->shouldReceive('get') ->with('database', 'password') ->andReturn(getenv('MYSQL_PASSWORD')); - $this->app - ->shouldReceive('getConfigValue') + $config + ->shouldReceive('get') ->with('database', 'database') ->andReturn(getenv('MYSQL_DATABASE')); + $this->app + ->shouldReceive('getConfig') + ->andReturn($config); + $this->app ->shouldReceive('getTemplateEngine') ->andReturn(new FriendicaSmartyEngine()); diff --git a/tests/src/BaseObjectTest.php b/tests/src/BaseObjectTest.php index 2b10556af6..2dbf5580f6 100644 --- a/tests/src/BaseObjectTest.php +++ b/tests/src/BaseObjectTest.php @@ -32,7 +32,8 @@ class BaseObjectTest extends TestCase protected function setUp() { $this->setUpVfsDir(); - $this->mockApp($this->root); + $configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache'); + $this->mockApp($this->root, $configMock); $this->baseObject = new BaseObject(); } diff --git a/tests/src/Core/Cache/CacheTest.php b/tests/src/Core/Cache/CacheTest.php index b9a22ee9ca..d0b357bf46 100644 --- a/tests/src/Core/Cache/CacheTest.php +++ b/tests/src/Core/Cache/CacheTest.php @@ -69,7 +69,8 @@ abstract class CacheTest extends MockedTest protected function setUp() { $this->setUpVfsDir(); - $this->mockApp($this->root); + $configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache'); + $this->mockApp($this->root, $configMock); $this->app ->shouldReceive('getHostname') ->andReturn('friendica.local'); diff --git a/tests/src/Core/Console/AutomaticInstallationConsoleTest.php b/tests/src/Core/Console/AutomaticInstallationConsoleTest.php index 361608d375..127a8bc3f8 100644 --- a/tests/src/Core/Console/AutomaticInstallationConsoleTest.php +++ b/tests/src/Core/Console/AutomaticInstallationConsoleTest.php @@ -181,7 +181,7 @@ FIN; $this->mockConnect(true, 1); $this->mockConnected(true, 1); $this->mockExistsTable('user', false, 1); - $this->mockUpdate([false, true, true], null, 1); + $this->mockUpdate([$this->root->url(), false, true, true], null, 1); $config = <<mockConnect(true, 1); $this->mockConnected(true, 1); $this->mockExistsTable('user', false, 1); - $this->mockUpdate([false, true, true], null, 1); + $this->mockUpdate([$this->root->url(), false, true, true], null, 1); $this->mockGetMarkupTemplate('local.config.tpl', 'testTemplate', 1); $this->mockReplaceMacros('testTemplate', $this->createArgumentsForMacro(true), '', 1); @@ -267,7 +267,7 @@ CONF; $this->mockConnect(true, 1); $this->mockConnected(true, 1); $this->mockExistsTable('user', false, 1); - $this->mockUpdate([false, true, true], null, 1); + $this->mockUpdate([$this->root->url(), false, true, true], null, 1); $this->mockGetMarkupTemplate('local.config.tpl', 'testTemplate', 1); $this->mockReplaceMacros('testTemplate', $this->createArgumentsForMacro(false), '', 1); @@ -292,7 +292,7 @@ CONF; $this->mockConnect(true, 1); $this->mockConnected(true, 1); $this->mockExistsTable('user', false, 1); - $this->mockUpdate([false, true, true], null, 1); + $this->mockUpdate([$this->root->url(), false, true, true], null, 1); $this->mockGetMarkupTemplate('local.config.tpl', 'testTemplate', 1); $this->mockReplaceMacros('testTemplate', $this->createArgumentsForMacro(true), '', 1); diff --git a/tests/src/Core/Console/ConsoleTest.php b/tests/src/Core/Console/ConsoleTest.php index 4f7acc9c42..905d214cac 100644 --- a/tests/src/Core/Console/ConsoleTest.php +++ b/tests/src/Core/Console/ConsoleTest.php @@ -29,7 +29,8 @@ abstract class ConsoleTest extends MockedTest Intercept::setUp(); $this->setUpVfsDir(); - $this->mockApp($this->root); + $configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache'); + $this->mockApp($this->root, $configMock); } /** diff --git a/tests/src/Core/Lock/LockTest.php b/tests/src/Core/Lock/LockTest.php index 320beb3054..2d11a71ae1 100644 --- a/tests/src/Core/Lock/LockTest.php +++ b/tests/src/Core/Lock/LockTest.php @@ -31,7 +31,8 @@ abstract class LockTest extends MockedTest // Reusable App object $this->setUpVfsDir(); - $this->mockApp($this->root); + $configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache'); + $this->mockApp($this->root, $configMock); $this->app ->shouldReceive('getHostname') ->andReturn('friendica.local');