Passed
Push — master ( 078409...14d907 )
by Simon
03:54 queued 01:59
created

testConfigurationWithOverridesValues()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 13
c 1
b 0
f 0
rs 9.4285
cc 1
eloc 10
nc 1
nop 0
1
<?php
2
3
namespace Sil\RouteSecurityBundle\Tests\DependencyInjection;
4
5
use PHPUnit\Framework\TestCase;
0 ignored issues
show
Bug introduced by
The type PHPUnit\Framework\TestCase was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use Sil\RouteSecurityBundle\DependencyInjection\SilRouteSecurityExtension;
7
use Symfony\Component\DependencyInjection\ContainerBuilder;
8
use Symfony\Component\Yaml\Parser;
9
10
class SilRouteSecurityExtensionTest extends TestCase
11
{
12
    public function testConfigurationWithDefaultValues()
13
    {
14
        $extension = new SilRouteSecurityExtension();
15
        $container = new ContainerBuilder();
16
        $config = [];
17
        $extension->load($config, $container);
18
19
        $this->assertFalse($container->getParameter('sil_route_security.enable_access_control'));
20
        $this->assertNull($container->getParameter('sil_route_security.secured_routes_format'));
21
        $this->assertNull($container->getParameter('sil_route_security.ignored_routes_format'));
22
        $this->assertEmpty($container->getParameter('sil_route_security.secured_routes'));
23
        $this->assertEmpty($container->getParameter('sil_route_security.ignored_routes'));
24
        $this->assertNull($container->getParameter('sil_route_security.naming_strategy'));
25
    }
26
27
    public function testConfigurationWithOverridesValues()
28
    {
29
        $config = $this->getFullConfiguration();
30
        $extension = new SilRouteSecurityExtension();
31
        $container = new ContainerBuilder();
32
        $extension->load($config, $container);
33
34
        $this->assertTrue($container->getParameter('sil_route_security.enable_access_control'));
35
        $this->assertEquals('/regex_secured_routes/', $container->getParameter('sil_route_security.secured_routes_format'));
36
        $this->assertEquals('/regex_ignored_routes/', $container->getParameter('sil_route_security.ignored_routes_format'));
37
        $this->assertEquals(['route_admin'], $container->getParameter('sil_route_security.secured_routes'));
38
        $this->assertEquals(['route_foo', 'route_bar'], $container->getParameter('sil_route_security.ignored_routes'));
39
        $this->assertEquals('my_own_naming_strategy_service_id', $container->getParameter('sil_route_security.naming_strategy'));
40
    }
41
42
    protected function getFullConfiguration()
43
    {
44
        $yaml = <<<EOF
45
sil_route_security:
46
    enable_access_control: true
47
    secured_routes_format: '/regex_secured_routes/'
48
    ignored_routes_format: '/regex_ignored_routes/'
49
    secured_routes: [route_admin]
50
    ignored_routes: [route_foo, route_bar]
51
    naming_strategy: my_own_naming_strategy_service_id
52
EOF;
53
        $parser = new Parser();
54
55
        return $parser->parse($yaml);
56
    }
57
}
58