Skip to content

Commit 24dd698

Browse files
authored
Merge pull request #501 from clue-labs/unhandled-rejections
Update test suite to avoid unhandled promise rejections
2 parents bb3154d + 94222ad commit 24dd698

File tree

2 files changed

+38
-9
lines changed

2 files changed

+38
-9
lines changed

tests/Io/TransactionTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,8 @@ public function testTimeoutExplicitOptionWillNotStartTimeoutTimerWhenStreamingRe
321321
$stream->close();
322322

323323
$this->assertInstanceOf('React\Promise\PromiseInterface', $promise);
324+
325+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
324326
}
325327

326328
public function testTimeoutExplicitOptionWillRejectWhenTimerFiresAfterStreamingRequestBodyCloses()

tests/Middleware/LimitConcurrentRequestsMiddlewareTest.php

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ public function testLimitOneRequestConcurrently()
6464
$this->assertFalse($calledB);
6565
$this->assertFalse($calledC);
6666

67-
$limitHandlers($requestB, $nextB);
67+
$promise = $limitHandlers($requestB, $nextB);
68+
69+
assert($promise instanceof PromiseInterface);
70+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
6871

6972
$this->assertTrue($calledA);
7073
$this->assertFalse($calledB);
@@ -188,10 +191,13 @@ public function testStreamDoesPauseAndThenResumeWhenDequeued()
188191
$limitHandlers = new LimitConcurrentRequestsMiddleware(1);
189192

190193
$deferred = new Deferred();
191-
$limitHandlers(new ServerRequest('GET', 'https://example.com'), function () use ($deferred) {
194+
$promise = $limitHandlers(new ServerRequest('GET', 'https://example.com'), function () use ($deferred) {
192195
return $deferred->promise();
193196
});
194197

198+
assert($promise instanceof PromiseInterface);
199+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
200+
195201
$limitHandlers(new ServerRequest('GET', 'https://example.com/', array(), $body), function () {});
196202

197203
$deferred->reject(new \RuntimeException());
@@ -283,10 +289,13 @@ public function testReceivesNextRequestAfterPreviousHandlerIsSettled()
283289

284290
$deferred = new Deferred();
285291
$middleware = new LimitConcurrentRequestsMiddleware(1);
286-
$middleware($request, function () use ($deferred) {
292+
$promise = $middleware($request, function () use ($deferred) {
287293
return $deferred->promise();
288294
});
289295

296+
assert($promise instanceof PromiseInterface);
297+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
298+
290299
$deferred->reject(new \RuntimeException());
291300

292301
$middleware($request, $this->expectCallableOnceWith($request));
@@ -303,10 +312,13 @@ public function testReceivesNextRequestWhichThrowsAfterPreviousHandlerIsSettled(
303312

304313
$deferred = new Deferred();
305314
$middleware = new LimitConcurrentRequestsMiddleware(1);
306-
$middleware($request, function () use ($deferred) {
315+
$promise = $middleware($request, function () use ($deferred) {
307316
return $deferred->promise();
308317
});
309318

319+
assert($promise instanceof PromiseInterface);
320+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
321+
310322
$second = $middleware($request, function () {
311323
throw new \RuntimeException();
312324
});
@@ -443,10 +455,13 @@ public function testReceivesStreamingBodyChangesInstanceWithCustomBodyButSameDat
443455
$middleware = new LimitConcurrentRequestsMiddleware(1);
444456

445457
$deferred = new Deferred();
446-
$middleware(new ServerRequest('GET', 'https://example.com/'), function () use ($deferred) {
458+
$promise = $middleware(new ServerRequest('GET', 'https://example.com/'), function () use ($deferred) {
447459
return $deferred->promise();
448460
});
449461

462+
assert($promise instanceof PromiseInterface);
463+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
464+
450465
$req = null;
451466
$middleware($request, function (ServerRequestInterface $request) use (&$req) {
452467
$req = $request;
@@ -471,10 +486,13 @@ public function testReceivesNextStreamingBodyWithBufferedDataAfterPreviousHandle
471486
{
472487
$deferred = new Deferred();
473488
$middleware = new LimitConcurrentRequestsMiddleware(1);
474-
$middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
489+
$promise = $middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
475490
return $deferred->promise();
476491
});
477492

493+
assert($promise instanceof PromiseInterface);
494+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
495+
478496
$stream = new ThroughStream();
479497
$request = new ServerRequest(
480498
'POST',
@@ -498,10 +516,13 @@ public function testReceivesNextStreamingBodyAndDoesNotEmitDataIfExplicitlyClose
498516
{
499517
$deferred = new Deferred();
500518
$middleware = new LimitConcurrentRequestsMiddleware(1);
501-
$middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
519+
$promise = $middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
502520
return $deferred->promise();
503521
});
504522

523+
assert($promise instanceof PromiseInterface);
524+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
525+
505526
$stream = new ThroughStream();
506527
$request = new ServerRequest(
507528
'POST',
@@ -526,10 +547,13 @@ public function testReceivesNextStreamingBodyAndDoesNotEmitDataIfExplicitlyPause
526547
{
527548
$deferred = new Deferred();
528549
$middleware = new LimitConcurrentRequestsMiddleware(1);
529-
$middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
550+
$promise = $middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
530551
return $deferred->promise();
531552
});
532553

554+
assert($promise instanceof PromiseInterface);
555+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
556+
533557
$stream = new ThroughStream();
534558
$request = new ServerRequest(
535559
'POST',
@@ -554,10 +578,13 @@ public function testReceivesNextStreamingBodyAndDoesEmitDataImmediatelyIfExplici
554578
{
555579
$deferred = new Deferred();
556580
$middleware = new LimitConcurrentRequestsMiddleware(1);
557-
$middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
581+
$promise = $middleware(new ServerRequest('GET', 'http://example.com/'), function () use ($deferred) {
558582
return $deferred->promise();
559583
});
560584

585+
assert($promise instanceof PromiseInterface);
586+
$promise->then(null, $this->expectCallableOnce()); // avoid reporting unhandled rejection
587+
561588
$stream = new ThroughStream();
562589
$request = new ServerRequest(
563590
'POST',

0 commit comments

Comments
 (0)