Skip to content

Commit 6f3f19e

Browse files
author
Pavel Batanov
committed
Testing
1 parent d05337e commit 6f3f19e

File tree

11 files changed

+196
-76
lines changed

11 files changed

+196
-76
lines changed

.travis.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
language: php
2+
3+
php:
4+
- 5.4
5+
- 5.5
6+
- 5.6
7+
- hhvm
8+
9+
env:
10+
- SYMFONY_VERSION='2.3.*' deps='no'
11+
- SYMFONY_VERSION='2.5.*' deps='no'
12+
- SYMFONY_VERSION='2.6.*' deps='no'
13+
- SYMFONY_VERSION='2.7.*@dev' deps='no'
14+
15+
matrix:
16+
include:
17+
- php: 5.5
18+
env: SYMFONY_VERSION='~2.8@dev' deps='no'
19+
- php: 5.5
20+
env: SYMFONY_VERSION='~2.8|~3.0@dev' deps='no'
21+
- php: 5.4
22+
env: SYMFONY_VERSION='2.3.*' deps='low'
23+
24+
allow_failures:
25+
- php: hhvm
26+
27+
before_install:
28+
- travis_retry composer self-update
29+
30+
install:
31+
- composer require --no-update symfony/symfony=${SYMFONY_VERSION}
32+
- if [ "$deps" = "no" ]; then composer --prefer-source install; fi;
33+
- if [ "$deps" = "low" ]; then composer --prefer-source --prefer-lowest --prefer-stable update; fi;
34+
35+
script:
36+
- mkdir -p build
37+
- phpunit --colors -c phpunit.xml --coverage-text

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
},
2323
"autoload": {
2424
"psr-0": {
25-
"ScayTrase\\Utils\\SMSDeliveryBundle": "src/"
25+
"": "src/"
2626
}
2727
}
2828
}

src/ScayTrase/SmsDeliveryBundle/DataCollector/MessageDeliveryDataCollector.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function getName()
4343

4444
public function putMessageInfo(array $data)
4545
{
46-
$this->data['messages'] = $data;
46+
$this->data[] = $data;
4747
}
4848

