public function testValidRequestShouldBeHandledByTheNextMiddleware()
{
$content = '{"content": "This is the content"}';
$request = Request::create('http://localhost/', 'GET', [], [], [], [], $content);
$request->headers->set('X-Hub-Signature', sprintf('sha1=%s', hash_hmac('sha1', $content, 'my_secret')));
$psrFactory = new DiactorosFactory();
$foundationFactory = new HttpFoundationFactory();
$psrRequest = $psrFactory->createRequest($request);
$expectedRequest = $foundationFactory->createRequest($psrRequest);
$response = new Response('OK');
$expectedResponse = $foundationFactory->createResponse($psrFactory->createResponse($response));
$next = $this->prophesize('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
$next->handle($expectedRequest)->shouldBeCalledTimes(1)->willReturn($response);
$middleware = new GitHubWebHook($next->reveal(), 'my_secret');
$response = $middleware->handle($request);
$this->assertEquals($expectedResponse, $response);
}