Browse Source

Creating interfaces for Config/PConfig & fix tests

tags/2020.03
nupplaPhil 9 months ago
parent
commit
c1dbb25656
No known key found for this signature in database GPG Key ID: D8365C3D36B77D90
54 changed files with 349 additions and 285 deletions
  1. +1
    -1
      index.php
  2. +7
    -7
      src/App.php
  3. +4
    -4
      src/App/Authentication.php
  4. +4
    -4
      src/App/BaseURL.php
  5. +2
    -2
      src/App/Module.php
  6. +8
    -8
      src/App/Page.php
  7. +2
    -2
      src/Console/AutomaticInstallation.php
  8. +3
    -3
      src/Console/Config.php
  9. +3
    -3
      src/Console/Maintenance.php
  10. +3
    -3
      src/Console/PostUpdate.php
  11. +9
    -9
      src/Console/ServerBlock.php
  12. +3
    -3
      src/Console/Typo.php
  13. +2
    -2
      src/Core/Cache/MemcacheCache.php
  14. +2
    -2
      src/Core/Cache/MemcachedCache.php
  15. +2
    -2
      src/Core/Cache/RedisCache.php
  16. +2
    -60
      src/Core/Config/Configuration.php
  17. +73
    -0
      src/Core/Config/IConfiguration.php
  18. +82
    -0
      src/Core/Config/IPConfiguration.php
  19. +1
    -65
      src/Core/Config/PConfiguration.php
  20. +2
    -2
      src/Core/L10n/L10n.php
  21. +3
    -3
      src/Core/Process.php
  22. +6
    -6
      src/DI.php
  23. +3
    -3
      src/Factory/CacheFactory.php
  24. +2
    -2
      src/Factory/ConfigFactory.php
  25. +3
    -3
      src/Factory/LockFactory.php
  26. +5
    -5
      src/Factory/LoggerFactory.php
  27. +4
    -3
      src/Factory/SessionFactory.php
  28. +3
    -3
      src/Model/Notify.php
  29. +2
    -2
      src/Model/User/Cookie.php
  30. +0
    -3
      src/Module/Diaspora/Receive.php
  31. +3
    -3
      src/Util/Profiler.php
  32. +2
    -2
      static/dependencies.config.php
  33. +6
    -6
      tests/Util/AppMockTrait.php
  34. +7
    -0
      tests/bootstrap.php
  35. +6
    -6
      tests/functional/DependencyCheckTest.php
  36. +8
    -8
      tests/include/ApiTest.php
  37. +26
    -0
      tests/phpunit-local.xml
  38. +2
    -2
      tests/src/App/ModuleTest.php
  39. +2
    -2
      tests/src/Console/ConfigConsoleTest.php
  40. +2
    -2
      tests/src/Console/ServerBlockConsoleTest.php
  41. +2
    -2
      tests/src/Content/Text/BBCodeTest.php
  42. +2
    -2
      tests/src/Core/Cache/MemcacheCacheTest.php
  43. +2
    -2
      tests/src/Core/Cache/MemcachedCacheTest.php
  44. +2
    -2
      tests/src/Core/Cache/RedisCacheTest.php
  45. +3
    -4
      tests/src/Core/Config/ConfigurationTest.php
  46. +4
    -4
      tests/src/Core/InstallerTest.php
  47. +2
    -2
      tests/src/Core/Lock/MemcacheCacheLockTest.php
  48. +2
    -2
      tests/src/Core/Lock/MemcachedCacheLockTest.php
  49. +2
    -2
      tests/src/Core/Lock/RedisCacheLockTest.php
  50. +5
    -3
      tests/src/Core/Lock/SemaphoreLockTest.php
  51. +3
    -3
      tests/src/Model/User/CookieTest.php
  52. +1
    -2
      tests/src/Network/CurlResultTest.php
  53. +7
    -7
      tests/src/Util/BaseURLTest.php
  54. +2
    -2
      tests/src/Util/ProfilerTest.php

+ 1
- 1
index.php View File

@@ -22,6 +22,6 @@ $a = \Friendica\DI::app();
$a->runFrontend(
$dice->create(\Friendica\App\Module::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)
);

+ 7
- 7
src/App.php View File

