AerialShipSamlSPExtensionTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 0
cbo 4
dl 0
loc 43
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A shouldLoadExtensionWithSSOStateEntityClassOnly() 0 11 1
A throwIfInvalidSSOStateEntityClass() 0 9 1
A throwIfNoSSOStateEntityClass() 0 7 1
1
<?php
2
3
namespace AerialShip\SamlSPBundle\Tests\DependencyInjection;
4
5
use AerialShip\SamlSPBundle\DependencyInjection\AerialShipSamlSPExtension;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
8
9
class AerialShipSamlSPExtensionTest extends \PHPUnit_Framework_TestCase
10
{
11
    /**
12
     * @test
13
     */
14
    public function shouldLoadExtensionWithSSOStateEntityClassOnly()
15
    {
16
        $configs = array('aerial_ship_saml_sp' => array(
17
            'sso_state_entity_class' => 'AerialShip\SamlSPBundle\Tests\DependencyInjection\TestSSOStateEntity'
18
        ));
19
        $extension = new AerialShipSamlSPExtension();
20
        $containerBuilder = new ContainerBuilder(new ParameterBag());
21
        $extension->load($configs, $containerBuilder);
22
23
        $this->assertTrue($containerBuilder->hasDefinition('aerial_ship_saml_sp.state.store.sso'));
24
    }
25
26
    /**
27
     * @test
28
     * @expectedException \InvalidArgumentException
29
     */
30
    public function throwIfInvalidSSOStateEntityClass()
31
    {
32
        $configs = array('aerial_ship_saml_sp' => array(
33
            'sso_state_entity_class' => 'Some\Non\Existing\Class'
34
        ));
35
        $extension = new AerialShipSamlSPExtension();
36
        $containerBuilder = new ContainerBuilder(new ParameterBag());
37
        $extension->load($configs, $containerBuilder);
38
    }
39
40
    /**
41
     * @test
42
     * @expectedException \Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
43
     */
44
    public function throwIfNoSSOStateEntityClass()
45
    {
46
        $configs = array('aerial_ship_saml_sp' => array());
47
        $extension = new AerialShipSamlSPExtension();
48
        $containerBuilder = new ContainerBuilder(new ParameterBag());
49
        $extension->load($configs, $containerBuilder);
50
    }
51
} 
52