Merge pull request #6605 from nupplaphil/config_mock
Refactor ConfigMockTrait to mocked ConfigCache
This commit is contained in:
commit
b912823ea9
|
@ -22,7 +22,7 @@ use Friendica\Core\Config\IConfigCache;
|
||||||
class Config
|
class Config
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var Config\IConfigAdapter
|
* @var Config\IConfigAdapter|null
|
||||||
*/
|
*/
|
||||||
private static $adapter;
|
private static $adapter;
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ class Config
|
||||||
*/
|
*/
|
||||||
public static function load($family = "config")
|
public static function load($family = "config")
|
||||||
{
|
{
|
||||||
if (!isset(self::$adapter)) {
|
if (!isset(self::$adapter) || !self::$adapter->isConnected()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ class Config
|
||||||
*/
|
*/
|
||||||
public static function get($family, $key, $default_value = null, $refresh = false)
|
public static function get($family, $key, $default_value = null, $refresh = false)
|
||||||
{
|
{
|
||||||
if (!isset(self::$adapter)) {
|
if (!isset(self::$adapter) || !self::$adapter->isConnected()) {
|
||||||
return self::$cache->get($family, $key, $default_value);
|
return self::$cache->get($family, $key, $default_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,9 +108,8 @@ class Config
|
||||||
*/
|
*/
|
||||||
public static function set($family, $key, $value)
|
public static function set($family, $key, $value)
|
||||||
{
|
{
|
||||||
if (!isset(self::$adapter)) {
|
if (!isset(self::$adapter) || !self::$adapter->isConnected()) {
|
||||||
self::$cache->set($family, $key, $value);
|
return self::$cache->set($family, $key, $value);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::$adapter->set($family, $key, $value);
|
return self::$adapter->set($family, $key, $value);
|
||||||
|
@ -129,7 +128,7 @@ class Config
|
||||||
*/
|
*/
|
||||||
public static function delete($family, $key)
|
public static function delete($family, $key)
|
||||||
{
|
{
|
||||||
if (!isset(self::$adapter)) {
|
if (!isset(self::$adapter) || !self::$adapter->isConnected()) {
|
||||||
self::$cache->delete($family, $key);
|
self::$cache->delete($family, $key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
13
src/Core/Config/AbstractDbaConfigAdapter.php
Normal file
13
src/Core/Config/AbstractDbaConfigAdapter.php
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Friendica\Core\Config;
|
||||||
|
|
||||||
|
use Friendica\Database\DBA;
|
||||||
|
|
||||||
|
abstract class AbstractDbaConfigAdapter
|
||||||
|
{
|
||||||
|
public function isConnected()
|
||||||
|
{
|
||||||
|
return DBA::connected();
|
||||||
|
}
|
||||||
|
}
|
|
@ -94,6 +94,8 @@ class ConfigCache implements IConfigCache, IPConfigCache
|
||||||
|
|
||||||
$this->config[$cat][$key] = $value;
|
$this->config[$cat][$key] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -54,4 +54,11 @@ interface IConfigAdapter
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function delete($cat, $k);
|
public function delete($cat, $k);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks, if the current adapter is connected to the backend
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isConnected();
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,8 @@ interface IConfigCache
|
||||||
* @param string $cat Config category
|
* @param string $cat Config category
|
||||||
* @param string $key Config key
|
* @param string $key Config key
|
||||||
* @param mixed $value Value to set
|
* @param mixed $value Value to set
|
||||||
|
*
|
||||||
|
* @return bool True, if the value is set
|
||||||
*/
|
*/
|
||||||
function set($cat, $key, $value);
|
function set($cat, $key, $value);
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ use Friendica\Database\DBA;
|
||||||
*
|
*
|
||||||
* @author Hypolite Petovan <hypolite@mrpetovan.com>
|
* @author Hypolite Petovan <hypolite@mrpetovan.com>
|
||||||
*/
|
*/
|
||||||
class JITConfigAdapter implements IConfigAdapter
|
class JITConfigAdapter extends AbstractDbaConfigAdapter implements IConfigAdapter
|
||||||
{
|
{
|
||||||
private $cache;
|
private $cache;
|
||||||
private $in_db;
|
private $in_db;
|
||||||
|
@ -33,6 +33,10 @@ class JITConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function load($cat = "config")
|
public function load($cat = "config")
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// We don't preload "system" anymore.
|
// We don't preload "system" anymore.
|
||||||
// This reduces the number of database reads a lot.
|
// This reduces the number of database reads a lot.
|
||||||
if ($cat === 'system') {
|
if ($cat === 'system') {
|
||||||
|
@ -58,6 +62,10 @@ class JITConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function get($cat, $k, $default_value = null, $refresh = false)
|
public function get($cat, $k, $default_value = null, $refresh = false)
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return $default_value;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$refresh) {
|
if (!$refresh) {
|
||||||
// Do we have the cached value? Then return it
|
// Do we have the cached value? Then return it
|
||||||
if (isset($this->cache[$cat][$k])) {
|
if (isset($this->cache[$cat][$k])) {
|
||||||
|
@ -103,6 +111,10 @@ class JITConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function set($cat, $k, $value)
|
public function set($cat, $k, $value)
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// We store our setting values in a string variable.
|
// We store our setting values in a string variable.
|
||||||
// So we have to do the conversion here so that the compare below works.
|
// So we have to do the conversion here so that the compare below works.
|
||||||
// The exception are array values.
|
// The exception are array values.
|
||||||
|
@ -143,6 +155,10 @@ class JITConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function delete($cat, $k)
|
public function delete($cat, $k)
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($this->cache[$cat][$k])) {
|
if (isset($this->cache[$cat][$k])) {
|
||||||
unset($this->cache[$cat][$k]);
|
unset($this->cache[$cat][$k]);
|
||||||
unset($this->in_db[$cat][$k]);
|
unset($this->in_db[$cat][$k]);
|
||||||
|
|
|
@ -12,7 +12,7 @@ use Friendica\Database\DBA;
|
||||||
*
|
*
|
||||||
* @author Hypolite Petovan <hypolite@mrpetovan.com>
|
* @author Hypolite Petovan <hypolite@mrpetovan.com>
|
||||||
*/
|
*/
|
||||||
class PreloadConfigAdapter implements IConfigAdapter
|
class PreloadConfigAdapter extends AbstractDbaConfigAdapter implements IConfigAdapter
|
||||||
{
|
{
|
||||||
private $config_loaded = false;
|
private $config_loaded = false;
|
||||||
|
|
||||||
|
@ -35,6 +35,10 @@ class PreloadConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function load($family = 'config')
|
public function load($family = 'config')
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->config_loaded) {
|
if ($this->config_loaded) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -53,6 +57,10 @@ class PreloadConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function get($cat, $k, $default_value = null, $refresh = false)
|
public function get($cat, $k, $default_value = null, $refresh = false)
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return $default_value;
|
||||||
|
}
|
||||||
|
|
||||||
if ($refresh) {
|
if ($refresh) {
|
||||||
$config = DBA::selectFirst('config', ['v'], ['cat' => $cat, 'k' => $k]);
|
$config = DBA::selectFirst('config', ['v'], ['cat' => $cat, 'k' => $k]);
|
||||||
if (DBA::isResult($config)) {
|
if (DBA::isResult($config)) {
|
||||||
|
@ -70,6 +78,10 @@ class PreloadConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function set($cat, $k, $value)
|
public function set($cat, $k, $value)
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// We store our setting values as strings.
|
// We store our setting values as strings.
|
||||||
// So we have to do the conversion here so that the compare below works.
|
// So we have to do the conversion here so that the compare below works.
|
||||||
// The exception are array values.
|
// The exception are array values.
|
||||||
|
@ -97,6 +109,10 @@ class PreloadConfigAdapter implements IConfigAdapter
|
||||||
*/
|
*/
|
||||||
public function delete($cat, $k)
|
public function delete($cat, $k)
|
||||||
{
|
{
|
||||||
|
if (!$this->isConnected()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$this->configCache->delete($cat, $k);
|
$this->configCache->delete($cat, $k);
|
||||||
|
|
||||||
$result = DBA::delete('config', ['cat' => $cat, 'k' => $k]);
|
$result = DBA::delete('config', ['cat' => $cat, 'k' => $k]);
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace Friendica\Test\Util;
|
||||||
|
|
||||||
use Friendica\App;
|
use Friendica\App;
|
||||||
use Friendica\BaseObject;
|
use Friendica\BaseObject;
|
||||||
|
use Friendica\Core\Config;
|
||||||
use Friendica\Core\Config\ConfigCache;
|
use Friendica\Core\Config\ConfigCache;
|
||||||
use Friendica\Render\FriendicaSmartyEngine;
|
use Friendica\Render\FriendicaSmartyEngine;
|
||||||
use Mockery\MockInterface;
|
use Mockery\MockInterface;
|
||||||
|
@ -14,13 +15,16 @@ use org\bovigo\vfs\vfsStreamDirectory;
|
||||||
*/
|
*/
|
||||||
trait AppMockTrait
|
trait AppMockTrait
|
||||||
{
|
{
|
||||||
use ConfigMockTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var MockInterface|App The mocked Friendica\App
|
* @var MockInterface|App The mocked Friendica\App
|
||||||
*/
|
*/
|
||||||
protected $app;
|
protected $app;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var MockInterface|ConfigCache The mocked Config Cache
|
||||||
|
*/
|
||||||
|
protected $configCache;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mock the App
|
* Mock the App
|
||||||
*
|
*
|
||||||
|
@ -29,8 +33,7 @@ trait AppMockTrait
|
||||||
*/
|
*/
|
||||||
public function mockApp($root, $config)
|
public function mockApp($root, $config)
|
||||||
{
|
{
|
||||||
$this->mockConfigGet('system', 'theme', 'testtheme');
|
$this->configCache = $config;
|
||||||
|
|
||||||
// Mocking App and most used functions
|
// Mocking App and most used functions
|
||||||
$this->app = \Mockery::mock(App::class);
|
$this->app = \Mockery::mock(App::class);
|
||||||
$this->app
|
$this->app
|
||||||
|
@ -53,6 +56,15 @@ trait AppMockTrait
|
||||||
->shouldReceive('get')
|
->shouldReceive('get')
|
||||||
->with('database', 'database')
|
->with('database', 'database')
|
||||||
->andReturn(getenv('MYSQL_DATABASE'));
|
->andReturn(getenv('MYSQL_DATABASE'));
|
||||||
|
$config
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('config', 'hostname')
|
||||||
|
->andReturn('localhost');
|
||||||
|
$config
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'theme', NULL)
|
||||||
|
->andReturn('system_theme');
|
||||||
|
|
||||||
$this->app
|
$this->app
|
||||||
->shouldReceive('getConfig')
|
->shouldReceive('getConfig')
|
||||||
->andReturn($config);
|
->andReturn($config);
|
||||||
|
@ -70,6 +82,14 @@ trait AppMockTrait
|
||||||
->shouldReceive('getBaseUrl')
|
->shouldReceive('getBaseUrl')
|
||||||
->andReturn('http://friendica.local');
|
->andReturn('http://friendica.local');
|
||||||
|
|
||||||
|
// Initialize empty Config
|
||||||
|
Config::init($config);
|
||||||
|
$configAdapter = \Mockery::mock('Friendica\Core\Config\IConfigAdapter');
|
||||||
|
$configAdapter
|
||||||
|
->shouldReceive('isConnected')
|
||||||
|
->andReturn(false);
|
||||||
|
Config::setAdapter($configAdapter);
|
||||||
|
|
||||||
BaseObject::setApp($this->app);
|
BaseObject::setApp($this->app);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,64 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace Friendica\Test\Util;
|
|
||||||
|
|
||||||
use Mockery\MockInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Trait to Mock Config settings
|
|
||||||
*/
|
|
||||||
trait ConfigMockTrait
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var MockInterface The mocking interface of Friendica\Core\Config
|
|
||||||
*/
|
|
||||||
private $configMock;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mocking a config setting
|
|
||||||
*
|
|
||||||
* @param string $family The family of the config double
|
|
||||||
* @param string $key The key of the config double
|
|
||||||
* @param mixed $value The value of the config double
|
|
||||||
* @param null|int $times How often the Config will get used
|
|
||||||
*/
|
|
||||||
public function mockConfigGet($family, $key, $value, $times = null)
|
|
||||||
{
|
|
||||||
if (!isset($this->configMock)) {
|
|
||||||
$this->configMock = \Mockery::mock('alias:Friendica\Core\Config');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->configMock
|
|
||||||
->shouldReceive('get')
|
|
||||||
->times($times)
|
|
||||||
->with($family, $key)
|
|
||||||
->andReturn($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mocking setting a new config entry
|
|
||||||
*
|
|
||||||
* @param string $family The family of the config double
|
|
||||||
* @param string $key The key of the config double
|
|
||||||
* @param mixed $value The value of the config double
|
|
||||||
* @param null|int $times How often the Config will get used
|
|
||||||
* @param bool $return Return value of the set (default is true)
|
|
||||||
*/
|
|
||||||
public function mockConfigSet($family, $key, $value, $times = null, $return = true)
|
|
||||||
{
|
|
||||||
if (!isset($this->configMock)) {
|
|
||||||
$this->configMock = \Mockery::mock('alias:Friendica\Core\Config');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->mockConfigGet($family, $key, false, 1);
|
|
||||||
if ($return) {
|
|
||||||
$this->mockConfigGet($family, $key, $value, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->configMock
|
|
||||||
->shouldReceive('set')
|
|
||||||
->times($times)
|
|
||||||
->with($family, $key, $value)
|
|
||||||
->andReturn($return);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,14 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* Created by PhpStorm.
|
|
||||||
* User: philipp
|
|
||||||
* Date: 01.11.18
|
|
||||||
* Time: 10:08
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Friendica\Test\Util;
|
namespace Friendica\Test\Util;
|
||||||
|
|
||||||
|
|
||||||
use Mockery\MockInterface;
|
use Mockery\MockInterface;
|
||||||
|
|
||||||
trait RendererMockTrait
|
trait RendererMockTrait
|
||||||
|
|
|
@ -3,24 +3,19 @@
|
||||||
namespace Friendica\Test\src\App;
|
namespace Friendica\Test\src\App;
|
||||||
|
|
||||||
use Friendica\App\Mode;
|
use Friendica\App\Mode;
|
||||||
|
use Friendica\Core\Config;
|
||||||
use Friendica\Test\MockedTest;
|
use Friendica\Test\MockedTest;
|
||||||
use Friendica\Test\Util\ConfigMockTrait;
|
|
||||||
use Friendica\Test\Util\DBAMockTrait;
|
use Friendica\Test\Util\DBAMockTrait;
|
||||||
use Friendica\Test\Util\VFSTrait;
|
use Friendica\Test\Util\VFSTrait;
|
||||||
|
|
||||||
/**
|
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
|
||||||
class ModeTest extends MockedTest
|
class ModeTest extends MockedTest
|
||||||
{
|
{
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
use DBAMockTrait;
|
use DBAMockTrait;
|
||||||
use ConfigMockTrait;
|
|
||||||
|
|
||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
parent::setUp(); // TODO: Change the autogenerated stub
|
parent::setUp();
|
||||||
|
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
}
|
}
|
||||||
|
@ -50,6 +45,10 @@ class ModeTest extends MockedTest
|
||||||
$this->assertFalse($mode->has(Mode::LOCALCONFIGPRESENT));
|
$this->assertFalse($mode->has(Mode::LOCALCONFIGPRESENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
public function testWithoutDatabase()
|
public function testWithoutDatabase()
|
||||||
{
|
{
|
||||||
$this->mockConnected(false, 1);
|
$this->mockConnected(false, 1);
|
||||||
|
@ -64,6 +63,10 @@ class ModeTest extends MockedTest
|
||||||
$this->assertFalse($mode->has(Mode::DBAVAILABLE));
|
$this->assertFalse($mode->has(Mode::DBAVAILABLE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
public function testWithoutDatabaseSetup()
|
public function testWithoutDatabaseSetup()
|
||||||
{
|
{
|
||||||
$this->mockConnected(true, 1);
|
$this->mockConnected(true, 1);
|
||||||
|
@ -78,11 +81,28 @@ class ModeTest extends MockedTest
|
||||||
$this->assertTrue($mode->has(Mode::LOCALCONFIGPRESENT));
|
$this->assertTrue($mode->has(Mode::LOCALCONFIGPRESENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
public function testWithMaintenanceMode()
|
public function testWithMaintenanceMode()
|
||||||
{
|
{
|
||||||
$this->mockConnected(true, 1);
|
$this->mockConnected(true, 1);
|
||||||
$this->mockFetchFirst('SHOW TABLES LIKE \'config\'', true, 1);
|
$this->mockFetchFirst('SHOW TABLES LIKE \'config\'', true, 1);
|
||||||
$this->mockConfigGet('system', 'maintenance', true, 1);
|
|
||||||
|
$config = \Mockery::mock('Friendica\Core\Config\ConfigCache');
|
||||||
|
$config
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'maintenance', null)
|
||||||
|
->andReturn(true)
|
||||||
|
->once();
|
||||||
|
// Initialize empty Config
|
||||||
|
Config::init($config);
|
||||||
|
$configAdapter = \Mockery::mock('Friendica\Core\Config\IConfigAdapter');
|
||||||
|
$configAdapter
|
||||||
|
->shouldReceive('isConnected')
|
||||||
|
->andReturn(false);
|
||||||
|
Config::setAdapter($configAdapter);
|
||||||
|
|
||||||
$mode = new Mode($this->root->url());
|
$mode = new Mode($this->root->url());
|
||||||
$mode->determine();
|
$mode->determine();
|
||||||
|
@ -94,11 +114,28 @@ class ModeTest extends MockedTest
|
||||||
$this->assertFalse($mode->has(Mode::MAINTENANCEDISABLED));
|
$this->assertFalse($mode->has(Mode::MAINTENANCEDISABLED));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
public function testNormalMode()
|
public function testNormalMode()
|
||||||
{
|
{
|
||||||
$this->mockConnected(true, 1);
|
$this->mockConnected(true, 1);
|
||||||
$this->mockFetchFirst('SHOW TABLES LIKE \'config\'', true, 1);
|
$this->mockFetchFirst('SHOW TABLES LIKE \'config\'', true, 1);
|
||||||
$this->mockConfigGet('system', 'maintenance', false, 1);
|
|
||||||
|
$config = \Mockery::mock('Friendica\Core\Config\ConfigCache');
|
||||||
|
$config
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'maintenance', null)
|
||||||
|
->andReturn(false)
|
||||||
|
->once();
|
||||||
|
// Initialize empty Config
|
||||||
|
Config::init($config);
|
||||||
|
$configAdapter = \Mockery::mock('Friendica\Core\Config\IConfigAdapter');
|
||||||
|
$configAdapter
|
||||||
|
->shouldReceive('isConnected')
|
||||||
|
->andReturn(false);
|
||||||
|
Config::setAdapter($configAdapter);
|
||||||
|
|
||||||
$mode = new Mode($this->root->url());
|
$mode = new Mode($this->root->url());
|
||||||
$mode->determine();
|
$mode->determine();
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
namespace Friendica\Test;
|
namespace Friendica\Test;
|
||||||
|
|
||||||
use Friendica\App;
|
|
||||||
use Friendica\BaseObject;
|
use Friendica\BaseObject;
|
||||||
use Friendica\Test\Util\AppMockTrait;
|
use Friendica\Test\Util\AppMockTrait;
|
||||||
use Friendica\Test\Util\VFSTrait;
|
use Friendica\Test\Util\VFSTrait;
|
||||||
|
@ -13,8 +12,6 @@ use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for the BaseObject class.
|
* Tests for the BaseObject class.
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
*/
|
||||||
class BaseObjectTest extends TestCase
|
class BaseObjectTest extends TestCase
|
||||||
{
|
{
|
||||||
|
@ -27,46 +24,29 @@ class BaseObjectTest extends TestCase
|
||||||
private $baseObject;
|
private $baseObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create variables used in tests.
|
* Test the setApp() and getApp() function.
|
||||||
*/
|
|
||||||
protected function setUp()
|
|
||||||
{
|
|
||||||
$this->baseObject = new BaseObject();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test the getApp() function.
|
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testGetApp()
|
public function testGetSetApp()
|
||||||
{
|
{
|
||||||
|
$baseObject = new BaseObject();
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
$configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache');
|
$configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache');
|
||||||
$this->mockApp($this->root, $configMock);
|
$this->mockApp($this->root, $configMock);
|
||||||
|
|
||||||
$this->assertInstanceOf(App::class, $this->baseObject->getApp());
|
$this->assertNull($baseObject->setApp($this->app));
|
||||||
}
|
$this->assertEquals($this->app, $baseObject->getApp());
|
||||||
|
|
||||||
/**
|
|
||||||
* Test the setApp() function.
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function testSetApp()
|
|
||||||
{
|
|
||||||
$this->setUpVfsDir();
|
|
||||||
$configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache');
|
|
||||||
$this->mockApp($this->root, $configMock);
|
|
||||||
|
|
||||||
$this->assertNull($this->baseObject->setApp($this->app));
|
|
||||||
$this->assertEquals($this->app, $this->baseObject->getApp());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the getApp() function without App
|
* Test the getApp() function without App
|
||||||
* @expectedException Friendica\Network\HTTPException\InternalServerErrorException
|
* @expectedException Friendica\Network\HTTPException\InternalServerErrorException
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testGetAppFailed()
|
public function testGetAppFailed()
|
||||||
{
|
{
|
||||||
BaseObject::getApp();
|
$baseObject = new BaseObject();
|
||||||
|
$baseObject->getApp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,8 @@
|
||||||
|
|
||||||
namespace Friendica\Test\src\Core\Cache;
|
namespace Friendica\Test\src\Core\Cache;
|
||||||
|
|
||||||
|
|
||||||
use Friendica\Core\Cache\ArrayCache;
|
use Friendica\Core\Cache\ArrayCache;
|
||||||
|
|
||||||
/**
|
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
|
||||||
class ArrayCacheDriverTest extends MemoryCacheTest
|
class ArrayCacheDriverTest extends MemoryCacheTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
|
|
|
@ -5,7 +5,6 @@ namespace Friendica\Test\src\Core\Cache;
|
||||||
use Friendica\Core\Cache\MemcachedCacheDriver;
|
use Friendica\Core\Cache\MemcachedCacheDriver;
|
||||||
use Friendica\Test\MockedTest;
|
use Friendica\Test\MockedTest;
|
||||||
use Friendica\Test\Util\AppMockTrait;
|
use Friendica\Test\Util\AppMockTrait;
|
||||||
use Friendica\Test\Util\DateTimeFormatMockTrait;
|
|
||||||
use Friendica\Test\Util\VFSTrait;
|
use Friendica\Test\Util\VFSTrait;
|
||||||
use Friendica\Util\PidFile;
|
use Friendica\Util\PidFile;
|
||||||
|
|
||||||
|
@ -13,7 +12,6 @@ abstract class CacheTest extends MockedTest
|
||||||
{
|
{
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
use AppMockTrait;
|
use AppMockTrait;
|
||||||
use DateTimeFormatMockTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int Start time of the mock (used for time operations)
|
* @var int Start time of the mock (used for time operations)
|
||||||
|
@ -75,19 +73,10 @@ abstract class CacheTest extends MockedTest
|
||||||
->shouldReceive('getHostname')
|
->shouldReceive('getHostname')
|
||||||
->andReturn('friendica.local');
|
->andReturn('friendica.local');
|
||||||
|
|
||||||
$this->mockUtcNow($this->startTime);
|
|
||||||
|
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->instance = $this->getInstance();
|
$this->instance = $this->getInstance();
|
||||||
|
|
||||||
// Default config
|
|
||||||
$this->mockConfigGet('config', 'hostname', 'localhost');
|
|
||||||
$this->mockConfigGet('system', 'throttle_limit_day', 100);
|
|
||||||
$this->mockConfigGet('system', 'throttle_limit_week', 100);
|
|
||||||
$this->mockConfigGet('system', 'throttle_limit_month', 100);
|
|
||||||
$this->mockConfigGet('system', 'theme', 'system_theme');
|
|
||||||
|
|
||||||
$this->instance->clear(false);
|
$this->instance->clear(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@ class DatabaseCacheDriverTest extends CacheTest
|
||||||
|
|
||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
|
$this->mockUtcNow($this->startTime);
|
||||||
|
|
||||||
$this->mockConnected();
|
$this->mockConnected();
|
||||||
$this->mockConnect();
|
$this->mockConnect();
|
||||||
|
|
||||||
|
|
|
@ -6,16 +6,21 @@ namespace Friendica\Test\src\Core\Cache;
|
||||||
use Friendica\Core\Cache\CacheDriverFactory;
|
use Friendica\Core\Cache\CacheDriverFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
* @requires extension memcache
|
* @requires extension memcache
|
||||||
*/
|
*/
|
||||||
class MemcacheCacheDriverTest extends MemoryCacheTest
|
class MemcacheCacheDriverTest extends MemoryCacheTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
{
|
{
|
||||||
$this->mockConfigGet('system', 'memcache_host', 'localhost', 1);
|
$this->configCache
|
||||||
$this->mockConfigGet('system', 'memcache_port', 11211, 1);
|
->shouldReceive('get')
|
||||||
|
->with('system', 'memcache_host', NULL)
|
||||||
|
->andReturn('localhost');
|
||||||
|
|
||||||
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'memcache_port', NULL)
|
||||||
|
->andReturn(11211);
|
||||||
|
|
||||||
$this->cache = CacheDriverFactory::create('memcache');
|
$this->cache = CacheDriverFactory::create('memcache');
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
|
|
|
@ -6,15 +6,16 @@ namespace Friendica\Test\src\Core\Cache;
|
||||||
use Friendica\Core\Cache\CacheDriverFactory;
|
use Friendica\Core\Cache\CacheDriverFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
* @requires extension memcached
|
* @requires extension memcached
|
||||||
*/
|
*/
|
||||||
class MemcachedCacheDriverTest extends MemoryCacheTest
|
class MemcachedCacheDriverTest extends MemoryCacheTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
{
|
{
|
||||||
$this->mockConfigGet('system', 'memcached_hosts', [0 => 'localhost, 11211']);
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'memcached_hosts', NULL)
|
||||||
|
->andReturn([0 => 'localhost, 11211']);
|
||||||
|
|
||||||
$this->cache = CacheDriverFactory::create('memcached');
|
$this->cache = CacheDriverFactory::create('memcached');
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
|
|
|
@ -6,16 +6,21 @@ namespace Friendica\Test\src\Core\Cache;
|
||||||
use Friendica\Core\Cache\CacheDriverFactory;
|
use Friendica\Core\Cache\CacheDriverFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
* @requires extension redis
|
* @requires extension redis
|
||||||
*/
|
*/
|
||||||
class RedisCacheDriverTest extends MemoryCacheTest
|
class RedisCacheDriverTest extends MemoryCacheTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
{
|
{
|
||||||
$this->mockConfigGet('system', 'redis_host', 'localhost', 1);
|
$this->configCache
|
||||||
$this->mockConfigGet('system', 'redis_port', null, 1);
|
->shouldReceive('get')
|
||||||
|
->with('system', 'redis_host', NULL)
|
||||||
|
->andReturn('localhost');
|
||||||
|
|
||||||
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'redis_port', NULL)
|
||||||
|
->andReturn(null);
|
||||||
|
|
||||||
$this->cache = CacheDriverFactory::create('redis');
|
$this->cache = CacheDriverFactory::create('redis');
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
|
|
|
@ -52,7 +52,10 @@ class AutomaticInstallationConsoleTest extends ConsoleTest
|
||||||
$this->db_user = getenv('MYSQL_USERNAME') . getenv('MYSQL_USER');
|
$this->db_user = getenv('MYSQL_USERNAME') . getenv('MYSQL_USER');
|
||||||
$this->db_pass = getenv('MYSQL_PASSWORD');
|
$this->db_pass = getenv('MYSQL_PASSWORD');
|
||||||
|
|
||||||
$this->mockConfigGet('config', 'php_path', false);
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('config', 'php_path', NULL)
|
||||||
|
->andReturn(false);
|
||||||
|
|
||||||
$this->mockL10nT();
|
$this->mockL10nT();
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,17 @@ class ConfigConsoleTest extends ConsoleTest
|
||||||
}
|
}
|
||||||
|
|
||||||
function testSetGetKeyValue() {
|
function testSetGetKeyValue() {
|
||||||
$this->mockConfigSet('config', 'test', 'now', 1);
|
$this->configCache
|
||||||
|
->shouldReceive('set')
|
||||||
|
->with('config', 'test', 'now')
|
||||||
|
->andReturn(true)
|
||||||
|
->once();
|
||||||
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('config', 'test', NULL)
|
||||||
|
->andReturn('now')
|
||||||
|
->twice();
|
||||||
|
|
||||||
$console = new Config($this->consoleArgv);
|
$console = new Config($this->consoleArgv);
|
||||||
$console->setArgument(0, 'config');
|
$console->setArgument(0, 'config');
|
||||||
$console->setArgument(1, 'test');
|
$console->setArgument(1, 'test');
|
||||||
|
@ -40,14 +50,24 @@ class ConfigConsoleTest extends ConsoleTest
|
||||||
$txt = $this->dumpExecute($console);
|
$txt = $this->dumpExecute($console);
|
||||||
$this->assertEquals("config.test <= now\n", $txt);
|
$this->assertEquals("config.test <= now\n", $txt);
|
||||||
|
|
||||||
$this->mockConfigGet('config', 'test', 'now', 1);
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('config', 'test', null)
|
||||||
|
->andReturn('now')
|
||||||
|
->once();
|
||||||
|
|
||||||
$console = new Config($this->consoleArgv);
|
$console = new Config($this->consoleArgv);
|
||||||
$console->setArgument(0, 'config');
|
$console->setArgument(0, 'config');
|
||||||
$console->setArgument(1, 'test');
|
$console->setArgument(1, 'test');
|
||||||
$txt = $this->dumpExecute($console);
|
$txt = $this->dumpExecute($console);
|
||||||
$this->assertEquals("config.test => now\n", $txt);
|
$this->assertEquals("config.test => now\n", $txt);
|
||||||
|
|
||||||
$this->mockConfigGet('config', 'test', null, 1);
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('config', 'test', null)
|
||||||
|
->andReturn(null)
|
||||||
|
->once();
|
||||||
|
|
||||||
$console = new Config($this->consoleArgv);
|
$console = new Config($this->consoleArgv);
|
||||||
$console->setArgument(0, 'config');
|
$console->setArgument(0, 'config');
|
||||||
$console->setArgument(1, 'test');
|
$console->setArgument(1, 'test');
|
||||||
|
@ -57,7 +77,11 @@ class ConfigConsoleTest extends ConsoleTest
|
||||||
|
|
||||||
function testSetArrayValue() {
|
function testSetArrayValue() {
|
||||||
$testArray = [1, 2, 3];
|
$testArray = [1, 2, 3];
|
||||||
$this->mockConfigGet('config', 'test', $testArray, 1);
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('config', 'test', null)
|
||||||
|
->andReturn($testArray)
|
||||||
|
->once();
|
||||||
|
|
||||||
$console = new Config($this->consoleArgv);
|
$console = new Config($this->consoleArgv);
|
||||||
$console->setArgument(0, 'config');
|
$console->setArgument(0, 'config');
|
||||||
|
@ -81,7 +105,11 @@ class ConfigConsoleTest extends ConsoleTest
|
||||||
}
|
}
|
||||||
|
|
||||||
function testVerbose() {
|
function testVerbose() {
|
||||||
$this->mockConfigGet('test', 'it', 'now', 1);
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('test', 'it', null)
|
||||||
|
->andReturn('now')
|
||||||
|
->once();
|
||||||
$console = new Config($this->consoleArgv);
|
$console = new Config($this->consoleArgv);
|
||||||
$console->setArgument(0, 'test');
|
$console->setArgument(0, 'test');
|
||||||
$console->setArgument(1, 'it');
|
$console->setArgument(1, 'it');
|
||||||
|
@ -105,7 +133,16 @@ CONF;
|
||||||
}
|
}
|
||||||
|
|
||||||
function testUnableToSet() {
|
function testUnableToSet() {
|
||||||
$this->mockConfigSet('test', 'it', 'now', 1, false);
|
$this->configCache
|
||||||
|
->shouldReceive('set')
|
||||||
|
->with('test', 'it', 'now')
|
||||||
|
->andReturn(false)
|
||||||
|
->once();
|
||||||
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('test', 'it', NULL)
|
||||||
|
->andReturn(NULL)
|
||||||
|
->once();
|
||||||
$console = new Config();
|
$console = new Config();
|
||||||
$console->setArgument(0, 'test');
|
$console->setArgument(0, 'test');
|
||||||
$console->setArgument(1, 'it');
|
$console->setArgument(1, 'it');
|
||||||
|
|
|
@ -6,10 +6,6 @@ namespace Friendica\Test\src\Core\Lock;
|
||||||
use Friendica\Core\Cache\ArrayCache;
|
use Friendica\Core\Cache\ArrayCache;
|
||||||
use Friendica\Core\Lock\CacheLockDriver;
|
use Friendica\Core\Lock\CacheLockDriver;
|
||||||
|
|
||||||
/**
|
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
|
||||||
class ArrayCacheLockDriverTest extends LockTest
|
class ArrayCacheLockDriverTest extends LockTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
|
|
|
@ -25,10 +25,6 @@ abstract class LockTest extends MockedTest
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp()
|
||||||
{
|
{
|
||||||
parent::setUp();
|
|
||||||
$this->instance = $this->getInstance();
|
|
||||||
$this->instance->releaseAll();
|
|
||||||
|
|
||||||
// Reusable App object
|
// Reusable App object
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
$configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache');
|
$configMock = \Mockery::mock('Friendica\Core\Config\ConfigCache');
|
||||||
|
@ -37,12 +33,9 @@ abstract class LockTest extends MockedTest
|
||||||
->shouldReceive('getHostname')
|
->shouldReceive('getHostname')
|
||||||
->andReturn('friendica.local');
|
->andReturn('friendica.local');
|
||||||
|
|
||||||
// Default config
|
parent::setUp();
|
||||||
$this->mockConfigGet('config', 'hostname', 'localhost');
|
$this->instance = $this->getInstance();
|
||||||
$this->mockConfigGet('system', 'throttle_limit_day', 100);
|
$this->instance->releaseAll();
|
||||||
$this->mockConfigGet('system', 'throttle_limit_week', 100);
|
|
||||||
$this->mockConfigGet('system', 'throttle_limit_month', 100);
|
|
||||||
$this->mockConfigGet('system', 'theme', 'system_theme');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown()
|
||||||
|
|
|
@ -8,15 +8,20 @@ use Friendica\Core\Lock\CacheLockDriver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @requires extension Memcache
|
* @requires extension Memcache
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
*/
|
||||||
class MemcacheCacheLockDriverTest extends LockTest
|
class MemcacheCacheLockDriverTest extends LockTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
{
|
{
|
||||||
$this->mockConfigGet('system', 'memcache_host', 'localhost', 1);
|
$this->configCache
|
||||||
$this->mockConfigGet('system', 'memcache_port', 11211, 1);
|
->shouldReceive('get')
|
||||||
|
->with('system', 'memcache_host', NULL)
|
||||||
|
->andReturn('localhost');
|
||||||
|
|
||||||
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'memcache_port', NULL)
|
||||||
|
->andReturn(11211);
|
||||||
|
|
||||||
return new CacheLockDriver(CacheDriverFactory::create('memcache'));
|
return new CacheLockDriver(CacheDriverFactory::create('memcache'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,14 +8,15 @@ use Friendica\Core\Lock\CacheLockDriver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @requires extension memcached
|
* @requires extension memcached
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
*/
|
||||||
class MemcachedCacheLockDriverTest extends LockTest
|
class MemcachedCacheLockDriverTest extends LockTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
{
|
{
|
||||||
$this->mockConfigGet('system', 'memcached_hosts', [0 => 'localhost, 11211']);
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'memcached_hosts', NULL)
|
||||||
|
->andReturn([0 => 'localhost, 11211']);
|
||||||
|
|
||||||
return new CacheLockDriver(CacheDriverFactory::create('memcached'));
|
return new CacheLockDriver(CacheDriverFactory::create('memcached'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,15 +8,20 @@ use Friendica\Core\Lock\CacheLockDriver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @requires extension redis
|
* @requires extension redis
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
*/
|
||||||
class RedisCacheLockDriverTest extends LockTest
|
class RedisCacheLockDriverTest extends LockTest
|
||||||
{
|
{
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
{
|
{
|
||||||
$this->mockConfigGet('system', 'redis_host', 'localhost', 1);
|
$this->configCache
|
||||||
$this->mockConfigGet('system', 'redis_port', null, 1);
|
->shouldReceive('get')
|
||||||
|
->with('system', 'redis_host', NULL)
|
||||||
|
->andReturn('localhost');
|
||||||
|
|
||||||
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'redis_port', NULL)
|
||||||
|
->andReturn(null);
|
||||||
|
|
||||||
return new CacheLockDriver(CacheDriverFactory::create('redis'));
|
return new CacheLockDriver(CacheDriverFactory::create('redis'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,6 @@ namespace Friendica\Test\src\Core\Lock;
|
||||||
|
|
||||||
use Friendica\Core\Lock\SemaphoreLockDriver;
|
use Friendica\Core\Lock\SemaphoreLockDriver;
|
||||||
|
|
||||||
/**
|
|
||||||
* @runTestsInSeparateProcesses
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
|
||||||
class SemaphoreLockDriverTest extends LockTest
|
class SemaphoreLockDriverTest extends LockTest
|
||||||
{
|
{
|
||||||
public function setUp()
|
public function setUp()
|
||||||
|
@ -15,7 +11,11 @@ class SemaphoreLockDriverTest extends LockTest
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->app->shouldReceive('getHostname')->andReturn('friendica.local');
|
$this->app->shouldReceive('getHostname')->andReturn('friendica.local');
|
||||||
$this->mockConfigGet('system', 'temppath', '/tmp/');
|
|
||||||
|
$this->configCache
|
||||||
|
->shouldReceive('get')
|
||||||
|
->with('system', 'temppath', NULL)
|
||||||
|
->andReturn('/tmp/');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getInstance()
|
protected function getInstance()
|
||||||
|
|
|
@ -21,13 +21,6 @@ class DBStructureTest extends DatabaseTest
|
||||||
$this->logOutput = FActory\LoggerFactory::enableTest($this->app->getLogger());
|
$this->logOutput = FActory\LoggerFactory::enableTest($this->app->getLogger());
|
||||||
|
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
// Default config
|
|
||||||
Config::set('config', 'hostname', 'localhost');
|
|
||||||
Config::set('system', 'throttle_limit_day', 100);
|
|
||||||
Config::set('system', 'throttle_limit_week', 100);
|
|
||||||
Config::set('system', 'throttle_limit_month', 100);
|
|
||||||
Config::set('system', 'theme', 'system_theme');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue