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. 10 core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest
  3. 11.x 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 19

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() {
        $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 = [];
        foreach ($providers as $providers_priority) {
            $sorted_providers = array_merge($sorted_providers, $providers_priority);
        }
        $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 Deprecated Modifiers Object type Summary Overrides
AuthenticationCollectorTest::testAuthenticationCollector public function Tests adding, getting, and order of priorities.
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
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::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function 340

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