View source
<?php
namespace Drupal\Tests\media_migration\Functional;
use Drupal\media_migration\MediaMigration;
use Drupal\Tests\media_migration\Traits\MediaMigrationAssertionsForNonMediaSourceTrait;
class DrushWithCoreMigrationsFromFileTest extends DrushTestBase {
use MediaMigrationAssertionsForNonMediaSourceTrait;
protected function getFixtureFilePath() {
return drupal_get_path('module', 'media_migration') . '/tests/fixtures/drupal7_nomedia.php';
}
public function setUp() {
parent::setUp();
$source_dir = DRUPAL_ROOT . DIRECTORY_SEPARATOR . drupal_get_path('module', 'media_migration') . '/tests/fixtures/sites/default/files';
$this->sourceDatabase
->upsert('variable')
->key('name')
->fields([
'name' => 'file_public_path',
'value' => serialize($source_dir),
])
->execute();
}
public function testMigrationWithDrush() {
$this
->drush('migrate:status', [
'--names-only',
], [
'group' => 'default',
'tag' => MediaMigration::MIGRATION_TAG_MAIN,
]);
$this
->assertDrushMigrateStatusOutputHasAllLines([
'Group: Default (default) d7_file_plain:application:public',
'Group: Default (default) d7_file_plain:audio:public',
'Group: Default (default) d7_file_plain:image:public',
'Group: Default (default) d7_file_plain:text:public',
'Group: Default (default) d7_file_plain:video:public',
'Group: Default (default) d7_file_plain_formatter:audio',
'Group: Default (default) d7_file_plain_formatter:document',
'Group: Default (default) d7_file_plain_formatter:image',
'Group: Default (default) d7_file_plain_formatter:video',
'Group: Default (default) d7_file_plain_source_field:audio',
'Group: Default (default) d7_file_plain_source_field:document',
'Group: Default (default) d7_file_plain_source_field:image',
'Group: Default (default) d7_file_plain_source_field:video',
'Group: Default (default) d7_file_plain_source_field_config:audio',
'Group: Default (default) d7_file_plain_source_field_config:document',
'Group: Default (default) d7_file_plain_source_field_config:image',
'Group: Default (default) d7_file_plain_source_field_config:video',
'Group: Default (default) d7_file_plain_type:audio',
'Group: Default (default) d7_file_plain_type:document',
'Group: Default (default) d7_file_plain_type:image',
'Group: Default (default) d7_file_plain_type:video',
'Group: Default (default) d7_file_plain_widget:audio',
'Group: Default (default) d7_file_plain_widget:document',
'Group: Default (default) d7_file_plain_widget:image',
'Group: Default (default) d7_file_plain_widget:video',
]);
$this
->assertArticleBodyFieldMigrationProcesses('d7_node_complete:article', [
[
'plugin' => 'get',
'source' => 'body',
],
[
'plugin' => 'media_wysiwyg_filter',
],
[
'plugin' => 'ckeditor_link_file_to_linkit',
],
]);
$this
->drush('migrate:import', [
'--execute-dependencies',
], [
'group' => 'default',
'tag' => MediaMigration::MIGRATION_TAG_CONFIG,
]);
$this
->drush('migrate:import', [
'--execute-dependencies',
], [
'group' => 'default',
'tag' => MediaMigration::MIGRATION_TAG_CONTENT,
]);
$this
->resetAll();
$this
->assertNonMediaToMedia1FieldValues();
$this
->assertNonMediaToMedia2FieldValues();
$this
->assertNonMediaToMedia3FieldValues();
$this
->assertNonMediaToMedia6FieldValues();
$this
->assertNonMediaToMedia7FieldValues();
$this
->assertNonMediaToMedia8FieldValues();
$this
->assertNonMediaToMedia9FieldValues();
$this
->assertNonMediaToMedia10FieldValues();
$this
->assertNonMediaToMedia11FieldValues();
$this
->assertNonMediaToMedia12FieldValues();
}
public function testAllMigrationWithDrush() {
$this
->drush('migrate:import', [
'd7_file',
]);
$this->sourceDatabase
->delete('variable')
->condition('name', 'file_public_path')
->execute();
$this
->drush('migrate:import', [
'--execute-dependencies',
], [
'tag' => 'Drupal 7',
]);
$this
->resetAll();
$this
->assertNonMediaToMedia1FieldValues();
$this
->assertNonMediaToMedia2FieldValues();
$this
->assertNonMediaToMedia3FieldValues();
$this
->assertNonMediaToMedia6FieldValues();
$this
->assertNonMediaToMedia7FieldValues();
$this
->assertNonMediaToMedia8FieldValues();
$this
->assertNonMediaToMedia9FieldValues();
$this
->assertNonMediaToMedia10FieldValues();
$this
->assertNonMediaToMedia11FieldValues();
$this
->assertNonMediaToMedia12FieldValues();
}
}