public function BasicAuthTest::testUnauthorizedErrorMessage in Drupal 9
Same name and namespace in other branches
- 8 core/modules/basic_auth/tests/src/Functional/BasicAuthTest.php \Drupal\Tests\basic_auth\Functional\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');
}