AuthenticationCollector example


class AuthenticationManagerTest extends UnitTestCase {

  /** * @covers ::defaultFilter * @covers ::applyFilter * * @dataProvider providerTestDefaultFilter */
  public function testDefaultFilter($applies$has_route$auth_option$provider_id$global) {
    $auth_provider = $this->createMock('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);
    }

    
/** * 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);

    
Home | Imprint | This part of the site doesn't use cookies.