class AuthenticationCollectorTest

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest
  2. 8.9.x core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest
  3. 10 core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest

@coversDefaultClass \Drupal\Core\Authentication\AuthenticationCollector @group Authentication

Hierarchy

Expanded class hierarchy of AuthenticationCollectorTest

File

core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php, line 16

Namespace

Drupal\Tests\Core\Authentication
View source
class AuthenticationCollectorTest extends UnitTestCase {
    
    /**
     * Tests adding, getting, and order of priorities.
     *
     * @covers ::addProvider
     * @covers ::getSortedProviders
     * @covers ::getProvider
     * @covers ::isGlobal
     */
    public function testAuthenticationCollector() : void {
        $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));
        }
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
AuthenticationCollectorTest::testAuthenticationCollector public function Tests adding, getting, and order of priorities.
ExpectDeprecationTrait::expectDeprecation public function Adds an expected deprecation.
ExpectDeprecationTrait::getCallableName private static function Returns a callable as a string suitable for inclusion in a message.
ExpectDeprecationTrait::setUpErrorHandler public function Sets up the test error handler.
ExpectDeprecationTrait::tearDownErrorHandler public function Tears down the test error handler.
RandomGeneratorTrait::getRandomGenerator protected function Gets the random generator for the utility methods.
RandomGeneratorTrait::randomMachineName protected function Generates a unique random string containing letters and numbers.
RandomGeneratorTrait::randomObject public function Generates a random PHP object.
RandomGeneratorTrait::randomString public function Generates a pseudo-random string of ASCII characters of codes 32 to 126.
UnitTestCase::$root protected property The app root.
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::setUp protected function 354
UnitTestCase::setUpBeforeClass public static function

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