You are here

class AuthenticationManagerTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/tests/Drupal/Tests/Core/Authentication/AuthenticationManagerTest.php \Drupal\Tests\Core\Authentication\AuthenticationManagerTest

@coversDefaultClass \Drupal\Core\Authentication\AuthenticationManager @group Authentication

Hierarchy

Expanded class hierarchy of AuthenticationManagerTest

File

core/tests/Drupal/Tests/Core/Authentication/AuthenticationManagerTest.php, line 23
Contains \Drupal\Tests\Core\Authentication\AuthenticationManagerTest.

Namespace

Drupal\Tests\Core\Authentication
View source
class AuthenticationManagerTest extends UnitTestCase {

  /**
   * @covers ::defaultFilter
   * @covers ::applyFilter
   *
   * @dataProvider providerTestDefaultFilter
   */
  public function testDefaultFilter($applies, $has_route, $auth_option, $provider_id, $global) {
    $auth_provider = $this
      ->getMock('Drupal\\Core\\Authentication\\AuthenticationProviderInterface');
    $auth_collector = new AuthenticationCollector();
    $auth_collector
      ->addProvider($auth_provider, $provider_id, 0, $global);
    $authentication_manager = new AuthenticationManager($auth_collector);
    $request = new Request();
    if ($has_route) {
      $route = new Route('/example');
      if ($auth_option) {
        $route
          ->setOption('_auth', $auth_option);
      }
      $request->attributes
        ->set(RouteObjectInterface::ROUTE_OBJECT, $route);
    }
    $this
      ->assertSame($applies, $authentication_manager
      ->appliesToRoutedRequest($request, FALSE));
  }

  /**
   * @covers ::applyFilter
   */
  public function testApplyFilterWithFilterprovider() {
    $auth_provider = $this
      ->getMock('Drupal\\Tests\\Core\\Authentication\\TestAuthenticationProviderInterface');
    $auth_provider
      ->expects($this
      ->once())
      ->method('appliesToRoutedRequest')
      ->willReturn(TRUE);
    $authentication_collector = new AuthenticationCollector();
    $authentication_collector
      ->addProvider($auth_provider, 'filtered', 0);
    $authentication_manager = new AuthenticationManager($authentication_collector);
    $request = new Request();
    $this
      ->assertTrue($authentication_manager
      ->appliesToRoutedRequest($request, FALSE));
  }

  /**
   * Provides data to self::testDefaultFilter().
   */
  public function providerTestDefaultFilter() {
    $data = [];

    // No route, cookie is global, should apply.
    $data[] = [
      TRUE,
      FALSE,
      [],
      'cookie',
      TRUE,
    ];

    // No route, cookie is not global, should not apply.
    $data[] = [
      FALSE,
      FALSE,
      [],
      'cookie',
      FALSE,
    ];

    // Route, no _auth, cookie is global, should apply.
    $data[] = [
      TRUE,
      TRUE,
      [],
      'cookie',
      TRUE,
    ];

    // Route, no _auth, cookie is not global, should not apply.
    $data[] = [
      FALSE,
      TRUE,
      [],
      'cookie',
      FALSE,
    ];

    // Route, with _auth and non-matching provider, should not apply.
    $data[] = [
      FALSE,
      TRUE,
      [
        'basic_auth',
      ],
      'cookie',
      TRUE,
    ];

    // Route, with _auth and matching provider should not apply.
    $data[] = [
      TRUE,
      TRUE,
      [
        'basic_auth',
      ],
      'basic_auth',
      TRUE,
    ];
    return $data;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AuthenticationManagerTest::providerTestDefaultFilter public function Provides data to self::testDefaultFilter().
AuthenticationManagerTest::testApplyFilterWithFilterprovider public function @covers ::applyFilter
AuthenticationManagerTest::testDefaultFilter public function @covers ::defaultFilter @covers ::applyFilter
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root.
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName protected function Mocks a block with a block plugin.
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed in 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 259