default_content-2.0.x-dev/tests/src/Kernel/DefaultContentJsonImportDeprecationTest.php
tests/src/Kernel/DefaultContentJsonImportDeprecationTest.php
<?php namespace Drupal\Tests\default_content\Kernel; use Drupal\KernelTests\KernelTestBase; use Drupal\Tests\node\Traits\ContentTypeCreationTrait; use Drupal\taxonomy\Entity\Vocabulary; use Drupal\Tests\user\Traits\UserCreationTrait; use Symfony\Component\ErrorHandler\BufferingLogger; /** * Tests deprecation of HAL-JSON serialized files import. * * @group default_content * @group legacy */ class DefaultContentJsonImportDeprecationTest extends KernelTestBase { use ContentTypeCreationTrait; use UserCreationTrait; /** * {@inheritdoc} */ protected static $modules = [ 'default_content', 'field', 'node', 'system', 'taxonomy', 'text', 'user', ]; /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); $this->installEntitySchema('user'); $this->installSchema('user', ['users_data']); $this->installConfig(['node']); $this->installEntitySchema('node'); $this->installEntitySchema('taxonomy_term'); $this->createContentType(['type' => 'page']); Vocabulary::create(['vid' => 'tags', 'name' => 'Tags'])->save(); // Create user 1 and 2 with the correct UUID. $this->createUser([], 'user1', FALSE, ['uid' => 1]); $this->createUser([], 'user2', FALSE, [ 'uid' => 2, 'uuid' => 'ab301be5-7017-4ff8-b2d3-09dc0a30bd43', ]); } /** * Tests deprecation of HAL-JSON serialized files import. */ public function testImportWithHalModuleInstalled(): void { \Drupal::service('module_installer')->install(['hal', 'serialization']); $logger = new BufferingLogger(); $this->container->get('logger.factory')->addLogger($logger); $this->container->get('default_content.importer')->importContent('default_content_test'); $logs = $logger->cleanLogs(); $this->assertEquals('Importing entities from files serialized with hal_json is deprecated in default_content:2.0.0-alpha2 and is removed from default_content:3.0.0. The following files were serialized using hal_json serialization: @files. Import all entities and re-export them as YAML files. See https://www.drupal.org/node/3296226', $logs[0][1]); $this->assertStringContainsString('default_content_test/content/node/imported.json', $logs[0][2]['@files']); $this->assertStringContainsString('default_content_test/content/node/user_1.json', $logs[0][2]['@files']); } /** * Tests deprecation of HAL-JSON serialized files import. */ public function testImportWithoutHalModuleInstalled(): void { \Drupal::service('module_installer')->install(['serialization']); $this->expectExceptionMessage('To import hal_json files, the hal module must be enabled. This is deprecated and will be removed in default_content:3.0.0. See https://www.drupal.org/node/3296226'); $this->container->get('default_content.importer')->importContent('default_content_test'); } }