Skip to content

Commit dbccba0

Browse files
committed
Make timeout method private
Added a generic exception test
1 parent c7dafea commit dbccba0

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/AsyncClient.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public function send(array $message)
161161
* @param Observable $events
162162
* @return Observable
163163
*/
164-
public function timeout(Observable $events): Observable
164+
private function timeout(Observable $events): Observable
165165
{
166166
$timeoutDuration = $this->connected->map(function (Event $event) {
167167
return ($event->getData()['activity_timeout'] ?? self::NO_ACTIVITY_TIMEOUT) * 1000;

tests/AsyncClientTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,4 +402,32 @@ public function testPusherException4200AutoRetry()
402402
[1000, '{"event":"pusher:unsubscribe","data":{"channel":"test"}}'],
403403
], $webSocket->getSentMessages());
404404
}
405+
406+
public function testPusherExceptionOther()
407+
{
408+
$observable = $this->createColdObservable([
409+
onNext(320, '{"event":"pusher:connection_established","data":"{\"socket_id\":\"218656.9503498\",\"activity_timeout\":120}"}'),
410+
onNext(340, '{"event":"pusher_internal:subscription_succeeded","data":"{}","channel":"test"}'),
411+
onNext(350, '{"event":"new-listing","data":["test1"],"channel":"test"}'),
412+
onError(370, new \Exception()),
413+
]);
414+
415+
$webSocket = new TestWebSocketSubject($observable, $this->scheduler);
416+
417+
$results = $this->scheduler->startWithDispose(function () use ($webSocket) {
418+
return (new AsyncClient($webSocket))->channel('test');
419+
}, 1000);
420+
421+
$this->assertMessages([
422+
onNext(550, Event::createFromMessage(json_decode('{"event":"new-listing","data":["test1"],"channel":"test"}', true))),
423+
onError(570, new \Exception()),
424+
], $results->getMessages());
425+
426+
$this->assertSubscriptions([subscribe(200, 570)], $observable->getSubscriptions());
427+
428+
$this->assertEquals([
429+
[520, '{"event":"pusher:subscribe","data":{"channel":"test"}}'],
430+
[570, '{"event":"pusher:unsubscribe","data":{"channel":"test"}}'],
431+
], $webSocket->getSentMessages());
432+
}
405433
}

0 commit comments

Comments
 (0)