4949
public function getData()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: batanov.pavel
5+
* Date: 21.07.2015
6+
* Time: 16:30
7+
*/
8+
9+
namespace ScayTrase\SmsDeliveryBundle\DependencyInjection\Compiler;
10+
11+
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
12+
use Symfony\Component\DependencyInjection\ContainerBuilder;
13+
14+
class DataCollectorCompilerPass implements CompilerPassInterface
15+
{
16+
17+
18+
/**
19+
* You can modify the container here before it is dumped to PHP code.
20+
*
21+
* @param ContainerBuilder $container
22+
*
23+
* @api
24+
*/
25+
public function process(ContainerBuilder $container)
26+
{
27+
if ($container->hasDefinition('profiler') && $container->hasDefinition('data_collector.sms_delivery.data_collector')) {
28+
$container
29+
->getDefinition('sms_delivery.sender')
30+
->addArgument(
31+
$container->getDefinition('data_collector.sms_delivery.data_collector')
32+
);
33+
}
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: batanov.pavel
5+
* Date: 21.07.2015
6+
* Time: 16:26
7+
*/
8+
9+
namespace ScayTrase\SmsDeliveryBundle\DependencyInjection\Compiler;
10+
11+
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
12+
use Symfony\Component\DependencyInjection\ContainerBuilder;
13+
14+
class TransportCompilerPass implements CompilerPassInterface
15+
{
16+
17+
/**
18+
* You can modify the container here before it is dumped to PHP code.
19+
*
20+
* @param ContainerBuilder $container
21+
*
22+
* @api
23+
*/
24+
public function process(ContainerBuilder $container)
25+
{
26+
$container->getDefinition('sms_delivery.sender')->replaceArgument(
27+
0,
28+
$container->getDefinition($container->getParameter('sms_delivery.transport'))
29+
);
30+
}
31+
}

src/ScayTrase/SmsDeliveryBundle/DependencyInjection/SMSDeliveryExtension.php

+3-8
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,14 @@ class SmsDeliveryExtension extends Extension
1919
*/
2020
public function load(array $configs, ContainerBuilder $container)
2121
{
22+
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
23+
$loader->load('services.yml');
24+
2225
$configuration = new Configuration();
2326
$config = $this->processConfiguration($configuration, $configs);
2427

2528
foreach ($config as $key => $value) {
2629
$container->setParameter('sms_delivery.' . $key, $value);
2730
}
28-
29-
$container->getDefinition('sms_delivery.sender')->replaceArgument(
30-
0,
31-
$container->getParameter('sms_delivery.transport')
32-
);
33-
34-
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
35-
$loader->load('services.yml');
3631
}
3732
}

src/ScayTrase/SmsDeliveryBundle/Resources/config/services.yml

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
parameters:
22
sms_delivery.transport: @sms_delivery.dummy_sender
3+
sms_delivery.disable_delivery: false
4+
sms_delivery.delivery_recipient: null
35

46
services:
57
sms_delivery.dummy_sender:
68
class: ScayTrase\SmsDeliveryBundle\Transport\DummyTransport
79
arguments: [@service_container]
810

911
sms_delivery.sender:
10-
class: %sms_delivery.class%
11-
arguments: [@service_container]
12+
class: ScayTrase\SmsDeliveryBundle\Service\MessageDeliveryService
13+
arguments:
14+
- %sms_delivery.transport%
15+
- %sms_delivery.disable_delivery%
16+
- %sms_delivery.delivery_recipient%
1217

1318
data_collector.sms_delivery.data_collector:
1419
class: ScayTrase\SmsDeliveryBundle\DataCollector\MessageDeliveryDataCollector

src/ScayTrase/SmsDeliveryBundle/SMSDeliveryBundle.php

+20
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,29 @@
22

33
namespace ScayTrase\SMSDeliveryBundle;
44

5+
use ScayTrase\SmsDeliveryBundle\DependencyInjection\Compiler\DataCollectorCompilerPass;
6+
use ScayTrase\SmsDeliveryBundle\DependencyInjection\Compiler\TransportCompilerPass;
7+
use Symfony\Component\DependencyInjection\ContainerBuilder;
58
use Symfony\Component\HttpKernel\Bundle\Bundle;
69

710
class SmsDeliveryBundle extends Bundle
811
{
12+
/**
13+
* Builds the bundle.
14+
*
15+
* It is only ever called once when the cache is empty.
16+
*
17+
* This method can be overridden to register compilation passes,
18+
* other extensions, ...
19+
*
20+
* @param ContainerBuilder $container A ContainerBuilder instance
21+
*/
22+
public function build(ContainerBuilder $container)
23+
{
24+
parent::build($container);
25+
$container->addCompilerPass(new TransportCompilerPass());
26+
$container->addCompilerPass(new DataCollectorCompilerPass());
27+
}
28+
929
}
1030

src/ScayTrase/SmsDeliveryBundle/Service/MessageDeliveryService.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
namespace ScayTrase\SmsDeliveryBundle\Service;
1010

11-
1211
use ScayTrase\SmsDeliveryBundle\DataCollector\MessageDeliveryDataCollector;
1312
use ScayTrase\SmsDeliveryBundle\Exception\DeliveryFailedException;
1413
use ScayTrase\SmsDeliveryBundle\Transport\TransportInterface;
@@ -18,7 +17,7 @@
1817
* @package ScayTrase\Utils\SMSDeliveryBundle\Service
1918
* Basic sender service class. Implement sendMessage() method with actual 3rd-party SMS sending API interaction.
2019
*/
21-
abstract class MessageDeliveryService
20+
class MessageDeliveryService
2221
{
2322
/** @var TransportInterface */
2423
protected $transport;
@@ -32,12 +31,12 @@ abstract class MessageDeliveryService
3231
/**
3332
* @param TransportInterface $transport
3433
* @param bool $deliveryDisabled
35-
* @param null $recipientOverride
34+
* @param null|string $recipientOverride
3635
* @param MessageDeliveryDataCollector $collector
3736
*/
3837
public function __construct(
3938
TransportInterface $transport,
40-
$deliveryDisabled = true,
39+
$deliveryDisabled = false,
4140
$recipientOverride = null,
4241
MessageDeliveryDataCollector $collector = null
4342
) {
@@ -62,6 +61,7 @@ public function send(ShortMessageInterface $message)
6261
'reason' => 'sms_delivery.disable_delivery is true',
6362
));
6463
}
64+
6565
return true;
6666
}
6767

0 commit comments

Comments
 (0)