public function testStartWithUseForward()
 {
     $request = $this->getMock('Symfony\\Component\\HttpFoundation\\Request', array(), array(), '', false, false);
     $subRequest = $this->getMock('Symfony\\Component\\HttpFoundation\\Request', array(), array(), '', false, false);
     $response = $this->getMock('Symfony\\Component\\HttpFoundation\\Response');
     $httpUtils = $this->getMock('Symfony\\Component\\Security\\Http\\HttpUtils');
     $httpUtils->expects($this->once())->method('createRequest')->with($this->equalTo($request), $this->equalTo('/the/login/path'))->will($this->returnValue($subRequest));
     $httpKernel = $this->getMock('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
     $httpKernel->expects($this->once())->method('handle')->with($this->equalTo($subRequest), $this->equalTo(HttpKernelInterface::SUB_REQUEST))->will($this->returnValue($response));
     $entryPoint = new FormAuthenticationEntryPoint($httpKernel, $httpUtils, '/the/login/path', true);
     $this->assertEquals($response, $entryPoint->start($request));
 }
 public function testStartWithUseForward()
 {
     $request = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Request')->disableOriginalConstructor()->disableOriginalClone()->getMock();
     $subRequest = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Request')->disableOriginalConstructor()->disableOriginalClone()->getMock();
     $response = new Response('', 200);
     $httpUtils = $this->getMockBuilder('Symfony\\Component\\Security\\Http\\HttpUtils')->getMock();
     $httpUtils->expects($this->once())->method('createRequest')->with($this->equalTo($request), $this->equalTo('/the/login/path'))->will($this->returnValue($subRequest));
     $httpKernel = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpKernelInterface')->getMock();
     $httpKernel->expects($this->once())->method('handle')->with($this->equalTo($subRequest), $this->equalTo(HttpKernelInterface::SUB_REQUEST))->will($this->returnValue($response));
     $entryPoint = new FormAuthenticationEntryPoint($httpKernel, $httpUtils, '/the/login/path', true);
     $entryPointResponse = $entryPoint->start($request);
     $this->assertEquals($response, $entryPointResponse);
     $this->assertEquals(401, $entryPointResponse->headers->get('X-Status-Code'));
 }
 /**
  * Constructor.
  *
  * @param HttpKernelInterface $kernel
  * @param HttpUtils           $httpUtils  An HttpUtils instance
  * @param string              $loginPath  The path to the login form
  * @param Boolean             $useForward Whether to forward or redirect to the login form
  */
 public function __construct(HttpKernelInterface $kernel, HttpUtils $httpUtils, $loginPath, $useForward = false)
 {
     parent::__construct($kernel, $httpUtils, $loginPath, $useForward);
 }