8000 Add ChainNormalizer and ChainDenormalizer · symfony/symfony@7fe79f3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7fe79f3

Browse files
committed
Add ChainNormalizer and ChainDenormalizer
1 parent c0e30bb commit 7fe79f3

File tree

50 files changed

+977
-500
lines changed

Some content is hidden

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

50 files changed

+977
-500
lines changed

src/Symfony/Bridge/Twig/Tests/Extension/SerializerExtensionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public static function serializerDataProvider(): \Generator
5050
private function getTwig(string $template): Environment
5151
{
5252
$meta = new ClassMetadataFactory(new AttributeLoader());
53-
$runtime = new SerializerRuntime(new Serializer([new ObjectNormalizer($meta)], [new JsonEncoder(), new YamlEncoder()]));
53+
$runtime = new SerializerRuntime(new Serializer([], [new JsonEncoder(), new YamlEncoder()], new ObjectNormalizer($meta), new ObjectNormalizer($meta)));
5454

5555
$mockRuntimeLoader = $this->createMock(RuntimeLoaderInterface::class);
5656
$mockRuntimeLoader

src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor;
1818
use Symfony\Component\Serializer\Encoder\JsonEncoder;
1919
use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
20+
use Symfony\Component\Serializer\Normalizer\ChainDenormalizer;
21+
use Symfony\Component\Serializer\Normalizer\ChainNormalizer;
2022
use Symfony\Component\Serializer\Normalizer\MimeMessageNormalizer;
2123
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
2224
use Symfony\Component\Serializer\Normalizer\PropertyNormalizer;
@@ -105,12 +107,23 @@ public function testSymfonySerialize()
105107

106108
$extractor = new PhpDocExtractor();
107109
$propertyNormalizer 1241 = new PropertyNormalizer(null, null, $extractor);
108-
$serializer = new Serializer([
110+
$normalizers = [
111+
new MimeMessageNormalizer($propertyNormalizer),
112+
new ObjectNormalizer(null, null, null, $extractor),
113+
$propertyNormalizer,
114+
];
115+
$denormalizers = [
109116
new ArrayDenormalizer(),
110117
new MimeMessageNormalizer($propertyNormalizer),
111118
new ObjectNormalizer(null, null, null, $extractor),
112119
$propertyNormalizer,
113-
], [new JsonEncoder()]);
120+
];
121+
$serializer = new Serializer(
122+
[],
123+
[new JsonEncoder()],
124+
new ChainNormalizer($normalizers),
125+
new ChainDenormalizer($denormalizers),
126+
);
114127

115128
$serialized = $serializer->serialize($e, 'json', [ObjectNormalizer::IGNORED_ATTRIBUTES => ['cachedBody']]);
116129
$this->assertStringMatchesFormat($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));

src/Symfony/Bridge/Twig/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"symfony/security-core": "^6.4|^7.0",
4545
"symfony/security-csrf": "^6.4|^7.0",
4646
"symfony/security-http": "^6.4|^7.0",
47-
"symfony/serializer": "^6.4.3|^7.0.3",
47+
"symfony/serializer": "^7.2",
4848
"symfony/stopwatch": "^6.4|^7.0",
4949
"symfony/console": "^6.4|^7.0",
5050
"symfony/expression-language": "^6.4|^7.0",

src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
use Symfony\Component\Serializer\NameConverter\MetadataAwareNameConverter;
3434
use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
3535
use Symfony\Component\Serializer\Normalizer\BackedEnumNormalizer;
36+
use Symfony\Component\Serializer\Normalizer\ChainDenormalizer;
37+
use Symfony\Component\Serializer\Normalizer\ChainNormalizer;
3638
use Symfony\Component\Serializer\Normalizer\ConstraintViolationListNormalizer;
3739
use Symfony\Component\Serializer\Normalizer\DataUriNormalizer;
3840
use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer;
@@ -58,12 +60,16 @@
5860
;
5961

6062
$container->services()
63+
->set('serializer.normalizer', ChainNormalizer::class)
64+
->args([[]])
65+
->set('serializer.denormalizer', ChainDenormalizer::class)
66+
->args([[]])
6167
->set('serializer', Serializer::class)
62-
->args([[], []])
68+
->args([[], [], service('serializer.normalizer'), service('serializer.denormalizer')])
6369

