Skip to content
Snippets Groups Projects
Commit b713e752 authored by dyszczo's avatar dyszczo
Browse files

facade tests and teaks

parent 9f68dc1f
No related branches found
No related tags found
2 merge requests!3Devel,!2Feature/tests
Pipeline #5872 passed
......@@ -45,15 +45,16 @@ class LoggerFacade
*
* @param WP_Error $e Error to log.
* @param array $backtrace Backtrace information with snapshot of error env.
* @param array $context Context to log
* @param string $level Level of error.
*
* @see http://php.net/manual/en/function.debug-backtrace.php
*/
public static function log_wp_error(WP_Error $e, array $backtrace, $level = LogLevel::ERROR)
public static function log_wp_error(WP_Error $e, array $backtrace, array $context = array(), $level = LogLevel::ERROR)
{
$message = 'Error: ' . get_class($e) . ' Code: ' . $e->get_error_code() . ' Message: ' . $e->get_error_message();
self::log_message_backtrace($message, $backtrace, $level);
self::log_message_backtrace($message, $backtrace, $context, $level);
}
/**
......@@ -80,12 +81,15 @@ class LoggerFacade
public static function log_message(
$message,
array $context = array(),
$source = 'unknown',
$source = null,
$level = LogLevel::DEBUG
) {
$logger = self::getLogger();
$logger->log($level, $message, array_merge($context, ['source' => $source]));
if ($source !== null) {
$context = array_merge($context, ['source' => $source]);
}
$logger->log($level, $message, $context);
}
/**
......@@ -95,10 +99,15 @@ class LoggerFacade
* @param array $backtrace Backtrace information with snapshot of error env.
* @param string $level Level of error.
*/
public static function log_message_backtrace($message, array $backtrace, $level = LogLevel::DEBUG)
public static function log_message_backtrace($message, array $backtrace, array $context = array(), $level = LogLevel::DEBUG)
{
$message .= ' Backtrace: ' . json_encode($backtrace);
self::log_message($message, $backtrace[self::BACKTRACE_FILENAME_KEY], $level);
$source = null;
if (isset($backtrace[self::BACKTRACE_FILENAME_KEY])) {
$source = $backtrace[self::BACKTRACE_FILENAME_KEY];
}
self::log_message($message, $context, $source, $level);
}
}
<?php
use Monolog\Handler\AbstractHandler;
use WPDesk\Logger\LoggerFacade;
use WPDesk\Logger\WPDeskLoggerFactory;
......@@ -14,5 +15,48 @@ class TestLoggerFacade extends WP_UnitTestCase {
$logger = LoggerFacade::getLogger();
$this->assertSame($logger, LoggerFacade::get_logger(), "Should return same logger instance");
}
/**
* @return void
*/
private function expectThatLoggerGetsHit() {
$logger = LoggerFacade::getLogger();
$listenHandle = $this->createMock(AbstractHandler::class);
$listenHandle
->expects($this->atLeastOnce())
->method('handle')
->willReturn(true);
$listenHandle
->expects($this->atLeastOnce())
->method('isHandling')
->willReturn(true);
$logger->pushHandler($listenHandle);
}
public function testWPError() {
$this->expectThatLoggerGetsHit();
LoggerFacade::log_wp_error(new \WP_Error(), debug_backtrace());
}
public function testLogException() {
$this->expectThatLoggerGetsHit();
LoggerFacade::log_exception(new RuntimeException());
}
public function testLogMessageBacktrace() {
$this->expectThatLoggerGetsHit();
LoggerFacade::log_message_backtrace('whatever', debug_backtrace());
}
public function testLogMessage() {
$this->expectThatLoggerGetsHit();
LoggerFacade::log_message('whatever');
}
}
......@@ -14,6 +14,9 @@ class TestWPDeskLoggerFactory extends WP_UnitTestCase
$this->setWordpressOptionsForWPDeskLoggerToWork();
}
/**
* @return void
*/
private function setWordpressOptionsForWPDeskLoggerToWork()
{
update_option('wpdesk_helper_options', [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment