9 use AspectMock\Test as AspectMock;
12 use Monolog\Handler\TestHandler;
14 use PHPUnit\Framework\Assert;
21 private static $INSTANCE;
26 private $testLogHandler;
31 private function __construct()
43 if (self::$INSTANCE ==
null) {
47 return self::$INSTANCE;
57 $this->testLogHandler =
new TestHandler();
59 $testLogger->pushHandler($this->testLogHandler);
60 $mockLoggingUtil = AspectMock::double(
62 [
'getLogger' => $testLogger]
64 $property = new \ReflectionProperty(LoggingUtil::class,
'INSTANCE');
65 $property->setAccessible(
true);
66 $property->setValue($mockLoggingUtil);
79 $records = $this->testLogHandler->getRecords();
80 $record = $records[count($records)-1];
81 $this->assertEquals(strtoupper(
$type), $record[
'level_name']);
82 $this->assertEquals(
$message, $record[
'message']);
83 $this->assertEquals($context, $record[
'context']);
88 $records = $this->testLogHandler->getRecords();
89 $record = $records[count($records)-1];
90 $this->assertEquals(strtoupper(
$type), $record[
'level_name']);
91 $this->assertRegExp($regex, $record[
'message']);
92 $this->assertEquals($context, $record[
'context']);
103 AspectMock::clean(LoggingUtil::class);
validateMockLogStatmentRegex($type, $regex, $context)
validateMockLogStatement($type, $message, $context)