summaryrefslogtreecommitdiffstats
path: root/Tests/Core/User/UserCheckerTest.php
diff options
context:
space:
mode:
authorFabien Potencier <fabien.potencier@gmail.com>2013-12-31 14:43:26 +0100
committerFabien Potencier <fabien.potencier@gmail.com>2013-12-31 14:43:26 +0100
commitf8dff63f4919ac33ccda41987ed5f0f114b3a0b7 (patch)
tree2aceeef6454a1454a75511c11444fd1473e4500c /Tests/Core/User/UserCheckerTest.php
parent763b54967bf8bd0798bab530df38ec6b695d2d49 (diff)
parentf3427fa7d44637866e038bf49ae336509e99800b (diff)
downloadsymfony-security-f8dff63f4919ac33ccda41987ed5f0f114b3a0b7.zip
symfony-security-f8dff63f4919ac33ccda41987ed5f0f114b3a0b7.tar.gz
symfony-security-f8dff63f4919ac33ccda41987ed5f0f114b3a0b7.tar.bz2
Merge branch '2.3' into 2.4
* 2.3: [Security] fixed pre/post authentication checks Updated lithuanian validator translation: changed vartotojas to naudotojas as it is more proper term. Fixed CSS [HttpFoundation] Throw proper exception when invalid data is passed to JsonResponse class addressed == -> === suggestion Fixed #9020 - Added support for collections in service#parameters fixes PSR-0 issues in tests adjusted behavior to always copy override on url files Skips test that need full lib-intl. Conflicts: src/Symfony/Component/Security/Acl/Tests/Permission/MaskBuilderTest.php src/Symfony/Component/Security/Core/Tests/Authentication/Token/RememerMeTokenTest.php src/Symfony/Component/Security/Core/Tests/User/AccountCheckerTest.php src/Symfony/Component/Security/Core/Tests/User/InMemoryProviderTest.php src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php src/Symfony/Component/Security/Tests/Core/Authentication/Token/RememberMeTokenTest.php src/Symfony/Component/Security/Tests/Core/Authentication/Token/RememerMeTokenTest.php src/Symfony/Component/Security/Tests/Core/User/AccountCheckerTest.php src/Symfony/Component/Security/Tests/Core/User/InMemoryProviderTest.php src/Symfony/Component/Security/Tests/Core/User/InMemoryUserProviderTest.php src/Symfony/Component/Security/Tests/Core/User/UserCheckerTest.php
Diffstat (limited to 'Tests/Core/User/UserCheckerTest.php')
-rw-r--r--Tests/Core/User/UserCheckerTest.php108
1 files changed, 108 insertions, 0 deletions
diff --git a/Tests/Core/User/UserCheckerTest.php b/Tests/Core/User/UserCheckerTest.php
new file mode 100644
index 0000000..dca6311
--- /dev/null
+++ b/Tests/Core/User/UserCheckerTest.php
@@ -0,0 +1,108 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Security\Tests\Core\User;
+
+use Symfony\Component\Security\Core\User\UserChecker;
+
+class UserCheckerTest extends \PHPUnit_Framework_TestCase
+{
+ public function testCheckPostAuthNotAdvancedUserInterface()
+ {
+ $checker = new UserChecker();
+
+ $this->assertNull($checker->checkPostAuth($this->getMock('Symfony\Component\Security\Core\User\UserInterface')));
+ }
+
+ public function testCheckPostAuthPass()
+ {
+ $checker = new UserChecker();
+
+ $account = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface');
+ $account->expects($this->once())->method('isCredentialsNonExpired')->will($this->returnValue(true));
+
+ $this->assertNull($checker->checkPostAuth($account));
+ }
+
+ /**
+ * @expectedException \Symfony\Component\Security\Core\Exception\CredentialsExpiredException
+ */
+ public function testCheckPostAuthCredentialsExpired()
+ {
+ $checker = new UserChecker();
+
+ $account = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface');
+ $account->expects($this->once())->method('isCredentialsNonExpired')->will($this->returnValue(false));
+
+ $checker->checkPostAuth($account);
+ }
+
+ public function testCheckPreAuthNotAdvancedUserInterface()
+ {
+ $checker = new UserChecker();
+
+ $this->assertNull($checker->checkPreAuth($this->getMock('Symfony\Component\Security\Core\User\UserInterface')));
+ }
+
+ public function testCheckPreAuthPass()
+ {
+ $checker = new UserChecker();
+
+ $account = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface');
+ $account->expects($this->once())->method('isAccountNonLocked')->will($this->returnValue(true));
+ $account->expects($this->once())->method('isEnabled')->will($this->returnValue(true));
+ $account->expects($this->once())->method('isAccountNonExpired')->will($this->returnValue(true));
+
+ $this->assertNull($checker->checkPreAuth($account));
+ }
+
+ /**
+ * @expectedException \Symfony\Component\Security\Core\Exception\LockedException
+ */
+ public function testCheckPreAuthAccountLocked()
+ {
+ $checker = new UserChecker();
+
+ $account = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface');
+ $account->expects($this->once())->method('isAccountNonLocked')->will($this->returnValue(false));
+
+ $checker->checkPreAuth($account);
+ }
+
+ /**
+ * @expectedException \Symfony\Component\Security\Core\Exception\DisabledException
+ */
+ public function testCheckPreAuthDisabled()
+ {
+ $checker = new UserChecker();
+
+ $account = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface');
+ $account->expects($this->once())->method('isAccountNonLocked')->will($this->returnValue(true));
+ $account->expects($this->once())->method('isEnabled')->will($this->returnValue(false));
+
+ $checker->checkPreAuth($account);
+ }
+
+ /**
+ * @expectedException \Symfony\Component\Security\Core\Exception\AccountExpiredException
+ */
+ public function testCheckPreAuthAccountExpired()
+ {
+ $checker = new UserChecker();
+
+ $account = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface');
+ $account->expects($this->once())->method('isAccountNonLocked')->will($this->returnValue(true));
+ $account->expects($this->once())->method('isEnabled')->will($this->returnValue(true));
+ $account->expects($this->once())->method('isAccountNonExpired')->will($this->returnValue(false));
+
+ $checker->checkPreAuth($account);
+ }
+}