Skip to content

Commit

Permalink
Support Symfony 4 (#23)
Browse files Browse the repository at this point in the history
* Support Symfony 4

* Require phpunit version

* drop sf 2
  • Loading branch information
Nyholm committed Jan 4, 2018
1 parent b40e8cb commit 81d1a17
Show file tree
Hide file tree
Showing 7 changed files with 79 additions and 52 deletions.
68 changes: 41 additions & 27 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,53 @@
language: php

sudo: false
cache:
directories:
- $HOME/.composer/cache
branches:
except:
- /^analysis-.*$/

php:
- 5.6
- 7.0
- 7.1
directories:
- $HOME/.composer/cache/files
- $HOME/symfony-bridge/.phpunit
env:
global:
- TEST_COMMAND="composer test"
include:
- php: hhvm
dist: trusty
matrix:
- SYMFONY_VERSION=3.1.*
- SYMFONY_VERSION=3.0.*
- SYMFONY_VERSION=2.8.*
- SYMFONY_VERSION=2.7.*
global:
- TEST_COMMAND="composer test"
- SYMFONY_PHPUNIT_VERSION="6.3"

matrix:
fast_finish: true
include:
- php: 5.6
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" COVERAGE=true TEST_COMMAND="composer test-ci" SYMFONY_VERSION=2.7.*
fast_finish: true
include:
# Minimum supported Symfony version with the latest PHP version
- php: 7.1
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest"

# Test the latest stable release
- php: 7.0
- php: 7.1
- php: 7.2
env: COVERAGE=true TEST_COMMAND="composer test-ci"

# Force some major versions of Symfony
- php: 7.2
env: DEPENDENCIES="dunglas/symfony-lock:^3"
- php: 7.2
env: DEPENDENCIES="dunglas/symfony-lock:^4"

# Latest commit to master
- php: 7.2
env: STABILITY="dev"

allow_failures:
# Dev-master is allowed to fail.
- env: STABILITY="dev"

before_install:
- if [[ $COVERAGE != true ]]; then phpenv config-rm xdebug.ini || true; fi
- if ! [ -z "$STABILITY" ]; then composer config minimum-stability ${STABILITY}; fi;
- if ! [ -z "$DEPENDENCIES" ]; then composer require --no-update ${DEPENDENCIES}; fi;

install:
- composer require symfony/symfony:${SYMFONY_VERSION} --no-update
- travis_retry composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction
# To be removed when this issue will be resolved: https://github.com/composer/composer/issues/5355
- if [[ "$COMPOSER_FLAGS" == *"--prefer-lowest"* ]]; then composer update --prefer-dist --no-interaction --prefer-stable --quiet; fi
- composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction

script:
- composer validate --strict --no-check-lock
- $TEST_COMMAND

after_success:
Expand Down
8 changes: 4 additions & 4 deletions Consumer/ExtendableEnvelopeConsumer.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace Happyr\Mq2phpBundle\Consumer;

use Happyr\Mq2phpBundle\Event\PreHandleMessage;
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopSerializer;
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer;
use SimpleBus\Message\Bus\MessageBus;
use SimpleBus\Asynchronous\Consumer\SerializedEnvelopeConsumer as SimpleBusSerializedEnvelopeConsumer;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
Expand All @@ -14,7 +14,7 @@
class ExtendableEnvelopeConsumer implements SimpleBusSerializedEnvelopeConsumer
{
/**
* @var MessageInEnvelopSerializer
* @var MessageInEnvelopeSerializer
*/
private $messageInEnvelopeSerializer;

Expand All @@ -29,12 +29,12 @@ class ExtendableEnvelopeConsumer implements SimpleBusSerializedEnvelopeConsumer
private $dispathcer;

/**
* @param MessageInEnvelopSerializer $messageInEnvelopeSerializer
* @param MessageInEnvelopeSerializer $messageInEnvelopeSerializer
* @param MessageBus $messageBus
* @param EventDispatcherInterface $dispathcer
*/
public function __construct(
MessageInEnvelopSerializer $messageInEnvelopeSerializer,
MessageInEnvelopeSerializer $messageInEnvelopeSerializer,
MessageBus $messageBus,
EventDispatcherInterface $dispathcer
) {
Expand Down
10 changes: 5 additions & 5 deletions Service/MessageSerializerDecorator.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
namespace Happyr\Mq2phpBundle\Service;

use Happyr\Mq2phpBundle\Event\PrePublishMessage;
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopSerializer;
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;

/**
* This service adds some extra headers on the message envelope.
*
* @author Tobias Nyholm <tobias.nyholm@gmail.com>
*/
class MessageSerializerDecorator implements MessageInEnvelopSerializer, HeaderAwareInterface
class MessageSerializerDecorator implements MessageInEnvelopeSerializer, HeaderAwareInterface
{
/**
* @var MessageInEnvelopSerializer
* @var MessageInEnvelopeSerializer
*/
private $serializer;

Expand All @@ -34,13 +34,13 @@ class MessageSerializerDecorator implements MessageInEnvelopSerializer, HeaderAw
private $eventDispatcher;

/**
* @param MessageInEnvelopSerializer $serializer
* @param MessageInEnvelopeSerializer $serializer
* @param array $headers
* @param string $secretKey
* @param EventDispatcherInterface $eventDispatcher
*/
public function __construct(
MessageInEnvelopSerializer $serializer,
MessageInEnvelopeSerializer $serializer,
EventDispatcherInterface $eventDispatcher,
array $headers = [],
$secretKey = null
Expand Down
8 changes: 4 additions & 4 deletions Tests/Functional/BundleInitializationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ public function testRegisterBundle()
{
static::bootKernel();
$container = static::$kernel->getContainer();
$this->assertTrue($container->has('happyr.mq2php.message_serializer'));
$client = $container->get('happyr.mq2php.message_serializer');
$this->assertTrue($container->has('test.happyr.mq2php.message_serializer'));
$client = $container->get('test.happyr.mq2php.message_serializer');
$this->assertInstanceOf(MessageSerializerDecorator::class, $client);

$this->assertTrue($container->has('happyr.mq2php.consumer_wrapper'));
$client = $container->get('happyr.mq2php.consumer_wrapper');
$this->assertTrue($container->has('test.happyr.mq2php.consumer_wrapper'));
$client = $container->get('test.happyr.mq2php.consumer_wrapper');
$this->assertInstanceOf(ConsumerWrapper::class, $client);
}
}
8 changes: 8 additions & 0 deletions Tests/Functional/app/config/services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,11 @@ services:

logger:
class: Happyr\Mq2phpBundle\Tests\Functional\app\Service\DummyLogger

test.happyr.mq2php.message_serializer:
alias: happyr.mq2php.message_serializer
public: true

test.happyr.mq2php.consumer_wrapper:
alias: happyr.mq2php.consumer_wrapper
public: true
5 changes: 3 additions & 2 deletions Tests/Unit/Service/MessageSerializerDecoratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
namespace Happyr\Mq2phpBundle\Tests\Unit\Service;

use Happyr\Mq2phpBundle\Service\MessageSerializerDecorator;
use PHPUnit\Framework\TestCase;

class MessageSerializerDecoratorTest extends \PHPUnit_Framework_TestCase
class MessageSerializerDecoratorTest extends TestCase
{
public function testWrapAndSerialize()
{
$inner = $this->getMockBuilder('SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopSerializer')
$inner = $this->getMockBuilder('SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer')
->getMock();
$inner->method('wrapAndSerialize')
->willReturnArgument(0);
Expand Down
24 changes: 14 additions & 10 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,27 @@
}
],
"require": {
"php": "^5.6 || ^7.0",
"php": "^7.0",
"psr/log": "~1.0",
"simple-bus/asynchronous-bundle":"^2.0",
"symfony/framework-bundle": "^2.7 || ^3.0",
"symfony/event-dispatcher": "^2.3 || ^3.0"
"simple-bus/asynchronous-bundle":"^3.0",
"symfony/dependency-injection": "^3.4 || ^4.0",
"symfony/http-kernel": "^3.4 || ^4.0",
"symfony/framework-bundle": "^3.4 || ^4.0",
"symfony/console": "^3.4 || ^4.0",
"symfony/event-dispatcher": "^3.4 || ^4.0"
},
"require-dev": {
"phpunit/phpunit": "^4.5 || ^5.4",
"matthiasnoback/symfony-dependency-injection-test": "^1.0",
"symfony/symfony": "^2.3 || ^3.0",
"simple-bus/jms-serializer-bundle-bridge": "^2.0"
"matthiasnoback/symfony-dependency-injection-test": "^2.3",
"simple-bus/jms-serializer-bundle-bridge": "^3.0.1",
"symfony/phpunit-bridge": "^3.4 || ^4.0",
"symfony/stopwatch": "^3.4 || ^4.0",
"symfony/translation": "^3.4 || ^4.0"
},
"autoload": {
"psr-4": { "Happyr\\Mq2phpBundle\\": "" }
},
"scripts": {
"test": "vendor/bin/phpunit",
"test-ci": "vendor/bin/phpunit --coverage-text --coverage-clover=build/coverage.xml"
"test": "vendor/bin/simple-phpunit",
"test-ci": "vendor/bin/simple-phpunit --coverage-text --coverage-clover=build/coverage.xml"
}
}

0 comments on commit 81d1a17

Please sign in to comment.