From 2c1bf3a3723e5a7328e163da4544f2d113e2999a Mon Sep 17 00:00:00 2001 From: Viktor Khokhryakov Date: Thu, 9 Nov 2017 23:23:51 +0400 Subject: [PATCH] more tests --- tests/ServerTest.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/ServerTest.php b/tests/ServerTest.php index b3b3f08..88b39ac 100644 --- a/tests/ServerTest.php +++ b/tests/ServerTest.php @@ -79,6 +79,9 @@ protected function runLongPoll(float $timeout, $extraParams = []) } catch (\yii\httpclient\Exception $e) { return ''; } + if (!$response->getIsOk()) { + return ''; + } $result = $response->getData(); $this->assertArrayHasKey('data', $result); $this->assertArrayHasKey('params', $result); @@ -169,6 +172,33 @@ public function testSend($delay) $this->expectOutputString($expectedResponse); } + /** + * @depends testAddEvent + */ + public function testSendTimeout() + { + $event = new Event(['key' => 'newMessage']); + $server = new Server(['timeout' => 2]); + $server->addEvent($event, $event->getState()); + $callbackCalled = false; + $server->callback = function (Server $server) use (&$callbackCalled) { + $server->responseData = 'no'; + $server->responseParams = ['no' => 'no']; + $callbackCalled = true; + }; + $start = time(); + $server->send(); + $this->assertFalse($callbackCalled); + + $waitTime = time() - $start; + $json = <<getState()}}} +JSON; + $leadingZeros = str_repeat('0', $waitTime); + $expectedResponse = $leadingZeros . dechex(strlen($json)) . "\r\n" . $json . "\r\n0\r\n\r\n"; + $this->expectOutputString($expectedResponse); + } + public function testSendWithoutEvents() { $server = new Server();