<?php namespace React\Tests\Socket; use React\Socket\TimeoutConnector; use React\Promise; use React\EventLoop\Factory; class TimeoutConnectorTest extends TestCase { public function testRejectsOnTimeout() { $promise = new Promise\Promise(function () { }); $connector = $this->getMockBuilder('React\Socket\ConnectorInterface')->getMock(); $connector->expects($this->once())->method('connect')->with('google.com:80')->will($this->returnValue($promise)); $loop = Factory::create(); $timeout = new TimeoutConnector($connector, 0.01, $loop); $timeout->connect('google.com:80')->then( $this->expectCallableNever(), $this->expectCallableOnce() ); $loop->run(); } public function testRejectsWhenConnectorRejects() { $promise = Promise\reject(new \RuntimeException()); $connector = $this->getMockBuilder('React\Socket\ConnectorInterface')->getMock(); $connector->expects($this->once())->method('connect')->with('google.com:80')->will($this->returnValue($promise)); $loop = Factory::create(); $timeout = new TimeoutConnector($connector, 5.0, $loop); $timeout->connect('google.com:80')->then( $this->expectCallableNever(), $this->expectCallableOnce() ); $loop->run(); } public function testResolvesWhenConnectorResolves() { $promise = Promise\resolve(); $connector = $this->getMockBuilder('React\Socket\ConnectorInterface')->getMock(); $connector->expects($this->once())->method('connect')->with('google.com:80')->will($this->returnValue($promise)); $loop = Factory::create(); $timeout = new TimeoutConnector($connector, 5.0, $loop); $timeout->connect('google.com:80')->then( $this->expectCallableOnce(), $this->expectCallableNever() ); $loop->run(); } public function testRejectsAndCancelsPendingPromiseOnTimeout() { $promise = new Promise\Promise(function () { }, $this->expectCallableOnce()); $connector = $this->getMockBuilder('React\Socket\ConnectorInterface')->getMock(); $connector->expects($this->once())->method('connect')->with('google.com:80')->will($this->returnValue($promise)); $loop = Factory::create(); $timeout = new TimeoutConnector($connector, 0.01, $loop); $timeout->connect('google.com:80')->then( $this->expectCallableNever(), $this->expectCallableOnce() ); $loop->run(); } public function testCancelsPendingPromiseOnCancel() { $promise = new Promise\Promise(function () { }, function () { throw new \Exception(); }); $connector = $this->getMockBuilder('React\Socket\ConnectorInterface')->getMock(); $connector->expects($this->once())->method('connect')->with('google.com:80')->will($this->returnValue($promise)); $loop = Factory::create(); $timeout = new TimeoutConnector($connector, 0.01, $loop); $out = $timeout->connect('google.com:80'); $out->cancel(); $out->then($this->expectCallableNever(), $this->expectCallableOnce()); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Stub | Folder | 0755 |
|
|
ConnectionTest.php | File | 1.49 KB | 0644 |
|
ConnectorTest.php | File | 4.42 KB | 0644 |
|
DnsConnectorTest.php | File | 4.95 KB | 0644 |
|
FixedUriConnectorTest.php | File | 525 B | 0644 |
|
FunctionalConnectorTest.php | File | 809 B | 0644 |
|
FunctionalSecureServerTest.php | File | 14.39 KB | 0644 |
|
FunctionalTcpServerTest.php | File | 8.95 KB | 0644 |
|
IntegrationTest.php | File | 4.95 KB | 0644 |
|
LimitingServerTest.php | File | 6.03 KB | 0644 |
|
SecureConnectorTest.php | File | 2.71 KB | 0644 |
|
SecureIntegrationTest.php | File | 6.67 KB | 0644 |
|
SecureServerTest.php | File | 3.24 KB | 0644 |
|
ServerTest.php | File | 4.76 KB | 0644 |
|
TcpConnectorTest.php | File | 7.73 KB | 0644 |
|
TcpServerTest.php | File | 7.72 KB | 0644 |
|
TestCase.php | File | 2.66 KB | 0644 |
|
TimeoutConnectorTest.php | File | 3.17 KB | 0644 |
|
UnixConnectorTest.php | File | 1.91 KB | 0644 |
|
UnixServerTest.php | File | 7.69 KB | 0644 |
|