X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Fsrc%2FCore%2FInstallerTest.php;h=a238bf8e7d9389383ef0bc3738163c2a694d0978;hb=8010ccdc216fc9caf308346ab750386caa7946e1;hp=d860321d43d1201bb263514f9df5176e97a164e1;hpb=732308ce6d1157355090f3b6864fd6ac04a8567f;p=friendica.git diff --git a/tests/src/Core/InstallerTest.php b/tests/src/Core/InstallerTest.php index d860321d43..a238bf8e7d 100644 --- a/tests/src/Core/InstallerTest.php +++ b/tests/src/Core/InstallerTest.php @@ -3,9 +3,13 @@ // this is in the same namespace as Install for mocking 'function_exists' namespace Friendica\Core; +use Friendica\Core\Config\Cache\IConfigCache; +use Friendica\Network\CurlResult; +use Friendica\Object\Image; use Friendica\Test\MockedTest; use Friendica\Test\Util\L10nMockTrait; use Friendica\Test\Util\VFSTrait; +use Friendica\Util\Network; /** * @runTestsInSeparateProcesses @@ -43,6 +47,10 @@ class InstallerTest extends MockedTest $this->mockL10nT('Error: iconv PHP module required but not installed.', 1); $this->mockL10nT('POSIX PHP module', 1); $this->mockL10nT('Error: POSIX PHP module required but not installed.', 1); + $this->mockL10nT('JSON PHP module', 1); + $this->mockL10nT('Error: JSON PHP module required but not installed.', 1); + $this->mockL10nT('File Information PHP module', 1); + $this->mockL10nT('Error: File Information PHP module required but not installed.', 1); } private function assertCheckExist($position, $title, $help, $status, $required, $assertionArray) @@ -97,6 +105,8 @@ class InstallerTest extends MockedTest */ public function testCheckKeys() { + $this->mockL10nT(); + $this->setFunctions(['openssl_pkey_new' => false]); $install = new Installer(); $this->assertFalse($install->checkKeys()); @@ -188,6 +198,17 @@ class InstallerTest extends MockedTest true, $install->getChecks()); + $this->mockFunctionL10TCalls(); + $this->setFunctions(['finfo_open' => false]); + $install = new Installer(); + $this->assertFalse($install->checkFunctions()); + $this->assertCheckExist(10, + 'File Information PHP module', + 'Error: File Information PHP module required but not installed.', + false, + true, + $install->getChecks()); + $this->mockFunctionL10TCalls(); $this->setFunctions([ 'curl_init' => true, @@ -195,7 +216,9 @@ class InstallerTest extends MockedTest 'openssl_public_encrypt' => true, 'mb_strlen' => true, 'iconv_strlen' => true, - 'posix_kill' => true + 'posix_kill' => true, + 'json_encode' => true, + 'finfo_open' => true, ]); $install = new Installer(); $this->assertTrue($install->checkFunctions()); @@ -206,6 +229,8 @@ class InstallerTest extends MockedTest */ public function testCheckLocalIni() { + $this->mockL10nT(); + $this->assertTrue($this->root->hasChild('config/local.config.php')); $install = new Installer(); @@ -224,8 +249,10 @@ class InstallerTest extends MockedTest */ public function testCheckHtAccessFail() { + $this->mockL10nT(); + // Mocking the CURL Response - $curlResult = \Mockery::mock('Friendica\Network\CurlResult'); + $curlResult = \Mockery::mock(CurlResult::class); $curlResult ->shouldReceive('getReturnCode') ->andReturn('404'); @@ -237,7 +264,7 @@ class InstallerTest extends MockedTest ->andReturn('test Error'); // Mocking the CURL Request - $networkMock = \Mockery::mock('alias:Friendica\Util\Network'); + $networkMock = \Mockery::mock('alias:' . Network::class); $networkMock ->shouldReceive('fetchUrlFull') ->with('https://test/install/testrewrite') @@ -250,9 +277,6 @@ class InstallerTest extends MockedTest // Mocking that we can use CURL $this->setFunctions(['curl_init' => true]); - // needed because of "normalise_link" - require_once __DIR__ . '/../../../include/text.php'; - $install = new Installer(); $this->assertFalse($install->checkHtAccess('https://test')); @@ -264,20 +288,22 @@ class InstallerTest extends MockedTest */ public function testCheckHtAccessWork() { + $this->mockL10nT(); + // Mocking the failed CURL Response - $curlResultF = \Mockery::mock('Friendica\Network\CurlResult'); + $curlResultF = \Mockery::mock(CurlResult::class); $curlResultF ->shouldReceive('getReturnCode') ->andReturn('404'); // Mocking the working CURL Response - $curlResultW = \Mockery::mock('Friendica\Network\CurlResult'); + $curlResultW = \Mockery::mock(CurlResult::class); $curlResultW ->shouldReceive('getReturnCode') ->andReturn('204'); // Mocking the CURL Request - $networkMock = \Mockery::mock('alias:Friendica\Util\Network'); + $networkMock = \Mockery::mock('alias:' . Network::class); $networkMock ->shouldReceive('fetchUrlFull') ->with('https://test/install/testrewrite') @@ -303,7 +329,9 @@ class InstallerTest extends MockedTest */ public function testImagick() { - $imageMock = \Mockery::mock('alias:Friendica\Object\Image'); + $this->mockL10nT(); + + $imageMock = \Mockery::mock('alias:'. Image::class); $imageMock ->shouldReceive('supportedTypes') ->andReturn(['image/gif' => 'gif']); @@ -328,7 +356,9 @@ class InstallerTest extends MockedTest */ public function testImagickNotFound() { - $imageMock = \Mockery::mock('alias:Friendica\Object\Image'); + $this->mockL10nT(); + + $imageMock = \Mockery::mock('alias:' . Image::class); $imageMock ->shouldReceive('supportedTypes') ->andReturn([]); @@ -363,6 +393,21 @@ class InstallerTest extends MockedTest false, $install->getChecks()); } + + /** + * Test the setup of the config cache for installation + */ + public function testSetUpCache() + { + $this->mockL10nT(); + + $install = new Installer(); + $configCache = \Mockery::mock(IConfigCache::class); + $configCache->shouldReceive('set')->with('config', 'php_path', \Mockery::any())->once(); + $configCache->shouldReceive('set')->with('system', 'basepath', '/test/')->once(); + + $install->setUpCache($configCache, '/test/'); + } } /**