From 8d5f39f9e54187a86fc5113f00d5df15b8b212d2 Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Fri, 24 May 2013 19:40:30 +0100 Subject: [PATCH] [Security] Added tests for the DefaultLogoutSuccessHandler. --- ...efaultAuthenticationFailureHandlerTest.php | 6 ++- .../DefaultLogoutSuccessHandlerTest.php | 42 +++++++++++++++++++ .../SessionAuthenticationStrategyTest.php | 2 +- 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 src/Symfony/Component/Security/Tests/Http/Logout/DefaultLogoutSuccessHandlerTest.php diff --git a/src/Symfony/Component/Security/Tests/Http/Authentication/DefaultAuthenticationFailureHandlerTest.php b/src/Symfony/Component/Security/Tests/Http/Authentication/DefaultAuthenticationFailureHandlerTest.php index 992eae8b05..485b82864a 100644 --- a/src/Symfony/Component/Security/Tests/Http/Authentication/DefaultAuthenticationFailureHandlerTest.php +++ b/src/Symfony/Component/Security/Tests/Http/Authentication/DefaultAuthenticationFailureHandlerTest.php @@ -39,11 +39,15 @@ class DefaultAuthenticationFailureHandlerTest extends \PHPUnit_Framework_TestCas $this->markTestSkipped('The "HttpFoundation" component is not available'); } + if (!class_exists('Psr\Log\LoggerInterface')) { + $this->markTestSkipped('The "LoggerInterface" is not available'); + } + $this->httpKernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); $this->httpUtils = $this->getMock('Symfony\Component\Security\Http\HttpUtils'); $this->logger = $this->getMock('Psr\Log\LoggerInterface'); - $this->session = $this->getMock('Symfony\Component\HttpFoundation\Session\Session'); + $this->session = $this->getMock('Symfony\Component\HttpFoundation\Session\SessionInterface'); $this->request = $this->getMock('Symfony\Component\HttpFoundation\Request'); $this->request->expects($this->any())->method('getSession')->will($this->returnValue($this->session)); $this->exception = $this->getMock('Symfony\Component\Security\Core\Exception\AuthenticationException'); diff --git a/src/Symfony/Component/Security/Tests/Http/Logout/DefaultLogoutSuccessHandlerTest.php b/src/Symfony/Component/Security/Tests/Http/Logout/DefaultLogoutSuccessHandlerTest.php new file mode 100644 index 0000000000..e1b1227bf0 --- /dev/null +++ b/src/Symfony/Component/Security/Tests/Http/Logout/DefaultLogoutSuccessHandlerTest.php @@ -0,0 +1,42 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Security\Tests\Http\Logout; + +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\Security\Http\Logout\DefaultLogoutSuccessHandler; + +class DefaultLogoutSuccessHandlerTest extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + if (!class_exists('Symfony\Component\HttpFoundation\Request')) { + $this->markTestSkipped('The "HttpFoundation" component is not available'); + } + } + + public function testLogout() + { + $request = $this->getMock('Symfony\Component\HttpFoundation\Request'); + $response = $this->getMock('Symfony\Component\HttpFoundation\Response'); + + $httpUtils = $this->getMock('Symfony\Component\Security\Http\HttpUtils'); + $httpUtils->expects($this->once()) + ->method('createRedirectResponse') + ->with($request, '/dashboard') + ->will($this->returnValue($response)); + + $handler = new DefaultLogoutSuccessHandler($httpUtils, '/dashboard'); + $result = $handler->onLogoutSuccess($request); + + $this->assertSame($response, $result); + } +} diff --git a/src/Symfony/Component/Security/Tests/Http/Session/SessionAuthenticationStrategyTest.php b/src/Symfony/Component/Security/Tests/Http/Session/SessionAuthenticationStrategyTest.php index 896d6ad2ca..43c52b564d 100644 --- a/src/Symfony/Component/Security/Tests/Http/Session/SessionAuthenticationStrategyTest.php +++ b/src/Symfony/Component/Security/Tests/Http/Session/SessionAuthenticationStrategyTest.php @@ -66,7 +66,7 @@ class SessionAuthenticationStrategyTest extends \PHPUnit_Framework_TestCase { $request = $this->getMock('Symfony\Component\HttpFoundation\Request'); - if (!is_null($session)) { + if (null !== $session) { $request->expects($this->any())->method('getSession')->will($this->returnValue($session)); }