You are here

public function ExceptionHandlingTest::testJson403 in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Routing/ExceptionHandlingTest.php \Drupal\KernelTests\Core\Routing\ExceptionHandlingTest::testJson403()
  2. 10 core/tests/Drupal/KernelTests/Core/Routing/ExceptionHandlingTest.php \Drupal\KernelTests\Core\Routing\ExceptionHandlingTest::testJson403()

Tests the exception handling for json and 403 status code.

File

core/tests/Drupal/KernelTests/Core/Routing/ExceptionHandlingTest.php, line 48

Class

ExceptionHandlingTest
Tests the exception handling for various cases.

Namespace

Drupal\KernelTests\Core\Routing

Code

public function testJson403() {
  $request = Request::create('/router_test/test15');
  $request->query
    ->set('_format', 'json');
  $request
    ->setRequestFormat('json');

  /** @var \Symfony\Component\HttpKernel\HttpKernelInterface $kernel */
  $kernel = \Drupal::getContainer()
    ->get('http_kernel');
  $response = $kernel
    ->handle($request);
  $this
    ->assertEquals(Response::HTTP_FORBIDDEN, $response
    ->getStatusCode());
  $this
    ->assertEquals('application/json', $response->headers
    ->get('Content-type'));
  $this
    ->assertEquals('{"message":""}', $response
    ->getContent());
  $this
    ->assertInstanceOf(CacheableJsonResponse::class, $response);
}