function AuthenticationCollectorTest::testAuthenticationCollector
Same name in other branches
- 8.9.x core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest::testAuthenticationCollector()
- 10 core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest::testAuthenticationCollector()
- 11.x core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest::testAuthenticationCollector()
Tests adding, getting, and order of priorities.
@covers ::addProvider @covers ::getSortedProviders @covers ::getProvider @covers ::isGlobal
File
-
core/
tests/ Drupal/ Tests/ Core/ Authentication/ AuthenticationCollectorTest.php, line 29
Class
- AuthenticationCollectorTest
- @coversDefaultClass \Drupal\Core\Authentication\AuthenticationCollector @group Authentication
Namespace
Drupal\Tests\Core\AuthenticationCode
public function testAuthenticationCollector() {
$providers = [];
$global = [];
$authentication_collector = new AuthenticationCollector();
$priorities = [
2,
0,
-8,
10,
1,
3,
-5,
0,
6,
-10,
-4,
];
foreach ($priorities as $priority) {
$provider_id = $this->randomMachineName();
$provider = new TestAuthenticationProvider($provider_id);
$providers[$priority][$provider_id] = $provider;
$global[$provider_id] = rand(0, 1) > 0.5;
$authentication_collector->addProvider($provider, $provider_id, $priority, $global[$provider_id]);
}
// Sort the $providers array by priority (highest number is lowest priority)
// and compare with AuthenticationCollector::getSortedProviders().
krsort($providers);
// Merge nested providers from $providers into $sorted_providers.
$sorted_providers = array_merge([], ...$providers);
$this->assertEquals($sorted_providers, $authentication_collector->getSortedProviders());
// Test AuthenticationCollector::getProvider() and
// AuthenticationCollector::isGlobal().
foreach ($sorted_providers as $provider) {
$this->assertEquals($provider, $authentication_collector->getProvider($provider->providerId));
$this->assertEquals($global[$provider->providerId], $authentication_collector->isGlobal($provider->providerId));
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.