Skip to content

Commit

Permalink
Merge pull request #35 from caciobanu/master
Browse files Browse the repository at this point in the history
Enable symfony 4
  • Loading branch information
cmodijk authored Dec 11, 2017
2 parents 1894b89 + 548efe3 commit 4f3d154
Show file tree
Hide file tree
Showing 12 changed files with 86 additions and 39 deletions.
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ matrix:
env: SYMFONY_VERSION=2.8.*
- php: 7.2
env: SYMFONY_VERSION=3.3.*
- php: 7.2
env: SYMFONY_VERSION=3.4.*
- php: 7.2
env: SYMFONY_VERSION=4.0.*

env:
global:
Expand Down
12 changes: 6 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@
"simple-bus/message-bus": "~3.0",
"simple-bus/asynchronous-bundle": "~3.0",
"simple-bus/asynchronous": "~3.0",
"php-amqplib/rabbitmq-bundle": "~1.0",
"php-amqplib/rabbitmq-bundle": "~1.10",
"symfony/monolog-bundle": "~2.3 || ~3.0"
},
"require-dev": {
"matthiasnoback/phpunit-asynchronicity": "~1.0",
"phpunit/phpunit": "~4.0",
"phpunit/phpunit": "^5.7 || ^6.0",
"simple-bus/jms-serializer-bundle-bridge": "~3.0",
"symfony/console": "~2.0 || ~3.0",
"symfony/finder": "~2.0 || ~3.0",
"symfony/process": "~2.0 || ~3.0",
"symfony/translation": "~2.0 || ~3.0"
"symfony/console": "~2.7 || ~3.3 || ~4.0",
"symfony/finder": "~2.7 || ~3.3 || ~4.0",
"symfony/process": "~2.7 || ~3.3 || ~4.0",
"symfony/translation": "~2.7 || ~3.3 || ~4.0"
},
"autoload": {
"psr-4": {
Expand Down
2 changes: 2 additions & 0 deletions src/Resources/config/commands.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
services:
simple_bus.rabbit_mq_bundle_bridge.command_publisher:
class: SimpleBus\RabbitMQBundleBridge\RabbitMQPublisher
public: true
arguments:
# defined by SimpleBusAsynchronousBundle
- '@simple_bus.asynchronous.message_serializer'
Expand All @@ -11,6 +12,7 @@ services:

simple_bus.rabbit_mq_bundle_bridge.commands_consumer:
class: SimpleBus\RabbitMQBundleBridge\RabbitMQMessageConsumer
public: true
arguments:
# defined by SimpleBusAsynchronousBundle
- '@simple_bus.asynchronous.standard_serialized_command_envelope_consumer'
Expand Down
1 change: 1 addition & 0 deletions src/Resources/config/error_handling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ parameters:
services:
simple_bus.rabbit_mq_bundle_bridge.error_logging_event_subscriber:
class: SimpleBus\RabbitMQBundleBridge\EventListener\LogErrorWhenMessageConsumptionFailed
public: true
arguments:
- '@logger'
- '%simple_bus.rabbit_mq_bundle_bridge.error_handling.log_level%'
Expand Down
3 changes: 3 additions & 0 deletions src/Resources/config/events.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
services:
simple_bus.asynchronous.event_publisher:
public: true
alias: simple_bus.rabbit_mq_bundle_bridge.event_publisher

simple_bus.rabbit_mq_bundle_bridge.event_publisher:
class: SimpleBus\RabbitMQBundleBridge\RabbitMQPublisher
public: true
arguments:
# defined by SimpleBusAsynchronousBundle
- '@simple_bus.asynchronous.message_serializer'
Expand All @@ -14,6 +16,7 @@ services:

simple_bus.rabbit_mq_bundle_bridge.events_consumer:
class: SimpleBus\RabbitMQBundleBridge\RabbitMQMessageConsumer
public: true
arguments:
# defined by SimpleBusAsynchronousBundle
- '@simple_bus.asynchronous.standard_serialized_event_envelope_consumer'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
use SimpleBus\RabbitMQBundleBridge\DependencyInjection\Compiler\AdditionalPropertiesResolverPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\HttpKernel\Kernel;

class AdditionalPropertiesResolverPassTest extends \PHPUnit_Framework_TestCase
class AdditionalPropertiesResolverPassTest extends \PHPUnit\Framework\TestCase
{
/**
* @var ContainerBuilder
Expand All @@ -32,37 +33,58 @@ protected function setUp()
*/
public function it_configures_a_chain_of_buses_according_to_the_given_priorities()
{
$this->createResolver('resolver100', 100);
$this->createResolver('resolver-100', -100);
$this->createResolver('resolver200', 200);
$classes = [
Resolver1::class => 100,
Resolver2::class => -100,
Resolver3::class => 200,
];

foreach ($classes as $class => $priority) {
$this->createResolver($class, $priority);
}

$this->container->compile();

$this->resolverContainsResolvers(array('resolver200', 'resolver100', 'resolver-100'));
$this->resolverContainsResolvers($classes);
}

private function createResolver($id, $priority)
private function createResolver($class, $priority)
{
$definition = new Definition('stdClass');
$definition = new Definition($class);
$definition->addTag('simple_bus.additional_properties_resolver', array('priority' => $priority));

$this->container->setDefinition($id, $definition);
$this->container->setDefinition($class, $definition);

return $definition;
}

private function resolverContainsResolvers($expectedResolverIds)
private function resolverContainsResolvers($expectedResolverClasses)
{
$actualResolverIds = [];

$actualResolverClasses = [];
foreach ($this->delegatingDefinition->getArgument(0) as $argument) {
$this->assertInstanceOf(
'Symfony\Component\DependencyInjection\Reference',
$argument
);
$actualResolverIds[] = (string) $argument;
if (Kernel::VERSION_ID >= 40000) {
$this->assertInstanceOf(
'Symfony\Component\DependencyInjection\Definition',
$argument
);
} else {
$this->assertInstanceOf(
'Symfony\Component\DependencyInjection\Reference',
$argument
);
$argument = $this->container->getDefinition((string) $argument);
}

$actualResolverClasses[$argument->getClass()] = $argument->getTag('simple_bus.additional_properties_resolver')[0]['priority'];
}

$this->assertEquals($expectedResolverIds, $actualResolverIds);
$this->assertEquals($expectedResolverClasses, $actualResolverClasses);
}
}

class Resolver1 {}

class Resolver2 {}

class Resolver3 {}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
use SimpleBus\RabbitMQBundleBridge\Event\MessageConsumptionFailed;
use SimpleBus\RabbitMQBundleBridge\EventListener\LogErrorWhenMessageConsumptionFailed;

class LogErrorWhenMessageConsumptionFailedTest extends \PHPUnit_Framework_TestCase
class LogErrorWhenMessageConsumptionFailedTest extends \PHPUnit\Framework\TestCase
{
/**
* @test
Expand All @@ -30,7 +30,7 @@ public function it_logs_the_error()

private function loggerShouldLog($logLevel, $logMessage, $context)
{
$logger = $this->getMock('Psr\Log\LoggerInterface');
$logger = $this->createMock('Psr\Log\LoggerInterface');
$logger
->expects($this->once())
->method('log')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public function getAdditionalProperties()
return $this->additionalProperties;
}

public function publish($msgBody, $routingKey = '', $additionalProperties = array())
public function publish($msgBody, $routingKey = '', $additionalProperties = array(), array $headers = null)
{
$this->additionalProperties = $additionalProperties;
}
Expand Down
7 changes: 4 additions & 3 deletions tests/Functional/SimpleBusRabbitMQBundleTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -166,11 +166,11 @@ private function additionalPropertiesResolver()
}

/**
* @return \PHPUnit_Framework_MockObject_MockObject|Message
* @return \stdClass()
*/
private function messageDummy()
{
return $this->getMock('SimpleBus\Message\Message');
return new \stdClass();
}

/**
Expand All @@ -180,9 +180,10 @@ private function messageDummy()
private function consumeMessagesFromQueue($queue)
{
$this->process = new Process(
'php console.php rabbitmq:consume ' . $queue,
'php console.php rabbitmq:consumer ' . $queue,
__DIR__
);

$this->process->start();
}

Expand Down
18 changes: 16 additions & 2 deletions tests/Functional/config.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,67 @@
parameters:
kernel.secret: secret
log_file: %kernel.logs_dir%/test.log
log_file: '%kernel.logs_dir%/test.log'

services:
# needed to make JMSSerializerBundle work
translator:
public: true
class: Symfony\Component\Translation\Translator
arguments:
- 'nl'

# needed to make JMSSerializerBundle work
annotation_reader:
public: true
class: Doctrine\Common\Annotations\AnnotationReader

# needed to make JMSSerializerBundle work
debug.stopwatch:
public: true
class: Symfony\Component\Stopwatch\Stopwatch

logger:
public: true
class: SimpleBus\RabbitMQBundleBridge\Tests\Functional\FileLogger
arguments:
- %log_file%
- '%log_file%'

asynchronous_command_handler:
public: true
class: SimpleBus\RabbitMQBundleBridge\Tests\Functional\LoggingCommandHandler
arguments:
- '@logger'
tags:
- { name: asynchronous_command_handler, handles: SimpleBus\RabbitMQBundleBridge\Tests\Functional\AsynchronousCommand }

asynchronous_event_subscriber:
public: true
class: SimpleBus\RabbitMQBundleBridge\Tests\Functional\LoggingEventSubscriber
arguments:
- '@logger'
tags:
- { name: asynchronous_event_subscriber, subscribes_to: SimpleBus\RabbitMQBundleBridge\Tests\Functional\Event }

always_failing_command_handler:
public: true
class: SimpleBus\RabbitMQBundleBridge\Tests\Functional\AlwaysFailingCommandHandler
tags:
- { name: asynchronous_command_handler, handles: SimpleBus\RabbitMQBundleBridge\Tests\Functional\AlwaysFailingCommand }

additional_properties_resolver:
public: true
class: SimpleBus\RabbitMQBundleBridge\Tests\Functional\AdditionalPropertiesResolverArray
arguments:
- { debug: string }
tags:
- { name: simple_bus.additional_properties_resolver }

simple_bus.rabbit_mq_bundle_bridge.delegating_additional_properties_resolver.public:
public: true
alias: simple_bus.rabbit_mq_bundle_bridge.delegating_additional_properties_resolver

simple_bus.rabbit_mq_bundle_bridge.delegating_additional_properties_resolver.producer_mock:
public: true
class: SimpleBus\RabbitMQBundleBridge\Tests\Functional\AdditionalPropertiesResolverProducerMock
arguments: ['@old_sound_rabbit_mq.connection.default']

Expand Down
8 changes: 4 additions & 4 deletions tests/RabbitMQMessageConsumerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
use SimpleBus\RabbitMQBundleBridge\Event\MessageConsumptionFailed;
use SimpleBus\RabbitMQBundleBridge\RabbitMQMessageConsumer;

class RabbitMQMessageConsumerTest extends \PHPUnit_Framework_TestCase
class RabbitMQMessageConsumerTest extends \PHPUnit\Framework\TestCase
{
/**
* @test
Expand Down Expand Up @@ -60,12 +60,12 @@ private function newAMQPMessage($messageBody = '')

private function mockSerializedEnvelopeConsumer()
{
return $this->getMock('SimpleBus\Asynchronous\Consumer\SerializedEnvelopeConsumer');
return $this->createMock('SimpleBus\Asynchronous\Consumer\SerializedEnvelopeConsumer');
}

private function eventDispatcherDispatchesConsumptionFailedEvent(AMQPMessage $message, Exception $exception)
{
$eventDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
$eventDispatcher = $this->createMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');

$eventDispatcher
->expects($this->once())
Expand All @@ -81,7 +81,7 @@ private function eventDispatcherDispatchesConsumptionFailedEvent(AMQPMessage $me

private function eventDispatcherDispatchesMessageConsumedEvent($message)
{
$eventDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
$eventDispatcher = $this->createMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');

$eventDispatcher
->expects($this->once())
Expand Down
8 changes: 4 additions & 4 deletions tests/RabbitMQPublisherTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use SimpleBus\RabbitMQBundleBridge\RabbitMQPublisher;

class RabbitMQPublisherTest extends \PHPUnit_Framework_TestCase
class RabbitMQPublisherTest extends \PHPUnit\Framework\TestCase
{
/**
* @test
Expand Down Expand Up @@ -38,7 +38,7 @@ public function it_serializes_the_message_and_publishes_it_using_the_resolved_ro

private function mockSerializer()
{
return $this->getMock('SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer');
return $this->createMock('SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer');
}

private function mockProducer()
Expand All @@ -56,7 +56,7 @@ private function dummyMessage()

private function routingKeyResolverStub($message, $routingKey)
{
$resolver = $this->getMock('SimpleBus\Asynchronous\Routing\RoutingKeyResolver');
$resolver = $this->createMock('SimpleBus\Asynchronous\Routing\RoutingKeyResolver');
$resolver
->expects($this->any())
->method('resolveRoutingKeyFor')
Expand All @@ -68,7 +68,7 @@ private function routingKeyResolverStub($message, $routingKey)

private function additionalPropertiesResolverStub($message, $additionalProperties)
{
$resolver = $this->getMock('SimpleBus\Asynchronous\Properties\AdditionalPropertiesResolver');
$resolver = $this->createMock('SimpleBus\Asynchronous\Properties\AdditionalPropertiesResolver');
$resolver
->expects($this->any())
->method('resolveAdditionalPropertiesFor')
Expand Down

0 comments on commit 4f3d154

Please sign in to comment.