@@ -60,7 +60,7 @@ public function testTimeoutDuringBody(): void
6060
6161 public function testTimeoutDuringConnect (): void
6262 {
63- $ this ->setTimeout (0.6 );
63+ $ this ->setTimeout (1 );
6464
6565 $ connector = $ this ->createMock (Socket \SocketConnector::class);
6666 $ connector ->method ('connect ' )
@@ -99,7 +99,7 @@ public function testTimeoutDuringTlsEnable(): void
9999 }
100100 });
101101
102- $ this ->setTimeout (0.6 );
102+ $ this ->setTimeout (1 );
103103
104104 try {
105105 $ uri = "https:// " . $ server ->getAddress () . "/ " ;
@@ -223,7 +223,7 @@ public function testTimeoutDuringTlsEnableInterceptor(): void
223223 }
224224 });
225225
226- $ this ->setTimeout (0.6 );
226+ $ this ->setTimeout (1 );
227227
228228 try {
229229 $ uri = "https:// " . $ server ->getAddress () . "/ " ;
@@ -275,4 +275,46 @@ public function testTimeoutDuringInactivity(): void
275275 $ server ->close ();
276276 }
277277 }
278+
279+ public function testTransferTimeoutDuringRequest (): void
280+ {
281+ $ server = listen ("tcp://127.0.0.1:0 " );
282+
283+ $ this ->setTimeout (1 );
284+
285+ try {
286+ $ uri = "http:// " . $ server ->getAddress () . "/ " ;
287+
288+ $ request = new Request ($ uri );
289+ $ request ->setTransferTimeout (0.1 );
290+
291+ $ this ->expectException (TimeoutException::class);
292+ $ this ->expectExceptionMessage ("Allowed transfer timeout exceeded, took longer than 0.1 s " );
293+
294+ $ this ->client ->request ($ request );
295+ } finally {
296+ $ server ->close ();
297+ }
298+ }
299+
300+ public function testInactivityTimeoutDuringRequest (): void
301+ {
302+ $ server = listen ("tcp://127.0.0.1:0 " );
303+
304+ $ this ->setTimeout (1 );
305+
306+ try {
307+ $ uri = "http:// " . $ server ->getAddress () . "/ " ;
308+
309+ $ request = new Request ($ uri );
310+ $ request ->setInactivityTimeout (0.1 );
311+
312+ $ this ->expectException (TimeoutException::class);
313+ $ this ->expectExceptionMessage ("Inactivity timeout exceeded, more than 0.1 seconds elapsed from last data received " );
314+
315+ $ this ->client ->request ($ request );
316+ } finally {
317+ $ server ->close ();
318+ }
319+ }
278320}
0 commit comments