function BasicAuthTest::testUnauthorizedErrorMessage
Tests if a comprehensive message is displayed when the route is denied.
File
- 
              core/modules/ basic_auth/ tests/ src/ Functional/ BasicAuthTest.php, line 174 
Class
- BasicAuthTest
- Tests for BasicAuth authentication provider.
Namespace
Drupal\Tests\basic_auth\FunctionalCode
public function testUnauthorizedErrorMessage() {
  $account = $this->drupalCreateUser();
  $url = Url::fromRoute('router_test.11');
  // Case when no credentials are passed, a user friendly access
  // unauthorized message is displayed.
  $this->drupalGet($url);
  $this->assertSession()
    ->statusCodeEquals(401);
  $this->assertSession()
    ->pageTextNotContains('Exception');
  $this->assertSession()
    ->pageTextContains('Please log in to access this page.');
  // Case when empty credentials are passed, a user friendly access denied
  // message is displayed.
  $this->basicAuthGet($url, NULL, NULL);
  $this->assertSession()
    ->statusCodeEquals(403);
  $this->assertSession()
    ->pageTextContains('Access denied');
  // Case when wrong credentials are passed, a user friendly access denied
  // message is displayed.
  $this->basicAuthGet($url, $account->getAccountName(), $this->randomMachineName());
  $this->assertSession()
    ->statusCodeEquals(403);
  $this->assertSession()
    ->pageTextContains('Access denied');
  // Case when correct credentials but hasn't access to the route, an user
  // friendly access denied message is displayed.
  $url = Url::fromRoute('router_test.15');
  $this->basicAuthGet($url, $account->getAccountName(), $account->pass_raw);
  $this->assertSession()
    ->statusCodeEquals(403);
  $this->assertSession()
    ->pageTextContains('Access denied');
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
