diff --git a/src/Tests/Functional/App/Controller/TestController.php b/src/Tests/Functional/App/Controller/TestController.php index ee38d46..ce0b5dd 100644 --- a/src/Tests/Functional/App/Controller/TestController.php +++ b/src/Tests/Functional/App/Controller/TestController.php @@ -17,34 +17,25 @@ class TestController { /** - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @param Request $request - * * @return Response */ - public function secureAction(Request $request) + public function secureAction() { return new Response('SECURED CONTENT'); } /** - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @param Request $request - * * @return Response */ - public function securedWithSecretLoaderAction(Request $request) + public function securedWithSecretLoaderAction() { return new Response('CONTENT SECURED WITH SECRET LOADER'); } /** - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @param Request $request - * * @return Response */ - public function unsecureAction(Request $request) + public function unsecuredAction() { return new Response('UNSECURED CONTENT'); } diff --git a/src/Tests/Functional/App/app/routing.yml b/src/Tests/Functional/App/app/routing.yml index 81c7509..ba0b96b 100644 --- a/src/Tests/Functional/App/app/routing.yml +++ b/src/Tests/Functional/App/app/routing.yml @@ -1,6 +1,6 @@ unsecured: path: /unsecured - defaults: { _controller: TestBundle:Test:unsecure } + defaults: { _controller: TestBundle:Test:unsecured } secured: path: /secured diff --git a/src/Tests/Functional/FunctionalTest.php b/src/Tests/Functional/FunctionalTest.php index 298941e..8e7d6b2 100644 --- a/src/Tests/Functional/FunctionalTest.php +++ b/src/Tests/Functional/FunctionalTest.php @@ -10,6 +10,7 @@ use KleijnWeb\JwtBundle\Tests\Authenticator\AuthenticatorTest; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; +use Symfony\Bundle\FrameworkBundle\Client; /** * @author John Kleijn @@ -27,9 +28,10 @@ class FunctionalTest extends WebTestCase */ public function canGetUnsecuredContentWithoutToken() { - $client = $this->createClient(); - $client->request('GET', '/unsecured'); - $this->assertSame('UNSECURED CONTENT', $client->getResponse()->getContent()); + $this->assertSame( + 'UNSECURED CONTENT', + $this->makeRequest('/unsecured') + ); } /** @@ -38,8 +40,7 @@ public function canGetUnsecuredContentWithoutToken() */ public function cannotGetSecuredContentWithoutToken() { - $client = $this->createClient(); - $client->request('GET', '/secured'); + $this->makeRequest('/secured'); } /** @@ -48,9 +49,7 @@ public function cannotGetSecuredContentWithoutToken() */ public function cannotGetSecuredContentWitInvalidToken() { - $client = $this->createClient(); - $server = ['HTTP_AUTHORIZATION' => 'Bearer foo']; - $client->request('GET', '/secured', $parameters = [], $files = [], $server); + $this->makeRequest('/secured', 'foo'); } /** @@ -58,10 +57,10 @@ public function cannotGetSecuredContentWitInvalidToken() */ public function canGetSecuredContentWitValidPskToken() { - $client = $this->createClient(); - $server = ['HTTP_AUTHORIZATION' => 'Bearer ' . self::PSK_TOKEN]; - $client->request('GET', '/secured', $parameters = [], $files = [], $server); - $this->assertSame('SECURED CONTENT', $client->getResponse()->getContent()); + $this->assertSame( + 'SECURED CONTENT', + $this->makeRequest('/secured', self::PSK_TOKEN) + ); } /** @@ -69,20 +68,38 @@ public function canGetSecuredContentWitValidPskToken() */ public function canGetSecuredContentWitValidHmacToken() { - $client = $this->createClient(); - $server = ['HTTP_AUTHORIZATION' => 'Bearer ' . self::HMAC_TOKEN]; - $client->request('GET', '/secured', $parameters = [], $files = [], $server); - $this->assertSame('SECURED CONTENT', $client->getResponse()->getContent()); + $this->assertSame( + 'SECURED CONTENT', + $this->makeRequest('/secured', self::HMAC_TOKEN) + ); } /** * @test */ public function canGetSecuredContentWithSecretLoader() + { + $this->assertSame( + 'CONTENT SECURED WITH SECRET LOADER', + $this->makeRequest('/secured-with-secret-loader', self::DYN_HMAC_TOKEN) + ); + } + + /** + * @param string $url + * @param string $token + * + * @return string + */ + private function makeRequest($url, $token = null) { $client = $this->createClient(); - $server = ['HTTP_AUTHORIZATION' => 'Bearer ' . self::DYN_HMAC_TOKEN]; - $client->request('GET', '/secured-with-secret-loader', $parameters = [], $files = [], $server); - $this->assertSame('CONTENT SECURED WITH SECRET LOADER', $client->getResponse()->getContent()); + $server = []; + if ($token) { + $server = ['HTTP_AUTHORIZATION' => 'Bearer ' . $token]; + } + $client->request('GET', $url, $parameters = [], $files = [], $server); + + return $client->getResponse()->getContent(); } }