mirror of
				https://github.com/Seldaek/monolog.git
				synced 2025-10-26 10:06:10 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php declare(strict_types=1);
 | |
| 
 | |
| /*
 | |
|  * 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 Monolog\Formatter\LineFormatter;
 | |
| use Monolog\Logger;
 | |
| use Monolog\Test\TestCase;
 | |
| 
 | |
| /**
 | |
|  * @coversDefaultClass \Monolog\Handler\FleepHookHandler
 | |
|  */
 | |
| class FleepHookHandlerTest extends TestCase
 | |
| {
 | |
|     /**
 | |
|      * Default token to use in tests
 | |
|      */
 | |
|     const TOKEN = '123abc';
 | |
| 
 | |
|     /**
 | |
|      * @var FleepHookHandler
 | |
|      */
 | |
|     private $handler;
 | |
| 
 | |
|     public function setUp(): void
 | |
|     {
 | |
|         parent::setUp();
 | |
| 
 | |
|         if (!extension_loaded('openssl')) {
 | |
|             $this->markTestSkipped('This test requires openssl extension to run');
 | |
|         }
 | |
| 
 | |
|         // Create instances of the handler and logger for convenience
 | |
|         $this->handler = new FleepHookHandler(self::TOKEN);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @covers ::__construct
 | |
|      */
 | |
|     public function testConstructorSetsExpectedDefaults()
 | |
|     {
 | |
|         $this->assertEquals(Logger::DEBUG, $this->handler->getLevel());
 | |
|         $this->assertEquals(true, $this->handler->getBubble());
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @covers ::getDefaultFormatter
 | |
|      */
 | |
|     public function testHandlerUsesLineFormatterWhichIgnoresEmptyArrays()
 | |
|     {
 | |
|         $record = [
 | |
|             'message' => 'msg',
 | |
|             'context' => [],
 | |
|             'level' => Logger::DEBUG,
 | |
|             'level_name' => Logger::getLevelName(Logger::DEBUG),
 | |
|             'channel' => 'channel',
 | |
|             'datetime' => new \DateTimeImmutable(),
 | |
|             'extra' => [],
 | |
|         ];
 | |
| 
 | |
|         $expectedFormatter = new LineFormatter(null, null, true, true);
 | |
|         $expected = $expectedFormatter->format($record);
 | |
| 
 | |
|         $handlerFormatter = $this->handler->getFormatter();
 | |
|         $actual = $handlerFormatter->format($record);
 | |
| 
 | |
|         $this->assertEquals($expected, $actual, 'Empty context and extra arrays should not be rendered');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @covers ::__construct
 | |
|      */
 | |
|     public function testConnectionStringisConstructedCorrectly()
 | |
|     {
 | |
|         $this->assertEquals('ssl://fleep.io:443', $this->handler->getConnectionString());
 | |
|     }
 | |
| }
 |