Skip to content

Commit a256c20

Browse files
committed
Subscribe to new event
1 parent b1e241d commit a256c20

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

config/services.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ services:
9595
- { name: kernel.event_listener, event: 'gos_web_socket.client_disconnected', method: onClientDisconnect }
9696
- { name: kernel.event_listener, event: 'gos_web_socket.client_error', method: onClientError }
9797
- { name: kernel.event_listener, event: 'gos_web_socket.client_rejected', method: onClientRejected }
98+
- { name: kernel.event_listener, event: 'gos_web_socket.connection_rejected', method: onConnectionRejected }
9899
- { name: monolog.logger, channel: websocket }
99100

100101
gos_web_socket.event_listener.close_pusher_connections:

src/EventListener/ClientEventListener.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Gos\Bundle\WebSocketBundle\Event\ClientDisconnectedEvent;
1111
use Gos\Bundle\WebSocketBundle\Event\ClientErrorEvent;
1212
use Gos\Bundle\WebSocketBundle\Event\ClientRejectedEvent;
13+
use Gos\Bundle\WebSocketBundle\Event\ConnectionRejectedEvent;
1314
use Psr\Log\LoggerAwareInterface;
1415
use Psr\Log\LoggerAwareTrait;
1516

@@ -117,6 +118,9 @@ public function onClientError(ClientErrorEvent $event): void
117118
);
118119
}
119120

121+
/**
122+
* @deprecated to be removed in 4.0
123+
*/
120124
public function onClientRejected(ClientRejectedEvent $event): void
121125
{
122126
if (null !== $this->logger) {
@@ -128,4 +132,11 @@ public function onClientRejected(ClientRejectedEvent $event): void
128132
);
129133
}
130134
}
135+
136+
public function onConnectionRejected(ConnectionRejectedEvent $event): void
137+
{
138+
if (null !== $this->logger) {
139+
$this->logger->warning('Connection rejected');
140+
}
141+
}
131142
}

tests/EventListener/ClientEventListenerTest.php

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Gos\Bundle\WebSocketBundle\Event\ClientDisconnectedEvent;
1111
use Gos\Bundle\WebSocketBundle\Event\ClientErrorEvent;
1212
use Gos\Bundle\WebSocketBundle\Event\ClientRejectedEvent;
13+
use Gos\Bundle\WebSocketBundle\Event\ConnectionRejectedEvent;
1314
use Gos\Bundle\WebSocketBundle\EventListener\ClientEventListener;
1415
use PHPUnit\Framework\MockObject\MockObject;
1516
use PHPUnit\Framework\TestCase;
@@ -220,7 +221,7 @@ public function testThereIsNoActionWhenNoLoggerIsSetOnTheClientRejectedEvent():
220221
{
221222
$event = new ClientRejectedEvent('localhost', null);
222223

223-
(new ClientEventListener($this->clientStorage, $this->authenticationProvider))->onClientRejected($event);
224+
$this->listener->onClientRejected($event);
224225
}
225226

226227
public function testTheClientRejectionIsLogged(): void
@@ -231,4 +232,23 @@ public function testTheClientRejectionIsLogged(): void
231232

232233
self::assertTrue($this->logger->hasWarningThatContains('Client rejected, bad origin'));
233234
}
235+
236+
/**
237+
* @doesNotPerformAssertions
238+
*/
239+
public function testThereIsNoActionWhenNoLoggerIsSetOnTheConnectionRejectedEvent(): void
240+
{
241+
$event = new ConnectionRejectedEvent($this->createMock(ConnectionInterface::class), null);
242+
243+
$this->listener->onConnectionRejected($event);
244+
}
245+
246+
public function testTheConnectionRejectionIsLogged(): void
247+
{
248+
$event = new ConnectionRejectedEvent($this->createMock(ConnectionInterface::class), null);
249+
250+
$this->listener->onConnectionRejected($event);
251+
252+
self::assertTrue($this->logger->hasWarningThatContains('Connection rejected'));
253+
}
234254
}

0 commit comments

Comments
 (0)