summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabien Potencier <fabien.potencier@gmail.com>2014-12-20 17:07:09 +0100
committerFabien Potencier <fabien.potencier@gmail.com>2014-12-20 17:07:09 +0100
commitc238807840e5a61a7c7f01cf8db8a80861c3e757 (patch)
treedb88a65e56a98ff5ae2c64b9728c43f848da0795
parent10235615683e584136bfff24234d82c81ef23fe5 (diff)
parentab8d1dc9a59700ebf179461b5a85e6d11e201705 (diff)
downloadsymfony-security-c238807840e5a61a7c7f01cf8db8a80861c3e757.zip
symfony-security-c238807840e5a61a7c7f01cf8db8a80861c3e757.tar.gz
symfony-security-c238807840e5a61a7c7f01cf8db8a80861c3e757.tar.bz2
Merge branch '2.6' into 2.7
* 2.6: (23 commits) [Config] adds missing « use » statement for InvalidTypeException type hint in documentation. [Config] fixes broken unit test on ArrayNode class. fixed CS [Security] Delete old session on auth strategy migrate skip if param "translator.logging" doesn't exist. update required minimum TwigBridge version Very minor grammar fix in error message Added the function providers as container resources [Tests] Silenced all deprecations in tests for 2.3 BinaryFileResponse - add missing newline fixed CS add a limit and a test to FlattenExceptionTest. [DebugBundle] enable the DumpDataCollectorPass [FrameworkBundle] Use debug namespace. [FrameworkBundle] update debug commands references skip compiler pass if interface doesn't exist Unify the way to provide expression functions for the DI container CS: There should be no empty lines following phpdocs fix link format handling with disabled templating [FrameworkBundle] fix cache:clear command ... Conflicts: src/Symfony/Bridge/Doctrine/phpunit.xml.dist src/Symfony/Bridge/Monolog/phpunit.xml.dist src/Symfony/Bridge/Propel1/phpunit.xml.dist src/Symfony/Bridge/ProxyManager/phpunit.xml.dist src/Symfony/Bridge/Twig/phpunit.xml.dist src/Symfony/Bundle/FrameworkBundle/phpunit.xml.dist src/Symfony/Bundle/SecurityBundle/phpunit.xml.dist src/Symfony/Bundle/TwigBundle/phpunit.xml.dist src/Symfony/Bundle/WebProfilerBundle/phpunit.xml.dist src/Symfony/Component/BrowserKit/phpunit.xml.dist src/Symfony/Component/ClassLoader/phpunit.xml.dist src/Symfony/Component/Config/phpunit.xml.dist src/Symfony/Component/Console/phpunit.xml.dist src/Symfony/Component/CssSelector/phpunit.xml.dist src/Symfony/Component/Debug/phpunit.xml.dist src/Symfony/Component/DependencyInjection/phpunit.xml.dist src/Symfony/Component/DomCrawler/phpunit.xml.dist src/Symfony/Component/EventDispatcher/phpunit.xml.dist src/Symfony/Component/Filesystem/phpunit.xml.dist src/Symfony/Component/Finder/phpunit.xml.dist src/Symfony/Component/Form/phpunit.xml.dist src/Symfony/Component/HttpFoundation/phpunit.xml.dist src/Symfony/Component/HttpKernel/phpunit.xml.dist src/Symfony/Component/Intl/phpunit.xml.dist src/Symfony/Component/Locale/phpunit.xml.dist src/Symfony/Component/OptionsResolver/phpunit.xml.dist src/Symfony/Component/Process/phpunit.xml.dist src/Symfony/Component/PropertyAccess/phpunit.xml.dist src/Symfony/Component/Routing/phpunit.xml.dist src/Symfony/Component/Security/phpunit.xml.dist src/Symfony/Component/Serializer/phpunit.xml.dist src/Symfony/Component/Stopwatch/phpunit.xml.dist src/Symfony/Component/Templating/phpunit.xml.dist src/Symfony/Component/Translation/phpunit.xml.dist src/Symfony/Component/Validator/phpunit.xml.dist src/Symfony/Component/Yaml/phpunit.xml.dist
-rw-r--r--Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php175
-rw-r--r--Http/Session/SessionAuthenticationStrategy.php2
-rw-r--r--Http/Tests/Session/SessionAuthenticationStrategyTest.php2
3 files changed, 2 insertions, 177 deletions
diff --git a/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php b/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php
deleted file mode 100644
index ef93e25..0000000
--- a/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?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\Core\Tests\Validator\Constraints;
-
-use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
-use Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface;
-use Symfony\Component\Security\Core\SecurityContextInterface;
-use Symfony\Component\Security\Core\Validator\Constraints\UserPassword;
-use Symfony\Component\Security\Core\Validator\Constraints\UserPasswordValidator;
-use Symfony\Component\Validator\Tests\Constraints\AbstractConstraintValidatorTest;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class UserPasswordValidatorTest extends AbstractConstraintValidatorTest
-{
- const PASSWORD = 's3Cr3t';
-
- const SALT = '^S4lt$';
-
- /**
- * @var SecurityContextInterface
- */
- protected $securityContext;
-
- /**
- * @var PasswordEncoderInterface
- */
- protected $encoder;
-
- /**
- * @var EncoderFactoryInterface
- */
- protected $encoderFactory;
-
- protected function getApiVersion()
- {
- return Validation::API_VERSION_2_5;
- }
-
- protected function createValidator()
- {
- return new UserPasswordValidator($this->securityContext, $this->encoderFactory);
- }
-
- protected function setUp()
- {
- $user = $this->createUser();
- $this->securityContext = $this->createSecurityContext($user);
- $this->encoder = $this->createPasswordEncoder();
- $this->encoderFactory = $this->createEncoderFactory($this->encoder);
-
- parent::setUp();
- }
-
- public function testPasswordIsValid()
- {
- $constraint = new UserPassword(array(
- 'message' => 'myMessage',
- ));
-
- $this->encoder->expects($this->once())
- ->method('isPasswordValid')
- ->with(static::PASSWORD, 'secret', static::SALT)
- ->will($this->returnValue(true));
-
- $this->validator->validate('secret', $constraint);
-
- $this->assertNoViolation();
- }
-
- public function testPasswordIsNotValid()
- {
- $constraint = new UserPassword(array(
- 'message' => 'myMessage',
- ));
-
- $this->encoder->expects($this->once())
- ->method('isPasswordValid')
- ->with(static::PASSWORD, 'secret', static::SALT)
- ->will($this->returnValue(false));
-
- $this->validator->validate('secret', $constraint);
-
- $this->buildViolation('myMessage')
- ->assertRaised();
- }
-
- /**
- * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
- */
- public function testUserIsNotValid()
- {
- $user = $this->getMock('Foo\Bar\User');
-
- $this->securityContext = $this->createSecurityContext($user);
- $this->validator = $this->createValidator();
- $this->validator->initialize($this->context);
-
- $this->validator->validate('secret', new UserPassword());
- }
-
- protected function createUser()
- {
- $mock = $this->getMock('Symfony\Component\Security\Core\User\UserInterface');
-
- $mock
- ->expects($this->any())
- ->method('getPassword')
- ->will($this->returnValue(static::PASSWORD))
- ;
-
- $mock
- ->expects($this->any())
- ->method('getSalt')
- ->will($this->returnValue(static::SALT))
- ;
-
- return $mock;
- }
-
- protected function createPasswordEncoder($isPasswordValid = true)
- {
- return $this->getMock('Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface');
- }
-
- protected function createEncoderFactory($encoder = null)
- {
- $mock = $this->getMock('Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface');
-
- $mock
- ->expects($this->any())
- ->method('getEncoder')
- ->will($this->returnValue($encoder))
- ;
-
- return $mock;
- }
-
- protected function createSecurityContext($user = null)
- {
- $token = $this->createAuthenticationToken($user);
-
- $mock = $this->getMock('Symfony\Component\Security\Core\SecurityContextInterface');
- $mock
- ->expects($this->any())
- ->method('getToken')
- ->will($this->returnValue($token))
- ;
-
- return $mock;
- }
-
- protected function createAuthenticationToken($user = null)
- {
- $mock = $this->getMock('Symfony\Component\Security\Core\Authentication\Token\TokenInterface');
- $mock
- ->expects($this->any())
- ->method('getUser')
- ->will($this->returnValue($user))
- ;
-
- return $mock;
- }
-}
diff --git a/Http/Session/SessionAuthenticationStrategy.php b/Http/Session/SessionAuthenticationStrategy.php
index 0e688c7..dd258a0 100644
--- a/Http/Session/SessionAuthenticationStrategy.php
+++ b/Http/Session/SessionAuthenticationStrategy.php
@@ -47,7 +47,7 @@ class SessionAuthenticationStrategy implements SessionAuthenticationStrategyInte
return;
case self::MIGRATE:
- $request->getSession()->migrate();
+ $request->getSession()->migrate(true);
return;
diff --git a/Http/Tests/Session/SessionAuthenticationStrategyTest.php b/Http/Tests/Session/SessionAuthenticationStrategyTest.php
index 7be9054..a1f960f 100644
--- a/Http/Tests/Session/SessionAuthenticationStrategyTest.php
+++ b/Http/Tests/Session/SessionAuthenticationStrategyTest.php
@@ -40,7 +40,7 @@ class SessionAuthenticationStrategyTest extends \PHPUnit_Framework_TestCase
public function testSessionIsMigrated()
{
$session = $this->getMock('Symfony\Component\HttpFoundation\Session\SessionInterface');
- $session->expects($this->once())->method('migrate');
+ $session->expects($this->once())->method('migrate')->with($this->equalTo(true));
$strategy = new SessionAuthenticationStrategy(SessionAuthenticationStrategy::MIGRATE);
$strategy->onAuthentication($this->getRequest($session), $this->getToken());