| Viewing file:  FirewallMapTest.php (4.1 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
<?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 Symfony\Component\Security\Http\Tests;
 
 use Symfony\Component\Security\Http\FirewallMap;
 use Symfony\Component\HttpFoundation\Request;
 
 class FirewallMapTest extends \PHPUnit_Framework_TestCase
 {
 public function testGetListeners()
 {
 $map = new FirewallMap();
 
 $request = new Request();
 
 $notMatchingMatcher = $this->getMock('Symfony\Component\HttpFoundation\RequestMatcher');
 $notMatchingMatcher
 ->expects($this->once())
 ->method('matches')
 ->with($this->equalTo($request))
 ->will($this->returnValue(false))
 ;
 
 $map->add($notMatchingMatcher, array($this->getMock('Symfony\Component\Security\Http\Firewall\ListenerInterface')));
 
 $matchingMatcher = $this->getMock('Symfony\Component\HttpFoundation\RequestMatcher');
 $matchingMatcher
 ->expects($this->once())
 ->method('matches')
 ->with($this->equalTo($request))
 ->will($this->returnValue(true))
 ;
 $theListener = $this->getMock('Symfony\Component\Security\Http\Firewall\ListenerInterface');
 $theException = $this->getMock('Symfony\Component\Security\Http\Firewall\ExceptionListener', array(), array(), '', false);
 
 $map->add($matchingMatcher, array($theListener), $theException);
 
 $tooLateMatcher = $this->getMock('Symfony\Component\HttpFoundation\RequestMatcher');
 $tooLateMatcher
 ->expects($this->never())
 ->method('matches')
 ;
 
 $map->add($tooLateMatcher, array($this->getMock('Symfony\Component\Security\Http\Firewall\ListenerInterface')));
 
 list($listeners, $exception) = $map->getListeners($request);
 
 $this->assertEquals(array($theListener), $listeners);
 $this->assertEquals($theException, $exception);
 }
 
 public function testGetListenersWithAnEntryHavingNoRequestMatcher()
 {
 $map = new FirewallMap();
 
 $request = new Request();
 
 $notMatchingMatcher = $this->getMock('Symfony\Component\HttpFoundation\RequestMatcher');
 $notMatchingMatcher
 ->expects($this->once())
 ->method('matches')
 ->with($this->equalTo($request))
 ->will($this->returnValue(false))
 ;
 
 $map->add($notMatchingMatcher, array($this->getMock('Symfony\Component\Security\Http\Firewall\ListenerInterface')));
 
 $theListener = $this->getMock('Symfony\Component\Security\Http\Firewall\ListenerInterface');
 $theException = $this->getMock('Symfony\Component\Security\Http\Firewall\ExceptionListener', array(), array(), '', false);
 
 $map->add(null, array($theListener), $theException);
 
 $tooLateMatcher = $this->getMock('Symfony\Component\HttpFoundation\RequestMatcher');
 $tooLateMatcher
 ->expects($this->never())
 ->method('matches')
 ;
 
 $map->add($tooLateMatcher, array($this->getMock('Symfony\Component\Security\Http\Firewall\ListenerInterface')));
 
 list($listeners, $exception) = $map->getListeners($request);
 
 $this->assertEquals(array($theListener), $listeners);
 $this->assertEquals($theException, $exception);
 }
 
 public function testGetListenersWithNoMatchingEntry()
 {
 $map = new FirewallMap();
 
 $request = new Request();
 
 $notMatchingMatcher = $this->getMock('Symfony\Component\HttpFoundation\RequestMatcher');
 $notMatchingMatcher
 ->expects($this->once())
 ->method('matches')
 ->with($this->equalTo($request))
 ->will($this->returnValue(false))
 ;
 
 $map->add($notMatchingMatcher, array($this->getMock('Symfony\Component\Security\Http\Firewall\ListenerInterface')));
 
 list($listeners, $exception) = $map->getListeners($request);
 
 $this->assertEquals(array(), $listeners);
 $this->assertNull($exception);
 }
 }
 
 |