Passed
Pull Request — master (#11)
by Derek Stephen
10:44 queued 39s
created

SymfonyToPsr15BridgeTest.php$0 ➔ handle()   A

Complexity

Conditions 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
1
<?php
2
3
namespace TheCodingMachine\Tests\Psr15Bridge;
4
5
use PHPUnit\Framework\TestCase;
6
use Psr\Http\Message\ResponseInterface;
7
use Psr\Http\Message\ServerRequestInterface;
8
use Psr\Http\Server\MiddlewareInterface;
9
use Psr\Http\Server\RequestHandlerInterface;
10
use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
11
use Symfony\Component\HttpFoundation\Response as SymfonyResponse;
12
use Symfony\Component\HttpKernel\HttpKernelInterface;
13
use TheCodingMachine\Psr15Bridge\SymfonyToPsr15Bridge;
14
15
class SymfonyToPsr15BridgeTest extends TestCase
16
{
17
    public function testHandle()
18
    {
19
        // Symfony middleware that returns 'foo'
20
        $nextSymfonyMiddleware = new class implements HttpKernelInterface
21
         {
22
             public function handle(SymfonyRequest $request, $type = self::MASTER_REQUEST, $catch = true)
23
             {
24
                 return new SymfonyResponse('foo');
25
             }
26
         };
27
28
        // Psr15 middleware that appends 'bar' to the body
29
        $middlewareInterface = new class implements MiddlewareInterface
30
         {
31
             public function process(ServerRequestInterface $request, RequestHandlerInterface $delegate): ResponseInterface
32
             {
33
                 $response = $delegate->process($request, $delegate);
34
                 $response->getBody()->write('bar');
35
36
                 return $response;
37
             }
38
         };
39
40
        $bridge = new SymfonyToPsr15Bridge($nextSymfonyMiddleware, $middlewareInterface);
41
42
        $request = SymfonyRequest::create('/', 'GET');
43
        $response = $bridge->handle($request);
44
45
        $this->assertEquals('foobar', $response->getContent());
46
    }
47
}
48