Skip to content

Commit 582b3a9

Browse files
committed
Fix logger-related at() warnings — replace mocks with TestLogger
1 parent 140bc01 commit 582b3a9

3 files changed

Lines changed: 74 additions & 87 deletions

File tree

pkg/enqueue-bundle/Tests/Unit/Consumption/Extension/DoctrinePingConnectionExtensionTest.php

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
use Interop\Queue\Processor;
1313
use PHPUnit\Framework\MockObject\MockObject;
1414
use PHPUnit\Framework\TestCase;
15-
use Psr\Log\LoggerInterface;
15+
use Psr\Log\Test\TestLogger;
1616

1717
class DoctrinePingConnectionExtensionTest extends TestCase
1818
{
@@ -44,20 +44,20 @@ public function testShouldNotReconnectIfConnectionIsOK()
4444
;
4545

4646
$context = $this->createContext();
47-
$context->getLogger()
48-
->expects($this->never())
49-
->method('debug')
50-
;
5147

5248
$registry = $this->createRegistryMock();
5349
$registry
54-
->expects($this->once())
50+
->expects(self::once())
5551
->method('getConnections')
5652
->willReturn([$connection])
5753
;
5854

5955
$extension = new DoctrinePingConnectionExtension($registry);
6056
$extension->onMessageReceived($context);
57+
58+
/** @var TestLogger $logger */
59+
$logger = $context->getLogger();
60+
self::assertFalse($logger->hasDebugRecords());
6161
}
6262

6363
public function testShouldDoesReconnectIfConnectionFailed()
@@ -83,16 +83,6 @@ public function testShouldDoesReconnectIfConnectionFailed()
8383
;
8484

8585
$context = $this->createContext();
86-
$context->getLogger()
87-
->expects($this->at(0))
88-
->method('debug')
89-
->with('[DoctrinePingConnectionExtension] Connection is not active trying to reconnect.')
90-
;
91-
$context->getLogger()
92-
->expects($this->at(1))
93-
->method('debug')
94-
->with('[DoctrinePingConnectionExtension] Connection is active now.')
95-
;
9686

9787
$registry = $this->createRegistryMock();
9888
$registry
@@ -103,6 +93,19 @@ public function testShouldDoesReconnectIfConnectionFailed()
10393

10494
$extension = new DoctrinePingConnectionExtension($registry);
10595
$extension->onMessageReceived($context);
96+
97+
/** @var TestLogger $logger */
98+
$logger = $context->getLogger();
99+
self::assertTrue(
100+
$logger->hasDebugThatContains(
101+
'[DoctrinePingConnectionExtension] Connection is not active trying to reconnect.'
102+
)
103+
);
104+
self::assertTrue(
105+
$logger->hasDebugThatContains(
106+
'[DoctrinePingConnectionExtension] Connection is active now.'
107+
)
108+
);
106109
}
107110

108111
public function testShouldSkipIfConnectionWasNotOpened()
@@ -156,7 +159,7 @@ protected function createContext(): MessageReceived
156159
$this->createMock(Message::class),
157160
$this->createMock(Processor::class),
158161
1,
159-
$this->createMock(LoggerInterface::class)
162+
new TestLogger()
160163
);
161164
}
162165

pkg/enqueue/Tests/Client/ConsumptionExtension/DelayRedeliveredMessageExtensionTest.php

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
use Interop\Queue\Queue;
1919
use PHPUnit\Framework\MockObject\MockObject;
2020
use PHPUnit\Framework\TestCase;
21-
use Psr\Log\LoggerInterface;
2221
use Psr\Log\NullLogger;
22+
use Psr\Log\Test\TestLogger;
2323

2424
class DelayRedeliveredMessageExtensionTest extends TestCase
2525
{
@@ -55,20 +55,7 @@ public function testShouldSendDelayedMessageAndRejectOriginalMessage()
5555
->willReturn($delayedMessage)
5656
;
5757

58-
$logger = $this->createLoggerMock();
59-
$logger
60-
->expects(self::at(0))
61-
->method('debug')
62-
->with('[DelayRedeliveredMessageExtension] Send delayed message')
63-
;
64-
$logger
65-
->expects(self::at(1))
66-
->method('debug')
67-
->with(
68-
'[DelayRedeliveredMessageExtension] '.
69-
'Reject redelivered original message by setting reject status to context.'
70-
)
71-
;
58+
$logger = new TestLogger();
7259

7360
$messageReceived = new MessageReceived(
7461
$this->createContextMock(),
@@ -93,6 +80,16 @@ public function testShouldSendDelayedMessageAndRejectOriginalMessage()
9380
$this->assertEquals([
9481
'enqueue.redelivery_count' => 1,
9582
], $delayedMessage->getProperties());
83+
84+
self::assertTrue(
85+
$logger->hasDebugThatContains('[DelayRedeliveredMessageExtension] Send delayed message')
86+
);
87+
self::assertTrue(
88+
$logger->hasDebugThatContains(
89+
'[DelayRedeliveredMessageExtension] '.
90+
'Reject redelivered original message by setting reject status to context.'
91+
)
92+
);
9693
}
9794

9895
public function testShouldDoNothingIfMessageIsNotRedelivered()
@@ -184,14 +181,6 @@ private function createConsumerStub(?Queue $queue): Consumer
184181
return $consumerMock;
185182
}
186183

