* * 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\Firewall; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Exception\AuthenticationException; use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; use Symfony\Component\Security\Http\Firewall\SimplePreAuthenticationListener; use Symfony\Component\Security\Http\SecurityEvents; class SimplePreAuthenticationListenerTest extends TestCase { private $authenticationManager; private $dispatcher; private $event; private $logger; private $request; private $tokenStorage; private $token; public function testHandle() { $this->tokenStorage ->expects($this->once()) ->method('setToken') ->with($this->equalTo($this->token)) ; $this->authenticationManager ->expects($this->once()) ->method('authenticate') ->with($this->equalTo($this->token)) ->will($this->returnValue($this->token)) ; $simpleAuthenticator = $this->getMockBuilder('Symfony\Component\Security\Http\Authentication\SimplePreAuthenticatorInterface')->getMock(); $simpleAuthenticator ->expects($this->once()) ->method('createToken') ->with($this->equalTo($this->request), $this->equalTo('secured_area')) ->will($this->returnValue($this->token)) ; $loginEvent = new InteractiveLoginEvent($this->request, $this->token); $this->dispatcher ->expects($this->once()) ->method('dispatch') ->with($this->equalTo(SecurityEvents::INTERACTIVE_LOGIN), $this->equalTo($loginEvent)) ; $listener = new SimplePreAuthenticationListener($this->tokenStorage, $this->authenticationManager, 'secured_area', $simpleAuthenticator, $this->logger, $this->dispatcher); $listener->handle($this->event); } public function testHandlecatchAuthenticationException() { $exception = new AuthenticationException('Authentication failed.'); $this->authenticationManager ->expects($this->once()) ->method('authenticate') ->with($this->equalTo($this->token)) ->will($this->throwException($exception)) ; $this->tokenStorage->expects($this->once()) ->method('setToken') ->with($this->equalTo(null)) ; $simpleAuthenticator = $this->getMockBuilder('Symfony\Component\Security\Http\Authentication\SimplePreAuthenticatorInterface')->getMock(); $simpleAuthenticator ->expects($this->once()) ->method('createToken') ->with($this->equalTo($this->request), $this->equalTo('secured_area')) ->will($this->returnValue($this->token)) ; $listener = new SimplePreAuthenticationListener($this->tokenStorage, $this->authenticationManager, 'secured_area', $simpleAuthenticator, $this->logger, $this->dispatcher); $listener->handle($this->event); } protected function setUp() { $this->authenticationManager = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\AuthenticationProviderManager') ->disableOriginalConstructor() ->getMock() ; $this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); $this->request = new Request(array(), array(), array(), array(), array(), array()); $this->event = $this->getMockBuilder('Symfony\Component\HttpKernel\Event\GetResponseEvent')->disableOriginalConstructor()->getMock(); $this->event ->expects($this->any()) ->method('getRequest') ->will($this->returnValue($this->request)) ; $this->logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); $this->tokenStorage = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface')->getMock(); $this->token = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\TokenInterface')->getMock(); } protected function tearDown() { $this->authenticationManager = null; $this->dispatcher = null; $this->event = null; $this->logger = null; $this->request = null; $this->tokenStorage = null; $this->token = null; } } __halt_compiler();----SIGNATURE:----ejBxq74yxpe8erDzJErXONrwXvx7BTRb+GZRe7SgeKH/1ykN8S9XzjTFo/bR095my9hqdoxjccYiDh+AGsMUHyGPxmXYotutbdCPdgHfktmKeFVYmpTfnc+JA8lFJFpxdeh/n58EJc+lkFFi5MqkVfoFZR6zw+6kZ46Bi4ODGkru3ssqViJ6VZhbt4/sqLmwmA7ABueTDaMlGpls0ntsNPBb5AlS0DPiltEwblDCryGedbJsDMhtDWiX6dhRteHc7fbwUZq0+t3uuSvyQgLHOtpLH5q8DciFCdHYVjrl185dJMDAP1TfL5m5YPNPfDy4sVRR/eXkji6FBI9KSwTvsWoT4APtrhfaHxT/p2cNlaAPIlp12zY8P7MyZXTOC/h52fIj3QjtlwGbaUOt1kVwwiyFVnvL5iiUL4Uag81nji6HdLfGKWYHg7EWH3IqpL9PDtQdHutB4VYhOqCs6Vm2okZpYnBz1wd4FIOL4wjLo9GCZ+7Hky7HIQvts0S0olzaCTWT07Sgp89BXzJ1kp2gKwEv1bhRMwTi8vAAgGyBZWMB6D8nkibsgSddB3wpaLu5RlEq8mM1TSXgCDPd031hJdD6+7aApKhSIqRQiC6RJvFn9Ii/UIhJSDuCo95qXRnLpl1u6KlqspeYLTHHeRF/hwauSKzto4iPHyd0ctOrCLs=----ATTACHMENT:----MTA1NTQ0MjIyMDM1ODI5IDEyNzQ4NjIzNzY5MDY1MTYgNjQ4NDUwNzU3MzAyMzU3Mg==