@@ -10,8 +10,8 @@ use Friendica\App\BaseURL;
use Friendica\App\Page;
use Friendica\App\Authentication;
use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\PConfiguration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\L10n\L10n;
use Friendica\Core\System;
use Friendica\Core\Theme;
@@ -88,7 +88,7 @@ class App
private $currentMobileTheme;

/**
* @var Configuration The config
* @var IConfiguration The config
*/
private $config;

@@ -145,7 +145,7 @@ class App

/**
* @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 BaseURL $baseURL The full base URL of this Friendica app
* @param LoggerInterface $logger The current app logger
@@ -154,7 +154,7 @@ class App
* @param App\Arguments $args The Friendica Arguments of the call
* @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->config = $config;
@@ -433,12 +433,12 @@ class App
*
* @param App\Module $module The determined module
* @param App\Router $router
* @param PConfiguration $pconfig
* @param IPConfiguration $pconfig
* @param Authentication $auth The Authentication backend of the node
* @throws HTTPException\InternalServerErrorException
* @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();



+ 4
- 4
src/App/Authentication.php View File

@@ -8,7 +8,7 @@ namespace Friendica\App;

use Exception;
use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Hook;
use Friendica\Core\PConfig;
use Friendica\Core\Session;
@@ -30,7 +30,7 @@ use Psr\Log\LoggerInterface;
*/
class Authentication
{
/** @var Configuration */
/** @var IConfiguration */
private $config;
/** @var App\Mode */
private $mode;
@@ -50,7 +50,7 @@ class Authentication
/**
* Authentication constructor.
*
* @param Configuration $config
* @param IConfiguration $config
* @param App\Mode $mode
* @param App\BaseURL $baseUrl
* @param L10n $l10n
@@ -59,7 +59,7 @@ class Authentication
* @param User\Cookie $cookie
* @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->mode = $mode;


+ 4
- 4
src/App/BaseURL.php View File

@@ -2,7 +2,7 @@

namespace Friendica\App;

use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\System;
use Friendica\Util\Network;
use Friendica\Util\Strings;
@@ -37,7 +37,7 @@ class BaseURL
/**
* The Friendica Config
*
* @var Configuration
* @var IConfiguration
*/
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
*/
public function __construct(Configuration $config, array $server)
public function __construct(IConfiguration $config, array $server)
{
$this->config = $config;
$this->server = $server;


+ 2
- 2
src/App/Module.php View File

@@ -151,13 +151,13 @@ class Module
*
* @param Arguments $args The Friendica execution arguments
* @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
*
* @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;



+ 8
- 8
src/App/Page.php View File

@@ -7,8 +7,8 @@ use DOMDocument;
use DOMXPath;
use Friendica\App;
use Friendica\Content\Nav;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\PConfiguration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\Hook;
use Friendica\Core\L10n\L10n;
use Friendica\Core\Renderer;
@@ -171,12 +171,12 @@ class Page implements ArrayAccess
* @param App $app The Friendica App instance
* @param Module $module The loaded Friendica module
* @param L10n $l10n The l10n language instance
* @param Configuration $config The Friendica configuration
* @param PConfiguration $pConfig The Friendica personal configuration (for user)
* @param IConfiguration $config The Friendica configuration
* @param IPConfiguration $pConfig The Friendica personal configuration (for user)
*
* @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);

@@ -347,12 +347,12 @@ class Page implements ArrayAccess
* @param Mode $mode The current node mode
* @param Module $module The loaded Friendica module
* @param L10n $l10n The l10n language class
* @param Configuration $config The Configuration of this node
* @param PConfiguration $pconfig The personal/user configuration
* @param IConfiguration $config The Configuration of this node
* @param IPConfiguration $pconfig The personal/user configuration
*
* @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();



+ 2
- 2
src/Console/AutomaticInstallation.php View File

@@ -25,7 +25,7 @@ class AutomaticInstallation extends Console
private $configCache;

/**
* @var Config\Configuration
* @var Config\IConfiguration
*/
private $config;

@@ -89,7 +89,7 @@ Examples
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);



+ 3
- 3
src/Console/Config.php View File

@@ -4,7 +4,7 @@ namespace Friendica\Console;

use Asika\SimpleConsole\CommandArgsException;
use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use RuntimeException;

