anonymous//tests/SymfonyToPsr15BridgeTest.php$0   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 7
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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