GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

PushSubscriberManagerTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 97
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
B testProcessMessage() 0 29 3
A processMessageDataProvider() 0 48 1
1
<?php
2
3
namespace Ozean12\GooglePubSubBundle\Tests\Service;
4
5
use Ozean12\GooglePubSubBundle\DTO\PushMessageDTO;
6
use Ozean12\GooglePubSubBundle\DTO\PushMessageRequestDTO;
7
use Ozean12\GooglePubSubBundle\Service\Subscriber\PushSubscriberInterface;
8
use Ozean12\GooglePubSubBundle\Service\Subscriber\PushSubscriberManager;
9
10
/**
11
 * Class PushSubscriberManagerTest
12
 */
13
class PushSubscriberManagerTest extends \PHPUnit_Framework_TestCase
14
{
15
    const GOOD_SUBSCRIPTION = 'test_sub';
16
    const BAD_SUBSCRIPTION = 'some_other_sub';
17
    const PROJECT_ID = 'amazing-project';
18
19
    /**
20
     * @dataProvider processMessageDataProvider
21
     *
22
     * @param PushSubscriberInterface[] $subscribers
23
     * @param bool                      $expectedResult
24
     * @param int                       $expectedLoggerCalls
25
     * @param PushMessageRequestDTO     $messageRequest
26
     * @param string                    $testCase
27
     */
28
    public function testProcessMessage(
29
        array $subscribers,
30
        $expectedResult,
31
        $expectedLoggerCalls,
32
        $messageRequest,
33
        $testCase
34
    ) {
35
        $manager = new PushSubscriberManager(self::PROJECT_ID);
36
37
        foreach ($subscribers as $subscriptionName => $subscriber) {
38
            $manager->addSubscriber($subscriptionName, $subscriber);
39
        }
40
41
        if (!empty($expectedLoggerCalls)) {
42
            $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')
43
                ->disableOriginalConstructor()
44
                ->getMock()
45
            ;
46
47
            $logger
48
                ->expects($this->exactly($expectedLoggerCalls))
49
                ->method('info')
50
            ;
51
52
            $manager->setLogger($logger);
53
        }
54
55
        $this->assertEquals($expectedResult, $manager->processMessage($messageRequest), $testCase);
56
    }
57
58
    /**
59
     * @return array
60
     */
61
    public function processMessageDataProvider()
62
    {
63
        $message = new PushMessageDTO();
64
        $message->setData('test');
65
66
        $messageRequest = new PushMessageRequestDTO();
67
        $messageRequest
68
            ->setMessage($message)
69
            ->setSubscription(sprintf('projects/%s/subscriptions/%s', self::PROJECT_ID, self::GOOD_SUBSCRIPTION))
70
        ;
71
72
        $badProcessor = $this
73
            ->getMockBuilder('Ozean12\GooglePubSubBundle\Service\Subscriber\PushSubscriberInterface')
74
            ->getMock()
75
        ;
76
77
        $badProcessor->expects($this->never())->method('process');
78
79
        $goodProcessor = $this
80
            ->getMockBuilder('Ozean12\GooglePubSubBundle\Service\Subscriber\PushSubscriberInterface')
81
            ->getMock()
82
        ;
83
84
        $goodProcessor->expects($this->once())->method('process')->with($message);
85
86
        $goodProcessorWithLogger = $this
87
            ->getMockBuilder('Ozean12\GooglePubSubBundle\Service\Subscriber\PushSubscriberInterface')
88
            ->getMock()
89
        ;
90
91
        $goodProcessorWithLogger->expects($this->once())->method('process')->with($message);
92
93
        return [
94
            [[
95
                self::BAD_SUBSCRIPTION => $badProcessor
96
            ], false, 0, $messageRequest, 'No subscriber found'],
97
98
            [[
99
                self::BAD_SUBSCRIPTION => $badProcessor,
100
                self::GOOD_SUBSCRIPTION => $goodProcessor,
101
            ], true, 0, $messageRequest, 'Subscriber found'],
102
103
            [[
104
                self::BAD_SUBSCRIPTION => $badProcessor,
105
                self::GOOD_SUBSCRIPTION => $goodProcessorWithLogger
106
            ], true, 1, $messageRequest, 'Subscriber found with logger'],
107
        ];
108
    }
109
}
110