vendor/bundles/JMS/SecurityExtraBundle/Tests/DependencyInjection/JMSSecurityExtraExtensionTest.php
author ymh <ymh.work@gmail.com>
Sun, 06 Nov 2011 23:44:37 +0100
changeset 27 1df556b2c0f9
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
Correct memory problem
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
namespace JMS\SecurityExtraBundle\Tests\DependencyInjection;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use Symfony\Component\DependencyInjection\ContainerBuilder;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
use JMS\SecurityExtraBundle\DependencyInjection\JMSSecurityExtraExtension;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
class JMSSecurityExtraExtensionTest extends \PHPUnit_Framework_TestCase
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    public function testConfigLoad()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
        $extension = new JMSSecurityExtraExtension();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        $config = array();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        $extension->load(array($config), $container = new ContainerBuilder());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        $this->assertTrue($container->hasDefinition('security.access.method_interceptor'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        $this->assertTrue($container->hasDefinition('security.extra.controller_listener'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        $this->assertFalse($container->getParameter('security.extra.secure_all_services'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        $this->assertFalse($container->getDefinition('security.extra.iddqd_voter')->hasTag('security.voter'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    public function testConfigLoadSecureAll()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        $extension = new JMSSecurityExtraExtension();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        $extension->load(array(array('secure_all_services' => true, 'secure_controllers' => false)), $container = new ContainerBuilder());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
        $this->assertFalse($container->hasDefinition('security.extra.controller_listener'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        $this->assertTrue($container->getParameter('security.extra.secure_all_services'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    public function testConfigLoadEnableIddqdAttribute()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        $extension = new JMSSecurityExtraExtension();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        $extension->load(array(array('enable_iddqd_attribute' => true)), $container = new ContainerBuilder());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
        $this->assertTrue($container->getDefinition('security.extra.iddqd_voter')->hasTag('security.voter'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
}