public function ConfigEntityStorageTest::testUUIDConflict in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/KernelTests/Core/Config/ConfigEntityStorageTest.php \Drupal\KernelTests\Core\Config\ConfigEntityStorageTest::testUUIDConflict()
- 10 core/tests/Drupal/KernelTests/Core/Config/ConfigEntityStorageTest.php \Drupal\KernelTests\Core\Config\ConfigEntityStorageTest::testUUIDConflict()
Tests creating configuration entities with changed UUIDs.
File
- core/
tests/ Drupal/ KernelTests/ Core/ Config/ ConfigEntityStorageTest.php, line 26
Class
- ConfigEntityStorageTest
- Tests sync and importing config entities with IDs and UUIDs that match existing config.
Namespace
Drupal\KernelTests\Core\ConfigCode
public function testUUIDConflict() {
$entity_type = 'config_test';
$id = 'test_1';
// Load the original configuration entity.
$storage = $this->container
->get('entity_type.manager')
->getStorage($entity_type);
$storage
->create([
'id' => $id,
])
->save();
$entity = $storage
->load($id);
$original_properties = $entity
->toArray();
// Override with a new UUID and try to save.
$new_uuid = $this->container
->get('uuid')
->generate();
$entity
->set('uuid', $new_uuid);
try {
$entity
->save();
$this
->fail('Exception thrown when attempting to save a configuration entity with a UUID that does not match the existing UUID.');
} catch (ConfigDuplicateUUIDException $e) {
// Expected exception; just continue testing.
}
// Ensure that the config entity was not corrupted.
$entity = $storage
->loadUnchanged($entity
->id());
$this
->assertSame($original_properties, $entity
->toArray());
}