Creating interfaces for Config/PConfig & fix tests

This commit is contained in:
nupplaPhil 2019-12-19 20:11:07 +01:00
parent 4835f1185f
commit c1dbb25656
No known key found for this signature in database
GPG key ID: D8365C3D36B77D90
54 changed files with 349 additions and 285 deletions

View file

@ -22,6 +22,6 @@ $a = \Friendica\DI::app();
$a->runFrontend( $a->runFrontend(
$dice->create(\Friendica\App\Module::class), $dice->create(\Friendica\App\Module::class),
$dice->create(\Friendica\App\Router::class), $dice->create(\Friendica\App\Router::class),
$dice->create(\Friendica\Core\Config\PConfiguration::class), $dice->create(\Friendica\Core\Config\IPConfiguration::class),
$dice->create(\Friendica\App\Authentication::class) $dice->create(\Friendica\App\Authentication::class)
); );

View file

@ -10,8 +10,8 @@ use Friendica\App\BaseURL;
use Friendica\App\Page; use Friendica\App\Page;
use Friendica\App\Authentication; use Friendica\App\Authentication;
use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\PConfiguration; use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n\L10n;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Theme; use Friendica\Core\Theme;
@ -88,7 +88,7 @@ class App
private $currentMobileTheme; private $currentMobileTheme;
/** /**
* @var Configuration The config * @var IConfiguration The config
*/ */
private $config; private $config;
@ -145,7 +145,7 @@ class App
/** /**
* @param Database $database The Friendica Database * @param Database $database The Friendica Database
* @param Configuration $config The Configuration * @param IConfiguration $config The Configuration
* @param App\Mode $mode The mode of this Friendica app * @param App\Mode $mode The mode of this Friendica app
* @param BaseURL $baseURL The full base URL of this Friendica app * @param BaseURL $baseURL The full base URL of this Friendica app
* @param LoggerInterface $logger The current app logger * @param LoggerInterface $logger The current app logger
@ -154,7 +154,7 @@ class App
* @param App\Arguments $args The Friendica Arguments of the call * @param App\Arguments $args The Friendica Arguments of the call
* @param Core\Process $process The process methods * @param Core\Process $process The process methods
*/ */
public function __construct(Database $database, Configuration $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, App\Page $page, Core\Process $process) public function __construct(Database $database, IConfiguration $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, App\Page $page, Core\Process $process)
{ {
$this->database = $database; $this->database = $database;
$this->config = $config; $this->config = $config;
@ -433,12 +433,12 @@ class App
* *
* @param App\Module $module The determined module * @param App\Module $module The determined module
* @param App\Router $router * @param App\Router $router
* @param PConfiguration $pconfig * @param IPConfiguration $pconfig
* @param Authentication $auth The Authentication backend of the node * @param Authentication $auth The Authentication backend of the node
* @throws HTTPException\InternalServerErrorException * @throws HTTPException\InternalServerErrorException
* @throws \ImagickException * @throws \ImagickException
*/ */
public function runFrontend(App\Module $module, App\Router $router, PConfiguration $pconfig, Authentication $auth) public function runFrontend(App\Module $module, App\Router $router, IPConfiguration $pconfig, Authentication $auth)
{ {
$moduleName = $module->getName(); $moduleName = $module->getName();

View file

@ -8,7 +8,7 @@ namespace Friendica\App;
use Exception; use Exception;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\Session; use Friendica\Core\Session;
@ -30,7 +30,7 @@ use Psr\Log\LoggerInterface;
*/ */
class Authentication class Authentication
{ {
/** @var Configuration */ /** @var IConfiguration */
private $config; private $config;
/** @var App\Mode */ /** @var App\Mode */
private $mode; private $mode;
@ -50,7 +50,7 @@ class Authentication
/** /**
* Authentication constructor. * Authentication constructor.
* *
* @param Configuration $config * @param IConfiguration $config
* @param App\Mode $mode * @param App\Mode $mode
* @param App\BaseURL $baseUrl * @param App\BaseURL $baseUrl
* @param L10n $l10n * @param L10n $l10n
@ -59,7 +59,7 @@ class Authentication
* @param User\Cookie $cookie * @param User\Cookie $cookie
* @param Session\ISession $session * @param Session\ISession $session
*/ */
public function __construct(Configuration $config, App\Mode $mode, App\BaseURL $baseUrl, L10n $l10n, Database $dba, LoggerInterface $logger, User\Cookie $cookie, Session\ISession $session) public function __construct(IConfiguration $config, App\Mode $mode, App\BaseURL $baseUrl, L10n $l10n, Database $dba, LoggerInterface $logger, User\Cookie $cookie, Session\ISession $session)
{ {
$this->config = $config; $this->config = $config;
$this->mode = $mode; $this->mode = $mode;

View file

@ -2,7 +2,7 @@
namespace Friendica\App; namespace Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Util\Network; use Friendica\Util\Network;
use Friendica\Util\Strings; use Friendica\Util\Strings;
@ -37,7 +37,7 @@ class BaseURL
/** /**
* The Friendica Config * The Friendica Config
* *
* @var Configuration * @var IConfiguration
*/ */
private $config; private $config;
@ -253,10 +253,10 @@ class BaseURL
} }
/** /**
* @param Configuration $config The Friendica configuration * @param IConfiguration $config The Friendica IConfiguration
* @param array $server The $_SERVER array * @param array $server The $_SERVER array
*/ */
public function __construct(Configuration $config, array $server) public function __construct(IConfiguration $config, array $server)
{ {
$this->config = $config; $this->config = $config;
$this->server = $server; $this->server = $server;

View file

@ -151,13 +151,13 @@ class Module
* *
* @param Arguments $args The Friendica execution arguments * @param Arguments $args The Friendica execution arguments
* @param Router $router The Friendica routing instance * @param Router $router The Friendica routing instance
* @param Core\Config\Configuration $config The Friendica Configuration * @param Core\Config\IConfiguration $config The Friendica Configuration
* *
* @return Module The determined module of this call * @return Module The determined module of this call
* *
* @throws \Exception * @throws \Exception
*/ */
public function determineClass(Arguments $args, Router $router, Core\Config\Configuration $config) public function determineClass(Arguments $args, Router $router, Core\Config\IConfiguration $config)
{ {
$printNotAllowedAddon = false; $printNotAllowedAddon = false;

View file

@ -7,8 +7,8 @@ use DOMDocument;
use DOMXPath; use DOMXPath;
use Friendica\App; use Friendica\App;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\PConfiguration; use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -171,12 +171,12 @@ class Page implements ArrayAccess
* @param App $app The Friendica App instance * @param App $app The Friendica App instance
* @param Module $module The loaded Friendica module * @param Module $module The loaded Friendica module
* @param L10n $l10n The l10n language instance * @param L10n $l10n The l10n language instance
* @param Configuration $config The Friendica configuration * @param IConfiguration $config The Friendica configuration
* @param PConfiguration $pConfig The Friendica personal configuration (for user) * @param IPConfiguration $pConfig The Friendica personal configuration (for user)
* *
* @throws HTTPException\InternalServerErrorException * @throws HTTPException\InternalServerErrorException
*/ */
private function initHead(App $app, Module $module, L10n $l10n, Configuration $config, PConfiguration $pConfig) private function initHead(App $app, Module $module, L10n $l10n, IConfiguration $config, IPConfiguration $pConfig)
{ {
$interval = ((local_user()) ? $pConfig->get(local_user(), 'system', 'update_interval') : 40000); $interval = ((local_user()) ? $pConfig->get(local_user(), 'system', 'update_interval') : 40000);
@ -347,12 +347,12 @@ class Page implements ArrayAccess
* @param Mode $mode The current node mode * @param Mode $mode The current node mode
* @param Module $module The loaded Friendica module * @param Module $module The loaded Friendica module
* @param L10n $l10n The l10n language class * @param L10n $l10n The l10n language class
* @param Configuration $config The Configuration of this node * @param IConfiguration $config The Configuration of this node
* @param PConfiguration $pconfig The personal/user configuration * @param IPConfiguration $pconfig The personal/user configuration
* *
* @throws HTTPException\InternalServerErrorException * @throws HTTPException\InternalServerErrorException
*/ */
public function run(App $app, BaseURL $baseURL, Mode $mode, Module $module, L10n $l10n, Configuration $config, PConfiguration $pconfig) public function run(App $app, BaseURL $baseURL, Mode $mode, Module $module, L10n $l10n, IConfiguration $config, IPConfiguration $pconfig)
{ {
$moduleName = $module->getName(); $moduleName = $module->getName();

View file

@ -25,7 +25,7 @@ class AutomaticInstallation extends Console
private $configCache; private $configCache;
/** /**
* @var Config\Configuration * @var Config\IConfiguration
*/ */
private $config; private $config;
@ -89,7 +89,7 @@ Examples
HELP; HELP;
} }
public function __construct(App\Mode $appMode, Config\Cache\ConfigCache $configCache, Config\Configuration $config, Database $dba, array $argv = null) public function __construct(App\Mode $appMode, Config\Cache\ConfigCache $configCache, Config\IConfiguration $config, Database $dba, array $argv = null)
{ {
parent::__construct($argv); parent::__construct($argv);

View file

@ -4,7 +4,7 @@ namespace Friendica\Console;
use Asika\SimpleConsole\CommandArgsException; use Asika\SimpleConsole\CommandArgsException;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use RuntimeException; use RuntimeException;
/** /**
@ -40,7 +40,7 @@ class Config extends \Asika\SimpleConsole\Console
*/ */
private $appMode; private $appMode;
/** /**
* @var Configuration * @var IConfiguration
*/ */
private $config; private $config;
@ -78,7 +78,7 @@ HELP;
return $help; return $help;
} }
public function __construct(App\Mode $appMode, Configuration $config, array $argv = null) public function __construct(App\Mode $appMode, IConfiguration $config, array $argv = null)
{ {
parent::__construct($argv); parent::__construct($argv);

View file

@ -3,7 +3,7 @@
namespace Friendica\Console; namespace Friendica\Console;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
/** /**
* @brief Sets maintenance mode for this node * @brief Sets maintenance mode for this node
@ -19,7 +19,7 @@ class Maintenance extends \Asika\SimpleConsole\Console
*/ */
private $appMode; private $appMode;
/** /**
* @var Configuration * @var IConfiguration
*/ */
private $config; private $config;
@ -52,7 +52,7 @@ HELP;
return $help; return $help;
} }
public function __construct(App\Mode $appMode, Configuration $config, $argv = null) public function __construct(App\Mode $appMode, IConfiguration $config, $argv = null)
{ {
parent::__construct($argv); parent::__construct($argv);

View file

@ -3,7 +3,7 @@
namespace Friendica\Console; namespace Friendica\Console;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n\L10n;
use Friendica\Core\Update; use Friendica\Core\Update;
@ -24,7 +24,7 @@ class PostUpdate extends \Asika\SimpleConsole\Console
*/ */
private $appMode; private $appMode;
/** /**
* @var Configuration * @var IConfiguration
*/ */
private $config; private $config;
/** /**
@ -46,7 +46,7 @@ HELP;
return $help; return $help;
} }
public function __construct(App\Mode $appMode, Configuration $config, L10n $l10n, array $argv = null) public function __construct(App\Mode $appMode, IConfiguration $config, L10n $l10n, array $argv = null)
{ {
parent::__construct($argv); parent::__construct($argv);

View file

@ -5,7 +5,7 @@ namespace Friendica\Console;
use Asika\SimpleConsole\CommandArgsException; use Asika\SimpleConsole\CommandArgsException;
use Asika\SimpleConsole\Console; use Asika\SimpleConsole\Console;
use Console_Table; use Console_Table;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
/** /**
* @brief Manage blocked servers * @brief Manage blocked servers
@ -20,7 +20,7 @@ class ServerBlock extends Console
protected $helpOptions = ['h', 'help', '?']; protected $helpOptions = ['h', 'help', '?'];
/** /**
* @var Configuration * @var IConfiguration
*/ */
private $config; private $config;
@ -49,7 +49,7 @@ HELP;
return $help; return $help;
} }
public function __construct(Configuration $config, $argv = null) public function __construct(IConfiguration $config, $argv = null)
{ {
parent::__construct($argv); parent::__construct($argv);
@ -77,9 +77,9 @@ HELP;
/** /**
* Prints the whole list of blocked domains including the reason * Prints the whole list of blocked domains including the reason
* *
* @param Configuration $config * @param IConfiguration $config
*/ */
private function printBlockedServers(Configuration $config) private function printBlockedServers(IConfiguration $config)
{ {
$table = new Console_Table(); $table = new Console_Table();
$table->setHeaders(['Domain', 'Reason']); $table->setHeaders(['Domain', 'Reason']);
@ -93,11 +93,11 @@ HELP;
/** /**
* Adds a server to the blocked list * Adds a server to the blocked list
* *
* @param Configuration $config * @param IConfiguration $config
* *
* @return int The return code (0 = success, 1 = failed) * @return int The return code (0 = success, 1 = failed)
*/ */
private function addBlockedServer(Configuration $config) private function addBlockedServer(IConfiguration $config)
{ {
if (count($this->args) < 2 || count($this->args) > 3) { if (count($this->args) < 2 || count($this->args) > 3) {
throw new CommandArgsException('Add needs a domain and optional a reason.'); throw new CommandArgsException('Add needs a domain and optional a reason.');
@ -145,11 +145,11 @@ HELP;
/** /**
* Removes a server from the blocked list * Removes a server from the blocked list
* *
* @param Configuration $config * @param IConfiguration $config
* *
* @return int The return code (0 = success, 1 = failed) * @return int The return code (0 = success, 1 = failed)
*/ */
private function removeBlockedServer(Configuration $config) private function removeBlockedServer(IConfiguration $config)
{ {
if (count($this->args) !== 2) { if (count($this->args) !== 2) {
throw new CommandArgsException('Remove needs a second parameter.'); throw new CommandArgsException('Remove needs a second parameter.');

View file

@ -2,7 +2,7 @@
namespace Friendica\Console; namespace Friendica\Console;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
/** /**
* Tired of chasing typos and finding them after a commit. * Tired of chasing typos and finding them after a commit.
@ -15,7 +15,7 @@ class Typo extends \Asika\SimpleConsole\Console
protected $helpOptions = ['h', 'help', '?']; protected $helpOptions = ['h', 'help', '?'];
/** /**
* @var Configuration * @var IConfiguration
*/ */
private $config; private $config;
@ -36,7 +36,7 @@ HELP;
return $help; return $help;
} }
public function __construct(Configuration $config, array $argv = null) public function __construct(IConfiguration $config, array $argv = null)
{ {
parent::__construct($argv); parent::__construct($argv);

View file

@ -3,7 +3,7 @@
namespace Friendica\Core\Cache; namespace Friendica\Core\Cache;
use Exception; use Exception;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Memcache; use Memcache;
/** /**
@ -25,7 +25,7 @@ class MemcacheCache extends Cache implements IMemoryCache
/** /**
* @throws Exception * @throws Exception
*/ */
public function __construct(string $hostname, Configuration $config) public function __construct(string $hostname, IConfiguration $config)
{ {
if (!class_exists('Memcache', false)) { if (!class_exists('Memcache', false)) {
throw new Exception('Memcache class isn\'t available'); throw new Exception('Memcache class isn\'t available');

View file

@ -3,7 +3,7 @@
namespace Friendica\Core\Cache; namespace Friendica\Core\Cache;
use Exception; use Exception;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Memcached; use Memcached;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
@ -39,7 +39,7 @@ class MemcachedCache extends Cache implements IMemoryCache
* *
* @throws \Exception * @throws \Exception
*/ */
public function __construct(string $hostname, Configuration $config, LoggerInterface $logger) public function __construct(string $hostname, IConfiguration $config, LoggerInterface $logger)
{ {
if (!class_exists('Memcached', false)) { if (!class_exists('Memcached', false)) {
throw new Exception('Memcached class isn\'t available'); throw new Exception('Memcached class isn\'t available');

View file

@ -3,7 +3,7 @@
namespace Friendica\Core\Cache; namespace Friendica\Core\Cache;
use Exception; use Exception;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Redis; use Redis;
/** /**
@ -22,7 +22,7 @@ class RedisCache extends Cache implements IMemoryCache
/** /**
* @throws Exception * @throws Exception
*/ */
public function __construct(string $hostname, Configuration $config) public function __construct(string $hostname, IConfiguration $config)
{ {
if (!class_exists('Redis', false)) { if (!class_exists('Redis', false)) {
throw new Exception('Redis class isn\'t available'); throw new Exception('Redis class isn\'t available');

View file

@ -10,7 +10,7 @@ use Friendica\Model;
* - The Config-Files (loaded into the FileCache @see Cache\ConfigCache) * - The Config-Files (loaded into the FileCache @see Cache\ConfigCache)
* - The Config-DB-Table (per Config-DB-model @see Model\Config\Config) * - The Config-DB-Table (per Config-DB-model @see Model\Config\Config)
*/ */
abstract class Configuration abstract class Configuration implements IConfiguration
{ {
/** /**
* @var Cache\ConfigCache * @var Cache\ConfigCache
@ -33,68 +33,10 @@ abstract class Configuration
} }
/** /**
* Returns the Config Cache * {@inheritDoc}
*
* @return Cache\ConfigCache
*/ */
public function getCache() public function getCache()
{ {
return $this->configCache; return $this->configCache;
} }
/**
* @brief Loads all configuration values of family into a cached storage.
*
* All configuration values of the system are stored in the cache ( @see ConfigCache )
*
* @param string $cat The category of the configuration value
*
* @return void
*/
abstract public function load(string $cat = 'config');
/**
* @brief Get a particular user's config variable given the category name
* ($cat) and a $key.
*
* Get a particular config value from the given category ($cat)
* and the $key from a cached storage either from the $this->configAdapter
* (@see IConfigAdapter) or from the $this->configCache (@see ConfigCache).
*
* @param string $cat The category of the configuration value
* @param string $key The configuration key to query
* @param mixed $default_value optional, The value to return if key is not set (default: null)
* @param boolean $refresh optional, If true the config is loaded from the db and not from the cache (default: false)
*
* @return mixed Stored value or null if it does not exist
*/
abstract public function get(string $cat, string $key, $default_value = null, bool $refresh = false);
/**
* @brief Sets a configuration value for system config
*
* Stores a config value ($value) in the category ($cat) under the key ($key)
*
* Note: Please do not store booleans - convert to 0/1 integer values!
*
* @param string $cat The category of the configuration value
* @param string $key The configuration key to set
* @param mixed $value The value to store
*
* @return bool Operation success
*/
abstract public function set(string $cat, string $key, $value);
/**
* @brief Deletes the given key from the system configuration.
*
* Removes the configured value from the stored cache in $this->configCache
* (@see ConfigCache) and removes it from the database (@see IConfigAdapter).
*
* @param string $cat The category of the configuration value
* @param string $key The configuration key to delete
*
* @return bool
*/
abstract public function delete(string $cat, string $key);
} }

View file

@ -0,0 +1,73 @@
<?php
namespace Friendica\Core\Config;
/**
* Interface for accessing system wide configurations
*/
interface IConfiguration
{
/**
* @brief Loads all configuration values of family into a cached storage.
*
* All configuration values of the system are stored in the cache ( @see ConfigCache )
*
* @param string $cat The category of the configuration value
*
* @return void
*/
function load(string $cat = 'config');
/**
* @brief Get a particular user's config variable given the category name
* ($cat) and a $key.
*
* Get a particular config value from the given category ($cat)
* and the $key from a cached storage either from the $this->configAdapter
* (@see IConfigAdapter) or from the $this->configCache (@see ConfigCache).
*
* @param string $cat The category of the configuration value
* @param string $key The configuration key to query
* @param mixed $default_value optional, The value to return if key is not set (default: null)
* @param boolean $refresh optional, If true the config is loaded from the db and not from the cache (default: false)
*
* @return mixed Stored value or null if it does not exist
*/
function get(string $cat, string $key, $default_value = null, bool $refresh = false);
/**
* @brief Sets a configuration value for system config
*
* Stores a config value ($value) in the category ($cat) under the key ($key)
*
* Note: Please do not store booleans - convert to 0/1 integer values!
*
* @param string $cat The category of the configuration value
* @param string $key The configuration key to set
* @param mixed $value The value to store
*
* @return bool Operation success
*/
function set(string $cat, string $key, $value);
/**
* @brief Deletes the given key from the system configuration.
*
* Removes the configured value from the stored cache in $this->configCache
* (@see ConfigCache) and removes it from the database (@see IConfigAdapter).
*
* @param string $cat The category of the configuration value
* @param string $key The configuration key to delete
*
* @return bool
*/
function delete(string $cat, string $key);
/**
* Returns the Config Cache
*
* @return Cache\ConfigCache
*/
function getCache();
}

View file

@ -0,0 +1,82 @@
<?php
namespace Friendica\Core\Config;
/**
* Interface for accessing user specific configurations
*/
interface IPConfiguration
{
/**
* Loads all configuration values of a user's config family into a cached storage.
*
* All configuration values of the given user are stored with the $uid in the cache
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
*
* @return void
* @see PConfigCache
*
*/
function load(int $uid, string $cat = 'config');
/**
* Get a particular user's config variable given the category name
* ($cat) and a key.
*
* Get a particular user's config value from the given category ($cat)
* and the $key with the $uid from a cached storage either from the $this->configAdapter
* (@see IConfigAdapter) or from the $this->configCache (@see PConfigCache).
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
* @param string $key The configuration key to query
* @param mixed $default_value optional, The value to return if key is not set (default: null)
* @param boolean $refresh optional, If true the config is loaded from the db and not from the cache (default: false)
*
* @return mixed Stored value or null if it does not exist
*/
function get(int $uid, string $cat, string $key, $default_value = null, bool $refresh = false);
/**
* Sets a configuration value for a user
*
* Stores a config value ($value) in the category ($family) under the key ($key)
* for the user_id $uid.
*
* @note Please do not store booleans - convert to 0/1 integer values!
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
* @param string $key The configuration key to set
* @param mixed $value The value to store
*
* @return bool Operation success
*/
function set(int $uid, string $cat, string $key, $value);
/**
* Deletes the given key from the users's configuration.
*
* Removes the configured value from the stored cache in $this->configCache
* (@see ConfigCache) and removes it from the database (@see IConfigAdapter)
* with the given $uid.
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
* @param string $key The configuration key to delete
*
* @return bool
*/
function delete(int $uid, string $cat, string $key);
/**
* Returns the Config Cache
*
* @return Cache\PConfigCache
*/
function getCache();
}

View file

@ -11,7 +11,7 @@ use Friendica\Model;
* The configuration cache (@see Cache\PConfigCache) is used for temporary caching of database calls. This will * The configuration cache (@see Cache\PConfigCache) is used for temporary caching of database calls. This will
* increase the performance. * increase the performance.
*/ */
abstract class PConfiguration abstract class PConfiguration implements IPConfiguration
{ {
/** /**
* @var Cache\PConfigCache * @var Cache\PConfigCache
@ -42,68 +42,4 @@ abstract class PConfiguration
{ {
return $this->configCache; return $this->configCache;
} }
/**
* Loads all configuration values of a user's config family into a cached storage.
*
* All configuration values of the given user are stored with the $uid in the cache
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
*
* @return void
* @see PConfigCache
*
*/
abstract public function load(int $uid, string $cat = 'config');
/**
* Get a particular user's config variable given the category name
* ($cat) and a key.
*
* Get a particular user's config value from the given category ($cat)
* and the $key with the $uid from a cached storage either from the $this->configAdapter
* (@see IConfigAdapter) or from the $this->configCache (@see PConfigCache).
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
* @param string $key The configuration key to query
* @param mixed $default_value optional, The value to return if key is not set (default: null)
* @param boolean $refresh optional, If true the config is loaded from the db and not from the cache (default: false)
*
* @return mixed Stored value or null if it does not exist
*/
abstract public function get(int $uid, string $cat, string $key, $default_value = null, bool $refresh = false);
/**
* Sets a configuration value for a user
*
* Stores a config value ($value) in the category ($family) under the key ($key)
* for the user_id $uid.
*
* @note Please do not store booleans - convert to 0/1 integer values!
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
* @param string $key The configuration key to set
* @param mixed $value The value to store
*
* @return bool Operation success
*/
abstract public function set(int $uid, string $cat, string $key, $value);
/**
* Deletes the given key from the users's configuration.
*
* Removes the configured value from the stored cache in $this->configCache
* (@see ConfigCache) and removes it from the database (@see IConfigAdapter)
* with the given $uid.
*
* @param int $uid The user_id
* @param string $cat The category of the configuration value
* @param string $key The configuration key to delete
*
* @return bool
*/
abstract public function delete(int $uid, string $cat, string $key);
} }

View file

@ -2,7 +2,7 @@
namespace Friendica\Core\L10n; namespace Friendica\Core\L10n;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\Session\ISession; use Friendica\Core\Session\ISession;
use Friendica\Database\Database; use Friendica\Database\Database;
@ -41,7 +41,7 @@ class L10n
*/ */
private $logger; private $logger;
public function __construct(Configuration $config, Database $dba, LoggerInterface $logger, ISession $session, array $server, array $get) public function __construct(IConfiguration $config, Database $dba, LoggerInterface $logger, ISession $session, array $server, array $get)
{ {
$this->dba = $dba; $this->dba = $dba;
$this->logger = $logger; $this->logger = $logger;

View file

@ -3,7 +3,7 @@
namespace Friendica\Core; namespace Friendica\Core;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
/** /**
@ -28,7 +28,7 @@ final class Process
private $mode; private $mode;
/** /**
* @var Configuration * @var IConfiguration
*/ */
private $config; private $config;
@ -37,7 +37,7 @@ final class Process
*/ */
private $basePath; private $basePath;
public function __construct(LoggerInterface $logger, App\Mode $mode, Configuration $config, string $basepath) public function __construct(LoggerInterface $logger, App\Mode $mode, IConfiguration $config, string $basepath)
{ {
$this->logger = $logger; $this->logger = $logger;
$this->mode = $mode; $this->mode = $mode;

View file

@ -4,8 +4,8 @@ namespace Friendica;
use Dice\Dice; use Dice\Dice;
use Friendica\Core\Cache\ICache; use Friendica\Core\Cache\ICache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\PConfiguration; use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n\L10n;
use Friendica\Core\Lock\ILock; use Friendica\Core\Lock\ILock;
use Friendica\Core\Process; use Friendica\Core\Process;
@ -34,8 +34,8 @@ use Psr\Log\LoggerInterface;
* @method static Content\Text\BBCode\Video bbCodeVideo() * @method static Content\Text\BBCode\Video bbCodeVideo()
* @method static DateTimeFormat dtFormat() * @method static DateTimeFormat dtFormat()
* @method static ICache cache() * @method static ICache cache()
* @method static Configuration config() * @method static IConfiguration config()
* @method static PConfiguration pConfig() * @method static IPConfiguration pConfig()
* @method static ILock lock() * @method static ILock lock()
* @method static L10n l10n() * @method static L10n l10n()
* @method static LoggerInterface logger() * @method static LoggerInterface logger()
@ -73,8 +73,8 @@ class DI
'bbCodeVideo' => Content\Text\BBCode\Video::class, 'bbCodeVideo' => Content\Text\BBCode\Video::class,
'dtFormat' => DateTimeFormat::class, 'dtFormat' => DateTimeFormat::class,
'cache' => ICache::class, 'cache' => ICache::class,
'config' => Configuration::class, 'config' => IConfiguration::class,
'pConfig' => PConfiguration::class, 'pConfig' => IPConfiguration::class,
'l10n' => L10n::class, 'l10n' => L10n::class,
'lock' => ILock::class, 'lock' => ILock::class,
'logger' => LoggerInterface::class, 'logger' => LoggerInterface::class,

View file

@ -5,7 +5,7 @@ namespace Friendica\Factory;
use Friendica\App\BaseURL; use Friendica\App\BaseURL;
use Friendica\Core\Cache; use Friendica\Core\Cache;
use Friendica\Core\Cache\ICache; use Friendica\Core\Cache\ICache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Database\Database; use Friendica\Database\Database;
use Friendica\Util\Profiler; use Friendica\Util\Profiler;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
@ -25,7 +25,7 @@ class CacheFactory
const DEFAULT_TYPE = Cache\Cache::TYPE_DATABASE; const DEFAULT_TYPE = Cache\Cache::TYPE_DATABASE;
/** /**
* @var Configuration The configuration to read parameters out of the config * @var IConfiguration The IConfiguration to read parameters out of the config
*/ */
private $config; private $config;
@ -49,7 +49,7 @@ class CacheFactory
*/ */
private $logger; private $logger;
public function __construct(BaseURL $baseURL, Configuration $config, Database $dba, Profiler $profiler, LoggerInterface $logger) public function __construct(BaseURL $baseURL, IConfiguration $config, Database $dba, Profiler $profiler, LoggerInterface $logger)
{ {
$this->hostname = $baseURL->getHostname(); $this->hostname = $baseURL->getHostname();
$this->config = $config; $this->config = $config;

View file

@ -27,7 +27,7 @@ class ConfigFactory
* @param Cache\ConfigCache $configCache The config cache of this adapter * @param Cache\ConfigCache $configCache The config cache of this adapter
* @param ConfigModel $configModel The configuration model * @param ConfigModel $configModel The configuration model
* *
* @return Config\Configuration * @return Config\IConfiguration
*/ */
public function createConfig(Cache\ConfigCache $configCache, ConfigModel $configModel) public function createConfig(Cache\ConfigCache $configCache, ConfigModel $configModel)
{ {
@ -46,7 +46,7 @@ class ConfigFactory
* @param Cache\PConfigCache $pConfigCache The personal config cache * @param Cache\PConfigCache $pConfigCache The personal config cache
* @param PConfigModel $configModel The configuration model * @param PConfigModel $configModel The configuration model
* *
* @return Config\PConfiguration * @return Config\IPConfiguration
*/ */
public function createPConfig(Cache\ConfigCache $configCache, Cache\PConfigCache $pConfigCache, PConfigModel $configModel) public function createPConfig(Cache\ConfigCache $configCache, Cache\PConfigCache $pConfigCache, PConfigModel $configModel)
{ {

View file

@ -4,7 +4,7 @@ namespace Friendica\Factory;
use Friendica\Core\Cache\Cache; use Friendica\Core\Cache\Cache;
use Friendica\Core\Cache\IMemoryCache; use Friendica\Core\Cache\IMemoryCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock; use Friendica\Core\Lock;
use Friendica\Database\Database; use Friendica\Database\Database;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
@ -24,7 +24,7 @@ class LockFactory
const DEFAULT_DRIVER = 'default'; const DEFAULT_DRIVER = 'default';
/** /**
* @var Configuration The configuration to read parameters out of the config * @var IConfiguration The configuration to read parameters out of the config
*/ */
private $config; private $config;
@ -43,7 +43,7 @@ class LockFactory
*/ */
private $logger; private $logger;
public function __construct(CacheFactory $cacheFactory, Configuration $config, Database $dba, LoggerInterface $logger) public function __construct(CacheFactory $cacheFactory, IConfiguration $config, Database $dba, LoggerInterface $logger)
{ {
$this->cacheFactory = $cacheFactory; $this->cacheFactory = $cacheFactory;
$this->config = $config; $this->config = $config;

View file

@ -2,7 +2,7 @@
namespace Friendica\Factory; namespace Friendica\Factory;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Database\Database; use Friendica\Database\Database;
use Friendica\Network\HTTPException\InternalServerErrorException; use Friendica\Network\HTTPException\InternalServerErrorException;
@ -50,13 +50,13 @@ class LoggerFactory
* Creates a new PSR-3 compliant logger instances * Creates a new PSR-3 compliant logger instances
* *
* @param Database $database The Friendica Database instance * @param Database $database The Friendica Database instance
* @param Configuration $config The config * @param IConfiguration $config The config
* @param Profiler $profiler The profiler of the app * @param Profiler $profiler The profiler of the app
* @param FileSystem $fileSystem FileSystem utils * @param FileSystem $fileSystem FileSystem utils
* *
* @return LoggerInterface The PSR-3 compliant logger instance * @return LoggerInterface The PSR-3 compliant logger instance
*/ */
public function create(Database $database, Configuration $config, Profiler $profiler, FileSystem $fileSystem) public function create(Database $database, IConfiguration $config, Profiler $profiler, FileSystem $fileSystem)
{ {
if (empty($config->get('system', 'debugging', false))) { if (empty($config->get('system', 'debugging', false))) {
$logger = new VoidLogger(); $logger = new VoidLogger();
@ -137,7 +137,7 @@ class LoggerFactory
* *
* It should never get filled during normal usage of Friendica * It should never get filled during normal usage of Friendica
* *
* @param Configuration $config The config * @param IConfiguration $config The config
* @param Profiler $profiler The profiler of the app * @param Profiler $profiler The profiler of the app
* @param FileSystem $fileSystem FileSystem utils * @param FileSystem $fileSystem FileSystem utils
* *
@ -146,7 +146,7 @@ class LoggerFactory
* @throws InternalServerErrorException * @throws InternalServerErrorException
* @throws \Exception * @throws \Exception
*/ */
public static function createDev(Configuration $config, Profiler $profiler, FileSystem $fileSystem) public static function createDev(IConfiguration $config, Profiler $profiler, FileSystem $fileSystem)
{ {
$debugging = $config->get('system', 'debugging'); $debugging = $config->get('system', 'debugging');
$stream = $config->get('system', 'dlogfile'); $stream = $config->get('system', 'dlogfile');

View file

@ -5,7 +5,7 @@ namespace Friendica\Factory;
use Friendica\App; use Friendica\App;
use Friendica\Core\Cache\Cache; use Friendica\Core\Cache\Cache;
use Friendica\Core\Cache\ICache; use Friendica\Core\Cache\ICache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\Database; use Friendica\Database\Database;
@ -29,7 +29,8 @@ class SessionFactory
/** /**
* @param App\Mode $mode * @param App\Mode $mode
* @param App\BaseURL $baseURL * @param App\BaseURL $baseURL
* @param Configuration $config * @param IConfiguration $config
* @param Cookie $cookie
* @param Database $dba * @param Database $dba
* @param ICache $cache * @param ICache $cache
* @param LoggerInterface $logger * @param LoggerInterface $logger
@ -37,7 +38,7 @@ class SessionFactory
* *
* @return Session\ISession * @return Session\ISession
*/ */
public function createSession(App\Mode $mode, App\BaseURL $baseURL, Configuration $config, Database $dba, ICache $cache, LoggerInterface $logger, Profiler $profiler, array $server = []) public function createSession(App\Mode $mode, App\BaseURL $baseURL, IConfiguration $config, Database $dba, ICache $cache, LoggerInterface $logger, Profiler $profiler, array $server = [])
{ {
$stamp1 = microtime(true); $stamp1 = microtime(true);
$session = null; $session = null;

View file

@ -6,7 +6,7 @@ use Exception;
use Friendica\App; use Friendica\App;
use Friendica\Content\Text\BBCode; use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Core\Config\PConfiguration; use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\System; use Friendica\Core\System;
@ -71,13 +71,13 @@ final class Notify
private $args; private $args;
/** @var App\BaseURL */ /** @var App\BaseURL */
private $baseUrl; private $baseUrl;
/** @var PConfiguration */ /** @var IPConfiguration */
private $pConfig; private $pConfig;
/** @var LoggerInterface */ /** @var LoggerInterface */
private $logger; private $logger;
public function __construct(Database $dba, L10n $l10n, App\Arguments $args, App\BaseURL $baseUrl, public function __construct(Database $dba, L10n $l10n, App\Arguments $args, App\BaseURL $baseUrl,
PConfiguration $pConfig, LoggerInterface $logger) IPConfiguration $pConfig, LoggerInterface $logger)
{ {
$this->dba = $dba; $this->dba = $dba;
$this->l10n = $l10n; $this->l10n = $l10n;

View file

@ -3,7 +3,7 @@
namespace Friendica\Model\User; namespace Friendica\Model\User;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
/** /**
* Interacting with the Friendica Cookie of a user * Interacting with the Friendica Cookie of a user
@ -32,7 +32,7 @@ class Cookie
/** @var array The $_COOKIE array */ /** @var array The $_COOKIE array */
private $cookie; private $cookie;
public function __construct(Configuration $config, App\BaseURL $baseURL, array $server = [], array $cookie = []) public function __construct(IConfiguration $config, App\BaseURL $baseURL, array $server = [], array $cookie = [])
{ {
if (!empty($server['REMOTE_ADDR'])) { if (!empty($server['REMOTE_ADDR'])) {
$this->remoteAddr = $server['REMOTE_ADDR']; $this->remoteAddr = $server['REMOTE_ADDR'];

View file

@ -2,10 +2,7 @@
namespace Friendica\Module\Diaspora; namespace Friendica\Module\Diaspora;
use Friendica\App;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\Config\Configuration;
use Friendica\Core\L10n\L10n;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\User; use Friendica\Model\User;
use Friendica\Network\HTTPException; use Friendica\Network\HTTPException;

View file

@ -3,7 +3,7 @@
namespace Friendica\Util; namespace Friendica\Util;
use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface; use Psr\Container\ContainerInterface;
use Psr\Container\NotFoundExceptionInterface; use Psr\Container\NotFoundExceptionInterface;
@ -47,9 +47,9 @@ class Profiler implements ContainerInterface
/** /**
* Updates the enabling of the current profiler * Updates the enabling of the current profiler
* *
* @param Configuration $config * @param IConfiguration $config
*/ */
public function update(Configuration $config) public function update(IConfiguration $config)
{ {
$this->enabled = $config->get('system', 'profiler'); $this->enabled = $config->get('system', 'profiler');
$this->rendertime = $config->get('rendertime', 'callstack'); $this->rendertime = $config->get('rendertime', 'callstack');

View file

@ -68,13 +68,13 @@ return [
['determine', [], Dice::CHAIN_CALL], ['determine', [], Dice::CHAIN_CALL],
], ],
], ],
Config\Configuration::class => [ Config\IConfiguration::class => [
'instanceOf' => Factory\ConfigFactory::class, 'instanceOf' => Factory\ConfigFactory::class,
'call' => [ 'call' => [
['createConfig', [], Dice::CHAIN_CALL], ['createConfig', [], Dice::CHAIN_CALL],
], ],
], ],
Config\PConfiguration::class => [ Config\IPConfiguration::class => [
'instanceOf' => Factory\ConfigFactory::class, 'instanceOf' => Factory\ConfigFactory::class,
'call' => [ 'call' => [
['createPConfig', [], Dice::CHAIN_CALL], ['createPConfig', [], Dice::CHAIN_CALL],

View file

@ -22,7 +22,7 @@ trait AppMockTrait
protected $app; protected $app;
/** /**
* @var MockInterface|Config\Configuration The mocked Config Cache * @var MockInterface|Config\IConfiguration The mocked Config Cache
*/ */
protected $configMock; protected $configMock;
@ -54,11 +54,11 @@ trait AppMockTrait
$this->configMock = \Mockery::mock(Config\Cache\ConfigCache::class); $this->configMock = \Mockery::mock(Config\Cache\ConfigCache::class);
$this->dice->shouldReceive('create') $this->dice->shouldReceive('create')
->with(Config\Cache\ConfigCache::class) ->with(Config\Cache\ConfigCache::class, [])
->andReturn($this->configMock); ->andReturn($this->configMock);
$this->mode = \Mockery::mock(App\Mode::class); $this->mode = \Mockery::mock(App\Mode::class);
$this->dice->shouldReceive('create') $this->dice->shouldReceive('create')
->with(App\Mode::class) ->with(App\Mode::class, [])
->andReturn($this->mode); ->andReturn($this->mode);
$configModel= \Mockery::mock(\Friendica\Model\Config\Config::class); $configModel= \Mockery::mock(\Friendica\Model\Config\Config::class);
// Disable the adapter // Disable the adapter
@ -66,13 +66,13 @@ trait AppMockTrait
$config = new Config\JitConfiguration($this->configMock, $configModel); $config = new Config\JitConfiguration($this->configMock, $configModel);
$this->dice->shouldReceive('create') $this->dice->shouldReceive('create')
->with(Config\Configuration::class) ->with(Config\IConfiguration::class, [])
->andReturn($config); ->andReturn($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->dice->shouldReceive('create') $this->dice->shouldReceive('create')
->with(App::class) ->with(App::class, [])
->andReturn($this->app); ->andReturn($this->app);
$this->app $this->app
->shouldReceive('getBasePath') ->shouldReceive('getBasePath')
@ -85,7 +85,7 @@ trait AppMockTrait
$this->profilerMock = \Mockery::mock(Profiler::class); $this->profilerMock = \Mockery::mock(Profiler::class);
$this->profilerMock->shouldReceive('saveTimestamp'); $this->profilerMock->shouldReceive('saveTimestamp');
$this->dice->shouldReceive('create') $this->dice->shouldReceive('create')
->with(Profiler::class) ->with(Profiler::class, [])
->andReturn($this->profilerMock); ->andReturn($this->profilerMock);
$this->app $this->app

View file

@ -3,9 +3,16 @@
* This file is loaded by PHPUnit before any test. * This file is loaded by PHPUnit before any test.
*/ */
use Dice\Dice;
use Friendica\DI;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
// Backward compatibility // Backward compatibility
if (!class_exists(TestCase::class)) { if (!class_exists(TestCase::class)) {
class_alias(PHPUnit_Framework_TestCase::class, TestCase::class); class_alias(PHPUnit_Framework_TestCase::class, TestCase::class);
} }
$dice = new Dice();
$dice = $dice->addRules(include __DIR__ . '/../static/dependencies.config.php');
DI::init($dice);

View file

@ -7,7 +7,7 @@ use Friendica\App;
use Friendica\Core\Cache\ICache; use Friendica\Core\Cache\ICache;
use Friendica\Core\Cache\IMemoryCache; use Friendica\Core\Cache\IMemoryCache;
use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\ILock; use Friendica\Core\Lock\ILock;
use Friendica\Database\Database; use Friendica\Database\Database;
use Friendica\Test\Util\VFSTrait; use Friendica\Test\Util\VFSTrait;
@ -115,10 +115,10 @@ class dependencyCheck extends TestCase
public function testConfiguration() public function testConfiguration()
{ {
/** @var Configuration $config */ /** @var IConfiguration $config */
$config = $this->dice->create(Configuration::class); $config = $this->dice->create(IConfiguration::class);
$this->assertInstanceOf(Configuration::class, $config); $this->assertInstanceOf(IConfiguration::class, $config);
$this->assertNotEmpty($config->get('database', 'username')); $this->assertNotEmpty($config->get('database', 'username'));
} }
@ -133,8 +133,8 @@ class dependencyCheck extends TestCase
public function testDevLogger() public function testDevLogger()
{ {
/** @var Configuration $config */ /** @var IConfiguration $config */
$config = $this->dice->create(Configuration::class); $config = $this->dice->create(IConfiguration::class);
$config->set('system', 'dlogfile', $this->root->url() . '/friendica.log'); $config->set('system', 'dlogfile', $this->root->url() . '/friendica.log');
/** @var LoggerInterface $logger */ /** @var LoggerInterface $logger */

View file

@ -7,8 +7,8 @@ namespace Friendica\Test;
use Dice\Dice; use Dice\Dice;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\PConfiguration; use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Core\Session\ISession; use Friendica\Core\Session\ISession;
@ -47,7 +47,7 @@ class ApiTest extends DatabaseTest
/** @var App */ /** @var App */
protected $app; protected $app;
/** @var Configuration */ /** @var IConfiguration */
protected $config; protected $config;
/** @var Dice */ /** @var Dice */
@ -69,8 +69,8 @@ class ApiTest extends DatabaseTest
/** @var Database $dba */ /** @var Database $dba */
$dba = $this->dice->create(Database::class); $dba = $this->dice->create(Database::class);
/** @var Configuration $config */ /** @var IConfiguration $config */
$this->config = $this->dice->create(Configuration::class); $this->config = $this->dice->create(IConfiguration::class);
$this->config->set('system', 'url', 'http://localhost'); $this->config->set('system', 'url', 'http://localhost');
$this->config->set('system', 'hostname', 'localhost'); $this->config->set('system', 'hostname', 'localhost');
@ -827,7 +827,7 @@ class ApiTest extends DatabaseTest
*/ */
public function testApiGetUserWithFrioSchema() public function testApiGetUserWithFrioSchema()
{ {
$pConfig = $this->dice->create(PConfiguration::class); $pConfig = $this->dice->create(IPConfiguration::class);
$pConfig->set($this->selfUser['id'], 'frio', 'schema', 'red'); $pConfig->set($this->selfUser['id'], 'frio', 'schema', 'red');
$user = api_get_user($this->app); $user = api_get_user($this->app);
$this->assertSelfUser($user); $this->assertSelfUser($user);
@ -843,7 +843,7 @@ class ApiTest extends DatabaseTest
*/ */
public function testApiGetUserWithCustomFrioSchema() public function testApiGetUserWithCustomFrioSchema()
{ {
$pConfig = $this->dice->create(PConfiguration::class); $pConfig = $this->dice->create(IPConfiguration::class);
$pConfig->set($this->selfUser['id'], 'frio', 'schema', '---'); $pConfig->set($this->selfUser['id'], 'frio', 'schema', '---');
$pConfig->set($this->selfUser['id'], 'frio', 'nav_bg', '#123456'); $pConfig->set($this->selfUser['id'], 'frio', 'nav_bg', '#123456');
$pConfig->set($this->selfUser['id'], 'frio', 'link_color', '#123456'); $pConfig->set($this->selfUser['id'], 'frio', 'link_color', '#123456');
@ -862,7 +862,7 @@ class ApiTest extends DatabaseTest
*/ */
public function testApiGetUserWithEmptyFrioSchema() public function testApiGetUserWithEmptyFrioSchema()
{ {
$pConfig = $this->dice->create(PConfiguration::class); $pConfig = $this->dice->create(IPConfiguration::class);
$pConfig->set($this->selfUser['id'], 'frio', 'schema', '---'); $pConfig->set($this->selfUser['id'], 'frio', 'schema', '---');
$user = api_get_user($this->app); $user = api_get_user($this->app);
$this->assertSelfUser($user); $this->assertSelfUser($user);

26
tests/phpunit-local.xml Normal file
View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<phpunit
bootstrap="bootstrap.php"
verbose="true">
<testsuite name='friendica'>
<directory suffix='.php'>functional/</directory>
<directory suffix='.php'>include/</directory>
<directory suffix='.php'>src/</directory>
<directory suffix='.php'>./</directory>
</testsuite>
<!-- Filters for Code Coverage -->
<filter>
<whitelist>
<directory suffix=".php">..</directory>
<exclude>
<directory suffix=".php">config/</directory>
<directory suffix=".php">doc/</directory>
<directory suffix=".php">images/</directory>
<directory suffix=".php">library/</directory>
<directory suffix=".php">spec/</directory>
<directory suffix=".php">tests/</directory>
<directory suffix=".php">view/</directory>
</exclude>
</whitelist>
</filter>
</phpunit>

View file

@ -3,7 +3,7 @@
namespace Friendica\Test\src\App; namespace Friendica\Test\src\App;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\LegacyModule; use Friendica\LegacyModule;
use Friendica\Module\HTTPException\PageNotFound; use Friendica\Module\HTTPException\PageNotFound;
use Friendica\Module\WellKnown\HostMeta; use Friendica\Module\WellKnown\HostMeta;
@ -149,7 +149,7 @@ class ModuleTest extends DatabaseTest
*/ */
public function testModuleClass($assert, string $name, string $command, bool $privAdd) public function testModuleClass($assert, string $name, string $command, bool $privAdd)
{ {
$config = \Mockery::mock(Configuration::class); $config = \Mockery::mock(IConfiguration::class);
$config->shouldReceive('get')->with('config', 'private_addons', false)->andReturn($privAdd)->atMost()->once(); $config->shouldReceive('get')->with('config', 'private_addons', false)->andReturn($privAdd)->atMost()->once();
$router = (new App\Router([]))->loadRoutes(include __DIR__ . '/../../../static/routes.config.php'); $router = (new App\Router([]))->loadRoutes(include __DIR__ . '/../../../static/routes.config.php');

View file

@ -5,7 +5,7 @@ namespace Friendica\Test\src\Console;
use Friendica\App; use Friendica\App;
use Friendica\App\Mode; use Friendica\App\Mode;
use Friendica\Console\Config; use Friendica\Console\Config;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Mockery\MockInterface; use Mockery\MockInterface;
class ConfigConsoleTest extends ConsoleTest class ConfigConsoleTest extends ConsoleTest
@ -29,7 +29,7 @@ class ConfigConsoleTest extends ConsoleTest
$this->appMode->shouldReceive('has') $this->appMode->shouldReceive('has')
->andReturn(true); ->andReturn(true);
$this->configMock = \Mockery::mock(Configuration::class); $this->configMock = \Mockery::mock(IConfiguration::class);
} }
function testSetGetKeyValue() function testSetGetKeyValue()

View file

@ -3,7 +3,7 @@
namespace Friendica\Test\src\Console; namespace Friendica\Test\src\Console;
use Friendica\Console\ServerBlock; use Friendica\Console\ServerBlock;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
class ServerBlockConsoleTest extends ConsoleTest class ServerBlockConsoleTest extends ConsoleTest
{ {
@ -22,7 +22,7 @@ class ServerBlockConsoleTest extends ConsoleTest
{ {
parent::setUp(); parent::setUp();
$this->configMock = \Mockery::mock(Configuration::class); $this->configMock = \Mockery::mock(IConfiguration::class);
} }
/** /**

View file

@ -43,13 +43,13 @@ class BBCodeTest extends MockedTest
$l10nMock = \Mockery::mock(L10n::class); $l10nMock = \Mockery::mock(L10n::class);
$l10nMock->shouldReceive('t')->withAnyArgs()->andReturnUsing(function ($args) { return $args; }); $l10nMock->shouldReceive('t')->withAnyArgs()->andReturnUsing(function ($args) { return $args; });
$this->dice->shouldReceive('create') $this->dice->shouldReceive('create')
->with(L10n::class) ->with(L10n::class, [])
->andReturn($l10nMock); ->andReturn($l10nMock);
$baseUrlMock = \Mockery::mock(BaseURL::class); $baseUrlMock = \Mockery::mock(BaseURL::class);
$baseUrlMock->shouldReceive('get')->withAnyArgs()->andReturn('friendica.local'); $baseUrlMock->shouldReceive('get')->withAnyArgs()->andReturn('friendica.local');
$this->dice->shouldReceive('create') $this->dice->shouldReceive('create')
->with(BaseURL::class) ->with(BaseURL::class, [])
->andReturn($baseUrlMock); ->andReturn($baseUrlMock);
} }

View file

@ -3,7 +3,7 @@
namespace Friendica\Test\src\Core\Cache; namespace Friendica\Test\src\Core\Cache;
use Friendica\Core\Cache\MemcacheCache; use Friendica\Core\Cache\MemcacheCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
/** /**
* @requires extension memcache * @requires extension memcache
@ -13,7 +13,7 @@ class MemcacheCacheTest extends MemoryCacheTest
{ {
protected function getInstance() protected function getInstance()
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$host = $_SERVER['MEMCACHE_HOST'] ?? 'localhost'; $host = $_SERVER['MEMCACHE_HOST'] ?? 'localhost';

View file

@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Cache; namespace Friendica\Test\src\Core\Cache;
use Friendica\Core\Cache\MemcachedCache; use Friendica\Core\Cache\MemcachedCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Psr\Log\NullLogger; use Psr\Log\NullLogger;
/** /**
@ -15,7 +15,7 @@ class MemcachedCacheTest extends MemoryCacheTest
{ {
protected function getInstance() protected function getInstance()
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$host = $_SERVER['MEMCACHED_HOST'] ?? 'localhost'; $host = $_SERVER['MEMCACHED_HOST'] ?? 'localhost';

View file

@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Cache; namespace Friendica\Test\src\Core\Cache;
use Friendica\Core\Cache\RedisCache; use Friendica\Core\Cache\RedisCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
/** /**
* @requires extension redis * @requires extension redis
@ -14,7 +14,7 @@ class RedisCacheTest extends MemoryCacheTest
{ {
protected function getInstance() protected function getInstance()
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$host = $_SERVER['REDIS_HOST'] ?? 'localhost'; $host = $_SERVER['REDIS_HOST'] ?? 'localhost';

View file

@ -3,8 +3,7 @@
namespace Friendica\Test\src\Core\Config; namespace Friendica\Test\src\Core\Config;
use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\JitConfiguration;
use Friendica\Model\Config\Config as ConfigModel; use Friendica\Model\Config\Config as ConfigModel;
use Friendica\Test\MockedTest; use Friendica\Test\MockedTest;
use Mockery\MockInterface; use Mockery\MockInterface;
@ -18,7 +17,7 @@ abstract class ConfigurationTest extends MockedTest
/** @var ConfigCache */ /** @var ConfigCache */
protected $configCache; protected $configCache;
/** @var Configuration */ /** @var IConfiguration */
protected $testedConfig; protected $testedConfig;
/** /**
@ -47,7 +46,7 @@ abstract class ConfigurationTest extends MockedTest
} }
/** /**
* @return Configuration * @return IConfiguration
*/ */
public abstract function getInstance(); public abstract function getInstance();

View file

@ -34,7 +34,7 @@ class InstallerTest extends MockedTest
$dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php'); $dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php');
$dice->shouldReceive('create') $dice->shouldReceive('create')
->with(\Friendica\Core\L10n\L10n::class) ->with(\Friendica\Core\L10n\L10n::class, [])
->andReturn($this->l10nMock); ->andReturn($this->l10nMock);
DI::init($dice); DI::init($dice);
@ -362,7 +362,7 @@ class InstallerTest extends MockedTest
$this->assertTrue($install->checkImagick()); $this->assertTrue($install->checkImagick());
$this->assertCheckExist(1, $this->assertCheckExist(1,
L10n::t('ImageMagick supports GIF'), $this->l10nMock->t('ImageMagick supports GIF'),
'', '',
true, true,
false, false,
@ -385,9 +385,9 @@ class InstallerTest extends MockedTest
// even there is no supported type, Imagick should return true (because it is not required) // even there is no supported type, Imagick should return true (because it is not required)
$this->assertTrue($install->checkImagick()); $this->assertTrue($install->checkImagick());
$this->assertCheckExist(1, $this->assertCheckExist(1,
L10n::t('ImageMagick supports GIF'), $this->l10nMock->t('ImageMagick supports GIF'),
'', '',
false, true,
false, false,
$install->getChecks()); $install->getChecks());
} }

View file

@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Lock; namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Cache\MemcacheCache; use Friendica\Core\Cache\MemcacheCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\CacheLock; use Friendica\Core\Lock\CacheLock;
/** /**
@ -15,7 +15,7 @@ class MemcacheCacheLockTest extends LockTest
{ {
protected function getInstance() protected function getInstance()
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$host = $_SERVER['MEMCACHE_HOST'] ?? 'localhost'; $host = $_SERVER['MEMCACHE_HOST'] ?? 'localhost';

View file

@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Lock; namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Cache\MemcachedCache; use Friendica\Core\Cache\MemcachedCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\CacheLock; use Friendica\Core\Lock\CacheLock;
use Psr\Log\NullLogger; use Psr\Log\NullLogger;
@ -16,7 +16,7 @@ class MemcachedCacheLockTest extends LockTest
{ {
protected function getInstance() protected function getInstance()
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$host = $_SERVER['MEMCACHED_HOST'] ?? 'localhost'; $host = $_SERVER['MEMCACHED_HOST'] ?? 'localhost';

View file

@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Lock; namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Cache\RedisCache; use Friendica\Core\Cache\RedisCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\CacheLock; use Friendica\Core\Lock\CacheLock;
/** /**
@ -15,7 +15,7 @@ class RedisCacheLockTest extends LockTest
{ {
protected function getInstance() protected function getInstance()
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$host = $_SERVER['REDIS_HOST'] ?? 'localhost'; $host = $_SERVER['REDIS_HOST'] ?? 'localhost';

View file

@ -4,27 +4,29 @@ namespace Friendica\Test\src\Core\Lock;
use Dice\Dice; use Dice\Dice;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\JitConfiguration; use Friendica\Core\Config\JitConfiguration;
use Friendica\Core\Lock\SemaphoreLock; use Friendica\Core\Lock\SemaphoreLock;
use Friendica\DI; use Friendica\DI;
use Mockery\MockInterface;
class SemaphoreLockTest extends LockTest class SemaphoreLockTest extends LockTest
{ {
public function setUp() public function setUp()
{ {
/** @var MockInterface|Dice $dice */
$dice = \Mockery::mock(Dice::class)->makePartial(); $dice = \Mockery::mock(Dice::class)->makePartial();
$app = \Mockery::mock(App::class); $app = \Mockery::mock(App::class);
$app->shouldReceive('getHostname')->andReturn('friendica.local'); $app->shouldReceive('getHostname')->andReturn('friendica.local');
$dice->shouldReceive('create')->with(App::class)->andReturn($app); $dice->shouldReceive('create')->with(App::class, [])->andReturn($app);
$configMock = \Mockery::mock(JitConfiguration::class); $configMock = \Mockery::mock(JitConfiguration::class);
$configMock $configMock
->shouldReceive('get') ->shouldReceive('get')
->with('system', 'temppath', NULL, false) ->with('system', 'temppath', NULL, false)
->andReturn('/tmp/'); ->andReturn('/tmp/');
$dice->shouldReceive('create')->with(Configuration::class)->andReturn($configMock); $dice->shouldReceive('create')->with(IConfiguration::class, [])->andReturn($configMock);
// @todo Because "get_temppath()" is using static methods, we have to initialize the BaseObject // @todo Because "get_temppath()" is using static methods, we have to initialize the BaseObject
DI::init($dice); DI::init($dice);

View file

@ -3,7 +3,7 @@
namespace Friendica\Testsrc\Model\User; namespace Friendica\Testsrc\Model\User;
use Friendica\App\BaseURL; use Friendica\App\BaseURL;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Model\User\Cookie; use Friendica\Model\User\Cookie;
use Friendica\Test\DatabaseTest; use Friendica\Test\DatabaseTest;
use Friendica\Test\Util\StaticCookie; use Friendica\Test\Util\StaticCookie;
@ -11,7 +11,7 @@ use Mockery\MockInterface;
class CookieTest extends DatabaseTest class CookieTest extends DatabaseTest
{ {
/** @var MockInterface|Configuration */ /** @var MockInterface|IConfiguration */
private $config; private $config;
/** @var MockInterface|BaseURL */ /** @var MockInterface|BaseURL */
private $baseUrl; private $baseUrl;
@ -22,7 +22,7 @@ class CookieTest extends DatabaseTest
parent::setUp(); parent::setUp();
$this->config = \Mockery::mock(Configuration::class); $this->config = \Mockery::mock(IConfiguration::class);
$this->baseUrl = \Mockery::mock(BaseURL::class); $this->baseUrl = \Mockery::mock(BaseURL::class);
} }

View file

@ -16,14 +16,13 @@ class CurlResultTest extends TestCase
{ {
parent::setUp(); parent::setUp();
/** @var Dice|MockInterface $dice */ /** @var Dice|MockInterface $dice */
$dice = \Mockery::mock(Dice::class)->makePartial(); $dice = \Mockery::mock(Dice::class)->makePartial();
$dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php'); $dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php');
$logger = new NullLogger(); $logger = new NullLogger();
$dice->shouldReceive('create') $dice->shouldReceive('create')
->with(LoggerInterface::class) ->with(LoggerInterface::class, [])
->andReturn($logger); ->andReturn($logger);
DI::init($dice); DI::init($dice);

View file

@ -2,7 +2,7 @@
namespace Friendica\Test\src\Util; namespace Friendica\Test\src\Util;
use Friendica\App\BaseURL; use Friendica\App\BaseURL;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Test\MockedTest; use Friendica\Test\MockedTest;
class BaseURLTest extends MockedTest class BaseURLTest extends MockedTest
@ -173,7 +173,7 @@ class BaseURLTest extends MockedTest
*/ */
public function testCheck($server, $input, $assert) public function testCheck($server, $input, $assert)
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn($input['hostname']); $configMock->shouldReceive('get')->with('config', 'hostname')->andReturn($input['hostname']);
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn($input['urlPath']); $configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn($input['urlPath']);
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']); $configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']);
@ -295,7 +295,7 @@ class BaseURLTest extends MockedTest
*/ */
public function testSave($input, $save, $url) public function testSave($input, $save, $url)
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn($input['hostname']); $configMock->shouldReceive('get')->with('config', 'hostname')->andReturn($input['hostname']);
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn($input['urlPath']); $configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn($input['urlPath']);
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']); $configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']);
@ -333,7 +333,7 @@ class BaseURLTest extends MockedTest
*/ */
public function testSaveByUrl($input, $save, $url) public function testSaveByUrl($input, $save, $url)
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn($input['hostname']); $configMock->shouldReceive('get')->with('config', 'hostname')->andReturn($input['hostname']);
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn($input['urlPath']); $configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn($input['urlPath']);
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']); $configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']);
@ -409,7 +409,7 @@ class BaseURLTest extends MockedTest
*/ */
public function testGetURL($sslPolicy, $ssl, $url, $assert) public function testGetURL($sslPolicy, $ssl, $url, $assert)
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local'); $configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local');
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test'); $configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test');
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($sslPolicy); $configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($sslPolicy);
@ -467,7 +467,7 @@ class BaseURLTest extends MockedTest
*/ */
public function testCheckRedirectHTTPS($server, $forceSSL, $sslPolicy, $url, $redirect) public function testCheckRedirectHTTPS($server, $forceSSL, $sslPolicy, $url, $redirect)
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local'); $configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local');
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test'); $configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test');
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($sslPolicy); $configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($sslPolicy);
@ -503,7 +503,7 @@ class BaseURLTest extends MockedTest
*/ */
public function testWrongSave($fail) public function testWrongSave($fail)
{ {
$configMock = \Mockery::mock(Configuration::class); $configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local'); $configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local');
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test'); $configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test');
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn(BaseURL::DEFAULT_SSL_SCHEME); $configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn(BaseURL::DEFAULT_SSL_SCHEME);

View file

@ -3,7 +3,7 @@
namespace Friendica\Test\src\Util; namespace Friendica\Test\src\Util;
use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration; use Friendica\Core\Config\IConfiguration;
use Friendica\Test\MockedTest; use Friendica\Test\MockedTest;
use Friendica\Util\Profiler; use Friendica\Util\Profiler;
use Mockery\MockInterface; use Mockery\MockInterface;
@ -235,7 +235,7 @@ class ProfilerTest extends MockedTest
$profiler->saveTimestamp(time(), 'network', 'test1'); $profiler->saveTimestamp(time(), 'network', 'test1');
$config = \Mockery::mock(Configuration::class); $config = \Mockery::mock(IConfiguration::class);
$config->shouldReceive('get') $config->shouldReceive('get')
->with('system', 'profiler') ->with('system', 'profiler')
->andReturn(false) ->andReturn(false)