ServiceInfoTest   A
last analyzed

Complexity

Total Complexity 10

Size/Duplication

Total Lines 146
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 10
c 1
b 0
f 0
lcom 1
cbo 2
dl 0
loc 146
rs 10

10 Methods

Rating   Name   Duplication   Size   Complexity  
A shouldBeConstructedWithRequiredArgs() 0 11 1
A shouldAllowGetProviderIDWithValueFromConstructor() 0 13 1
A shouldAllowGetAuthenticationServiceWithValueFromConstructor() 0 13 1
A shouldAllowGetSPProviderWithValueFromConstructor() 0 13 1
A shouldAllowGetIDPProviderWithValueFromConstructor() 0 13 1
A shouldAllowGetSpMetaProviderWithValueFromConstructor() 0 13 1
A shouldAllowGetSpSigningProviderWithValueFromConstructor() 0 13 1
A createEntityDescriptorProviderMock() 0 4 1
A createSpMetaProviderMock() 0 4 1
A createSPSigningProviderMock() 0 4 1
1
<?php
2
3
namespace AerialShip\SamlSPBundle\Tests\Config;
4
5
use AerialShip\SamlSPBundle\Config\EntityDescriptorProviderInterface;
6
use AerialShip\SamlSPBundle\Config\ServiceInfo;
7
use AerialShip\SamlSPBundle\Config\SpMetaProviderInterface;
8
use AerialShip\SamlSPBundle\Config\SPSigningProviderInterface;
9
10
class ServiceInfoTest extends \PHPUnit_Framework_TestCase
11
{
12
    /**
13
     * @test
14
     */
15
    public function shouldBeConstructedWithRequiredArgs()
16
    {
17
        new ServiceInfo(
18
            $expectedProviderID = 'main',
19
            $expectedIDPID = 'idp',
20
            $expectedSPProvider = $this->createEntityDescriptorProviderMock(),
21
            $expectedIDPProvider = $this->createEntityDescriptorProviderMock(),
22
            $expectedSPMeta = $this->createSpMetaProviderMock(),
23
            $expectedSigning = $this->createSPSigningProviderMock()
24
        );
25
    }
26
27
    /**
28
     * @test
29
     */
30
    public function shouldAllowGetProviderIDWithValueFromConstructor()
31
    {
32
        $si = new ServiceInfo(
33
            $expectedProviderID = 'main',
34
            $expectedIDPID = 'idp',
35
            $expectedSPProvider = $this->createEntityDescriptorProviderMock(),
36
            $expectedIDPProvider = $this->createEntityDescriptorProviderMock(),
37
            $expectedSPMeta = $this->createSpMetaProviderMock(),
38
            $expectedSigning = $this->createSPSigningProviderMock()
39
        );
40
41
        $this->assertEquals($expectedProviderID, $si->getProviderID());
42
    }
43
44
45
    /**
46
     * @test
47
     */
48
    public function shouldAllowGetAuthenticationServiceWithValueFromConstructor()
49
    {
50
        $si = new ServiceInfo(
51
            $expectedProviderID = 'main',
52
            $expectedIDPID = 'idp',
53
            $expectedSPProvider = $this->createEntityDescriptorProviderMock(),
54
            $expectedIDPProvider = $this->createEntityDescriptorProviderMock(),
55
            $expectedSPMeta = $this->createSpMetaProviderMock(),
56
            $expectedSigning = $this->createSPSigningProviderMock()
57
        );
58
59
        $this->assertEquals($expectedIDPID, $si->getAuthenticationService());
60
    }
61
62
    /**
63
     * @test
64
     */
65
    public function shouldAllowGetSPProviderWithValueFromConstructor()
66
    {
67
        $si = new ServiceInfo(
68
            $expectedProviderID = 'main',
69
            $expectedIDPID = 'idp',
70
            $expectedSPProvider = $this->createEntityDescriptorProviderMock(),
71
            $expectedIDPProvider = $this->createEntityDescriptorProviderMock(),
72
            $expectedSPMeta = $this->createSpMetaProviderMock(),
73
            $expectedSigning = $this->createSPSigningProviderMock()
74
        );
75
76
        $this->assertEquals($expectedSPProvider, $si->getSpProvider());
77
    }
78
79
    /**
80
     * @test
81
     */
82
    public function shouldAllowGetIDPProviderWithValueFromConstructor()
83
    {
84
        $si = new ServiceInfo(
85
            $expectedProviderID = 'main',
86
            $expectedIDPID = 'idp',
87
            $expectedSPProvider = $this->createEntityDescriptorProviderMock(),
88
            $expectedIDPProvider = $this->createEntityDescriptorProviderMock(),
89
            $expectedSPMeta = $this->createSpMetaProviderMock(),
90
            $expectedSigning = $this->createSPSigningProviderMock()
91
        );
92
93
        $this->assertEquals($expectedIDPProvider, $si->getIdpProvider());
94
    }
95
96
    /**
97
     * @test
98
     */
99
    public function shouldAllowGetSpMetaProviderWithValueFromConstructor()
100
    {
101
        $si = new ServiceInfo(
102
            $expectedProviderID = 'main',
103
            $expectedIDPID = 'idp',
104
            $expectedSPProvider = $this->createEntityDescriptorProviderMock(),
105
            $expectedIDPProvider = $this->createEntityDescriptorProviderMock(),
106
            $expectedSPMeta = $this->createSpMetaProviderMock(),
107
            $expectedSigning = $this->createSPSigningProviderMock()
108
        );
109
110
        $this->assertEquals($expectedSPMeta, $si->getSpMetaProvider());
111
    }
112
113
    /**
114
     * @test
115
     */
116
    public function shouldAllowGetSpSigningProviderWithValueFromConstructor()
117
    {
118
        $si = new ServiceInfo(
119
            $expectedProviderID = 'main',
120
            $expectedIDPID = 'idp',
121
            $expectedSPProvider = $this->createEntityDescriptorProviderMock(),
122
            $expectedIDPProvider = $this->createEntityDescriptorProviderMock(),
123
            $expectedSPMeta = $this->createSpMetaProviderMock(),
124
            $expectedSigning = $this->createSPSigningProviderMock()
125
        );
126
127
        $this->assertEquals($expectedSigning, $si->getSpSigningProvider());
128
    }
129
130
131
132
    /**
133
     * @return \PHPUnit_Framework_MockObject_MockObject|EntityDescriptorProviderInterface
134
     */
135
    protected function createEntityDescriptorProviderMock()
136
    {
137
        return $this->getMock('AerialShip\SamlSPBundle\Config\EntityDescriptorProviderInterface');
138
    }
139
140
    /**
141
     * @return \PHPUnit_Framework_MockObject_MockObject|SpMetaProviderInterface
142
     */
143
    protected function createSpMetaProviderMock()
144
    {
145
        return $this->getMock('AerialShip\SamlSPBundle\Config\SpMetaProviderInterface');
146
    }
147
148
    /**
149
     * @return \PHPUnit_Framework_MockObject_MockObject|SPSigningProviderInterface
150
     */
151
    protected function createSPSigningProviderMock()
152
    {
153
        return $this->getMock('AerialShip\SamlSPBundle\Config\SPSigningProviderInterface');
154
    }
155
}
156