Skip to content

Commit 66145da

Browse files
authored
Merge pull request #282 from clue-labs/php8.5
Improve PHP 8.5+ support by updating to Promise v3.3 and avoiding deprecated `setAccessible()` calls in tests
2 parents 93aa87e + 279571a commit 66145da

File tree

8 files changed

+295
-99
lines changed

8 files changed

+295
-99
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"nikic/fast-route": "^1.3",
1616
"react/async": "^4.3 || ^3.1",
1717
"react/http": "^1.11",
18-
"react/promise": "^3.2",
18+
"react/promise": "^3.3",
1919
"react/socket": "^1.15"
2020
},
2121
"require-dev": {

tests/AccessLogHandlerTest.php

Lines changed: 51 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,9 @@ public function testInvokeLogsRequest(): void
136136
$logger = $this->createMock(LogStreamHandler::class);
137137
// $handler->logger = $logger;
138138
$ref = new \ReflectionProperty($handler, 'logger');
139-
$ref->setAccessible(true);
139+
if (PHP_VERSION_ID < 80100) {
140+
$ref->setAccessible(true);
141+
}
140142
$ref->setValue($handler, $logger);
141143

142144
$request = new ServerRequest('GET', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -154,7 +156,9 @@ public function testInvokeLogsRequestWithEncodedQueryParameters(): void
154156
$logger = $this->createMock(LogStreamHandler::class);
155157
// $handler->logger = $logger;
156158
$ref = new \ReflectionProperty($handler, 'logger');
157-
$ref->setAccessible(true);
159+
if (PHP_VERSION_ID < 80100) {
160+
$ref->setAccessible(true);
161+
}
158162
$ref->setValue($handler, $logger);
159163

160164
$request = new ServerRequest('GET', 'http://localhost:8080/?a=1&b=hello wörld', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -172,7 +176,9 @@ public function testInvokeLogsRequestWithEscapedSpecialCharactersInRequestMethod
172176
$logger = $this->createMock(LogStreamHandler::class);
173177
// $handler->logger = $logger;
174178
$ref = new \ReflectionProperty($handler, 'logger');
175-
$ref->setAccessible(true);
179+
if (PHP_VERSION_ID < 80100) {
180+
$ref->setAccessible(true);
181+
}
176182
$ref->setValue($handler, $logger);
177183

178184
$request = new ServerRequest('GE"T', 'http://localhost:8080/wörld', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -191,7 +197,9 @@ public function testInvokeLogsRequestForHeadRequestWithResponseSizeAsZero(): voi
191197
$logger = $this->createMock(LogStreamHandler::class);
192198
// $handler->logger = $logger;
193199
$ref = new \ReflectionProperty($handler, 'logger');
194-
$ref->setAccessible(true);
200+
if (PHP_VERSION_ID < 80100) {
201+
$ref->setAccessible(true);
202+
}
195203
$ref->setValue($handler, $logger);
196204

197205
$request = new ServerRequest('HEAD', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -209,7 +217,9 @@ public function testInvokeLogsRequestForNoContentResponseWithResponseSizeAsZero(
209217
$logger = $this->createMock(LogStreamHandler::class);
210218
// $handler->logger = $logger;
211219
$ref = new \ReflectionProperty($handler, 'logger');
212-
$ref->setAccessible(true);
220+
if (PHP_VERSION_ID < 80100) {
221+
$ref->setAccessible(true);
222+
}
213223
$ref->setValue($handler, $logger);
214224

215225
$request = new ServerRequest('GET', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -227,7 +237,9 @@ public function testInvokeLogsRequestForNotModifiedResponseWithResponseSizeAsZer
227237
$logger = $this->createMock(LogStreamHandler::class);
228238
// $handler->logger = $logger;
229239
$ref = new \ReflectionProperty($handler, 'logger');
230-
$ref->setAccessible(true);
240+
if (PHP_VERSION_ID < 80100) {
241+
$ref->setAccessible(true);
242+
}
231243
$ref->setValue($handler, $logger);
232244

233245
$request = new ServerRequest('GET', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -245,7 +257,9 @@ public function testInvokeWithPlainProxyRequestLogsRequestWithRequestTargetInOri
245257
$logger = $this->createMock(LogStreamHandler::class);
246258
// $handler->logger = $logger;
247259
$ref = new \ReflectionProperty($handler, 'logger');
248-
$ref->setAccessible(true);
260+
if (PHP_VERSION_ID < 80100) {
261+
$ref->setAccessible(true);
262+
}
249263
$ref->setValue($handler, $logger);
250264

251265
$request = new ServerRequest('GET', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -264,7 +278,9 @@ public function testInvokeWithConnectProxyRequestLogsRequestWithRequestTargetInA
264278
$logger = $this->createMock(LogStreamHandler::class);
265279
// $handler->logger = $logger;
266280
$ref = new \ReflectionProperty($handler, 'logger');
267-
$ref->setAccessible(true);
281+
if (PHP_VERSION_ID < 80100) {
282+
$ref->setAccessible(true);
283+
}
268284
$ref->setValue($handler, $logger);
269285

270286
$request = new ServerRequest('CONNECT', 'example.com:8080', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -283,7 +299,9 @@ public function testInvokeWithOptionsAsteriskRequestLogsRequestWithRequestTarget
283299
$logger = $this->createMock(LogStreamHandler::class);
284300
// $handler->logger = $logger;
285301
$ref = new \ReflectionProperty($handler, 'logger');
286-
$ref->setAccessible(true);
302+
if (PHP_VERSION_ID < 80100) {
303+
$ref->setAccessible(true);
304+
}
287305
$ref->setValue($handler, $logger);
288306

289307
$request = new ServerRequest('OPTIONS', 'http://example.com:8080', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -302,7 +320,9 @@ public function testInvokeWithDeferredNextLogsRequest(): void
302320
$logger = $this->createMock(LogStreamHandler::class);
303321
// $handler->logger = $logger;
304322
$ref = new \ReflectionProperty($handler, 'logger');
305-
$ref->setAccessible(true);
323+
if (PHP_VERSION_ID < 80100) {
324+
$ref->setAccessible(true);
325+
}
306326
$ref->setValue($handler, $logger);
307327

308328
$request = new ServerRequest('GET', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -320,7 +340,9 @@ public function testInvokeWithCoroutineNextLogsRequest(): void
320340
$logger = $this->createMock(LogStreamHandler::class);
321341
// $handler->logger = $logger;
322342
$ref = new \ReflectionProperty($handler, 'logger');
323-
$ref->setAccessible(true);
343+
if (PHP_VERSION_ID < 80100) {
344+
$ref->setAccessible(true);
345+
}
324346
$ref->setValue($handler, $logger);
325347

326348
$request = new ServerRequest('GET', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -348,7 +370,9 @@ public function testInvokeWithStreamingResponseLogsRequest(): void
348370
$logger = $this->createMock(LogStreamHandler::class);
349371
// $handler->logger = $logger;
350372
$ref = new \ReflectionProperty($handler, 'logger');
351-
$ref->setAccessible(true);
373+
if (PHP_VERSION_ID < 80100) {
374+
$ref->setAccessible(true);
375+
}
352376
$ref->setValue($handler, $logger);
353377

354378
$stream = new ThroughStream();
@@ -369,7 +393,9 @@ public function testInvokeWithStreamingResponseThatClosesAfterSomeTimeLogsReques
369393
$logger = $this->createMock(LogStreamHandler::class);
370394
// $handler->logger = $logger;
371395
$ref = new \ReflectionProperty($handler, 'logger');
372-
$ref->setAccessible(true);
396+
if (PHP_VERSION_ID < 80100) {
397+
$ref->setAccessible(true);
398+
}
373399
$ref->setValue($handler, $logger);
374400

375401
$stream = new ThroughStream();
@@ -391,7 +417,9 @@ public function testInvokeWithClosedStreamingResponseLogsRequest(): void
391417
$logger = $this->createMock(LogStreamHandler::class);
392418
// $handler->logger = $logger;
393419
$ref = new \ReflectionProperty($handler, 'logger');
394-
$ref->setAccessible(true);
420+
if (PHP_VERSION_ID < 80100) {
421+
$ref->setAccessible(true);
422+
}
395423
$ref->setValue($handler, $logger);
396424

397425
$stream = new ThroughStream();
@@ -411,7 +439,9 @@ public function testInvokeWithStreamingResponsePrintsNothingIfStreamIsPending():
411439
$logger = $this->createMock(LogStreamHandler::class);
412440
// $handler->logger = $logger;
413441
$ref = new \ReflectionProperty($handler, 'logger');
414-
$ref->setAccessible(true);
442+
if (PHP_VERSION_ID < 80100) {
443+
$ref->setAccessible(true);
444+
}
415445
$ref->setValue($handler, $logger);
416446

417447
$stream = new ThroughStream();
@@ -430,7 +460,9 @@ public function testInvokeWithRemoteAddrAttributeLogsRequestWithIpFromAttribute(
430460
$logger = $this->createMock(LogStreamHandler::class);
431461
// $handler->logger = $logger;
432462
$ref = new \ReflectionProperty($handler, 'logger');
433-
$ref->setAccessible(true);
463+
if (PHP_VERSION_ID < 80100) {
464+
$ref->setAccessible(true);
465+
}
434466
$ref->setValue($handler, $logger);
435467

436468
$request = new ServerRequest('GET', 'http://localhost:8080/users', [], '', '1.1', ['REMOTE_ADDR' => '127.0.0.1']);
@@ -449,7 +481,9 @@ public function testInvokeWithoutRemoteAddressLogsRequestWithDashAsPlaceholder()
449481
$logger = $this->createMock(LogStreamHandler::class);
450482
// $handler->logger = $logger;
451483
$ref = new \ReflectionProperty($handler, 'logger');
452-
$ref->setAccessible(true);
484+
if (PHP_VERSION_ID < 80100) {
485+
$ref->setAccessible(true);
486+
}
453487
$ref->setValue($handler, $logger);
454488

455489
$request = new ServerRequest('GET', 'http://localhost:8080/users');

tests/AppMiddlewareTest.php

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ public function testGetMethodWithMiddlewareAddsGetRouteOnRouter(): void
2727
$router->expects($this->once())->method('map')->with(['GET'], '/', $middleware, $controller);
2828

2929
$ref = new \ReflectionProperty($app, 'router');
30-
$ref->setAccessible(true);
30+
if (PHP_VERSION_ID < 80100) {
31+
$ref->setAccessible(true);
32+
}
3133
$ref->setValue($app, $router);
3234

3335
$app->get('/', $middleware, $controller);
@@ -44,7 +46,9 @@ public function testHeadMethodWithMiddlewareAddsHeadRouteOnRouter(): void
4446
$router->expects($this->once())->method('map')->with(['HEAD'], '/', $middleware, $controller);
4547

4648
$ref = new \ReflectionProperty($app, 'router');
47-
$ref->setAccessible(true);
49+
if (PHP_VERSION_ID < 80100) {
50+
$ref->setAccessible(true);
51+
}
4852
$ref->setValue($app, $router);
4953

5054
$app->head('/', $middleware, $controller);
@@ -61,7 +65,9 @@ public function testPostMethodWithMiddlewareAddsPostRouteOnRouter(): void
6165
$router->expects($this->once())->method('map')->with(['POST'], '/', $middleware, $controller);
6266

6367
$ref = new \ReflectionProperty($app, 'router');
64-
$ref->setAccessible(true);
68+
if (PHP_VERSION_ID < 80100) {
69+
$ref->setAccessible(true);
70+
}
6571
$ref->setValue($app, $router);
6672

6773
$app->post('/', $middleware, $controller);
@@ -78,7 +84,9 @@ public function testPutMethodWithMiddlewareAddsPutRouteOnRouter(): void
7884
$router->expects($this->once())->method('map')->with(['PUT'], '/', $middleware, $controller);
7985

8086
$ref = new \ReflectionProperty($app, 'router');
81-
$ref->setAccessible(true);
87+
if (PHP_VERSION_ID < 80100) {
88+
$ref->setAccessible(true);
89+
}
8290
$ref->setValue($app, $router);
8391

8492
$app->put('/', $middleware, $controller);
@@ -95,7 +103,9 @@ public function testPatchMethodWithMiddlewareAddsPatchRouteOnRouter(): void
95103
$router->expects($this->once())->method('map')->with(['PATCH'], '/', $middleware, $controller);
96104

97105
$ref = new \ReflectionProperty($app, 'router');
98-
$ref->setAccessible(true);
106+
if (PHP_VERSION_ID < 80100) {
107+
$ref->setAccessible(true);
108+
}
99109
$ref->setValue($app, $router);
100110

101111
$app->patch('/', $middleware, $controller);
@@ -112,7 +122,9 @@ public function testDeleteMethodWithMiddlewareAddsDeleteRouteOnRouter(): void
112122
$router->expects($this->once())->method('map')->with(['DELETE'], '/', $middleware, $controller);
113123

114124
$ref = new \ReflectionProperty($app, 'router');
115-
$ref->setAccessible(true);
125+
if (PHP_VERSION_ID < 80100) {
126+
$ref->setAccessible(true);
127+
}
116128
$ref->setValue($app, $router);
117129

118130
$app->delete('/', $middleware, $controller);
@@ -129,7 +141,9 @@ public function testOptionsMethodWithMiddlewareAddsOptionsRouteOnRouter(): void
129141
$router->expects($this->once())->method('map')->with(['OPTIONS'], '/', $middleware, $controller);
130142

131143
$ref = new \ReflectionProperty($app, 'router');
132-
$ref->setAccessible(true);
144+
if (PHP_VERSION_ID < 80100) {
145+
$ref->setAccessible(true);
146+
}
133147
$ref->setValue($app, $router);
134148

135149
$app->options('/', $middleware, $controller);
@@ -146,7 +160,9 @@ public function testAnyMethodWithMiddlewareAddsAllHttpMethodsOnRouter(): void
146160
$router->expects($this->once())->method('map')->with(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'], '/', $middleware, $controller);
147161

148162
$ref = new \ReflectionProperty($app, 'router');
149-
$ref->setAccessible(true);
163+
if (PHP_VERSION_ID < 80100) {
164+
$ref->setAccessible(true);
165+
}
150166
$ref->setValue($app, $router);
151167

152168
$app->any('/', $middleware, $controller);
@@ -163,7 +179,9 @@ public function testMapMethodWithMiddlewareAddsGivenMethodsOnRouter(): void
163179
$router->expects($this->once())->method('map')->with(['GET', 'POST'], '/', $middleware, $controller);
164180

165181
$ref = new \ReflectionProperty($app, 'router');
166-
$ref->setAccessible(true);
182+
if (PHP_VERSION_ID < 80100) {
183+
$ref->setAccessible(true);
184+
}
167185
$ref->setValue($app, $router);
168186

169187
$app->map(['GET', 'POST'], '/', $middleware, $controller);

0 commit comments

Comments
 (0)