88use C10k \MessengerLoggingBundle \Logging \MessengerLogContextBuilder ;
99use C10k \MessengerLoggingBundle \Stamp \MessageUuidStamp ;
1010use C10k \MessengerLoggingBundle \Tests \Fixtures \DummyMessage ;
11- use C10k \MessengerLoggingBundle \Tests \Fixtures \InMemoryLogger ;
11+ use C10k \MessengerLoggingBundle \Tests \Fixtures \MonologTestLoggerTrait ;
12+ use Monolog \Level ;
1213use Psr \Log \LogLevel ;
1314use PHPUnit \Framework \Attributes \CoversClass ;
1415use PHPUnit \Framework \TestCase ;
2021#[CoversClass(WorkerMessageFailedEventSubscriber::class)]
2122final class WorkerMessageFailedEventSubscriberTest extends TestCase
2223{
24+ use MonologTestLoggerTrait;
25+
2326 public function testItLogsFailuresIncludingRetryInformation (): void
2427 {
25- $ logger = new InMemoryLogger ();
28+ [ $ logger, $ handler ] = $ this -> createTestLogger ();
2629 $ subscriber = new WorkerMessageFailedEventSubscriber (new MessengerLogContextBuilder (), $ logger );
2730 $ event = new WorkerMessageFailedEvent (
2831 new Envelope (
@@ -40,18 +43,20 @@ public function testItLogsFailuresIncludingRetryInformation(): void
4043
4144 $ subscriber ->onFailed ($ event );
4245
43- self ::assertSame ('Messenger message failed. ' , $ logger ->lastRecord ()['message ' ]);
44- self ::assertSame ('018f0c0c-6f9e-7eec-bfc3-6f8d3426f5dc ' , $ logger ->lastRecord ()['context ' ]['uuid ' ]);
45- self ::assertSame ('async ' , $ logger ->lastRecord ()['context ' ]['receiver_name ' ]);
46- self ::assertSame (1 , $ logger ->lastRecord ()['context ' ]['retry_count ' ]);
47- self ::assertTrue ($ logger ->lastRecord ()['context ' ]['will_retry ' ]);
48- self ::assertSame (\RuntimeException::class, $ logger ->lastRecord ()['context ' ]['exception_class ' ]);
49- self ::assertSame ('boom ' , $ logger ->lastRecord ()['context ' ]['exception_message ' ]);
46+ $ record = $ this ->lastRecord ($ handler );
47+
48+ self ::assertSame ('Messenger message failed. ' , $ record ->message );
49+ self ::assertSame ('018f0c0c-6f9e-7eec-bfc3-6f8d3426f5dc ' , $ record ->context ['uuid ' ]);
50+ self ::assertSame ('async ' , $ record ->context ['receiver_name ' ]);
51+ self ::assertSame (1 , $ record ->context ['retry_count ' ]);
52+ self ::assertTrue ($ record ->context ['will_retry ' ]);
53+ self ::assertSame (\RuntimeException::class, $ record ->context ['exception_class ' ]);
54+ self ::assertSame ('boom ' , $ record ->context ['exception_message ' ]);
5055 }
5156
5257 public function testItUsesConfiguredLogLevelForFailures (): void
5358 {
54- $ logger = new InMemoryLogger ();
59+ [ $ logger, $ handler ] = $ this -> createTestLogger ();
5560 $ subscriber = new WorkerMessageFailedEventSubscriber (
5661 new MessengerLogContextBuilder (),
5762 $ logger ,
@@ -65,6 +70,6 @@ public function testItUsesConfiguredLogLevelForFailures(): void
6570
6671 $ subscriber ->onFailed ($ event );
6772
68- self ::assertSame (LogLevel:: INFO , $ logger ->lastRecord ()[ ' level ' ] );
73+ self ::assertSame (Level::Info , $ this ->lastRecord ($ handler )-> level );
6974 }
7075}
0 commit comments