You are here

protected function EntityShareClientFunctionalTestBase::createAuthenticationPlugin in Entity Share 8.3

Helper function to create the authentication plugin.

Parameters

\Drupal\user\UserInterface $user: The user whose credentials will be used for the plugin.

\Drupal\entity_share_client\Entity\RemoteInterface $remote: The "Remote" entity.

Return value

\Drupal\entity_share_client\ClientAuthorization\ClientAuthorizationInterface The Entity share Authorization plugin.

3 calls to EntityShareClientFunctionalTestBase::createAuthenticationPlugin()
AuthenticationBasicAuthTest::setUp in modules/entity_share_client/tests/src/Functional/AuthenticationBasicAuthTest.php
AuthenticationBasicAuthTest::testImport in modules/entity_share_client/tests/src/Functional/AuthenticationBasicAuthTest.php
Test that correct entities are created with different authentications.
EntityShareClientFunctionalTestBase::createRemote in modules/entity_share_client/tests/src/Functional/EntityShareClientFunctionalTestBase.php
Helper function to create the remote that point to the site itself.
2 methods override EntityShareClientFunctionalTestBase::createAuthenticationPlugin()
AuthenticationAnonymousTest::createAuthenticationPlugin in modules/entity_share_client/tests/src/Functional/AuthenticationAnonymousTest.php
Helper function to create the authentication plugin.
AuthenticationOAuthTest::createAuthenticationPlugin in modules/entity_share_client/tests/src/Functional/AuthenticationOAuthTest.php
Helper function to create the authentication plugin.

File

modules/entity_share_client/tests/src/Functional/EntityShareClientFunctionalTestBase.php, line 334

Class

EntityShareClientFunctionalTestBase
Base class for Entity Share Client functional tests.

Namespace

Drupal\Tests\entity_share_client\Functional

Code

protected function createAuthenticationPlugin(UserInterface $user, RemoteInterface $remote) {

  // By default, create "Basic Auth" plugin for authorization.
  $plugin = $this->authPluginManager
    ->createInstance('basic_auth');
  $configuration = $plugin
    ->getConfiguration();
  $credentials = [
    'username' => $user
      ->getAccountName(),
    'password' => $user->passRaw,
  ];

  // We are using key value store for local credentials storage.
  $storage_key = $configuration['uuid'];
  $this->keyValueStore
    ->set($storage_key, $credentials);
  $configuration['data'] = [
    'credential_provider' => 'entity_share',
    'storage_key' => $storage_key,
  ];
  $plugin
    ->setConfiguration($configuration);
  return $plugin;
}