/**
@@ -40,7 +40,7 @@ class Config extends \Asika\SimpleConsole\Console
*/
private $appMode;
/**
* @var Configuration
* @var IConfiguration
*/
private $config;

@@ -78,7 +78,7 @@ 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);



+ 3
- 3
src/Console/Maintenance.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Console;

use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;

/**
* @brief Sets maintenance mode for this node
@@ -19,7 +19,7 @@ class Maintenance extends \Asika\SimpleConsole\Console
*/
private $appMode;
/**
* @var Configuration
* @var IConfiguration
*/
private $config;

@@ -52,7 +52,7 @@ 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);



+ 3
- 3
src/Console/PostUpdate.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Console;

use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\L10n\L10n;
use Friendica\Core\Update;

@@ -24,7 +24,7 @@ class PostUpdate extends \Asika\SimpleConsole\Console
*/
private $appMode;
/**
* @var Configuration
* @var IConfiguration
*/
private $config;
/**
@@ -46,7 +46,7 @@ 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);



+ 9
- 9
src/Console/ServerBlock.php View File

@@ -5,7 +5,7 @@ namespace Friendica\Console;
use Asika\SimpleConsole\CommandArgsException;
use Asika\SimpleConsole\Console;
use Console_Table;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;

/**
* @brief Manage blocked servers
@@ -20,7 +20,7 @@ class ServerBlock extends Console
protected $helpOptions = ['h', 'help', '?'];

/**
* @var Configuration
* @var IConfiguration
*/
private $config;

@@ -49,7 +49,7 @@ HELP;
return $help;
}

public function __construct(Configuration $config, $argv = null)
public function __construct(IConfiguration $config, $argv = null)
{
parent::__construct($argv);

@@ -77,9 +77,9 @@ HELP;
/**
* 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->setHeaders(['Domain', 'Reason']);
@@ -93,11 +93,11 @@ HELP;
/**
* Adds a server to the blocked list
*
* @param Configuration $config
* @param IConfiguration $config
*
* @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) {
throw new CommandArgsException('Add needs a domain and optional a reason.');
@@ -145,11 +145,11 @@ HELP;
/**
* Removes a server from the blocked list
*
* @param Configuration $config
* @param IConfiguration $config
*
* @return int The return code (0 = success, 1 = failed)
*/
private function removeBlockedServer(Configuration $config)
private function removeBlockedServer(IConfiguration $config)
{
if (count($this->args) !== 2) {
throw new CommandArgsException('Remove needs a second parameter.');


+ 3
- 3
src/Console/Typo.php View File

@@ -2,7 +2,7 @@

namespace Friendica\Console;

use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;

/**
* Tired of chasing typos and finding them after a commit.
@@ -15,7 +15,7 @@ class Typo extends \Asika\SimpleConsole\Console
protected $helpOptions = ['h', 'help', '?'];

/**
* @var Configuration
* @var IConfiguration
*/
private $config;

@@ -36,7 +36,7 @@ HELP;
return $help;
}

public function __construct(Configuration $config, array $argv = null)
public function __construct(IConfiguration $config, array $argv = null)
{
parent::__construct($argv);



+ 2
- 2
src/Core/Cache/MemcacheCache.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Core\Cache;

use Exception;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Memcache;

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


+ 2
- 2
src/Core/Cache/MemcachedCache.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Core\Cache;

use Exception;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Memcached;
use Psr\Log\LoggerInterface;

@@ -39,7 +39,7 @@ class MemcachedCache extends Cache implements IMemoryCache
*
* @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)) {
throw new Exception('Memcached class isn\'t available');


+ 2
- 2
src/Core/Cache/RedisCache.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Core\Cache;

use Exception;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Redis;

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


+ 2
- 60
src/Core/Config/Configuration.php View File

@@ -10,7 +10,7 @@ use Friendica\Model;
* - The Config-Files (loaded into the FileCache @see Cache\ConfigCache)
* - The Config-DB-Table (per Config-DB-model @see Model\Config\Config)
*/
abstract class Configuration
abstract class Configuration implements IConfiguration
{
/**
* @var Cache\ConfigCache
@@ -33,68 +33,10 @@ abstract class Configuration
}

/**
* Returns the Config Cache
*
* @return Cache\ConfigCache
* {@inheritDoc}
*/
public function getCache()
{
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);
}

+ 73
- 0
src/Core/Config/IConfiguration.php 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();
}

+ 82
- 0
src/Core/Config/IPConfiguration.php 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();
}

