. * */ namespace Friendica\Test\src\Core\Logger; use Friendica\Core\Logger\Exception\LoggerArgumentException; use Friendica\Core\Logger\Exception\LoggerException; use Friendica\Core\Logger\Exception\LogLevelException; use Friendica\Core\Logger\Type\SyslogLogger; use Psr\Log\LogLevel; class SyslogLoggerTest extends AbstractLoggerTest { /** * @var SyslogLoggerWrapper */ private $logger; protected function setUp(): void { parent::setUp(); $this->introspection->shouldReceive('addClasses')->with([SyslogLogger::class]); $this->config->shouldReceive('get')->with('system', 'syslog_flags')->andReturn(SyslogLogger::DEFAULT_FLAGS) ->once(); $this->config->shouldReceive('get')->with('system', 'syslog_facility') ->andReturn(SyslogLogger::DEFAULT_FACILITY)->once(); } /** * {@inheritdoc} */ protected function getContent() { return $this->logger->getContent(); } /** * {@inheritdoc} */ protected function getInstance($level = LogLevel::DEBUG) { $this->logger = new SyslogLoggerWrapper('test', $this->config, $this->introspection, $level); return $this->logger; } /** * Test when the minimum level is not valid */ public function testWrongMinimumLevel() { $this->expectException(LogLevelException::class); $this->expectExceptionMessageMatches("/The level \".*\" is not valid./"); $logger = new SyslogLoggerWrapper('test', $this->config, $this->introspection, 'NOPE'); } /** * Test when the minimum level is not valid */ public function testWrongLogLevel() { $this->expectException(LogLevelException::class); $this->expectExceptionMessageMatches("/The level \".*\" is not valid./"); $logger = new SyslogLoggerWrapper('test', $this->config, $this->introspection); $logger->log('NOPE', 'a test'); } /** * Test the close() method * @doesNotPerformAssertions */ public function testClose() { $logger = new SyslogLoggerWrapper('test', $this->config, $this->introspection); $logger->emergency('test'); $logger->close(); // Reopened itself $logger->emergency('test'); } }