Mercurial > hg > isophonics-drupal-site
view core/modules/ban/tests/src/Unit/BanMiddlewareTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line source
<?php namespace Drupal\Tests\ban\Unit; use Drupal\ban\BanMiddleware; use Drupal\Tests\UnitTestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\HttpKernelInterface; /** * @coversDefaultClass \Drupal\ban\BanMiddleware * @group ban */ class BanMiddlewareTest extends UnitTestCase { /** * The mocked wrapped kernel. * * @var \Symfony\Component\HttpKernel\HttpKernelInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $kernel; /** * The mocked ban IP manager. * * @var \Drupal\ban\BanIpManagerInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $banManager; /** * The tested ban middleware. * * @var \Drupal\ban\BanMiddleware */ protected $banMiddleware; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); $this->banManager = $this->getMock('Drupal\ban\BanIpManagerInterface'); $this->banMiddleware = new BanMiddleware($this->kernel, $this->banManager); } /** * Tests a banned IP. */ public function testBannedIp() { $banned_ip = '17.0.0.2'; $this->banManager->expects($this->once()) ->method('isBanned') ->with($banned_ip) ->willReturn(TRUE); $this->kernel->expects($this->never()) ->method('handle'); $request = Request::create('/test-path'); $request->server->set('REMOTE_ADDR', $banned_ip); $response = $this->banMiddleware->handle($request); $this->assertEquals(403, $response->getStatusCode()); } /** * Tests an unbanned IP. */ public function testUnbannedIp() { $unbanned_ip = '18.0.0.2'; $this->banManager->expects($this->once()) ->method('isBanned') ->with($unbanned_ip) ->willReturn(FALSE); $request = Request::create('/test-path'); $request->server->set('REMOTE_ADDR', $unbanned_ip); $expected_response = new Response(200); $this->kernel->expects($this->once()) ->method('handle') ->with($request, HttpKernelInterface::MASTER_REQUEST, TRUE) ->willReturn($expected_response); $response = $this->banMiddleware->handle($request); $this->assertSame($expected_response, $response); } }