Skip to content

Commit 30faeb7

Browse files
authored
Merge pull request #58 from caciobanu/master
Allow symfony 4
2 parents 4f9a7db + 67eea18 commit 30faeb7

File tree

9 files changed

+63
-24
lines changed

9 files changed

+63
-24
lines changed

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ matrix:
1212
env: SYMFONY_VERSION=2.8.*
1313
- php: 7.1
1414
env: SYMFONY_VERSION=3.3.*
15+
- php: 7.1
16+
env: SYMFONY_VERSION=3.4.*
17+
- php: 7.1
18+
env: SYMFONY_VERSION=4.0.*
1519

1620
env:
1721
global:

composer.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919
"require": {
2020
"php": "^5.6 || ^7.0",
2121
"simple-bus/message-bus": "~3.0",
22-
"symfony/http-kernel": "~2.3 || ~3.0",
23-
"symfony/dependency-injection": "~2.3 || ~3.0",
24-
"symfony/yaml": "~2.3 || ~3.0",
25-
"symfony/config": "~2.3 || ~3.0"
22+
"symfony/http-kernel": "~2.3 || ~3.0 || ~4.0",
23+
"symfony/dependency-injection": "~2.3 || ~3.0 || ~4.0",
24+
"symfony/yaml": "~2.3 || ~3.0 || ~4.0",
25+
"symfony/config": "~2.3 || ~3.0 || ~4.0",
26+
"symfony/proxy-manager-bridge": "~2.3 || ~3.0 || ~4.0"
2627
},
2728
"suggest": {
2829
"simple-bus/doctrine-orm-bridge": "For integration with Doctrine ORM",
@@ -31,12 +32,12 @@
3132
"symfony/monolog-bundle": "For logging messages"
3233
},
3334
"require-dev": {
34-
"phpunit/phpunit": "~4.0",
35+
"phpunit/phpunit": "~4.0 || ~5.0",
3536
"simple-bus/doctrine-orm-bridge": "~5.0",
3637
"doctrine/orm": "~2.3",
3738
"doctrine/doctrine-bundle": "~1.0",
38-
"symfony/monolog-bridge": "~2.3 || ~3.0",
39-
"symfony/monolog-bundle": "~2.3 || ~3.0"
39+
"symfony/monolog-bridge": "~2.3 || ~3.0 || ~4.0",
40+
"symfony/monolog-bundle": "~2.3 || ~3.0 "
4041
},
4142
"autoload": {
4243
"psr-4": {

src/DependencyInjection/DoctrineOrmBridgeExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
class DoctrineOrmBridgeExtension extends ConfigurableExtension
1111
{
12+
private $alias;
13+
1214
public function __construct($alias)
1315
{
1416
$this->alias = $alias;

src/DependencyInjection/EventBusExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
class EventBusExtension extends ConfigurableExtension
1212
{
13+
private $alias;
14+
1315
public function __construct($alias)
1416
{
1517
$this->alias = $alias;

src/Resources/config/command_bus.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ services:
44

55
command_bus:
66
alias: simple_bus.command_bus
7+
public: true
78

89
simple_bus.command_bus:
910
class: SimpleBus\SymfonyBridge\Bus\CommandBus

src/Resources/config/event_bus.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ services:
44

55
event_bus:
66
alias: simple_bus.event_bus
7+
public: true
78

89
simple_bus.event_bus:
910
class: SimpleBus\SymfonyBridge\Bus\EventBus

tests/Functional/SmokeTest/config1.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ imports:
22
- { resource: config.yml }
33

44
parameters:
5-
log_file: %kernel.logs_dir%/%kernel.environment%.log
5+
log_file: '%kernel.logs_dir%/%kernel.environment%.log'
66

77
services:
88
test_command_handler:
@@ -11,27 +11,31 @@ services:
1111
- '@doctrine.orm.default_entity_manager'
1212
tags:
1313
- { name: command_handler, handles: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\TestCommand }
14+
public: true
1415

1516
some_other_test_command_handler:
1617
class: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\SomeOtherTestCommandHandler
1718
arguments:
1819
- '@event_recorder'
1920
tags:
2021
- { name: command_handler, handles: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\SomeOtherTestCommand }
22+
public: true
2123

2224
test_event_subscriber:
2325
class: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\TestEntityCreatedEventSubscriber
2426
tags:
2527
- { name: event_subscriber, subscribes_to: test_entity_created }
2628
arguments:
2729
- '@command_bus'
30+
public: true
2831

2932
some_other_event_subscriber:
3033
class: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\SomeOtherEventSubscriber
3134
tags:
3235
- { name: event_subscriber, subscribes_to: some_other_event }
3336
arguments:
3437
- '@command_bus'
38+
public: true
3539

3640
command_bus:
3741
command_name_resolver_strategy: class_based
@@ -45,5 +49,5 @@ monolog:
4549
handlers:
4650
main:
4751
type: stream
48-
path: %log_file%
52+
path: '%log_file%'
4953
level: debug

tests/Functional/SmokeTest/config2.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,22 @@ services:
66
class: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\Auto\AutoCommandHandlerUsingInvoke
77
tags:
88
- { name: command_handler }
9+
public: true
910

1011
auto_command_handler_using_public_method:
1112
class: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\Auto\AutoCommandHandlerUsingPublicMethod
1213
tags:
1314
- { name: command_handler, register_public_methods: true }
15+
public: true
1416

1517
auto_event_subscriber_using_invoke:
1618
class: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\Auto\AutoEventSubscriberUsingInvoke
1719
tags:
1820
- { name: event_subscriber }
21+
public: true
1922

2023
auto_event_subscriber_using_public_method:
2124
class: SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\Auto\AutoEventSubscriberUsingPublicMethod
2225
tags:
2326
- { name: event_subscriber, register_public_methods: true }
27+
public: true

tests/SymfonyBundle/DependencyInjection/Compiler/ConfigureMiddlewaresTest.php

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
namespace SimpleBus\SymfonyBridge\Tests\SymfonyBundle\DependencyInjection\Compiler;
44

55
use SimpleBus\SymfonyBridge\DependencyInjection\Compiler\ConfigureMiddlewares;
6+
use SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\Auto\AuteEvent1;
7+
use SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\Auto\AuteEvent2;
8+
use SimpleBus\SymfonyBridge\Tests\Functional\SmokeTest\Auto\AuteEvent3;
69
use Symfony\Component\DependencyInjection\ContainerBuilder;
710
use Symfony\Component\DependencyInjection\Definition;
11+
use Symfony\Component\HttpKernel\Kernel;
812

913
class ConfigureMiddlewaresTest extends \PHPUnit_Framework_TestCase
1014
{
@@ -35,41 +39,57 @@ protected function setUp()
3539
*/
3640
public function it_configures_a_chain_of_buses_according_to_the_given_priorities()
3741
{
38-
$this->createBusDefinition('middleware100', 100);
39-
$this->createBusDefinition('middleware-100', -100);
40-
$this->createBusDefinition('middleware200', 200);
42+
$classes = [
43+
AuteEvent1::class => 100,
44+
AuteEvent2::class => -100,
45+
AuteEvent3::class => 200,
46+
];
47+
48+
foreach ($classes as $class => $priority) {
49+
$this->createBusDefinition($class, $priority);
50+
}
4151

4252
$this->container->compile();
4353

44-
$this->commandBusContainsMiddlewares(array('middleware200', 'middleware100', 'middleware-100'));
54+
$this->commandBusContainsMiddlewares($classes);
4555
}
4656

47-
private function createBusDefinition($id, $priority)
57+
private function createBusDefinition($class, $priority)
4858
{
49-
$definition = new Definition('stdClass');
59+
$definition = new Definition($class);
5060
$definition->addTag($this->middlewareTag, array('priority' => $priority));
5161

52-
$this->container->setDefinition($id, $definition);
62+
$this->container->setDefinition($class, $definition);
5363

5464
return $definition;
5565
}
5666

57-
private function commandBusContainsMiddlewares($expectedMiddlewareIds)
67+
private function commandBusContainsMiddlewares($expectedMiddlewareclasses)
5868
{
59-
$actualMiddlewareIds = [];
69+
$actualMiddlewareClasses = [];
6070

6171
foreach ($this->mainBusDefinition->getMethodCalls() as $methodCall) {
6272
list($method, $arguments) = $methodCall;
6373
$this->assertSame('appendMiddleware', $method);
6474
$this->assertCount(1, $arguments);
6575
$referencedService = $arguments[0];
66-
$this->assertInstanceOf(
67-
'Symfony\Component\DependencyInjection\Reference',
68-
$referencedService
69-
);
70-
$actualMiddlewareIds[] = (string) $referencedService;
76+
77+
if (Kernel::VERSION_ID >= 40000) {
78+
$this->assertInstanceOf(
79+
'Symfony\Component\DependencyInjection\Definition',
80+
$referencedService
81+
);
82+
} else {
83+
$this->assertInstanceOf(
84+
'Symfony\Component\DependencyInjection\Reference',
85+
$referencedService
86+
);
87+
$referencedService = $this->container->getDefinition((string) $referencedService);
88+
}
89+
90+
$actualMiddlewareClasses[$referencedService->getClass()] = $referencedService->getTag('middleware')[0]['priority'];
7191
}
7292

73-
$this->assertEquals($expectedMiddlewareIds, $actualMiddlewareIds);
93+
$this->assertEquals($expectedMiddlewareclasses, $actualMiddlewareClasses);
7494
}
7595
}

0 commit comments

Comments
 (0)