Skip to content

Commit 81d1a17

Browse files
authored
Support Symfony 4 (#23)
* Support Symfony 4 * Require phpunit version * drop sf 2
1 parent b40e8cb commit 81d1a17

File tree

7 files changed

+79
-52
lines changed

7 files changed

+79
-52
lines changed

.travis.yml

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,53 @@
11
language: php
2-
2+
sudo: false
33
cache:
4-
directories:
5-
- $HOME/.composer/cache
6-
branches:
7-
except:
8-
- /^analysis-.*$/
9-
10-
php:
11-
- 5.6
12-
- 7.0
13-
- 7.1
4+
directories:
5+
- $HOME/.composer/cache/files
6+
- $HOME/symfony-bridge/.phpunit
147
env:
15-
global:
16-
- TEST_COMMAND="composer test"
17-
include:
18-
- php: hhvm
19-
dist: trusty
20-
matrix:
21-
- SYMFONY_VERSION=3.1.*
22-
- SYMFONY_VERSION=3.0.*
23-
- SYMFONY_VERSION=2.8.*
24-
- SYMFONY_VERSION=2.7.*
8+
global:
9+
- TEST_COMMAND="composer test"
10+
- SYMFONY_PHPUNIT_VERSION="6.3"
2511

2612
matrix:
27-
fast_finish: true
28-
include:
29-
- php: 5.6
30-
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" COVERAGE=true TEST_COMMAND="composer test-ci" SYMFONY_VERSION=2.7.*
13+
fast_finish: true
14+
include:
15+
# Minimum supported Symfony version with the latest PHP version
16+
- php: 7.1
17+
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest"
18+
19+
# Test the latest stable release
20+
- php: 7.0
21+
- php: 7.1
22+
- php: 7.2
23+
env: COVERAGE=true TEST_COMMAND="composer test-ci"
24+
25+
# Force some major versions of Symfony
26+
- php: 7.2
27+
env: DEPENDENCIES="dunglas/symfony-lock:^3"
28+
- php: 7.2
29+
env: DEPENDENCIES="dunglas/symfony-lock:^4"
30+
31+
# Latest commit to master
32+
- php: 7.2
33+
env: STABILITY="dev"
34+
35+
allow_failures:
36+
# Dev-master is allowed to fail.
37+
- env: STABILITY="dev"
38+
39+
before_install:
40+
- if [[ $COVERAGE != true ]]; then phpenv config-rm xdebug.ini || true; fi
41+
- if ! [ -z "$STABILITY" ]; then composer config minimum-stability ${STABILITY}; fi;
42+
- if ! [ -z "$DEPENDENCIES" ]; then composer require --no-update ${DEPENDENCIES}; fi;
3143

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

3649
script:
50+
- composer validate --strict --no-check-lock
3751
- $TEST_COMMAND
3852

3953
after_success:

Consumer/ExtendableEnvelopeConsumer.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace Happyr\Mq2phpBundle\Consumer;
44

55
use Happyr\Mq2phpBundle\Event\PreHandleMessage;
6-
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopSerializer;
6+
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer;
77
use SimpleBus\Message\Bus\MessageBus;
88
use SimpleBus\Asynchronous\Consumer\SerializedEnvelopeConsumer as SimpleBusSerializedEnvelopeConsumer;
99
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -14,7 +14,7 @@
1414
class ExtendableEnvelopeConsumer implements SimpleBusSerializedEnvelopeConsumer
1515
{
1616
/**
17-
* @var MessageInEnvelopSerializer
17+
* @var MessageInEnvelopeSerializer
1818
*/
1919
private $messageInEnvelopeSerializer;
2020

@@ -29,12 +29,12 @@ class ExtendableEnvelopeConsumer implements SimpleBusSerializedEnvelopeConsumer
2929
private $dispathcer;
3030

3131
/**
32-
* @param MessageInEnvelopSerializer $messageInEnvelopeSerializer
32+
* @param MessageInEnvelopeSerializer $messageInEnvelopeSerializer
3333
* @param MessageBus $messageBus
3434
* @param EventDispatcherInterface $dispathcer
3535
*/
3636
public function __construct(
37-
MessageInEnvelopSerializer $messageInEnvelopeSerializer,
37+
MessageInEnvelopeSerializer $messageInEnvelopeSerializer,
3838
MessageBus $messageBus,
3939
EventDispatcherInterface $dispathcer
4040
) {

Service/MessageSerializerDecorator.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33
namespace Happyr\Mq2phpBundle\Service;
44

55
use Happyr\Mq2phpBundle\Event\PrePublishMessage;
6-
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopSerializer;
6+
use SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer;
77
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
88

99
/**
1010
* This service adds some extra headers on the message envelope.
1111
*
1212
* @author Tobias Nyholm <tobias.nyholm@gmail.com>
1313
*/
14-
class MessageSerializerDecorator implements MessageInEnvelopSerializer, HeaderAwareInterface
14+
class MessageSerializerDecorator implements MessageInEnvelopeSerializer, HeaderAwareInterface
1515
{
1616
/**
17-
* @var MessageInEnvelopSerializer
17+
* @var MessageInEnvelopeSerializer
1818
*/
1919
private $serializer;
2020

@@ -34,13 +34,13 @@ class MessageSerializerDecorator implements MessageInEnvelopSerializer, HeaderAw
3434
private $eventDispatcher;
3535

3636
/**
37-
* @param MessageInEnvelopSerializer $serializer
37+
* @param MessageInEnvelopeSerializer $serializer
3838
* @param array $headers
3939
* @param string $secretKey
4040
* @param EventDispatcherInterface $eventDispatcher
4141
*/
4242
public function __construct(
43-
MessageInEnvelopSerializer $serializer,
43+
MessageInEnvelopeSerializer $serializer,
4444
EventDispatcherInterface $eventDispatcher,
4545
array $headers = [],
4646
$secretKey = null

Tests/Functional/BundleInitializationTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ public function testRegisterBundle()
1111
{
1212
static::bootKernel();
1313
$container = static::$kernel->getContainer();
14-
$this->assertTrue($container->has('happyr.mq2php.message_serializer'));
15-
$client = $container->get('happyr.mq2php.message_serializer');
14+
$this->assertTrue($container->has('test.happyr.mq2php.message_serializer'));
15+
$client = $container->get('test.happyr.mq2php.message_serializer');
1616
$this->assertInstanceOf(MessageSerializerDecorator::class, $client);
1717

18-
$this->assertTrue($container->has('happyr.mq2php.consumer_wrapper'));
19-
$client = $container->get('happyr.mq2php.consumer_wrapper');
18+
$this->assertTrue($container->has('test.happyr.mq2php.consumer_wrapper'));
19+
$client = $container->get('test.happyr.mq2php.consumer_wrapper');
2020
$this->assertInstanceOf(ConsumerWrapper::class, $client);
2121
}
2222
}

Tests/Functional/app/config/services.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,11 @@ services:
44

55
logger:
66
class: Happyr\Mq2phpBundle\Tests\Functional\app\Service\DummyLogger
7+
8+
test.happyr.mq2php.message_serializer:
9+
alias: happyr.mq2php.message_serializer
10+
public: true
11+
12+
test.happyr.mq2php.consumer_wrapper:
13+
alias: happyr.mq2php.consumer_wrapper
14+
public: true

Tests/Unit/Service/MessageSerializerDecoratorTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
namespace Happyr\Mq2phpBundle\Tests\Unit\Service;
44

55
use Happyr\Mq2phpBundle\Service\MessageSerializerDecorator;
6+
use PHPUnit\Framework\TestCase;
67

7-
class MessageSerializerDecoratorTest extends \PHPUnit_Framework_TestCase
8+
class MessageSerializerDecoratorTest extends TestCase
89
{
910
public function testWrapAndSerialize()
1011
{
11-
$inner = $this->getMockBuilder('SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopSerializer')
12+
$inner = $this->getMockBuilder('SimpleBus\Serialization\Envelope\Serializer\MessageInEnvelopeSerializer')
1213
->getMock();
1314
$inner->method('wrapAndSerialize')
1415
->willReturnArgument(0);

composer.json

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,27 @@
1010
}
1111
],
1212
"require": {
13-
"php": "^5.6 || ^7.0",
13+
"php": "^7.0",
1414
"psr/log": "~1.0",
15-
"simple-bus/asynchronous-bundle":"^2.0",
16-
"symfony/framework-bundle": "^2.7 || ^3.0",
17-
"symfony/event-dispatcher": "^2.3 || ^3.0"
15+
"simple-bus/asynchronous-bundle":"^3.0",
16+
"symfony/dependency-injection": "^3.4 || ^4.0",
17+
"symfony/http-kernel": "^3.4 || ^4.0",
18+
"symfony/framework-bundle": "^3.4 || ^4.0",
19+
"symfony/console": "^3.4 || ^4.0",
20+
"symfony/event-dispatcher": "^3.4 || ^4.0"
1821
},
1922
"require-dev": {
20-
"phpunit/phpunit": "^4.5 || ^5.4",
21-
"matthiasnoback/symfony-dependency-injection-test": "^1.0",
22-
"symfony/symfony": "^2.3 || ^3.0",
23-
"simple-bus/jms-serializer-bundle-bridge": "^2.0"
23+
"matthiasnoback/symfony-dependency-injection-test": "^2.3",
24+
"simple-bus/jms-serializer-bundle-bridge": "^3.0.1",
25+
"symfony/phpunit-bridge": "^3.4 || ^4.0",
26+
"symfony/stopwatch": "^3.4 || ^4.0",
27+
"symfony/translation": "^3.4 || ^4.0"
2428
},
2529
"autoload": {
2630
"psr-4": { "Happyr\\Mq2phpBundle\\": "" }
2731
},
2832
"scripts": {
29-
"test": "vendor/bin/phpunit",
30-
"test-ci": "vendor/bin/phpunit --coverage-text --coverage-clover=build/coverage.xml"
33+
"test": "vendor/bin/simple-phpunit",
34+
"test-ci": "vendor/bin/simple-phpunit --coverage-text --coverage-clover=build/coverage.xml"
3135
}
3236
}

0 commit comments

Comments
 (0)