8000 Merge branch '5.4' into 6.0 · symfony/symfony@d13570a · GitHub
[go: up one dir, main page]

Skip to content

Commit d13570a

Browse files
committed
Merge branch '5.4' into 6.0
* 5.4: fix merge do not use mocks in tests when not necessary [Mailer] Missing import in first example [Security] Add test case for user not found [SecurityBundle] Use config's secret in remember-me signatures
2 parents 5102746 + 49ec9af commit d13570a

File tree

43 files changed

+1412
-2232
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1412
-2232
lines changed

src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public function createAuthenticator(ContainerBuilder $container, string $firewal
7171
$tokenVerifier = $this->createTokenVerifier($container, $firewallName, $config['token_verifier'] ?? null);
7272
$container->setDefinition($rememberMeHandlerId, new ChildDefinition('security.authenticator.persistent_remember_me_handler'))
7373
->replaceArgument(0, new Reference($tokenProviderId))
74+
->replaceArgument(1, $config['secret'])
7475
->replaceArgument(2, new Reference($userProviderId))
7576
->replaceArgument(4, $config)
7677
->replaceArgument(6, $tokenVerifier)
@@ -79,6 +80,7 @@ public function createAuthenticator(ContainerBuilder $container, string $firewal
7980
$signatureHasherId = 'security.authenticator.remember_me_signature_hasher.'.$firewallName;
8081
$container->setDefinition($signatureHasherId, new ChildDefinition('security.authenticator.remember_me_signature_hasher'))
8182
->replaceArgument(1, $config['signature_properties'])
83+
->replaceArgument(2, $config['secret'])
8284
;
8385

8486
$container->setDefinition($rememberMeHandlerId, new ChildDefinition('security.authenticator.signature_remember_me_handler'))
@@ -140,7 +142,10 @@ public function addConfiguration(NodeDefinition $node)
140142
;
141143

142144
$builder
143-
->scalarNode('secret')->isRequired()->cannotBeEmpty()->end()
145+
->scalarNode('secret')
146+
->cannotBeEmpty()
147+
->defaultValue('%kernel.secret%')
148+
->end()
144149
->scalarNode('service')->end()
145150
->arrayNode('user_providers')
146151
->beforeNormalization()

src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,46 @@ public function testCustomRememberMeHandler()
393393
$this->assertEquals([['firewall' => 'default']], $handler->getTag('security.remember_me_handler'));
394394
}
395395

396+
public function testSecretRememberMeHasher()
397+
{
398+
$container = $this->getRawContainer();
399+
400+
$container->register('custom_remember_me', \stdClass::class);
401+
$container->loadFromExtension('security', [
402+
'enable_authenticator_manager' => true,
403+
'firewalls' => [
404+
'default' => [
405+
'remember_me' => ['secret' => 'very'],
406+
],
407+
],
408+
]);
409+
410+
$container->compile();
411+
412+
$handler = $container->getDefinition('security.authenticator.remember_me_signature_hasher.default');
413+
$this->assertSame('very', $handler->getArgument(2));
414+
}
415+
416+
public function testSecretRememberMeHandler()
417+
{
418+
$container = $this->getRawContainer();
419+
420+
$container->register('custom_remember_me', \stdClass::class);
421+
$container->loadFromExtension('security', [
422+
'enable_authenticator_manager' => true,
423+
'firewalls' => [
424+
'default' => [
425+
'remember_me' => ['secret' => 'very', 'token_provider' => 'token_provider_id'],
426+
],
427+
],
428+
]);
429+
430+
$container->compile();
431+
432+
$handler = $container->getDefinition('security.authenticator.remember_me_handler.default');
433+
$this->assertSame('very', $handler->getArgument(1));
434+
}
435+
396436
public function sessionConfigurationProvider()
397437
{
398438
return [

src/Symfony/Component/Form/Tests/AbstractFormTest.php

Lines changed: 0 additions & 77 deletions
This file was deleted.

src/Symfony/Component/Form/Tests/AbstractRequestHandlerTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
use Symfony\Component\Form\FormBuilder;
1919
use Symfony\Component\Form\FormError;
2020
use Symfony\Component\Form\FormFactory;
21-
use Symfony\Component\Form\FormFactoryInterface;
21+
use Symfony\Component\Form\FormRegistry;
2222
use Symfony\Component\Form\Forms;
2323
use Symfony\Component\Form\RequestHandlerInterface;
24+
use Symfony\Component\Form\ResolvedFormTypeFactory;
2425
use Symfony\Component\Form\Util\ServerParams;
2526

2627
/**
@@ -417,7 +418,7 @@ protected function createForm($name, $method = null, $compound = false)
417418

418419
protected function createBuilder($name, $compound = false, array $options = [])
419420
{
420-
$builder = new FormBuilder($name, null, new EventDispatcher(), $this->createMock(FormFactoryInterface::class), $options);
421+
$builder = new FormBuilder($name, null, new EventDispatcher(), new FormFactory(new FormRegistry([], new ResolvedFormTypeFactory())), $options);
421422
$builder->setCompound($compound);
422423

423424
if ($compound) {

src/Symfony/Component/Form/Tests/ButtonTest.php

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,19 @@
1212
namespace Symfony\Component\Form\Tests;
1313

1414
use PHPUnit\Framework\TestCase;
15-
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
15+
use Symfony\Component\EventDispatcher\EventDispatcher;
1616
use Symfony\Component\Form\ButtonBuilder;
1717
use Symfony\Component\Form\Exception\AlreadySubmittedException;
1818
use Symfony\Component\Form\FormBuilder;
19-
use Symfony\Component\Form\FormFactoryInterface;
19+
use Symfony\Component\Form\FormFactory;
20+
use Symfony\Component\Form\FormRegistry;
21+
use Symfony\Component\Form\ResolvedFormTypeFactory;
2022

2123
/**
2224
* @author Bernhard Schussek <bschussek@gmail.com>
2325
*/
2426
class ButtonTest extends TestCase
2527
{
26-
private $dispatcher;
27-
28-
private $factory;
29-
30-
protected function setUp(): void
31-
{
32-
$this->dispatcher = $this->createMock(EventDispatcherInterface::class);
33-
$this->factory = $this->createMock(FormFactoryInterface::class);
34-
}
35-
3628
public function testSetParentOnSubmittedButton()
3729
{
3830
$this->expectException(AlreadySubmittedException::class);
@@ -83,6 +75,6 @@ private function getButtonBuilder($name)
8375

8476
private function getFormBuilder()
8577
{
86-
return new FormBuilder('form', null, $this->dispatcher, $this->factory);
78+
return new FormBuilder('form', null, new EventDispatcher(), new FormFactory(new FormRegistry([], new ResolvedFormTypeFactory())));
8779
}
8880
}

0 commit comments

Comments
 (0)
0