annotate modules/contrib/migrate_upgrade/tests/src/Unit/MigrateUpgradeDrushRunnerTest.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children a9cd425dd02b
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\migrate_upgrade\Unit;
Chris@0 4
Chris@0 5 use Drupal\migrate_upgrade\MigrateUpgradeDrushRunner;
Chris@0 6 use Drupal\Tests\migrate\Unit\MigrateTestCase;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * Tests for the MigrateUpgradeDrushRunner class.
Chris@0 10 *
Chris@0 11 * @group migrate_upgrade
Chris@0 12 * @coversDefaultClass \Drupal\migrate_upgrade\MigrateUpgradeDrushRunner
Chris@0 13 */
Chris@0 14 class MigrateUpgradeDrushRunnerTest extends MigrateTestCase {
Chris@0 15
Chris@0 16 /**
Chris@0 17 * Test the id substitution functions.
Chris@0 18 *
Chris@0 19 * @param array $source
Chris@0 20 * The source data.
Chris@0 21 * @param array $expected
Chris@0 22 * The expected results.
Chris@0 23 *
Chris@0 24 * @covers ::substituteIds
Chris@0 25 * @covers ::substituteMigrationIds
Chris@0 26 *
Chris@0 27 * @dataProvider getData
Chris@0 28 */
Chris@0 29 public function testIdSubstitution(array $source, array $expected) {
Chris@0 30 $runner = new TestMigrateUpgradeDrushRunner();
Chris@0 31 $results = $runner->substituteIds($source);
Chris@0 32 $this->assertArrayEquals($expected, $results);
Chris@0 33 }
Chris@0 34
Chris@0 35 /**
Chris@0 36 * Returns test data for the test.
Chris@0 37 *
Chris@0 38 * @return array
Chris@0 39 * The test data.
Chris@0 40 */
Chris@0 41 public function getData() {
Chris@0 42 return [
Chris@0 43 'Single Migration Lookup' => [
Chris@0 44 'source_data' => [
Chris@0 45 'id' => 'my_migration',
Chris@0 46 'process' => [
Chris@0 47 'element' => [
Chris@0 48 'plugin' => 'migration_lookup',
Chris@0 49 'migration' => 'my_previous_migration',
Chris@0 50 'source' => 'value',
Chris@0 51 ],
Chris@0 52 ],
Chris@0 53 'migration_dependencies' => [
Chris@0 54 'required' => [
Chris@0 55 'my_previous_migration',
Chris@0 56 'required_dependency',
Chris@0 57 ],
Chris@0 58 'optional' => ['optional_dependency'],
Chris@0 59 ],
Chris@0 60 ],
Chris@0 61 'expected_result' => [
Chris@0 62 'id' => 'upgrade_my_migration',
Chris@0 63 'process' => [
Chris@0 64 'element' => [
Chris@0 65 'plugin' => 'migration_lookup',
Chris@0 66 'migration' => 'upgrade_my_previous_migration',
Chris@0 67 'source' => 'value',
Chris@0 68 ],
Chris@0 69 ],
Chris@0 70 'migration_dependencies' => [
Chris@0 71 'required' => [
Chris@0 72 'upgrade_my_previous_migration',
Chris@0 73 'upgrade_required_dependency',
Chris@0 74 ],
Chris@0 75 'optional' => ['upgrade_optional_dependency'],
Chris@0 76 ],
Chris@0 77 ],
Chris@0 78 ],
Chris@0 79 'Dual Migration Lookup' => [
Chris@0 80 'source_data' => [
Chris@0 81 'id' => 'my_migration',
Chris@0 82 'process' => [
Chris@0 83 'element' => [
Chris@0 84 'plugin' => 'migration_lookup',
Chris@0 85 'migration' => [
Chris@0 86 'my_previous_migration_1',
Chris@0 87 'my_previous_migration_2',
Chris@0 88 ],
Chris@0 89 'source_ids' => [
Chris@0 90 'my_previous_migration_1' => ['source_1'],
Chris@0 91 'my_previous_migration_2' => ['source_2'],
Chris@0 92 ],
Chris@0 93 'source' => 'value',
Chris@0 94 ],
Chris@0 95 ],
Chris@0 96 'migration_dependencies' => [
Chris@0 97 'required' => [
Chris@0 98 'my_previous_migration_1',
Chris@0 99 'required_dependency',
Chris@0 100 ],
Chris@0 101 'optional' => [
Chris@0 102 'my_previous_migration_2',
Chris@0 103 'optional_dependency',
Chris@0 104 ],
Chris@0 105 ],
Chris@0 106 ],
Chris@0 107 'expected_result' => [
Chris@0 108 'id' => 'upgrade_my_migration',
Chris@0 109 'process' => [
Chris@0 110 'element' => [
Chris@0 111 'plugin' => 'migration_lookup',
Chris@0 112 'migration' => [
Chris@0 113 'upgrade_my_previous_migration_1',
Chris@0 114 'upgrade_my_previous_migration_2',
Chris@0 115 ],
Chris@0 116 'source_ids' => [
Chris@0 117 'upgrade_my_previous_migration_1' => ['source_1'],
Chris@0 118 'upgrade_my_previous_migration_2' => ['source_2'],
Chris@0 119 ],
Chris@0 120 'source' => 'value',
Chris@0 121 ],
Chris@0 122 ],
Chris@0 123 'migration_dependencies' => [
Chris@0 124 'required' => [
Chris@0 125 'upgrade_my_previous_migration_1',
Chris@0 126 'upgrade_required_dependency',
Chris@0 127 ],
Chris@0 128 'optional' => [
Chris@0 129 'upgrade_my_previous_migration_2',
Chris@0 130 'upgrade_optional_dependency',
Chris@0 131 ],
Chris@0 132 ],
Chris@0 133 ],
Chris@0 134 ],
Chris@0 135 ];
Chris@0 136 }
Chris@0 137
Chris@0 138 }
Chris@0 139
Chris@0 140 /**
Chris@0 141 * Test class to expose protected methods.
Chris@0 142 */
Chris@0 143 class TestMigrateUpgradeDrushRunner extends MigrateUpgradeDrushRunner {
Chris@0 144
Chris@0 145 /**
Chris@0 146 * {@inheritdoc}
Chris@0 147 */
Chris@0 148 public function substituteIds($entity_array) {
Chris@0 149 return parent::substituteIds($entity_array);
Chris@0 150 }
Chris@0 151
Chris@0 152 }
Chris@0 153
Chris@0 154 namespace Drupal\migrate_upgrade;
Chris@0 155
Chris@0 156 if (!function_exists('drush_get_option')) {
Chris@0 157
Chris@0 158 /**
Chris@0 159 * Override for called function.
Chris@0 160 *
Chris@0 161 * @param mixed $option
Chris@0 162 * The name of the option to get
Chris@0 163 * @param mixed $default
Chris@0 164 * Optional. The value to return if the option has not been set
Chris@0 165 * @param mixed $context
Chris@0 166 * Optional. The context to check for the option. If this is set, only this context will be searched.
Chris@0 167 *
Chris@0 168 * @return mixed
Chris@0 169 * The default, for this override.
Chris@0 170 */
Chris@0 171 function drush_get_option($option, $default = NULL, $context = NULL) {
Chris@0 172 return $default;
Chris@0 173 }
Chris@0 174
Chris@0 175 }