Add Feedback :-)
This commit is contained in:
parent
409d909d0f
commit
f4ea74447e
14 changed files with 80 additions and 44 deletions
13
src/Core/Logger/Exception/LogLevelException.php
Normal file
13
src/Core/Logger/Exception/LogLevelException.php
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Friendica\Core\Logger\Exception;
|
||||||
|
|
||||||
|
use Throwable;
|
||||||
|
|
||||||
|
class LogLevelException extends \InvalidArgumentException
|
||||||
|
{
|
||||||
|
public function __construct($message = "", Throwable $previous = null)
|
||||||
|
{
|
||||||
|
parent::__construct($message, 500, $previous);
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,6 +24,7 @@ namespace Friendica\Core\Logger\Factory;
|
||||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||||
use Friendica\Core\Logger\Exception\LoggerException;
|
use Friendica\Core\Logger\Exception\LoggerException;
|
||||||
use Friendica\Core;
|
use Friendica\Core;
|
||||||
|
use Friendica\Core\Logger\Exception\LogLevelException;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\Util\FileSystem;
|
use Friendica\Util\FileSystem;
|
||||||
use Friendica\Util\Introspection;
|
use Friendica\Util\Introspection;
|
||||||
|
@ -54,7 +55,6 @@ class Logger
|
||||||
Core\Logger::class,
|
Core\Logger::class,
|
||||||
Profiler::class,
|
Profiler::class,
|
||||||
'Friendica\\Core\\Logger\\Type',
|
'Friendica\\Core\\Logger\\Type',
|
||||||
'Friendica\\Core\\Logger\\Type\\Monolog',
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var string The log-channel (app, worker, ...) */
|
/** @var string The log-channel (app, worker, ...) */
|
||||||
|
@ -72,10 +72,11 @@ class Logger
|
||||||
* @param IManageConfigValues $config The config
|
* @param IManageConfigValues $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
|
||||||
|
* @param string|null $minLevel (optional) Override minimum Loglevel to log
|
||||||
*
|
*
|
||||||
* @return LoggerInterface The PSR-3 compliant logger instance
|
* @return LoggerInterface The PSR-3 compliant logger instance
|
||||||
*/
|
*/
|
||||||
public function create(Database $database, IManageConfigValues $config, Profiler $profiler, FileSystem $fileSystem): LoggerInterface
|
public function create(Database $database, IManageConfigValues $config, Profiler $profiler, FileSystem $fileSystem, ?string $minLevel = null): LoggerInterface
|
||||||
{
|
{
|
||||||
if (empty($config->get('system', 'debugging', false))) {
|
if (empty($config->get('system', 'debugging', false))) {
|
||||||
$logger = new NullLogger();
|
$logger = new NullLogger();
|
||||||
|
@ -84,8 +85,8 @@ class Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
$introspection = new Introspection(self::$ignoreClassList);
|
$introspection = new Introspection(self::$ignoreClassList);
|
||||||
$level = $config->get('system', 'loglevel');
|
$minLevel = $minLevel ?? $config->get('system', 'loglevel');
|
||||||
$loglevel = self::mapLegacyConfigDebugLevel((string)$level);
|
$loglevel = self::mapLegacyConfigDebugLevel((string)$minLevel);
|
||||||
|
|
||||||
switch ($config->get('system', 'logger_config', 'stream')) {
|
switch ($config->get('system', 'logger_config', 'stream')) {
|
||||||
case 'monolog':
|
case 'monolog':
|
||||||
|
@ -106,18 +107,25 @@ class Logger
|
||||||
static::addStreamHandler($logger, $stream, $loglevel);
|
static::addStreamHandler($logger, $stream, $loglevel);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
// No Logger ..
|
// No Logger ..
|
||||||
/// @todo isn't it possible to give the admin any hint about this wrong configuration?
|
try {
|
||||||
|
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
// No logger ...
|
||||||
$logger = new NullLogger();
|
$logger = new NullLogger();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'syslog':
|
case 'syslog':
|
||||||
try {
|
try {
|
||||||
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
||||||
|
} catch (LogLevelException $exception) {
|
||||||
|
// If there's a wrong config value for loglevel, try again with standard
|
||||||
|
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||||
|
$logger->warning('Invalid loglevel set in config.', ['loglevel' => $loglevel]);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
// No logger ...
|
// No logger ...
|
||||||
/// @todo isn't it possible to give the admin any hint about this wrong configuration?
|
|
||||||
$logger = new NullLogger();
|
$logger = new NullLogger();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -129,15 +137,26 @@ class Logger
|
||||||
if (!is_file($stream) || is_writable($stream)) {
|
if (!is_file($stream) || is_writable($stream)) {
|
||||||
try {
|
try {
|
||||||
$logger = new StreamLogger($this->channel, $stream, $introspection, $fileSystem, $loglevel);
|
$logger = new StreamLogger($this->channel, $stream, $introspection, $fileSystem, $loglevel);
|
||||||
|
} catch (LogLevelException $exception) {
|
||||||
|
// If there's a wrong config value for loglevel, try again with standard
|
||||||
|
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||||
|
$logger->warning('Invalid loglevel set in config.', ['loglevel' => $loglevel]);
|
||||||
} catch (\Throwable $t) {
|
} catch (\Throwable $t) {
|
||||||
// No logger ...
|
// No logger ...
|
||||||
/// @todo isn't it possible to give the admin any hint about this wrong configuration?
|
|
||||||
$logger = new NullLogger();
|
$logger = new NullLogger();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/// @todo isn't it possible to give the admin any hint about this wrong configuration?
|
try {
|
||||||
|
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
||||||
|
} catch (LogLevelException $exception) {
|
||||||
|
// If there's a wrong config value for loglevel, try again with standard
|
||||||
|
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||||
|
$logger->warning('Invalid loglevel set in config.', ['loglevel' => $loglevel]);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
// No logger ...
|
||||||
$logger = new NullLogger();
|
$logger = new NullLogger();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace Friendica\Core\Logger\Type;
|
||||||
|
|
||||||
use Friendica\Core\Logger\Exception\LoggerArgumentException;
|
use Friendica\Core\Logger\Exception\LoggerArgumentException;
|
||||||
use Friendica\Core\Logger\Exception\LoggerException;
|
use Friendica\Core\Logger\Exception\LoggerException;
|
||||||
|
use Friendica\Core\Logger\Exception\LogLevelException;
|
||||||
use Friendica\Util\DateTimeFormat;
|
use Friendica\Util\DateTimeFormat;
|
||||||
use Friendica\Util\FileSystem;
|
use Friendica\Util\FileSystem;
|
||||||
use Friendica\Util\Introspection;
|
use Friendica\Util\Introspection;
|
||||||
|
@ -83,6 +84,7 @@ class StreamLogger extends AbstractLogger
|
||||||
* @param string $level The minimum loglevel at which this logger will be triggered
|
* @param string $level The minimum loglevel at which this logger will be triggered
|
||||||
*
|
*
|
||||||
* @throws LoggerArgumentException
|
* @throws LoggerArgumentException
|
||||||
|
* @throws LogLevelException
|
||||||
*/
|
*/
|
||||||
public function __construct($channel, $stream, Introspection $introspection, FileSystem $fileSystem, string $level = LogLevel::DEBUG)
|
public function __construct($channel, $stream, Introspection $introspection, FileSystem $fileSystem, string $level = LogLevel::DEBUG)
|
||||||
{
|
{
|
||||||
|
@ -102,7 +104,7 @@ class StreamLogger extends AbstractLogger
|
||||||
if (array_key_exists($level, $this->levelToInt)) {
|
if (array_key_exists($level, $this->levelToInt)) {
|
||||||
$this->logLevel = $this->levelToInt[$level];
|
$this->logLevel = $this->levelToInt[$level];
|
||||||
} else {
|
} else {
|
||||||
throw new LoggerArgumentException(sprintf('The level "%s" is not valid.', $level));
|
throw new LogLevelException(sprintf('The level "%s" is not valid.', $level));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->checkStream();
|
$this->checkStream();
|
||||||
|
@ -127,12 +129,12 @@ class StreamLogger extends AbstractLogger
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @throws LoggerException
|
* @throws LoggerException
|
||||||
* @throws LoggerArgumentException
|
* @throws LogLevelException
|
||||||
*/
|
*/
|
||||||
protected function addEntry($level, string $message, array $context = [])
|
protected function addEntry($level, string $message, array $context = [])
|
||||||
{
|
{
|
||||||
if (!array_key_exists($level, $this->levelToInt)) {
|
if (!array_key_exists($level, $this->levelToInt)) {
|
||||||
throw new LoggerArgumentException(sprintf('The level "%s" is not valid.', $level));
|
throw new LogLevelException(sprintf('The level "%s" is not valid.', $level));
|
||||||
}
|
}
|
||||||
|
|
||||||
$logLevel = $this->levelToInt[$level];
|
$logLevel = $this->levelToInt[$level];
|
||||||
|
|
|
@ -21,10 +21,9 @@
|
||||||
|
|
||||||
namespace Friendica\Core\Logger\Type;
|
namespace Friendica\Core\Logger\Type;
|
||||||
|
|
||||||
use Friendica\Core\Logger\Exception\LoggerArgumentException;
|
|
||||||
use Friendica\Core\Logger\Exception\LoggerException;
|
use Friendica\Core\Logger\Exception\LoggerException;
|
||||||
|
use Friendica\Core\Logger\Exception\LogLevelException;
|
||||||
use Friendica\Util\Introspection;
|
use Friendica\Util\Introspection;
|
||||||
use Psr\Log\InvalidArgumentException;
|
|
||||||
use Psr\Log\LogLevel;
|
use Psr\Log\LogLevel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -99,7 +98,8 @@ class SyslogLogger extends AbstractLogger
|
||||||
* @param int $logOpts Indicates what logging options will be used when generating a log message
|
* @param int $logOpts Indicates what logging options will be used when generating a log message
|
||||||
* @param int $logFacility Used to specify what type of program is logging the message
|
* @param int $logFacility Used to specify what type of program is logging the message
|
||||||
*
|
*
|
||||||
* @throws LoggerArgumentException
|
* @throws LogLevelException
|
||||||
|
* @throws LoggerException
|
||||||
*/
|
*/
|
||||||
public function __construct($channel, Introspection $introspection, string $level = LogLevel::NOTICE, int $logOpts = LOG_PID, int $logFacility = LOG_USER)
|
public function __construct($channel, Introspection $introspection, string $level = LogLevel::NOTICE, int $logOpts = LOG_PID, int $logFacility = LOG_USER)
|
||||||
{
|
{
|
||||||
|
@ -117,7 +117,7 @@ class SyslogLogger extends AbstractLogger
|
||||||
* @param string $message
|
* @param string $message
|
||||||
* @param array $context
|
* @param array $context
|
||||||
*
|
*
|
||||||
* @throws LoggerArgumentException in case the level isn't valid
|
* @throws LogLevelException in case the level isn't valid
|
||||||
* @throws LoggerException In case the syslog cannot be opened for writing
|
* @throws LoggerException In case the syslog cannot be opened for writing
|
||||||
*/
|
*/
|
||||||
protected function addEntry($level, string $message, array $context = [])
|
protected function addEntry($level, string $message, array $context = [])
|
||||||
|
@ -139,12 +139,12 @@ class SyslogLogger extends AbstractLogger
|
||||||
*
|
*
|
||||||
* @return int The SysLog priority
|
* @return int The SysLog priority
|
||||||
*
|
*
|
||||||
* @throws LoggerArgumentException If the loglevel isn't valid
|
* @throws LogLevelException If the loglevel isn't valid
|
||||||
*/
|
*/
|
||||||
public function mapLevelToPriority(string $level): int
|
public function mapLevelToPriority(string $level): int
|
||||||
{
|
{
|
||||||
if (!array_key_exists($level, $this->logLevels)) {
|
if (!array_key_exists($level, $this->logLevels)) {
|
||||||
throw new LoggerArgumentException(sprintf('The level "%s" is not valid.', $level));
|
throw new LogLevelException(sprintf('The level "%s" is not valid.', $level));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->logLevels[$level];
|
return $this->logLevels[$level];
|
||||||
|
|
|
@ -415,11 +415,11 @@ abstract class DI
|
||||||
//
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Network\HTTPClient\Capability\ICanRequestPerHttp
|
* @return Network\HTTPClient\Capability\ICanSendHttpRequests
|
||||||
*/
|
*/
|
||||||
public static function httpClient()
|
public static function httpClient()
|
||||||
{
|
{
|
||||||
return self::$dice->create(Network\HTTPClient\Capability\ICanRequestPerHttp::class);
|
return self::$dice->create(Network\HTTPClient\Capability\ICanSendHttpRequests::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -26,7 +26,7 @@ use GuzzleHttp\Exception\TransferException;
|
||||||
/**
|
/**
|
||||||
* Interface for calling HTTP requests and returning their responses
|
* Interface for calling HTTP requests and returning their responses
|
||||||
*/
|
*/
|
||||||
interface ICanRequestPerHttp
|
interface ICanSendHttpRequests
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Fetches the content of an URL
|
* Fetches the content of an URL
|
|
@ -24,7 +24,7 @@ namespace Friendica\Network\HTTPClient\Client;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Network\HTTPClient\Response\CurlResult;
|
use Friendica\Network\HTTPClient\Response\CurlResult;
|
||||||
use Friendica\Network\HTTPClient\Response\GuzzleResponse;
|
use Friendica\Network\HTTPClient\Response\GuzzleResponse;
|
||||||
use Friendica\Network\HTTPClient\Capability\ICanRequestPerHttp;
|
use Friendica\Network\HTTPClient\Capability\ICanSendHttpRequests;
|
||||||
use Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses;
|
use Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses;
|
||||||
use Friendica\Network\HTTPException\InternalServerErrorException;
|
use Friendica\Network\HTTPException\InternalServerErrorException;
|
||||||
use Friendica\Util\Network;
|
use Friendica\Util\Network;
|
||||||
|
@ -42,7 +42,7 @@ use Psr\Log\LoggerInterface;
|
||||||
/**
|
/**
|
||||||
* Performs HTTP requests to a given URL
|
* Performs HTTP requests to a given URL
|
||||||
*/
|
*/
|
||||||
class HttpClientCan implements ICanRequestPerHttp
|
class HttpClient implements ICanSendHttpRequests
|
||||||
{
|
{
|
||||||
/** @var LoggerInterface */
|
/** @var LoggerInterface */
|
||||||
private $logger;
|
private $logger;
|
|
@ -6,7 +6,7 @@ use Friendica\App;
|
||||||
use Friendica\BaseFactory;
|
use Friendica\BaseFactory;
|
||||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||||
use Friendica\Network\HTTPClient\Client;
|
use Friendica\Network\HTTPClient\Client;
|
||||||
use Friendica\Network\HTTPClient\Capability\ICanRequestPerHttp;
|
use Friendica\Network\HTTPClient\Capability\ICanSendHttpRequests;
|
||||||
use Friendica\Util\Profiler;
|
use Friendica\Util\Profiler;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
use GuzzleHttp;
|
use GuzzleHttp;
|
||||||
|
@ -42,9 +42,9 @@ class HttpClient extends BaseFactory
|
||||||
*
|
*
|
||||||
* @param HandlerStack|null $handlerStack (optional) A handler replacement (just usefull at test environments)
|
* @param HandlerStack|null $handlerStack (optional) A handler replacement (just usefull at test environments)
|
||||||
*
|
*
|
||||||
* @return ICanRequestPerHttp
|
* @return ICanSendHttpRequests
|
||||||
*/
|
*/
|
||||||
public function createClient(HandlerStack $handlerStack = null): ICanRequestPerHttp
|
public function createClient(HandlerStack $handlerStack = null): ICanSendHttpRequests
|
||||||
{
|
{
|
||||||
$proxy = $this->config->get('system', 'proxy');
|
$proxy = $this->config->get('system', 'proxy');
|
||||||
|
|
||||||
|
@ -108,6 +108,6 @@ class HttpClient extends BaseFactory
|
||||||
// Some websites test the browser for cookie support, so this enhances results.
|
// Some websites test the browser for cookie support, so this enhances results.
|
||||||
$resolver->setCookieJar(get_temppath() .'/resolver-cookie-' . Strings::getRandomName(10));
|
$resolver->setCookieJar(get_temppath() .'/resolver-cookie-' . Strings::getRandomName(10));
|
||||||
|
|
||||||
return new Client\HttpClientCan($logger, $this->profiler, $guzzle, $resolver);
|
return new Client\HttpClient($logger, $this->profiler, $guzzle, $resolver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ return [
|
||||||
'index',
|
'index',
|
||||||
],
|
],
|
||||||
'call' => [
|
'call' => [
|
||||||
['create', ['index'], Dice::CHAIN_CALL],
|
['create', [], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'$devLogger' => [
|
'$devLogger' => [
|
||||||
|
@ -224,7 +224,7 @@ return [
|
||||||
['getBackend', [], Dice::CHAIN_CALL],
|
['getBackend', [], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
Network\HTTPClient\Capability\ICanRequestPerHttp::class => [
|
Network\HTTPClient\Capability\ICanSendHttpRequests::class => [
|
||||||
'instanceOf' => Network\HTTPClient\Factory\HttpClient::class,
|
'instanceOf' => Network\HTTPClient\Factory\HttpClient::class,
|
||||||
'call' => [
|
'call' => [
|
||||||
['createClient', [], Dice::CHAIN_CALL],
|
['createClient', [], Dice::CHAIN_CALL],
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace Friendica\Test;
|
||||||
use Dice\Dice;
|
use Dice\Dice;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use Friendica\Network\HTTPClient\Factory\HttpClient;
|
use Friendica\Network\HTTPClient\Factory\HttpClient;
|
||||||
use Friendica\Network\HTTPClient\Capability\ICanRequestPerHttp;
|
use Friendica\Network\HTTPClient\Capability\ICanSendHttpRequests;
|
||||||
use GuzzleHttp\HandlerStack;
|
use GuzzleHttp\HandlerStack;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -49,7 +49,7 @@ trait DiceHttpMockHandlerTrait
|
||||||
|
|
||||||
$dice = DI::getDice();
|
$dice = DI::getDice();
|
||||||
// addRule() clones the current instance and returns a new one, so no concurrency problems :-)
|
// addRule() clones the current instance and returns a new one, so no concurrency problems :-)
|
||||||
$newDice = $dice->addRule(ICanRequestPerHttp::class, [
|
$newDice = $dice->addRule(ICanSendHttpRequests::class, [
|
||||||
'instanceOf' => HttpClient::class,
|
'instanceOf' => HttpClient::class,
|
||||||
'call' => [
|
'call' => [
|
||||||
['createClient', [$this->httpRequestHandler], Dice::CHAIN_CALL],
|
['createClient', [$this->httpRequestHandler], Dice::CHAIN_CALL],
|
||||||
|
|
|
@ -26,7 +26,7 @@ use Dice\Dice;
|
||||||
use Friendica\Core\Config\ValueObject\Cache;
|
use Friendica\Core\Config\ValueObject\Cache;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses;
|
use Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses;
|
||||||
use Friendica\Network\HTTPClient\Capability\ICanRequestPerHttp;
|
use Friendica\Network\HTTPClient\Capability\ICanSendHttpRequests;
|
||||||
use Friendica\Test\MockedTest;
|
use Friendica\Test\MockedTest;
|
||||||
use Friendica\Test\Util\VFSTrait;
|
use Friendica\Test\Util\VFSTrait;
|
||||||
use Mockery;
|
use Mockery;
|
||||||
|
@ -331,7 +331,7 @@ class InstallerTest extends MockedTest
|
||||||
->andReturn('test Error');
|
->andReturn('test Error');
|
||||||
|
|
||||||
// Mocking the CURL Request
|
// Mocking the CURL Request
|
||||||
$networkMock = Mockery::mock(ICanRequestPerHttp::class);
|
$networkMock = Mockery::mock(ICanSendHttpRequests::class);
|
||||||
$networkMock
|
$networkMock
|
||||||
->shouldReceive('fetchFull')
|
->shouldReceive('fetchFull')
|
||||||
->with('https://test/install/testrewrite')
|
->with('https://test/install/testrewrite')
|
||||||
|
@ -342,7 +342,7 @@ class InstallerTest extends MockedTest
|
||||||
->andReturn($IHTTPResult);
|
->andReturn($IHTTPResult);
|
||||||
|
|
||||||
$this->dice->shouldReceive('create')
|
$this->dice->shouldReceive('create')
|
||||||
->with(ICanRequestPerHttp::class)
|
->with(ICanSendHttpRequests::class)
|
||||||
->andReturn($networkMock);
|
->andReturn($networkMock);
|
||||||
|
|
||||||
DI::init($this->dice);
|
DI::init($this->dice);
|
||||||
|
@ -378,7 +378,7 @@ class InstallerTest extends MockedTest
|
||||||
->andReturn('204');
|
->andReturn('204');
|
||||||
|
|
||||||
// Mocking the CURL Request
|
// Mocking the CURL Request
|
||||||
$networkMock = Mockery::mock(ICanRequestPerHttp::class);
|
$networkMock = Mockery::mock(ICanSendHttpRequests::class);
|
||||||
$networkMock
|
$networkMock
|
||||||
->shouldReceive('fetchFull')
|
->shouldReceive('fetchFull')
|
||||||
->with('https://test/install/testrewrite')
|
->with('https://test/install/testrewrite')
|
||||||
|
@ -389,7 +389,7 @@ class InstallerTest extends MockedTest
|
||||||
->andReturn($IHTTPResultW);
|
->andReturn($IHTTPResultW);
|
||||||
|
|
||||||
$this->dice->shouldReceive('create')
|
$this->dice->shouldReceive('create')
|
||||||
->with(ICanRequestPerHttp::class)
|
->with(ICanSendHttpRequests::class)
|
||||||
->andReturn($networkMock);
|
->andReturn($networkMock);
|
||||||
|
|
||||||
DI::init($this->dice);
|
DI::init($this->dice);
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace Friendica\Test\src\Core\Logger;
|
||||||
|
|
||||||
use Friendica\Core\Logger\Exception\LoggerArgumentException;
|
use Friendica\Core\Logger\Exception\LoggerArgumentException;
|
||||||
use Friendica\Core\Logger\Exception\LoggerException;
|
use Friendica\Core\Logger\Exception\LoggerException;
|
||||||
|
use Friendica\Core\Logger\Exception\LogLevelException;
|
||||||
use Friendica\Util\FileSystem;
|
use Friendica\Util\FileSystem;
|
||||||
use Friendica\Test\Util\VFSTrait;
|
use Friendica\Test\Util\VFSTrait;
|
||||||
use Friendica\Core\Logger\Type\StreamLogger;
|
use Friendica\Core\Logger\Type\StreamLogger;
|
||||||
|
@ -160,7 +161,7 @@ class StreamLoggerTest extends AbstractLoggerTest
|
||||||
*/
|
*/
|
||||||
public function testWrongMinimumLevel()
|
public function testWrongMinimumLevel()
|
||||||
{
|
{
|
||||||
$this->expectException(LoggerArgumentException::class);
|
$this->expectException(LogLevelException::class);
|
||||||
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
||||||
|
|
||||||
$logger = new StreamLogger('test', 'file.text', $this->introspection, $this->fileSystem, 'NOPE');
|
$logger = new StreamLogger('test', 'file.text', $this->introspection, $this->fileSystem, 'NOPE');
|
||||||
|
@ -171,7 +172,7 @@ class StreamLoggerTest extends AbstractLoggerTest
|
||||||
*/
|
*/
|
||||||
public function testWrongLogLevel()
|
public function testWrongLogLevel()
|
||||||
{
|
{
|
||||||
$this->expectException(LoggerArgumentException::class);
|
$this->expectException(LogLevelException::class);
|
||||||
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
||||||
|
|
||||||
$logfile = vfsStream::newFile('friendica.log')
|
$logfile = vfsStream::newFile('friendica.log')
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace Friendica\Test\src\Core\Logger;
|
||||||
|
|
||||||
use Friendica\Core\Logger\Exception\LoggerArgumentException;
|
use Friendica\Core\Logger\Exception\LoggerArgumentException;
|
||||||
use Friendica\Core\Logger\Exception\LoggerException;
|
use Friendica\Core\Logger\Exception\LoggerException;
|
||||||
|
use Friendica\Core\Logger\Exception\LogLevelException;
|
||||||
use Friendica\Core\Logger\Type\SyslogLogger;
|
use Friendica\Core\Logger\Type\SyslogLogger;
|
||||||
use Psr\Log\LogLevel;
|
use Psr\Log\LogLevel;
|
||||||
|
|
||||||
|
@ -64,7 +65,7 @@ class SyslogLoggerTest extends AbstractLoggerTest
|
||||||
*/
|
*/
|
||||||
public function testWrongMinimumLevel()
|
public function testWrongMinimumLevel()
|
||||||
{
|
{
|
||||||
$this->expectException(LoggerArgumentException::class);
|
$this->expectException(LogLevelException::class);
|
||||||
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
||||||
|
|
||||||
$logger = new SyslogLoggerWrapper('test', $this->introspection, 'NOPE');
|
$logger = new SyslogLoggerWrapper('test', $this->introspection, 'NOPE');
|
||||||
|
@ -75,7 +76,7 @@ class SyslogLoggerTest extends AbstractLoggerTest
|
||||||
*/
|
*/
|
||||||
public function testWrongLogLevel()
|
public function testWrongLogLevel()
|
||||||
{
|
{
|
||||||
$this->expectException(LoggerArgumentException::class);
|
$this->expectException(LogLevelException::class);
|
||||||
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
|
||||||
|
|
||||||
$logger = new SyslogLoggerWrapper('test', $this->introspection);
|
$logger = new SyslogLoggerWrapper('test', $this->introspection);
|
||||||
|
|
|
@ -40,7 +40,7 @@ use Friendica\DI;
|
||||||
use Friendica\Core\Config\Factory\Config;
|
use Friendica\Core\Config\Factory\Config;
|
||||||
use Friendica\Core\Config\Repository;
|
use Friendica\Core\Config\Repository;
|
||||||
use Friendica\Core\Storage\Type;
|
use Friendica\Core\Storage\Type;
|
||||||
use Friendica\Network\HTTPClient\Client\HttpClientCan;
|
use Friendica\Network\HTTPClient\Client\HttpClient;
|
||||||
use Friendica\Test\DatabaseTest;
|
use Friendica\Test\DatabaseTest;
|
||||||
use Friendica\Test\Util\Database\StaticDatabase;
|
use Friendica\Test\Util\Database\StaticDatabase;
|
||||||
use Friendica\Test\Util\VFSTrait;
|
use Friendica\Test\Util\VFSTrait;
|
||||||
|
@ -61,7 +61,7 @@ class StorageManagerTest extends DatabaseTest
|
||||||
private $logger;
|
private $logger;
|
||||||
/** @var L10n */
|
/** @var L10n */
|
||||||
private $l10n;
|
private $l10n;
|
||||||
/** @var HttpClientCan */
|
/** @var HttpClient */
|
||||||
private $httpRequest;
|
private $httpRequest;
|
||||||
|
|
||||||
protected function setUp(): void
|
protected function setUp(): void
|
||||||
|
@ -93,7 +93,7 @@ class StorageManagerTest extends DatabaseTest
|
||||||
|
|
||||||
$this->l10n = \Mockery::mock(L10n::class);
|
$this->l10n = \Mockery::mock(L10n::class);
|
||||||
|
|
||||||
$this->httpRequest = \Mockery::mock(HttpClientCan::class);
|
$this->httpRequest = \Mockery::mock(HttpClient::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown(): void
|
protected function tearDown(): void
|
||||||
|
|
Loading…
Reference in a new issue