From 086d719dc61d2c531e0b9fa51678b8e2f34dafdb Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Fri, 15 Nov 2024 17:22:24 +0200 Subject: Improve tests. --- tests/FormatTest.php | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 123 insertions(+), 1 deletion(-) (limited to 'tests/FormatTest.php') diff --git a/tests/FormatTest.php b/tests/FormatTest.php index 16f765d..06f30a3 100644 --- a/tests/FormatTest.php +++ b/tests/FormatTest.php @@ -27,6 +27,22 @@ class FormatTest extends MockeryTestCase $this->assertEquals($expectedJson, $serializedMessage); } + public function testJsonStr(): void + { + $message = new Message( + level: Level::Info, + trace: debug_backtrace()[0], + context: "test", + ); + + $format = Format::JSON; + $serializedMessage = $format->serialize($message); + $full_date = (new DateTime())->format('Y-m-d H:i:s'); + $expectedJson = '{"date":"' . $full_date . '","level":"INFO","message":"","context":"test","trace":{"file":"TestCase","line":1182}}'; + + $this->assertEquals($expectedJson, $serializedMessage); + } + public function testIntelliJ(): void { $message = new Message( @@ -60,6 +76,40 @@ class FormatTest extends MockeryTestCase $this->assertEquals($expected, $serializedMessage); } + public function testIntelliJContextStr(): void + { + $message = new Message( + level: Level::Info, + trace: debug_backtrace()[0], + content: "hello world", + context: "hello world", + ); + + $format = Format::IntelliJ; + $serializedMessage = $format->serialize($message); + $full_date = (new DateTime())->format('Y-m-d H:i:s'); + $expected = "{$full_date} [1182] INFO - TestCase - hello world - hello world"; + + $this->assertEquals($expected, $serializedMessage); + } + + public function testIntelliJContextNumeric(): void + { + $message = new Message( + level: Level::Info, + trace: debug_backtrace()[0], + content: "hello world", + context: 123456789, + ); + + $format = Format::IntelliJ; + $serializedMessage = $format->serialize($message); + $full_date = (new DateTime())->format('Y-m-d H:i:s'); + $expected = "{$full_date} [1182] INFO - TestCase - hello world - 123456789"; + + $this->assertEquals($expected, $serializedMessage); + } + public function testLaravel(): void { $message = new Message( @@ -93,6 +143,40 @@ class FormatTest extends MockeryTestCase $this->assertEquals($expected, $serializedMessage); } + public function testLaravelContextStr(): void + { + $message = new Message( + level: Level::Info, + trace: debug_backtrace()[0], + content: "hello world", + context: "hello world", + ); + + $format = Format::Laravel; + $serializedMessage = $format->serialize($message); + $full_date = (new DateTime())->format('Y-m-d H:i:s'); + $expected = "[{$full_date}] TestCase.INFO: hello world - hello world"; + + $this->assertEquals($expected, $serializedMessage); + } + + public function testLaravelContextNumeric(): void + { + $message = new Message( + level: Level::Info, + trace: debug_backtrace()[0], + content: "hello world", + context: 123456789, + ); + + $format = Format::Laravel; + $serializedMessage = $format->serialize($message); + $full_date = (new DateTime())->format('Y-m-d H:i:s'); + $expected = "[{$full_date}] TestCase.INFO: hello world - 123456789"; + + $this->assertEquals($expected, $serializedMessage); + } + public function testSymfony(): void { $mock_datetime = Mockery::mock('DateTime'); @@ -120,13 +204,51 @@ class FormatTest extends MockeryTestCase $message = new Message( level: Level::Info, trace: debug_backtrace()[0], + content: "hello world", context: "hello world", ); $format = Format::Symfony; $serializedMessage = $format->serialize($message, $mock_datetime); $full_date = $mock_datetime->format('Y-m-d\TH:i:s.uP'); - $expected = "[$full_date] TestCase.INFO: hello world"; + $expected = "[$full_date] TestCase.INFO: hello world - hello world"; + + $this->assertEquals($expected, $serializedMessage); + } + + public function testSymfonyNoContentOrContext(): void + { + $mock_datetime = Mockery::mock('DateTime'); + $mock_datetime->shouldReceive('format')->andReturn('2020-01-01T00:00:00.000000P'); + + $message = new Message( + level: Level::Info, + trace: debug_backtrace()[0], + context: [], + ); + + $format = Format::Symfony; + $serializedMessage = $format->serialize($message, $mock_datetime); + $full_date = $mock_datetime->format('Y-m-d\TH:i:s.uP'); + $expected = "[$full_date] TestCase.INFO: "; + + $this->assertEquals($expected, $serializedMessage); + } + + public function testSymfonyNoContext(): void + { + $mock_datetime = Mockery::mock('DateTime'); + $mock_datetime->shouldReceive('format')->andReturn('2020-01-01T00:00:00.000000P'); + + $message = new Message( + level: Level::Info, + trace: debug_backtrace()[0], + ); + + $format = Format::Symfony; + $serializedMessage = $format->serialize($message, $mock_datetime); + $full_date = $mock_datetime->format('Y-m-d\TH:i:s.uP'); + $expected = "[$full_date] TestCase.INFO: "; $this->assertEquals($expected, $serializedMessage); } -- cgit v1.2.3