6470
->alias(SerializerInterface::class, 'serializer')
65-
->alias(NormalizerInterface::class, 'serializer')
66-
->alias(DenormalizerInterface::class, 'serializer')
71+
->alias(NormalizerInterface::class, 'serializer.normalizer')
72+
->alias(DenormalizerInterface::class, 'serializer.denormalizer')
6773
->alias(EncoderInterface::class, 'serializer')
6874
->alias(DecoderInterface::class, 'serializer')
6975

src/Symfony/Bundle/FrameworkBundle/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"symfony/scheduler": "^6.4.4|^7.0.4",
6060
"symfony/security-bundle": "^6.4|^7.0",
6161
"symfony/semaphore": "^6.4|^7.0",
62-
"symfony/serializer": "^6.4|^7.0",
62+
"symfony/serializer": "^7.2",
6363
"symfony/stopwatch": "^6.4|^7.0",
6464
"symfony/string": "^6.4|^7.0",
6565
"symfony/translation": "^6.4|^7.0",

src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/SerializerErrorRendererTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function testSerializerContent()
3030
{
3131
$exception = new \RuntimeException('Foo');
3232
$errorRenderer = new SerializerErrorRenderer(
33-
new Serializer([new ProblemNormalizer()], [new JsonEncoder()]),
33+
new Serializer([], [new JsonEncoder()], new ProblemNormalizer()),
3434
fn () => 'json'
3535
);
3636

src/Symfony/Component/ErrorHandler/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
},
2323
"require-dev": {
2424
"symfony/http-kernel": "^6.4|^7.0",
25-
"symfony/serializer": "^6.4|^7.0",
25+
"symfony/serializer": "^7.1",
2626
"symfony/deprecation-contracts": "^2.5|^3"
2727
},
2828
"conflict": {

src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/RequestPayloadValueResolverTest.php

Lines changed: 45 additions & 16 deletions
863
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
use Symfony\Component\Serializer\Exception\NotNormalizableValueException;
2828
use Symfony\Component\Serializer\Exception\PartialDenormalizationException;
2929
use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
30+
use Symfony\Component\Serializer\Normalizer\ChainDenormalizer;
31+
use Symfony\Component\Serializer\Normalizer\ChainNormalizer;
3032
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
3133
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
3234
use Symfony\Component\Serializer\Serializer;
@@ -204,7 +206,10 @@ public function testQueryNullPayloadAndNotDefaultOrNullableArgument()
204206
}
205207
}
206208

207-
public function testWithoutValidatorAndCouldNotDenormalize()
209+
/**
210+
* @group legacy
211+
*/
212+
public function testWithoutValidatorAndCouldNotDenormalizeWithLegacySerializer()
208213
{
209214
$content = '{"price": 50, "title": ["not a string"]}';
210215
$serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
@@ -228,10 +233,34 @@ public function testWithoutValidatorAndCouldNotDenormalize()
228233
}
229234
}
230235