187-
/**
188-
* @return MockObject
189-
*/
190-
private function createLoggerMock(): LoggerInterface
191-
{
192-
return $this->createMock(LoggerInterface::class);
193-
}
194-
195184
private function createDriverSendResult(): DriverSendResult
196185
{
197186
return new DriverSendResult(

pkg/enqueue/Tests/Client/Driver/RabbitMqStompDriverTest.php

Lines changed: 42 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
use Interop\Queue\Queue as InteropQueue;
2525
use Interop\Queue\Topic as InteropTopic;
2626
use PHPUnit\Framework\TestCase;
27-
use Psr\Log\LoggerInterface;
27+
use Psr\Log\Test\TestLogger;
2828

2929
class RabbitMqStompDriverTest extends TestCase
3030
{
@@ -281,14 +281,15 @@ public function testShouldNotSetupBrokerIfManagementPluginInstalledOptionIsNotEn
281281
$this->createManagementClientMock()
282282
);
283283

284-
$logger = $this->createLoggerMock();
285-
$logger
286-
->expects($this->once())
287-
->method('debug')
288-
->with('[RabbitMqStompDriver] Could not setup broker. The option `management_plugin_installed` is not enabled. Please enable that option and install rabbit management plugin')
289-
;
284+
$logger = new TestLogger();
290285

291286
$driver->setupBroker($logger);
287+
288+
self::assertTrue(
289+
$logger->hasDebugThatContains(
290+
'[RabbitMqStompDriver] Could not setup broker. The option `management_plugin_installed` is not enabled. Please enable that option and install rabbit management plugin'
291+
)
292+
);
292293
}
293294

294295
public function testShouldSetupBroker()
@@ -366,29 +367,30 @@ public function testShouldSetupBroker()
366367
$managementClient
367368
);
368369

369-
$logger = $this->createLoggerMock();
370-
$logger
371-
->expects($this->at(0))
372-
->method('debug')
373-
->with('[RabbitMqStompDriver] Declare router exchange: aprefix.router')
374-
;
375-
$logger
376-
->expects($this->at(1))
377-
->method('debug')
378-
->with('[RabbitMqStompDriver] Declare router queue: aprefix.default')
379-
;
380-
$logger
381-
->expects($this->at(2))
382-
->method('debug')
383-
->with('[RabbitMqStompDriver] Bind router queue to exchange: aprefix.default -> aprefix.router')
384-
;
385-
$logger
386-
->expects($this->at(3))
387-
->method('debug')
388-
->with('[RabbitMqStompDriver] Declare processor queue: aprefix.default')
389-
;
370+
$logger = new TestLogger();
390371

391372
$driver->setupBroker($logger);
373+
374+
self::assertTrue(
375+
$logger->hasDebugThatContains(
376+
'[RabbitMqStompDriver] Declare router exchange: aprefix.router'
377+
)
378+
);
379+
self::assertTrue(
380+
$logger->hasDebugThatContains(
381+
'[RabbitMqStompDriver] Declare router queue: aprefix.default'
382+
)
383+
);
384+
self::assertTrue(
385+
$logger->hasDebugThatContains(
386+
'[RabbitMqStompDriver] Bind router queue to exchange: aprefix.default -> aprefix.router'
387+
)
388+
);
389+
self::assertTrue(
390+
$logger->hasDebugThatContains(
391+
'[RabbitMqStompDriver] Declare processor queue: aprefix.default'
392+
)
393+
);
392394
}
393395

394396
public function testSetupBrokerShouldCreateDelayExchangeIfEnabled()
@@ -458,19 +460,20 @@ public function testSetupBrokerShouldCreateDelayExchangeIfEnabled()
458460
$managementClient
459461
);
460462

461-
$logger = $this->createLoggerMock();
462-
$logger
463-
->expects($this->at(4))
464-
->method('debug')
465-
->with('[RabbitMqStompDriver] Declare delay exchange: aprefix.default.delayed')
466-
;
467-
$logger
468-
->expects($this->at(5))
469-
->method('debug')
470-
->with('[RabbitMqStompDriver] Bind processor queue to delay exchange: aprefix.default -> aprefix.default.delayed')
471-
;
463+
$logger = new TestLogger();
472464

473465
$driver->setupBroker($logger);
466+
467+
self::assertTrue(
468+
$logger->hasDebugThatContains(
469+
'[RabbitMqStompDriver] Declare delay exchange: aprefix.default.delayed'
470+
)
471+
);
472+
self::assertTrue(
473+
$logger->hasDebugThatContains(
474+
'[RabbitMqStompDriver] Bind processor queue to delay exchange: aprefix.default -> aprefix.default.delayed'
475+
)
476+
);
474477
}
475478

476479
protected function createDriver(...$args): DriverInterface
@@ -584,12 +587,4 @@ private function createManagementClientMock(): StompManagementClient
584587
{
585588
return $this->createMock(StompManagementClient::class);
586589
}
587-
588-
/**
589-
* @return \PHPUnit\Framework\MockObject\MockObject|LoggerInterface
590-
*/
591-
private function createLoggerMock()
592-
{
593-
return $this->createMock(LoggerInterface::class);
594-
}
595590
}

0 commit comments

Comments
 (0)