1 | <?php |
||||
2 | declare(strict_types=1); |
||||
3 | |||||
4 | namespace Northwoods\Middleware; |
||||
5 | |||||
6 | use InvalidArgumentException; |
||||
7 | use Northwoods\Middleware\Fixture\Handler; |
||||
8 | use Northwoods\Middleware\Fixture\Middleware; |
||||
9 | use Nyholm\Psr7\ServerRequest; |
||||
10 | use PHPUnit\Framework\TestCase; |
||||
11 | use Psr\Container\ContainerInterface; |
||||
0 ignored issues
–
show
|
|||||
12 | use Psr\Http\Server\MiddlewareInterface; |
||||
13 | |||||
14 | class ConditionalMiddlewareTest extends TestCase |
||||
15 | { |
||||
16 | public function testCallsActualMiddlewareWhenConditionMatches(): void |
||||
17 | { |
||||
18 | $middleware = new ConditionalMiddleware(new Middleware(), function ($request) { |
||||
19 | return $request->getHeaderLine('accept') === 'application/json'; |
||||
20 | }); |
||||
21 | |||||
22 | $handler = new Handler(); |
||||
23 | $request = new ServerRequest('GET', 'https://example.com'); |
||||
24 | $request = $request->withHeader('accept', 'application/json'); |
||||
25 | |||||
26 | $response = $middleware->process($request, $handler); |
||||
27 | |||||
28 | $this->assertEquals(200, $response->getStatusCode()); |
||||
29 | $this->assertEquals(Middleware::class, (string) $response->getBody()); |
||||
30 | } |
||||
31 | |||||
32 | public function testDoesNotCallActualMiddlewareWhenConditionFails(): void |
||||
33 | { |
||||
34 | $middleware = new ConditionalMiddleware(new Middleware(), function ($request) { |
||||
35 | return $request->getHeaderLine('accept') === 'application/json'; |
||||
36 | }); |
||||
37 | |||||
38 | $handler = new Handler(); |
||||
39 | $request = new ServerRequest('GET', 'https://example.com'); |
||||
40 | |||||
41 | $response = $middleware->process($request, $handler); |
||||
42 | |||||
43 | $this->assertEquals(400, $response->getStatusCode()); |
||||
44 | $this->assertEquals(Handler::class, (string) $response->getBody()); |
||||
45 | } |
||||
46 | |||||
47 | public function testDoesNotCallActualMiddlewareUnlessConditionReturnsTrue(): void |
||||
48 | { |
||||
49 | $middleware = new ConditionalMiddleware(new Middleware(), function ($request) { |
||||
0 ignored issues
–
show
The parameter
$request is not used and could be removed.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check looks for parameters that have been defined for a function or method, but which are not used in the method body. ![]() |
|||||
50 | return 'okay'; |
||||
51 | }); |
||||
52 | |||||
53 | $handler = new Handler(); |
||||
54 | $request = new ServerRequest('GET', 'https://example.com'); |
||||
55 | |||||
56 | $response = $middleware->process($request, $handler); |
||||
57 | |||||
58 | $this->assertEquals(400, $response->getStatusCode()); |
||||
59 | $this->assertEquals(Handler::class, (string) $response->getBody()); |
||||
60 | } |
||||
61 | } |
||||
62 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths