You are here

public function AccessAwareRouterTest::testCheckAccessResultWithReason in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Routing/AccessAwareRouterTest.php \Drupal\Tests\Core\Routing\AccessAwareRouterTest::testCheckAccessResultWithReason()

Tests the matchRequest() function for access denied with reason message.

File

core/tests/Drupal/Tests/Core/Routing/AccessAwareRouterTest.php, line 106

Class

AccessAwareRouterTest
@coversDefaultClass \Drupal\Core\Routing\AccessAwareRouter @group Routing

Namespace

Drupal\Tests\Core\Routing

Code

public function testCheckAccessResultWithReason() {
  $this
    ->setupRouter();
  $request = new Request();
  $reason = $this
    ->getRandomGenerator()
    ->string();
  $access_result = AccessResult::forbidden($reason);
  $this->accessManager
    ->expects($this
    ->once())
    ->method('checkRequest')
    ->with($request)
    ->willReturn($access_result);
  $this
    ->expectException(AccessDeniedHttpException::class);
  $this
    ->expectExceptionMessage($reason);
  $this->accessAwareRouter
    ->matchRequest($request);
}