236+
public function testWithoutValidatorAndCouldNotDenormalize()
237+
{
238+
$content = '{"price": 50, "title": ["not a string"]}';
239+
$serializer = new Serializer([], ['json' => new JsonEncoder()], new ChainNormalizer([new ObjectNormalizer()]), new ChainDenormalizer([new ObjectNormalizer()]));
240+
241+
$resolver = new RequestPayloadValueResolver($serializer);
242+
243+
$argument = new ArgumentMetadata('invalid', RequestPayload::class, false, false, null, false, [
244+
MapRequestPayload::class => new MapRequestPayload(),
245+
]);
246+
$request = Request::create('/', 'POST', server: ['CONTENT_TYPE' => 'application/json'], content: $content);
247+
248+
$kernel = $this->createMock(HttpKernelInterface::class);
249+
$arguments = $resolver->resolve($request, $argument);
250+
$event = new ControllerArgumentsEvent($kernel, function () {}, $arguments, $request, HttpKernelInterface::MAIN_REQUEST);
251+
252+
try {
253+
$resolver->onKernelControllerArguments($event);
254+
$this->fail(sprintf('Expected "%s" to be thrown.', HttpException::class));
255+
} catch (HttpException $e) {
256+
$this->assertInstanceOf(PartialDenormalizationException::class, $e->getPrevious());
257+
}
258+
}
259+
231260
public function testValidationNotPassed()
232261
{
233262
$content = '{"price": 50, "title": ["not a string"]}';
234-
$serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
263+
$serializer = new Serializer([], ['json' => new JsonEncoder()], new ChainNormalizer([new ObjectNormalizer()]), new ChainDenormalizer([new ObjectNormalizer()]));
235264

236265
$validator = $this->createMock(ValidatorInterface::class);
237266
$validator->expects($this->never())
@@ -262,7 +291,7 @@ public function testValidationNotPassed()
262291
public function testValidationNotPerformedWhenPartialDenormalizationReturnsViolation()
263292
{
264293
$content = '{"password": "abc"}';
265-
$serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
294+
$serializer = new Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new ObjectNormalizer());
266295

267296
$validator = $this->createMock(ValidatorInterface::class);
268297
$validator->expects($this->never())
@@ -316,7 +345,7 @@ public function testRequestContentValidationPassed()
316345
{
317346
$content = '{"price": 50}';
318347
$payload = new RequestPayload(50);
319-
$serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
348+
$serializer = new Serializer([], ['json' => new JsonEncoder()], new ChainNormalizer([new ObjectNormalizer()]), new ChainDenormalizer([new ObjectNormalizer()]));
320349

321350
$validator = $this->createMock(ValidatorInterface::class);
322351
$validator->expects($this->once())
@@ -372,7 +401,7 @@ public function testQueryStringValidationPassed()
372401
$payload = new RequestPayload(50);
373402
$query = ['price' => '50'];
374403

375-
$serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
404+
$serializer = new Serializer([], ['json' => new JsonEncoder()], new ChainNormalizer([new ObjectNormalizer()]), new ChainDenormalizer([new ObjectNormalizer()]));
376405

377406
$validator = $this->createMock(ValidatorInterface::class);
378407
$validator->expects($this->once())
@@ -400,7 +429,7 @@ public function testRequestInputValidationPassed()
400429
$input = ['price' => '50'];
401430
$payload = new RequestPayload(50);
402431

403-
$serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
432+
$serializer = new Serializer([], ['json' => new JsonEncoder()], new ChainNormalizer([new ObjectNormalizer()]), new ChainDenormalizer([new ObjectNormalizer()]));
404433

405434
$validator = $this->createMock(ValidatorInterface::class);
406435
$validator->expects($this->once())
@@ -434,7 +463,7 @@ public function testRequestArrayDenormalization()
434463
new RequestPayload(23),
435464
];
436465

437-
$serializer = new Serializer([new ArrayDenormalizer(), new ObjectNormalizer()], ['json' => new JsonEncoder()]);
466+
$serializer = new Serializer([], ['json' => new JsonEncoder()], null, new ChainDenormalizer([new ArrayDenormalizer(), new ObjectNormalizer()]));
438467

439468
$validator = $this->createMock(ValidatorInterface::class);
440469
$validator->expects($this->once())
@@ -513,7 +542,7 @@ public function testItThrowsOnVariadicArgument()
513542
public function testAcceptFormatPassed(mixed $acceptFormat, string $contentType, string $content)
514543
{
515544
$encoders = ['json' => new JsonEncoder(), 'xml' => new XmlEncoder()];
516-
$serializer = new Serializer([new ObjectNormalizer()], $encoders);
545+
$serializer = new Serializer([], $encoders, new ObjectNormalizer(), new ObjectNormalizer());
517546
$validator = (new ValidatorBuilder())->getValidator();
518547
$resolver = new RequestPayloadValueResolver($serializer, $validator);
519548

@@ -576,7 +605,7 @@ public static function provideMatchedFormatContext(): iterable
576605
*/
577606
public function testAcceptFormatNotPassed(mixed $acceptFormat, string $contentType, string $content, string $expectedExceptionMessage)
578607
{
579-
$serializer = new Serializer([new ObjectNormalizer()]);
608+
$serializer = new Serializer([], [], new ObjectNormalizer(), new ObjectNormalizer());
580609
$validator = (new ValidatorBuilder())->getValidator();
581610
$resolver = new RequestPayloadValueResolver($serializer, $validator);
582611

@@ -647,7 +676,7 @@ public function testValidationGroupsPassed(string $method, ValueResolver $attrib
647676
$payload = new RequestPayload(50);
648677
$payload->title = 'A long title, so the validation passes';
649678

650-
$serializer = new Serializer([new ObjectNormalizer()]);
679+
$serializer = new Serializer([], [], new ObjectNormalizer(), new ObjectNormalizer());
651680
$validator = (new ValidatorBuilder())->enableAttributeMapping()->getValidator();
652681
$resolver = new RequestPayloadValueResolver($serializer, $validator);
653682

@@ -673,7 +702,7 @@ public function testValidationGroupsNotPassed(string $method, ValueResolver $att
673702
{
674703
$input = ['price' => '50', 'title' => 'Too short'];
675704

676-
$serializer = new Serializer([new ObjectNormalizer()]);
705+
$serializer = new Serializer([], [], new ObjectNormalizer(), new ObjectNormalizer());
677706
$validator = (new ValidatorBuilder())->enableAttributeMapping()->getValidator();
678707
$resolver = new RequestPayloadValueResolver($serializer, $validator);
679708

@@ -732,7 +761,7 @@ public static function provideValidationGroupsOnManyTypes(): iterable
732761

733762
public function testQueryValidationErrorCustomStatusCode()
734763
{
735-
$serializer = new Serializer([new ObjectNormalizer()], []);
764+
$serializer = new Serializer([], [], new ObjectNormalizer(), new ObjectNormalizer());
736765

737766
$validator = $this->createMock(ValidatorInterface::class);
738767

@@ -765,7 +794,7 @@ public function testQueryValidationErrorCustomStatusCode()
765794
public function testRequestPayloadValidationErrorCustomStatusCode()
766795
{
767796
$content = '{"price": 50, "title": ["not a string"]}';
768-
$serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
797+
$serializer = new Serializer([], ['json' => new JsonEncoder()], new ChainNormalizer([new ObjectNormalizer()]), new ChainDenormalizer([new ObjectNormalizer()]));
769798

770799
$validator = $this->createMock(ValidatorInterface::class);
771800
$validator->expects($this->never())
@@ -798,7 +827,7 @@ public function testRequestPayloadValidationErrorCustomStatusCode()
798827
*/
799828
public function testBoolArgumentInQueryString(mixed $expectedValue, ?string $parameterValue)
800829
{
801-
$serializer = new Serializer([new ObjectNormalizer()]);
830+
$serializer = new Serializer([], [], new ObjectNormalizer(), new ObjectNormalizer());
802831
$validator = $this->createMock(ValidatorInterface::class);
803832
$resolver = new RequestPayloadValueResolver($serializer, $validator);
804833

@@ -821,7 +850,7 @@ public function testBoolArgumentInQueryString(mixed $expectedValue, ?string $par
821850
*/
822851
public function testBoolArgumentInBody(mixed $expectedValue, ?string $parameterValue)
823852
{
824-
$serializer = new Serializer([new ObjectNormalizer()]);
853+
$serializer = new Serializer([], [], new ObjectNormalizer(), new ObjectNormalizer());
825854
$validator = $this->createMock(ValidatorInterface::class);
826855
$resolver = new RequestPayloadValueResolver($serializer, $validator);
827856

@@ -857,7 +886,7 @@ public static function provideBoolArgument()
857886
*/
858887
public function testBoolArgumentInJsonBody()
859888
{
860-
$serializer = new Serializer([new ObjectNormalizer()]);
889+
$serializer = new Serializer([], [], new ObjectNormalizer(), new ObjectNormalizer());
861890
$validator = $this->createMock(ValidatorInterface::class);
862891
$resolver = new RequestPayloadValueResolver($serializer, $validator);
892

src/Symfony/Component/HttpKernel/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"symfony/process": "^6.4|^7.0",
3939
"symfony/property-access": "^7.1",
4040
"symfony/routing": "^6.4|^7.0",
41-
"symfony/serializer": "^7.1",
41+
"symfony/serializer": "^7.2",
4242
"symfony/stopwatch": "^6.4|^7.0",
4343
"symfony/translation": "^6.4|^7.0",
4444
"symfony/translation-contracts": "^2.5|^3",

src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/AmazonSqsReceiverTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ private function createSqsEnvelope()
6868
private function createSerializer(): Serializer
6969
{
7070
$serializer = new Serializer(
71-
new SerializerComponent\Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()])
71+
new SerializerComponent\Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new ObjectNormalizer())
7272
);
7373

7474
return $serializer;

src/Symfony/Component/Messenger/Bridge/AmazonSqs/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"require-dev": {
2727
"symfony/http-client-contracts": "^2.5|^3",
2828
"symfony/property-access": "^6.4|^7.0",
29-
"symfony/serializer": "^6.4|^7.0"
29+
"symfony/serializer": "^7.2"
3030
},
3131
"conflict": {
3232
"symfony/http-client-contracts": "<2.5"

src/Symfony/Component/Messenger/Bridge/Amqp/Tests/Fixtures/long_receiver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
2727

2828
$serializer = new Serializer(
29-
new SerializerComponent\Serializer([new ObjectNormalizer(), new ArrayDenormalizer()], ['json' => new JsonEncoder()])
29+
new SerializerComponent\Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new SerializerComponent\Normalizer\ChainDenormalizer([new ObjectNormalizer(), new ArrayDenormalizer()]))
3030
);
3131

3232
$connection = Connection::fromDsn(getenv('DSN'));

src/Symfony/Component/Messenger/Bridge/Amqp/Tests/Transport/AmqpExtIntegrationTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ private function waitForOutput(Process $process, string $output, $timeoutInSecon
262262
private function createSerializer(): SerializerInterface
263263
{
264264
return new Serializer(
265-
new SerializerComponent\Serializer([new ObjectNormalizer(), new ArrayDenormalizer()], ['json' => new JsonEncoder()])
265+
new SerializerComponent\Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new SerializerComponent\Normalizer\ChainDenormalizer([new ObjectNormalizer(), new ArrayDenormalizer()]))
266266
);
267267
}
268268

src/Symfony/Component/Messenger/Bridge/Amqp/Tests/Transport/AmqpReceiverTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class AmqpReceiverTest extends TestCase
3232
public function testItReturnsTheDecodedMessageToTheHandler()
3333
{
3434
$serializer = new Serializer(
35-
new SerializerComponent\Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()])
35+
new SerializerComponent\Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new ObjectNormalizer())
3636
);
3737

3838
$amqpEnvelope = $this->createAMQPEnvelope();

src/Symfony/Component/Messenger/Bridge/Amqp/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"symfony/event-dispatcher": "^6.4|^7.0",
2525
"symfony/process": "^6.4|^7.0",
2626
"symfony/property-access": "^6.4|^7.0",
27-
"symfony/serializer": "^6.4|^7.0"
27+
"symfony/serializer": "^7.2"
2828
},
2929
"autoload": {
3030
"psr-4": { "Symfony\\Component\\Messenger\\Bridge\\Amqp\\": "" },

src/Symfony/Component/Messenger/Bridge/Beanstalkd/Tests/Transport/BeanstalkdReceiverTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private function createBeanstalkdEnvelope(): array
9292
private function createSerializer(): Serializer
9393
{
9494
$serializer = new Serializer(
95-
new SerializerComponent\Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()])
95+
new SerializerComponent\Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new ObjectNormalizer())
9696
);
9797

9898
return $serializer;

src/Symfony/Component/Messenger/Bridge/Beanstalkd/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
},
1919
"require-dev": {
2020
"symfony/property-access": "^6.4|^7.0",
21-
"symfony/serializer": "^6.4|^7.0"
21+
"symfony/serializer": "^7.2"
2222
},
2323
"autoload": {
2424
"psr-4": { "Symfony\\Component\\Messenger\\Bridge\\Beanstalkd\\": "" },

src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/DoctrineReceiverTest.php

Lines changed: 1 addition & 1 deletion
Original file line nu 10000 mberDiff line numberDiff line change
@@ -315,7 +315,7 @@ private function createDoctrineEnvelope(): array
315315
private function createSerializer(): Serializer
316316
{
317317
$serializer = new Serializer(
318-
new SerializerComponent\Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()])
318+
new SerializerComponent\Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new ObjectNormalizer())
319319
);
320320

321321
return $serializer;

src/Symfony/Component/Messenger/Bridge/Doctrine/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"require-dev": {
2525
"doctrine/persistence": "^1.3|^2|^3",
2626
"symfony/property-access": "^6.4|^7.0",
27-
"symfony/serializer": "^6.4|^7.0"
27+
"symfony/serializer": "^7.2"
2828
},
2929
"conflict": {
3030
"doctrine/persistence": "<1.3"

src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/RedisReceiverTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public static function redisEnvelopeProvider(): \Generator
7575
],
7676
new DummyMessage('Hi'),
7777
new Serializer(
78-
new SerializerComponent\Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()])
78+
new SerializerComponent\Serializer([], ['json' => new JsonEncoder()], new ObjectNormalizer(), new ObjectNormalizer())
7979
),
8080
];
8181

0 commit comments

Comments
 (0)