Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/Security/Http/Tests/Firewall/ChannelListenerTest.php
Строк: 279
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentSecurityHttpTestsFirewall;

use 
SymfonyComponentSecurityHttpFirewallChannelListener;
use 
SymfonyComponentHttpFoundationResponse;

class 
ChannelListenerTest extends PHPUnit_Framework_TestCase
{
    public function 
testHandleWithNotSecuredRequestAndHttpChannel()
    {
        
$request $this->getMock('SymfonyComponentHttpFoundationRequest', array(), array(), ''falsefalse);
        
$request
            
->expects($this->any())
            ->
method('isSecure')
            ->
will($this->returnValue(false))
        ;

        
$accessMap $this->getMock('SymfonyComponentSecurityHttpAccessMapInterface');
        
$accessMap
            
->expects($this->any())
            ->
method('getPatterns')
            ->
with($this->equalTo($request))
            ->
will($this->returnValue(array(array(), 'http')))
        ;

        
$entryPoint $this->getMock('SymfonyComponentSecurityHttpEntryPointAuthenticationEntryPointInterface');
        
$entryPoint
            
->expects($this->never())
            ->
method('start')
        ;

        
$event $this->getMock('SymfonyComponentHttpKernelEventGetResponseEvent', array(), array(), ''false);
        
$event
            
->expects($this->any())
            ->
method('getRequest')
            ->
will($this->returnValue($request))
        ;
        
$event
            
->expects($this->never())
            ->
method('setResponse')
        ;

        
$listener = new ChannelListener($accessMap$entryPoint);
        
$listener->handle($event);
    }

    public function 
testHandleWithSecuredRequestAndHttpsChannel()
    {
        
$request $this->getMock('SymfonyComponentHttpFoundationRequest', array(), array(), ''falsefalse);
        
$request
            
->expects($this->any())
            ->
method('isSecure')
            ->
will($this->returnValue(true))
        ;

        
$accessMap $this->getMock('SymfonyComponentSecurityHttpAccessMapInterface');
        
$accessMap
            
->expects($this->any())
            ->
method('getPatterns')
            ->
with($this->equalTo($request))
            ->
will($this->returnValue(array(array(), 'https')))
        ;

        
$entryPoint $this->getMock('SymfonyComponentSecurityHttpEntryPointAuthenticationEntryPointInterface');
        
$entryPoint
            
->expects($this->never())
            ->
method('start')
        ;

        
$event $this->getMock('SymfonyComponentHttpKernelEventGetResponseEvent', array(), array(), ''false);
        
$event
            
->expects($this->any())
            ->
method('getRequest')
            ->
will($this->returnValue($request))
        ;
        
$event
            
->expects($this->never())
            ->
method('setResponse')
        ;

        
$listener = new ChannelListener($accessMap$entryPoint);
        
$listener->handle($event);
    }

    public function 
testHandleWithNotSecuredRequestAndHttpsChannel()
    {
        
$request $this->getMock('SymfonyComponentHttpFoundationRequest', array(), array(), ''falsefalse);
        
$request
            
->expects($this->any())
            ->
method('isSecure')
            ->
will($this->returnValue(false))
        ;

        
$response = new Response();

        
$accessMap $this->getMock('SymfonyComponentSecurityHttpAccessMapInterface');
        
$accessMap
            
->expects($this->any())
            ->
method('getPatterns')
            ->
with($this->equalTo($request))
            ->
will($this->returnValue(array(array(), 'https')))
        ;

        
$entryPoint $this->getMock('SymfonyComponentSecurityHttpEntryPointAuthenticationEntryPointInterface');
        
$entryPoint
            
->expects($this->once())
            ->
method('start')
            ->
with($this->equalTo($request))
            ->
will($this->returnValue($response))
        ;

        
$event $this->getMock('SymfonyComponentHttpKernelEventGetResponseEvent', array(), array(), ''false);
        
$event
            
->expects($this->any())
            ->
method('getRequest')
            ->
will($this->returnValue($request))
        ;
        
$event
            
->expects($this->once())
            ->
method('setResponse')
            ->
with($this->equalTo($response))
        ;

        
$listener = new ChannelListener($accessMap$entryPoint);
        
$listener->handle($event);
    }

    public function 
testHandleWithSecuredRequestAndHttpChannel()
    {
        
$request $this->getMock('SymfonyComponentHttpFoundationRequest', array(), array(), ''falsefalse);
        
$request
            
->expects($this->any())
            ->
method('isSecure')
            ->
will($this->returnValue(true))
        ;

        
$response = new Response();

        
$accessMap $this->getMock('SymfonyComponentSecurityHttpAccessMapInterface');
        
$accessMap
            
->expects($this->any())
            ->
method('getPatterns')
            ->
with($this->equalTo($request))
            ->
will($this->returnValue(array(array(), 'http')))
        ;

        
$entryPoint $this->getMock('SymfonyComponentSecurityHttpEntryPointAuthenticationEntryPointInterface');
        
$entryPoint
            
->expects($this->once())
            ->
method('start')
            ->
with($this->equalTo($request))
            ->
will($this->returnValue($response))
        ;

        
$event $this->getMock('SymfonyComponentHttpKernelEventGetResponseEvent', array(), array(), ''false);
        
$event
            
->expects($this->any())
            ->
method('getRequest')
            ->
will($this->returnValue($request))
        ;
        
$event
            
->expects($this->once())
            ->
method('setResponse')
            ->
with($this->equalTo($response))
        ;

        
$listener = new ChannelListener($accessMap$entryPoint);
        
$listener->handle($event);
    }
}
Онлайн: 1
Реклама