public function ConfigFilterStorageFactoryTest::testStorageFactory in Config Filter 8
Same name and namespace in other branches
- 8.2 tests/src/Kernel/ConfigFilterStorageFactoryTest.php \Drupal\Tests\config_filter\Kernel\ConfigFilterStorageFactoryTest::testStorageFactory()
Test the storage factory decorating properly.
File
- tests/
src/ Kernel/ ConfigFilterStorageFactoryTest.php, line 59
Class
- ConfigFilterStorageFactoryTest
- Storage factory test.
Namespace
Drupal\Tests\config_filter\KernelCode
public function testStorageFactory() {
/** @var \Drupal\Core\Database\Connection $database */
$database = $this->container
->get('database');
$destination = new DatabaseStorage($database, 'config_filter_source_test');
// The $filtered storage will have the simple split applied to the
// destination storage, but is the unified storage.
$filtered = $this->container
->get('config_filter.storage_factory')
->getFilteredStorage($destination, [
'test_storage',
]);
/** @var \Drupal\Core\Config\StorageInterface $active */
$active = $this->container
->get('config.storage');
// Export the configuration to the filtered storage.
$this
->copyConfig($active, $filtered);
// Get the storage of the test split plugin.
$splitStorage = new DatabaseStorage($database, 'config_filter_split_test');
// Assert that the storage is properly split.
$this
->assertTrue(count($destination
->listAll()) > 0);
$this
->assertTrue(count($splitStorage
->listAll()) > 0);
$this
->assertEquals(count($active
->listAll()), count($destination
->listAll()) + count($splitStorage
->listAll()));
$this
->assertEquals($active
->listAll('core'), $splitStorage
->listAll());
$this
->assertEquals($active
->listAll('system'), $destination
->listAll('system'));
$this
->assertEquals($active
->readMultiple($active
->listAll('core')), $splitStorage
->readMultiple($splitStorage
->listAll()));
$this
->assertEquals($active
->readMultiple($active
->listAll('system')), $destination
->readMultiple($destination
->listAll('system')));
// Reading from the $filtered storage returns the merged config.
$this
->assertEquals($active
->listAll(), $filtered
->listAll());
$this
->assertEquals($active
->readMultiple($active
->listAll()), $filtered
->readMultiple($filtered
->listAll()));
}