8000 [Messenger] Perform no deep merging of bus middleware · symfony/symfony@c264583 · GitHub
[go: up one dir, main page]

Skip to content

Commit c264583

Browse files
vudaltsovfabpot
authored andcommitted
[Messenger] Perform no deep merging of bus middleware
1 parent 839c6b4 commit c264583

File tree

3 files changed

+61
-1
lines changed

3 files changed

+61
-1
lines changed

src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ CHANGELOG
1717
* Overriding the methods `KernelTestCase::tearDown()` and `WebTestCase::tearDown()` without the `void` return-type is deprecated.
1818
* Added new `error_controller` configuration to handle system exceptions
1919
* Added sort option for `translation:update` command.
20-
* [BC Break] The `framework.messenger.routing.senders` config key is not deep merged anymore.
20+
* [BC Break] The `framework.messenger.routing.senders` config key is not deeply merged anymore.
2121
* Added `secrets:*` commands and `%env(secret:...)%` processor to deal with secrets seamlessly.
2222
* Made `framework.session.handler_id` accept a DSN
2323
* Marked the `RouterDataCollector` class as `@final`.
24+
* [BC Break] The `framework.messenger.buses.<name>.middleware` config key is not deeply merged anymore.
2425

2526
4.3.0
2627
-----

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,6 +1293,7 @@ function ($a) {
12931293
->defaultTrue()
12941294
->end()
12951295
->arrayNode('middleware')
1296+
->performNoDeepMerging()
12961297
->beforeNormalization()
12971298
->ifTrue(function ($v) { return \is_string($v) || (\is_array($v) && !\is_int(key($v))); })
12981299
->then(function ($v) { return [$v]; })

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php

Lines changed: 58 additions & 0 deletions
+
'existing_bus' => [
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,64 @@ public function testItShowANiceMessageIfTwoMessengerBusesAreConfiguredButNoDefau
271271
]);
272272
}
273273

274+
public function testBusMiddlewareDontMerge()
275+
{
276+
$processor = new Processor();
277+
$configuration = new Configuration(true);
278+
$config = $processor->processConfiguration($configuration, [
279+
[
280+
'messenger' => [
281+
'default_bus' => 'existing_bus',
282+
'buses' => [
283
284+
'middleware' => 'existing_bus.middleware',
285+
],
286+
'common_bus' => [
287+
'default_middleware' => false,
288+
'middleware' => 'common_bus.old_middleware',
289+
],
290+
],
291+
],
292+
],
293+
[
294+
'messenger' => [
295+
'buses' => [
296+
'common_bus' => [
297+
'middleware' => 'common_bus.new_middleware',
298+
],
299+
'new_bus' => [
300+
'middleware' => 'new_bus.middleware',
301+
],
302+
],
303+
],
304+
],
305+
]);
306+
307+
$this->assertEquals(
308+
[
309+
'existing_bus' => [
310+
'default_middleware' => true,
311+
'middleware' => [
312+
['id' => 'existing_bus.middleware', 'arguments' => []],
313+
],
314+
],
315+
'common_bus' => [
316+
'default_middleware' => false,
317+
'middleware' => [
318+
['id' => 'common_bus.new_middleware', 'arguments' => []],
319+
],
320+
],
321+
'new_bus' => [
322+
'default_middleware' => true,
323+
'middleware' => [
324+
['id' => 'new_bus.middleware', 'arguments' => []],
325+
],
326+
],
327+
],
328+
$config['messenger']['buses']
329+
);
330+
}
331+
274332
protected static function getBundleDefaultConfig()
275333
{
276334
return [

0 commit comments

Comments
 (0)
0