class KeyEntityTest in Key 8
@coversDefaultClass \Drupal\key\Entity\Key @group key
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\key\Unit\KeyTestBase
- class \Drupal\Tests\key\Unit\Entity\KeyEntityTest
- class \Drupal\Tests\key\Unit\KeyTestBase
Expanded class hierarchy of KeyEntityTest
File
- tests/
src/ Unit/ Entity/ KeyEntityTest.php, line 15
Namespace
Drupal\Tests\key\Unit\EntityView source
class KeyEntityTest extends KeyTestBase {
/**
* Key type manager.
*
* @var \Drupal\key\Plugin\KeyPluginManager
*/
protected $keyTypeManager;
/**
* Key provider manager.
*
* @var \Drupal\key\Plugin\KeyPluginManager
*/
protected $keyProviderManager;
/**
* Key plugin manager.
*
* @var \Drupal\key\Plugin\KeyPluginManager
*/
protected $keyInputManager;
/**
* Key type settings.
*
* @var array
* Key type settings to use for Authentication key type.
*/
protected $key_type_settings;
/**
* Key provider settings.
*
* @var array
* Key provider settings to use for Configuration key provider.
*/
protected $key_provider_settings;
/**
* Key input settings.
*
* @var array
* Key input settings to use for None key input.
*/
protected $key_input_settings;
/**
* Assert that key entity getters work.
*/
public function testGetters() {
// Create a key entity using Configuration key provider.
$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']);
}
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
$definition = [
'id' => 'authentication',
'label' => 'Authentication',
];
$this->key_type_settings = [];
$plugin = new AuthenticationKeyType($this->key_type_settings, 'authentication', $definition);
// Mock the KeyTypeManager service.
$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);
// Mock the KeyProviderManager service.
$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);
// Mock the KeyInputManager service.
$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);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
KeyEntityTest:: |
protected | property | Key plugin manager. | |
KeyEntityTest:: |
protected | property | Key provider manager. | |
KeyEntityTest:: |
protected | property | Key type manager. | |
KeyEntityTest:: |
protected | property | Key input settings. | |
KeyEntityTest:: |
protected | property | Key provider settings. | |
KeyEntityTest:: |
protected | property | Key type settings. | |
KeyEntityTest:: |
protected | function |
Overrides KeyTestBase:: |
|
KeyEntityTest:: |
public | function | Assert that key entity getters work. | |
KeyTestBase:: |
protected | property | Config. | |
KeyTestBase:: |
protected | property | Configuration storage. | |
KeyTestBase:: |
protected | property | Container builder. | |
KeyTestBase:: |
protected | property | Entity type manager instance. | |
KeyTestBase:: |
protected | function | Return a token that could be a key. | |
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. |