View source
<?php
namespace Drupal\Tests\key\Unit\Entity;
use Drupal\key\Entity\Key;
use Drupal\key\Plugin\KeyProvider\ConfigKeyProvider;
use Drupal\key\Plugin\KeyType\AuthenticationKeyType;
use Drupal\key\Plugin\KeyInput\NoneKeyInput;
use Drupal\Tests\key\Unit\KeyTestBase;
class KeyEntityTest extends KeyTestBase {
protected $keyTypeManager;
protected $keyProviderManager;
protected $keyInputManager;
protected $key_type_settings;
protected $key_provider_settings;
protected $key_input_settings;
public function testGetters() {
$values = [
'key_id' => $this
->getRandomGenerator()
->word(15),
'key_provider' => 'config',
'key_provider_settings' => $this->key_provider_settings,
];
$key = new Key($values, 'key');
$this
->assertEquals($values['key_provider'], $key
->getKeyProvider()
->getPluginId());
$this
->assertEquals($values['key_provider_settings'], $key
->getKeyProvider()
->getConfiguration());
$this
->assertEquals($values['key_provider_settings']['key_value'], $key
->getKeyProvider()
->getConfiguration()['key_value']);
}
protected function setUp() {
parent::setUp();
$definition = [
'id' => 'authentication',
'label' => 'Authentication',
];
$this->key_type_settings = [];
$plugin = new AuthenticationKeyType($this->key_type_settings, 'authentication', $definition);
$this->keyTypeManager = $this
->getMockBuilder('\\Drupal\\key\\Plugin\\KeyPluginManager')
->disableOriginalConstructor()
->getMock();
$this->keyTypeManager
->expects($this
->any())
->method('getDefinitions')
->willReturn([
[
'id' => 'authentication',
'label' => 'Authentication',
],
]);
$this->keyTypeManager
->expects($this
->any())
->method('createInstance')
->with('authentication', $this->key_type_settings)
->willReturn($plugin);
$this->container
->set('plugin.manager.key.key_type', $this->keyTypeManager);
$definition = [
'id' => 'config',
'label' => 'Configuration',
'storage_method' => 'config',
];
$this->key_provider_settings = [
'key_value' => $this
->createToken(),
'base64_encoded' => FALSE,
];
$plugin = new ConfigKeyProvider($this->key_provider_settings, 'config', $definition);
$this->keyProviderManager = $this
->getMockBuilder('\\Drupal\\key\\Plugin\\KeyPluginManager')
->disableOriginalConstructor()
->getMock();
$this->keyProviderManager
->expects($this
->any())
->method('getDefinitions')
->willReturn([
[
'id' => 'file',
'label' => 'File',
'storage_method' => 'file',
],
[
'id' => 'config',
'label' => 'Configuration',
'storage_method' => 'config',
],
]);
$this->keyProviderManager
->expects($this
->any())
->method('createInstance')
->with('config', $this->key_provider_settings)
->willReturn($plugin);
$this->container
->set('plugin.manager.key.key_provider', $this->keyProviderManager);
$definition = [
'id' => 'none',
'label' => 'None',
];
$this->key_input_settings = [];
$plugin = new NoneKeyInput($this->key_input_settings, 'none', $definition);
$this->keyInputManager = $this
->getMockBuilder('\\Drupal\\key\\Plugin\\KeyPluginManager')
->disableOriginalConstructor()
->getMock();
$this->keyInputManager
->expects($this
->any())
->method('getDefinitions')
->willReturn([
[
'id' => 'none',
'label' => 'None',
],
]);
$this->keyInputManager
->expects($this
->any())
->method('createInstance')
->with('none', $this->key_input_settings)
->willReturn($plugin);
$this->container
->set('plugin.manager.key.key_input', $this->keyInputManager);
\Drupal::setContainer($this->container);
}
}