SubscriberPassTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 5
dl 0
loc 39
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testProcess() 0 13 1
A declareServiceMock() 0 8 1
A process() 0 13 1
1
<?php
2
3
namespace Cmobi\RabbitmqBundle\Tests\DependencyInjection\Compiler;
4
5
use Cmobi\RabbitmqBundle\Connection\ConnectionManager;
6
use Cmobi\RabbitmqBundle\DependencyInjection\CmobiRabbitmqExtension;
7
use Cmobi\RabbitmqBundle\DependencyInjection\Compiler\SubscriberPass;
8
use Cmobi\RabbitmqBundle\Queue\BaseQueueService;
9
use Cmobi\RabbitmqBundle\Tests\BaseTestCase;
10
use Cmobi\RabbitmqBundle\Transport\Subscriber\ExchangeType;
11
use Symfony\Component\DependencyInjection\ContainerBuilder;
12
13
class SubscriberPassTest extends BaseTestCase
14
{
15
    public function testProcess()
16
    {
17
        $container = new ContainerBuilder();
18
        $this->declareServiceMock($container);
19
        $container->register('cmobi_rabbitmq.message.handler', BaseQueueService::class)
20
            ->setPublic(false);
21
        $container->register('cmobi_rabbitmq.connection.manager', ConnectionManager::class)
22
            ->setPublic(false);
23
24
        $this->process($container);
25
26
        $this->assertTrue($container->hasDefinition('cmobi_rabbitmq.pub_sub.test'));
27
    }
28
29
    private function declareServiceMock(ContainerBuilder $container)
30
    {
31
        $container->registerExtension(new CmobiRabbitmqExtension());
32
        $container->register('cmobi_rabbitmq.pub_sub.test')
33
            ->setPublic(false);
34
        $container->register('cmobi_rabbitmq.connection.default')
35
            ->setPublic(false);
36
    }
37
38
    protected function process(ContainerBuilder $container)
39
    {
40
        $subscriberPass = new SubscriberPass(
41
            'exchange_test',
42
            ExchangeType::FANOUT,
43
            'test',
44
            'cmobi_rabbitmq.connection.default',
45
            'cmobi_rabbitmq.message.handler',
46
            1,
47
            []
48
        );
49
        $subscriberPass->process($container);
50
    }
51
}