scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 114  →  ?path2? @ 115
/vendor/monolog/monolog/tests/Monolog/Handler/RollbarHandlerTest.php
@@ -0,0 +1,84 @@
<?php
 
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
 
namespace Monolog\Handler;
 
use Exception;
use Monolog\TestCase;
use Monolog\Logger;
use PHPUnit_Framework_MockObject_MockObject as MockObject;
 
/**
* @author Erik Johansson <erik.pm.johansson@gmail.com>
* @see https://rollbar.com/docs/notifier/rollbar-php/
*
* @coversDefaultClass Monolog\Handler\RollbarHandler
*/
class RollbarHandlerTest extends TestCase
{
/**
* @var MockObject
*/
private $rollbarNotifier;
 
/**
* @var array
*/
public $reportedExceptionArguments = null;
 
protected function setUp()
{
parent::setUp();
 
$this->setupRollbarNotifierMock();
}
 
/**
* When reporting exceptions to Rollbar the
* level has to be set in the payload data
*/
public function testExceptionLogLevel()
{
$handler = $this->createHandler();
 
$handler->handle($this->createExceptionRecord(Logger::DEBUG));
 
$this->assertEquals('debug', $this->reportedExceptionArguments['payload']['level']);
}
 
private function setupRollbarNotifierMock()
{
$this->rollbarNotifier = $this->getMockBuilder('RollbarNotifier')
->setMethods(array('report_message', 'report_exception', 'flush'))
->getMock();
 
$that = $this;
 
$this->rollbarNotifier
->expects($this->any())
->method('report_exception')
->willReturnCallback(function ($exception, $context, $payload) use ($that) {
$that->reportedExceptionArguments = compact('exception', 'context', 'payload');
});
}
 
private function createHandler()
{
return new RollbarHandler($this->rollbarNotifier, Logger::DEBUG);
}
 
private function createExceptionRecord($level = Logger::DEBUG, $message = 'test', $exception = null)
{
return $this->getRecord($level, $message, array(
'exception' => $exception ?: new Exception()
));
}
}