+ 1
- 65
src/Core/Config/PConfiguration.php 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
* increase the performance.
*/
abstract class PConfiguration
abstract class PConfiguration implements IPConfiguration
{
/**
* @var Cache\PConfigCache
@@ -42,68 +42,4 @@ abstract class PConfiguration
{
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);
}

+ 2
- 2
src/Core/L10n/L10n.php View File

@@ -2,7 +2,7 @@

namespace Friendica\Core\L10n;

use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Hook;
use Friendica\Core\Session\ISession;
use Friendica\Database\Database;
@@ -41,7 +41,7 @@ class L10n
*/
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->logger = $logger;


+ 3
- 3
src/Core/Process.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Core;

use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Psr\Log\LoggerInterface;

/**
@@ -28,7 +28,7 @@ final class Process
private $mode;

/**
* @var Configuration
* @var IConfiguration
*/
private $config;

@@ -37,7 +37,7 @@ final class Process
*/
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->mode = $mode;


+ 6
- 6
src/DI.php View File

@@ -4,8 +4,8 @@ namespace Friendica;

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


+ 3
- 3
src/Factory/CacheFactory.php View File

@@ -5,7 +5,7 @@ namespace Friendica\Factory;
use Friendica\App\BaseURL;
use Friendica\Core\Cache;
use Friendica\Core\Cache\ICache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Database\Database;
use Friendica\Util\Profiler;
use Psr\Log\LoggerInterface;
@@ -25,7 +25,7 @@ class CacheFactory
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;

@@ -49,7 +49,7 @@ class CacheFactory
*/
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->config = $config;


+ 2
- 2
src/Factory/ConfigFactory.php View File

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


+ 3
- 3
src/Factory/LockFactory.php View File

@@ -4,7 +4,7 @@ namespace Friendica\Factory;

use Friendica\Core\Cache\Cache;
use Friendica\Core\Cache\IMemoryCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock;
use Friendica\Database\Database;
use Psr\Log\LoggerInterface;
@@ -24,7 +24,7 @@ class LockFactory
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;

@@ -43,7 +43,7 @@ class LockFactory
*/
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->config = $config;


+ 5
- 5
src/Factory/LoggerFactory.php View File

@@ -2,7 +2,7 @@

namespace Friendica\Factory;

use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Logger;
use Friendica\Database\Database;
use Friendica\Network\HTTPException\InternalServerErrorException;
@@ -50,13 +50,13 @@ class LoggerFactory
* Creates a new PSR-3 compliant logger instances
*
* @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 FileSystem $fileSystem FileSystem utils
*
* @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))) {
$logger = new VoidLogger();
@@ -137,7 +137,7 @@ class LoggerFactory
*
* 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 FileSystem $fileSystem FileSystem utils
*
@@ -146,7 +146,7 @@ class LoggerFactory
* @throws InternalServerErrorException
* @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');
$stream = $config->get('system', 'dlogfile');


+ 4
- 3
src/Factory/SessionFactory.php View File

@@ -5,7 +5,7 @@ namespace Friendica\Factory;
use Friendica\App;
use Friendica\Core\Cache\Cache;
use Friendica\Core\Cache\ICache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Session;
use Friendica\Core\System;
use Friendica\Database\Database;
@@ -29,7 +29,8 @@ class SessionFactory
/**
* @param App\Mode $mode
* @param App\BaseURL $baseURL
* @param Configuration $config
* @param IConfiguration $config
* @param Cookie $cookie
* @param Database $dba
* @param ICache $cache
* @param LoggerInterface $logger
@@ -37,7 +38,7 @@ class SessionFactory
*
* @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);
$session = null;


+ 3
- 3
src/Model/Notify.php View File

@@ -6,7 +6,7 @@ use Exception;
use Friendica\App;
use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML;
use Friendica\Core\Config\PConfiguration;
use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\L10n\L10n;
use Friendica\Core\Protocol;
use Friendica\Core\System;
@@ -71,13 +71,13 @@ final class Notify
private $args;
/** @var App\BaseURL */
private $baseUrl;
/** @var PConfiguration */
/** @var IPConfiguration */
private $pConfig;
/** @var LoggerInterface */
private $logger;

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->l10n = $l10n;


+ 2
- 2
src/Model/User/Cookie.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Model\User;

use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;

/**
* Interacting with the Friendica Cookie of a user
@@ -32,7 +32,7 @@ class Cookie
/** @var array The $_COOKIE array */
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'])) {
$this->remoteAddr = $server['REMOTE_ADDR'];


+ 0
- 3
src/Module/Diaspora/Receive.php View File

@@ -2,10 +2,7 @@

namespace Friendica\Module\Diaspora;

use Friendica\App;
use Friendica\BaseModule;
use Friendica\Core\Config\Configuration;
use Friendica\Core\L10n\L10n;
use Friendica\DI;
use Friendica\Model\User;
use Friendica\Network\HTTPException;


+ 3
- 3
src/Util/Profiler.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Util;

use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
use Psr\Container\NotFoundExceptionInterface;
@@ -47,9 +47,9 @@ class Profiler implements ContainerInterface
/**
* 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->rendertime = $config->get('rendertime', 'callstack');


+ 2
- 2
static/dependencies.config.php View File

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


+ 6
- 6
tests/Util/AppMockTrait.php View File

@@ -22,7 +22,7 @@ trait AppMockTrait
protected $app;

/**
* @var MockInterface|Config\Configuration The mocked Config Cache
* @var MockInterface|Config\IConfiguration The mocked Config Cache
*/
protected $configMock;

@@ -54,11 +54,11 @@ trait AppMockTrait

$this->configMock = \Mockery::mock(Config\Cache\ConfigCache::class);
$this->dice->shouldReceive('create')
->with(Config\Cache\ConfigCache::class)
->with(Config\Cache\ConfigCache::class, [])
->andReturn($this->configMock);
$this->mode = \Mockery::mock(App\Mode::class);
$this->dice->shouldReceive('create')
->with(App\Mode::class)
->with(App\Mode::class, [])
->andReturn($this->mode);
$configModel= \Mockery::mock(\Friendica\Model\Config\Config::class);
// Disable the adapter
@@ -66,13 +66,13 @@ trait AppMockTrait

$config = new Config\JitConfiguration($this->configMock, $configModel);
$this->dice->shouldReceive('create')
->with(Config\Configuration::class)
->with(Config\IConfiguration::class, [])
->andReturn($config);

// Mocking App and most used functions
$this->app = \Mockery::mock(App::class);
$this->dice->shouldReceive('create')
->with(App::class)
->with(App::class, [])
->andReturn($this->app);
$this->app
->shouldReceive('getBasePath')
@@ -85,7 +85,7 @@ trait AppMockTrait
$this->profilerMock = \Mockery::mock(Profiler::class);
$this->profilerMock->shouldReceive('saveTimestamp');
$this->dice->shouldReceive('create')
->with(Profiler::class)
->with(Profiler::class, [])
->andReturn($this->profilerMock);

$this->app


+ 7
- 0
tests/bootstrap.php View File

@@ -3,9 +3,16 @@
* This file is loaded by PHPUnit before any test.
*/

use Dice\Dice;
use Friendica\DI;
use PHPUnit\Framework\TestCase;

// Backward compatibility
if (!class_exists(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);

+ 6
- 6
tests/functional/DependencyCheckTest.php View File

@@ -7,7 +7,7 @@ use Friendica\App;
use Friendica\Core\Cache\ICache;
use Friendica\Core\Cache\IMemoryCache;
use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\ILock;
use Friendica\Database\Database;
use Friendica\Test\Util\VFSTrait;
@@ -115,10 +115,10 @@ class dependencyCheck extends TestCase

public function testConfiguration()
{
/** @var Configuration $config */
$config = $this->dice->create(Configuration::class);
/** @var IConfiguration $config */
$config = $this->dice->create(IConfiguration::class);

$this->assertInstanceOf(Configuration::class, $config);
$this->assertInstanceOf(IConfiguration::class, $config);

$this->assertNotEmpty($config->get('database', 'username'));
}
@@ -133,8 +133,8 @@ class dependencyCheck extends TestCase

public function testDevLogger()
{
/** @var Configuration $config */
$config = $this->dice->create(Configuration::class);
/** @var IConfiguration $config */
$config = $this->dice->create(IConfiguration::class);
$config->set('system', 'dlogfile', $this->root->url() . '/friendica.log');

/** @var LoggerInterface $logger */


+ 8
- 8
tests/include/ApiTest.php View File

@@ -7,8 +7,8 @@ namespace Friendica\Test;

use Dice\Dice;
use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\PConfiguration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\Protocol;
use Friendica\Core\Session;
use Friendica\Core\Session\ISession;
@@ -47,7 +47,7 @@ class ApiTest extends DatabaseTest
/** @var App */
protected $app;

/** @var Configuration */
/** @var IConfiguration */
protected $config;

/** @var Dice */
@@ -69,8 +69,8 @@ class ApiTest extends DatabaseTest
/** @var Database $dba */
$dba = $this->dice->create(Database::class);

/** @var Configuration $config */
$this->config = $this->dice->create(Configuration::class);
/** @var IConfiguration $config */
$this->config = $this->dice->create(IConfiguration::class);

$this->config->set('system', 'url', 'http://localhost');
$this->config->set('system', 'hostname', 'localhost');
@@ -827,7 +827,7 @@ class ApiTest extends DatabaseTest
*/
public function testApiGetUserWithFrioSchema()
{
$pConfig = $this->dice->create(PConfiguration::class);
$pConfig = $this->dice->create(IPConfiguration::class);
$pConfig->set($this->selfUser['id'], 'frio', 'schema', 'red');
$user = api_get_user($this->app);
$this->assertSelfUser($user);
@@ -843,7 +843,7 @@ class ApiTest extends DatabaseTest
*/
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', 'nav_bg', '#123456');
$pConfig->set($this->selfUser['id'], 'frio', 'link_color', '#123456');
@@ -862,7 +862,7 @@ class ApiTest extends DatabaseTest
*/
public function testApiGetUserWithEmptyFrioSchema()
{
$pConfig = $this->dice->create(PConfiguration::class);
$pConfig = $this->dice->create(IPConfiguration::class);
$pConfig->set($this->selfUser['id'], 'frio', 'schema', '---');
$user = api_get_user($this->app);
$this->assertSelfUser($user);


+ 26
- 0
tests/phpunit-local.xml 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>

+ 2
- 2
tests/src/App/ModuleTest.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Test\src\App;

use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\LegacyModule;
use Friendica\Module\HTTPException\PageNotFound;
use Friendica\Module\WellKnown\HostMeta;
@@ -149,7 +149,7 @@ class ModuleTest extends DatabaseTest
*/
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();

$router = (new App\Router([]))->loadRoutes(include __DIR__ . '/../../../static/routes.config.php');


+ 2
- 2
tests/src/Console/ConfigConsoleTest.php View File

@@ -5,7 +5,7 @@ namespace Friendica\Test\src\Console;
use Friendica\App;
use Friendica\App\Mode;
use Friendica\Console\Config;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Mockery\MockInterface;

class ConfigConsoleTest extends ConsoleTest
@@ -29,7 +29,7 @@ class ConfigConsoleTest extends ConsoleTest
$this->appMode->shouldReceive('has')
->andReturn(true);

$this->configMock = \Mockery::mock(Configuration::class);
$this->configMock = \Mockery::mock(IConfiguration::class);
}

function testSetGetKeyValue()


+ 2
- 2
tests/src/Console/ServerBlockConsoleTest.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Test\src\Console;

use Friendica\Console\ServerBlock;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;

class ServerBlockConsoleTest extends ConsoleTest
{
@@ -22,7 +22,7 @@ class ServerBlockConsoleTest extends ConsoleTest
{
parent::setUp();

$this->configMock = \Mockery::mock(Configuration::class);
$this->configMock = \Mockery::mock(IConfiguration::class);
}

/**


+ 2
- 2
tests/src/Content/Text/BBCodeTest.php View File

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

$baseUrlMock = \Mockery::mock(BaseURL::class);
$baseUrlMock->shouldReceive('get')->withAnyArgs()->andReturn('friendica.local');
$this->dice->shouldReceive('create')
->with(BaseURL::class)
->with(BaseURL::class, [])
->andReturn($baseUrlMock);
}



+ 2
- 2
tests/src/Core/Cache/MemcacheCacheTest.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Test\src\Core\Cache;

use Friendica\Core\Cache\MemcacheCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;

/**
* @requires extension memcache
@@ -13,7 +13,7 @@ class MemcacheCacheTest extends MemoryCacheTest
{
protected function getInstance()
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);

$host = $_SERVER['MEMCACHE_HOST'] ?? 'localhost';



+ 2
- 2
tests/src/Core/Cache/MemcachedCacheTest.php View File

@@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Cache;

use Friendica\Core\Cache\MemcachedCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Psr\Log\NullLogger;

/**
@@ -15,7 +15,7 @@ class MemcachedCacheTest extends MemoryCacheTest
{
protected function getInstance()
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);

$host = $_SERVER['MEMCACHED_HOST'] ?? 'localhost';



+ 2
- 2
tests/src/Core/Cache/RedisCacheTest.php View File

@@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Cache;

use Friendica\Core\Cache\RedisCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;

/**
* @requires extension redis
@@ -14,7 +14,7 @@ class RedisCacheTest extends MemoryCacheTest
{
protected function getInstance()
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);

$host = $_SERVER['REDIS_HOST'] ?? 'localhost';



+ 3
- 4
tests/src/Core/Config/ConfigurationTest.php View File

@@ -3,8 +3,7 @@
namespace Friendica\Test\src\Core\Config;

use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\JitConfiguration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Model\Config\Config as ConfigModel;
use Friendica\Test\MockedTest;
use Mockery\MockInterface;
@@ -18,7 +17,7 @@ abstract class ConfigurationTest extends MockedTest
/** @var ConfigCache */
protected $configCache;

/** @var Configuration */
/** @var IConfiguration */
protected $testedConfig;

/**
@@ -47,7 +46,7 @@ abstract class ConfigurationTest extends MockedTest
}

/**
* @return Configuration
* @return IConfiguration
*/
public abstract function getInstance();



+ 4
- 4
tests/src/Core/InstallerTest.php View File

@@ -34,7 +34,7 @@ class InstallerTest extends MockedTest
$dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php');

$dice->shouldReceive('create')
->with(\Friendica\Core\L10n\L10n::class)
->with(\Friendica\Core\L10n\L10n::class, [])
->andReturn($this->l10nMock);

DI::init($dice);
@@ -362,7 +362,7 @@ class InstallerTest extends MockedTest
$this->assertTrue($install->checkImagick());

$this->assertCheckExist(1,
L10n::t('ImageMagick supports GIF'),
$this->l10nMock->t('ImageMagick supports GIF'),
'',
true,
false,
@@ -385,9 +385,9 @@ class InstallerTest extends MockedTest
// even there is no supported type, Imagick should return true (because it is not required)
$this->assertTrue($install->checkImagick());
$this->assertCheckExist(1,
L10n::t('ImageMagick supports GIF'),
$this->l10nMock->t('ImageMagick supports GIF'),
'',
false,
true,
false,
$install->getChecks());
}


+ 2
- 2
tests/src/Core/Lock/MemcacheCacheLockTest.php View File

@@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Lock;

use Friendica\Core\Cache\MemcacheCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\CacheLock;

/**
@@ -15,7 +15,7 @@ class MemcacheCacheLockTest extends LockTest
{
protected function getInstance()
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);

$host = $_SERVER['MEMCACHE_HOST'] ?? 'localhost';



+ 2
- 2
tests/src/Core/Lock/MemcachedCacheLockTest.php View File

@@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Lock;

use Friendica\Core\Cache\MemcachedCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\CacheLock;
use Psr\Log\NullLogger;

@@ -16,7 +16,7 @@ class MemcachedCacheLockTest extends LockTest
{
protected function getInstance()
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);

$host = $_SERVER['MEMCACHED_HOST'] ?? 'localhost';



+ 2
- 2
tests/src/Core/Lock/RedisCacheLockTest.php View File

@@ -4,7 +4,7 @@
namespace Friendica\Test\src\Core\Lock;

use Friendica\Core\Cache\RedisCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Lock\CacheLock;

/**
@@ -15,7 +15,7 @@ class RedisCacheLockTest extends LockTest
{
protected function getInstance()
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);

$host = $_SERVER['REDIS_HOST'] ?? 'localhost';



+ 5
- 3
tests/src/Core/Lock/SemaphoreLockTest.php View File

@@ -4,27 +4,29 @@ namespace Friendica\Test\src\Core\Lock;

use Dice\Dice;
use Friendica\App;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\JitConfiguration;
use Friendica\Core\Lock\SemaphoreLock;
use Friendica\DI;
use Mockery\MockInterface;

class SemaphoreLockTest extends LockTest
{
public function setUp()
{
/** @var MockInterface|Dice $dice */
$dice = \Mockery::mock(Dice::class)->makePartial();

$app = \Mockery::mock(App::class);
$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
->shouldReceive('get')
->with('system', 'temppath', NULL, false)
->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
DI::init($dice);


+ 3
- 3
tests/src/Model/User/CookieTest.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Testsrc\Model\User;

use Friendica\App\BaseURL;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Model\User\Cookie;
use Friendica\Test\DatabaseTest;
use Friendica\Test\Util\StaticCookie;
@@ -11,7 +11,7 @@ use Mockery\MockInterface;

class CookieTest extends DatabaseTest
{
/** @var MockInterface|Configuration */
/** @var MockInterface|IConfiguration */
private $config;
/** @var MockInterface|BaseURL */
private $baseUrl;
@@ -22,7 +22,7 @@ class CookieTest extends DatabaseTest

parent::setUp();

$this->config = \Mockery::mock(Configuration::class);
$this->config = \Mockery::mock(IConfiguration::class);
$this->baseUrl = \Mockery::mock(BaseURL::class);
}



+ 1
- 2
tests/src/Network/CurlResultTest.php View File

@@ -16,14 +16,13 @@ class CurlResultTest extends TestCase
{
parent::setUp();


/** @var Dice|MockInterface $dice */
$dice = \Mockery::mock(Dice::class)->makePartial();
$dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php');

$logger = new NullLogger();
$dice->shouldReceive('create')
->with(LoggerInterface::class)
->with(LoggerInterface::class, [])
->andReturn($logger);

DI::init($dice);


+ 7
- 7
tests/src/Util/BaseURLTest.php View File

@@ -2,7 +2,7 @@
namespace Friendica\Test\src\Util;

use Friendica\App\BaseURL;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Test\MockedTest;

class BaseURLTest extends MockedTest
@@ -173,7 +173,7 @@ class BaseURLTest extends MockedTest
*/
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('system', 'urlpath')->andReturn($input['urlPath']);
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']);
@@ -295,7 +295,7 @@ class BaseURLTest extends MockedTest
*/
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('system', 'urlpath')->andReturn($input['urlPath']);
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($input['sslPolicy']);
@@ -333,7 +333,7 @@ class BaseURLTest extends MockedTest
*/
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('system', 'urlpath')->andReturn($input['urlPath']);
$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)
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local');
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test');
$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)
{
$configMock = \Mockery::mock(Configuration::class);
$configMock = \Mockery::mock(IConfiguration::class);
$configMock->shouldReceive('get')->with('config', 'hostname')->andReturn('friendica.local');
$configMock->shouldReceive('get')->with('system', 'urlpath')->andReturn('new/test');
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn($sslPolicy);
@@ -503,7 +503,7 @@ class BaseURLTest extends MockedTest
*/
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('system', 'urlpath')->andReturn('new/test');
$configMock->shouldReceive('get')->with('system', 'ssl_policy')->andReturn(BaseURL::DEFAULT_SSL_SCHEME);


+ 2
- 2
tests/src/Util/ProfilerTest.php View File

@@ -3,7 +3,7 @@
namespace Friendica\Test\src\Util;

use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\Configuration;
use Friendica\Core\Config\IConfiguration;
use Friendica\Test\MockedTest;
use Friendica\Util\Profiler;
use Mockery\MockInterface;
@@ -235,7 +235,7 @@ class ProfilerTest extends MockedTest

$profiler->saveTimestamp(time(), 'network', 'test1');

$config = \Mockery::mock(Configuration::class);
$config = \Mockery::mock(IConfiguration::class);
$config->shouldReceive('get')
->with('system', 'profiler')
->andReturn(false)


Loading…
Cancel
Save