annotate modules/contrib/migrate_upgrade/tests/src/Unit/MigrateUpgradeDrushRunnerTest.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
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@4 135 'Derivative Migration Lookup' => [
Chris@4 136 'source_data' => [
Chris@4 137 'id' => 'my_migration',
Chris@4 138 'process' => [
Chris@4 139 'element' => [
Chris@4 140 'plugin' => 'migration_lookup',
Chris@4 141 'migration' => 'derivable_migration',
Chris@4 142 'source' => 'value',
Chris@4 143 ],
Chris@4 144 ],
Chris@4 145 'migration_dependencies' => [
Chris@4 146 'required' => [
Chris@4 147 'derivable_migration',
Chris@4 148 'required_dependency',
Chris@4 149 ],
Chris@4 150 'optional' => ['optional_dependency'],
Chris@4 151 ],
Chris@4 152 ],
Chris@4 153 'expected_result' => [
Chris@4 154 'id' => 'upgrade_my_migration',
Chris@4 155 'process' => [
Chris@4 156 'element' => [
Chris@4 157 'plugin' => 'migration_lookup',
Chris@4 158 'migration' => [
Chris@4 159 'upgrade_derivable_migration_derivitive_1',
Chris@4 160 'upgrade_derivable_migration_derivitive_2',
Chris@4 161
Chris@4 162 ],
Chris@4 163 'source' => 'value',
Chris@4 164 ],
Chris@4 165 ],
Chris@4 166 'migration_dependencies' => [
Chris@4 167 'required' => [
Chris@4 168 'upgrade_derivable_migration_derivitive_1',
Chris@4 169 'upgrade_derivable_migration_derivitive_2',
Chris@4 170 'upgrade_required_dependency',
Chris@4 171 ],
Chris@4 172 'optional' => ['upgrade_optional_dependency'],
Chris@4 173 ],
Chris@4 174 ],
Chris@4 175 ],
Chris@0 176 ];
Chris@0 177 }
Chris@0 178
Chris@0 179 }
Chris@0 180
Chris@0 181 /**
Chris@0 182 * Test class to expose protected methods.
Chris@0 183 */
Chris@0 184 class TestMigrateUpgradeDrushRunner extends MigrateUpgradeDrushRunner {
Chris@0 185
Chris@0 186 /**
Chris@0 187 * {@inheritdoc}
Chris@0 188 */
Chris@4 189 public function __construct(array $options = []) {
Chris@4 190 parent::__construct($options);
Chris@4 191 $this->migrationList = [
Chris@4 192 'my_previous_migration' => [],
Chris@4 193 'my_previous_migration_1' => [],
Chris@4 194 'my_previous_migration_2' => [],
Chris@4 195 'derivable_migration:derivitive_1' => [],
Chris@4 196 'derivable_migration:derivitive_2' => [],
Chris@4 197 'required_dependency' => [],
Chris@4 198 'optional_dependency' => [],
Chris@4 199 ];
Chris@4 200 }
Chris@4 201
Chris@4 202 // @codingStandardsIgnoreStart
Chris@4 203 /**
Chris@4 204 * {@inheritdoc}
Chris@4 205 *
Chris@4 206 */
Chris@4 207 public function substituteIds(array $entity_array) {
Chris@0 208 return parent::substituteIds($entity_array);
Chris@0 209 }
Chris@4 210 // @codingStandardsIgnoreEnd
Chris@0 211
Chris@0 212 }
Chris@0 213
Chris@0 214 namespace Drupal\migrate_upgrade;
Chris@0 215
Chris@0 216 if (!function_exists('drush_get_option')) {
Chris@0 217
Chris@0 218 /**
Chris@0 219 * Override for called function.
Chris@0 220 *
Chris@0 221 * @param mixed $option
Chris@4 222 * The name of the option to get.
Chris@0 223 * @param mixed $default
Chris@4 224 * Optional. The value to return if the option has not been set.
Chris@0 225 * @param mixed $context
Chris@4 226 * Optional. The context to check for the option. If this is set, only this
Chris@4 227 * context will be searched.
Chris@0 228 *
Chris@0 229 * @return mixed
Chris@0 230 * The default, for this override.
Chris@0 231 */
Chris@0 232 function drush_get_option($option, $default = NULL, $context = NULL) {
Chris@0 233 return $default;
Chris@0 234 }
Chris@0 235
Chris@0 236 }