function RouteCachingQueryAlteredTest::testRouteCollectionCacheAfterException

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/FunctionalTests/Routing/RouteCachingQueryAlteredTest.php \Drupal\FunctionalTests\Routing\RouteCachingQueryAlteredTest::testRouteCollectionCacheAfterException()

Tests route collection cache after an exception.

File

core/tests/Drupal/FunctionalTests/Routing/RouteCachingQueryAlteredTest.php, line 50

Class

RouteCachingQueryAlteredTest
Tests the route cache when the request's query parameters are altered.

Namespace

Drupal\FunctionalTests\Routing

Code

public function testRouteCollectionCacheAfterException() : void {
  // Force an exception early in the Kernel middleware on a cold cache by
  // simulating bad Bearer authentication.
  $this->drupalGet('/router-test/rejects-query-strings', [], [
    'Authorization' => 'Bearer invalid',
  ]);
  $this->assertSession()
    ->statusCodeEquals(Response::HTTP_UNAUTHORIZED);
  // Check that the route collection cache does not recover any unexpected
  // query strings from the earlier request that involved an exception.
  // The requested controller returns 400 if there are any query parameters
  // present, similar to JSON:API paths that strictly filter requests.
  $this->drupalGet('/router-test/rejects-query-strings', [], [
    'Authorization' => 'Bearer valid',
  ]);
  $this->assertSession()
    ->statusCodeEquals(Response::HTTP_OK);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.