public function PhpStorageFactoryTest::testGetOverride in Drupal 9
Same name and namespace in other branches
- 8 core/modules/system/tests/src/Kernel/PhpStorage/PhpStorageFactoryTest.php \Drupal\Tests\system\Kernel\PhpStorage\PhpStorageFactoryTest::testGetOverride()
Tests the get() method with overridden settings.
File
- core/
modules/ system/ tests/ src/ Kernel/ PhpStorage/ PhpStorageFactoryTest.php, line 53
Class
- PhpStorageFactoryTest
- Tests the PHP storage factory.
Namespace
Drupal\Tests\system\Kernel\PhpStorageCode
public function testGetOverride() {
$this
->setSettings('test');
$php = PhpStorageFactory::get('test');
// The FileReadOnlyStorage should be used from settings.
$this
->assertInstanceOf(MockPhpStorage::class, $php);
// Test that the name is used for the bin when it is NULL.
$this
->setSettings('test', [
'bin' => NULL,
]);
$php = PhpStorageFactory::get('test');
$this
->assertInstanceOf(MockPhpStorage::class, $php);
$this
->assertSame('test', $php
->getConfigurationValue('bin'), 'Name value was used for bin.');
// Test that a default directory is set if it's empty.
$this
->setSettings('test', [
'directory' => NULL,
]);
$php = PhpStorageFactory::get('test');
$this
->assertInstanceOf(MockPhpStorage::class, $php);
$this
->assertSame(PublicStream::basePath() . '/php', $php
->getConfigurationValue('directory'), 'Default file directory was used.');
// Test that a default storage class is set if it's empty.
$this
->setSettings('test', [
'class' => NULL,
]);
$php = PhpStorageFactory::get('test');
$this
->assertInstanceOf(MTimeProtectedFileStorage::class, $php);
// Test that a default secret is not returned if it's set in the override.
$this
->setSettings('test');
$php = PhpStorageFactory::get('test');
$this
->assertNotEquals('mock hash salt', $php
->getConfigurationValue('secret'), 'The default secret is not used if a secret is set in the overridden settings.');
// Test that a default secret is set if it's empty.
$this
->setSettings('test', [
'secret' => NULL,
]);
$php = PhpStorageFactory::get('test');
$this
->assertSame('mock hash salt', $php
->getConfigurationValue('secret'), 'The default secret is used if one is not set in the overridden settings.');
}