Remove BasePath dependency from App\Mode
This commit is contained in:
parent
dd6d96d048
commit
a6fb683bcd
|
@ -24,7 +24,6 @@ namespace Friendica\App;
|
||||||
use Detection\MobileDetect;
|
use Detection\MobileDetect;
|
||||||
use Friendica\Core\Config\ValueObject\Cache;
|
use Friendica\Core\Config\ValueObject\Cache;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\Util\BasePath;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mode of the current Friendica Node
|
* Mode of the current Friendica Node
|
||||||
|
@ -129,15 +128,13 @@ class Mode
|
||||||
*
|
*
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function determine(BasePath $basepath, Database $database, Cache $configCache): Mode
|
public function determine(string $basePath, Database $database, Cache $configCache): Mode
|
||||||
{
|
{
|
||||||
$mode = 0;
|
$mode = 0;
|
||||||
|
|
||||||
$basepathName = $basepath->getPath();
|
if (!file_exists($basePath . '/config/local.config.php') &&
|
||||||
|
!file_exists($basePath . '/config/local.ini.php') &&
|
||||||
if (!file_exists($basepathName . '/config/local.config.php')
|
!file_exists($basePath . '/.htconfig.php')) {
|
||||||
&& !file_exists($basepathName . '/config/local.ini.php')
|
|
||||||
&& !file_exists($basepathName . '/.htconfig.php')) {
|
|
||||||
return new Mode($mode);
|
return new Mode($mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,9 @@ return [
|
||||||
App\Mode::class => [
|
App\Mode::class => [
|
||||||
'call' => [
|
'call' => [
|
||||||
['determineRunMode', [true, $_SERVER], Dice::CHAIN_CALL],
|
['determineRunMode', [true, $_SERVER], Dice::CHAIN_CALL],
|
||||||
['determine', [], Dice::CHAIN_CALL],
|
['determine', [
|
||||||
|
[Dice::INSTANCE => '$basepath']
|
||||||
|
], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
Config\Capability\IManageConfigValues::class => [
|
Config\Capability\IManageConfigValues::class => [
|
||||||
|
|
|
@ -57,7 +57,6 @@ class ModeTest extends MockedTest
|
||||||
|
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
||||||
$this->basePathMock = Mockery::mock(BasePath::class);
|
|
||||||
$this->databaseMock = Mockery::mock(Database::class);
|
$this->databaseMock = Mockery::mock(Database::class);
|
||||||
$this->configCacheMock = Mockery::mock(Cache::class);
|
$this->configCacheMock = Mockery::mock(Cache::class);
|
||||||
}
|
}
|
||||||
|
@ -71,15 +70,13 @@ class ModeTest extends MockedTest
|
||||||
|
|
||||||
public function testWithoutConfig()
|
public function testWithoutConfig()
|
||||||
{
|
{
|
||||||
$this->basePathMock->shouldReceive('getPath')->andReturn($this->root->url())->once();
|
|
||||||
|
|
||||||
self::assertTrue($this->root->hasChild('config/local.config.php'));
|
self::assertTrue($this->root->hasChild('config/local.config.php'));
|
||||||
|
|
||||||
$this->delConfigFile('local.config.php');
|
$this->delConfigFile('local.config.php');
|
||||||
|
|
||||||
self::assertFalse($this->root->hasChild('config/local.config.php'));
|
self::assertFalse($this->root->hasChild('config/local.config.php'));
|
||||||
|
|
||||||
$mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
|
$mode = (new Mode())->determine($this->root->url(), $this->databaseMock, $this->configCacheMock);
|
||||||
|
|
||||||
self::assertTrue($mode->isInstall());
|
self::assertTrue($mode->isInstall());
|
||||||
self::assertFalse($mode->isNormal());
|
self::assertFalse($mode->isNormal());
|
||||||
|
@ -89,11 +86,9 @@ class ModeTest extends MockedTest
|
||||||
|
|
||||||
public function testWithoutDatabase()
|
public function testWithoutDatabase()
|
||||||
{
|
{
|
||||||
$this->basePathMock->shouldReceive('getPath')->andReturn($this->root->url())->once();
|
|
||||||
|
|
||||||
$this->databaseMock->shouldReceive('connected')->andReturn(false)->once();
|
$this->databaseMock->shouldReceive('connected')->andReturn(false)->once();
|
||||||
|
|
||||||
$mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
|
$mode = (new Mode())->determine($this->root->url(), $this->databaseMock, $this->configCacheMock);
|
||||||
|
|
||||||
self::assertFalse($mode->isNormal());
|
self::assertFalse($mode->isNormal());
|
||||||
self::assertTrue($mode->isInstall());
|
self::assertTrue($mode->isInstall());
|
||||||
|
@ -104,13 +99,11 @@ class ModeTest extends MockedTest
|
||||||
|
|
||||||
public function testWithMaintenanceMode()
|
public function testWithMaintenanceMode()
|
||||||
{
|
{
|
||||||
$this->basePathMock->shouldReceive('getPath')->andReturn($this->root->url())->once();
|
|
||||||
|
|
||||||
$this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
|
$this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
|
||||||
$this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
|
$this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
|
||||||
->andReturn(true)->once();
|
->andReturn(true)->once();
|
||||||
|
|
||||||
$mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
|
$mode = (new Mode())->determine($this->root->url(), $this->databaseMock, $this->configCacheMock);
|
||||||
|
|
||||||
self::assertFalse($mode->isNormal());
|
self::assertFalse($mode->isNormal());
|
||||||
self::assertFalse($mode->isInstall());
|
self::assertFalse($mode->isInstall());
|
||||||
|
@ -120,13 +113,11 @@ class ModeTest extends MockedTest
|
||||||
|
|
||||||
public function testNormalMode()
|
public function testNormalMode()
|
||||||
{
|
{
|
||||||
$this->basePathMock->shouldReceive('getPath')->andReturn($this->root->url())->once();
|
|
||||||
|
|
||||||
$this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
|
$this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
|
||||||
$this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
|
$this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
|
||||||
->andReturn(false)->once();
|
->andReturn(false)->once();
|
||||||
|
|
||||||
$mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
|
$mode = (new Mode())->determine($this->root->url(), $this->databaseMock, $this->configCacheMock);
|
||||||
|
|
||||||
self::assertTrue($mode->isNormal());
|
self::assertTrue($mode->isNormal());
|
||||||
self::assertFalse($mode->isInstall());
|
self::assertFalse($mode->isInstall());
|
||||||
|
@ -139,13 +130,11 @@ class ModeTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
public function testDisabledMaintenance()
|
public function testDisabledMaintenance()
|
||||||
{
|
{
|
||||||
$this->basePathMock->shouldReceive('getPath')->andReturn($this->root->url())->once();
|
|
||||||
|
|
||||||
$this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
|
$this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
|
||||||
$this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
|
$this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
|
||||||
->andReturn(false)->once();
|
->andReturn(false)->once();
|
||||||
|
|
||||||
$mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
|
$mode = (new Mode())->determine($this->root->url(), $this->databaseMock, $this->configCacheMock);
|
||||||
|
|
||||||
self::assertTrue($mode->isNormal());
|
self::assertTrue($mode->isNormal());
|
||||||
self::assertFalse($mode->isInstall());
|
self::assertFalse($mode->isInstall());
|
||||||
|
@ -158,11 +147,9 @@ class ModeTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
public function testImmutable()
|
public function testImmutable()
|
||||||
{
|
{
|
||||||
$this->basePathMock->shouldReceive('getPath')->andReturn(null)->once();
|
|
||||||
|
|
||||||
$mode = new Mode();
|
$mode = new Mode();
|
||||||
|
|
||||||
$modeNew = $mode->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
|
$modeNew = $mode->determine('', $this->databaseMock, $this->configCacheMock);
|
||||||
|
|
||||||
self::assertNotSame($modeNew, $mode);
|
self::assertNotSame($modeNew, $mode);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue