public function testPerform() { $progress = $this->getMock('Migration\\App\\Progress', ['getProcessedEntities', 'addProcessedEntity'], [], '', false); $progress->expects($this->once())->method('getProcessedEntities')->will($this->returnValue([])); $progress->expects($this->any())->method('addProcessedEntity'); $helper = \Migration\TestFramework\Helper::getInstance(); $objectManager = $helper->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/' . $helper->getFixturePrefix() . 'config.xml'); $logManager = $objectManager->create('\\Migration\\Logger\\Manager'); $logger = $objectManager->create('\\Migration\\Logger\\Logger'); $logger->pushHandler($objectManager->create('\\Migration\\Logger\\ConsoleHandler')); $config = $objectManager->get('\\Migration\\Config'); $destination = $objectManager->get('\\Migration\\Resource\\Destination'); /** @var \Migration\Logger\Manager $logManager */ $logManager->process(\Migration\Logger\Manager::LOG_LEVEL_ERROR); \Migration\Logger\Logger::clearMessages(); $map = $objectManager->create('\\Migration\\Step\\Map\\Data', ['logger' => $logger, 'config' => $config, 'progress' => $progress]); ob_start(); $map->perform(); ob_end_clean(); $migratedData = $destination->getRecords('table_without_data', 0); $migratedDataExpected = [['key' => 1, 'field1' => 1, 'field2' => 2, 'field3' => 3], ['key' => 2, 'field1' => 2, 'field2' => 3, 'field3' => 4], ['key' => 3, 'field1' => 3, 'field2' => 4, 'field3' => 5], ['key' => 4, 'field1' => 4, 'field2' => 5, 'field3' => 6], ['key' => 5, 'field1' => 5, 'field2' => 5, 'field3' => 5], ['key' => 6, 'field1' => 6, 'field2' => 6, 'field3' => 7], ['key' => 7, 'field1' => 7, 'field2' => 7, 'field3' => 7]]; $migratedDataIgnored = $destination->getRecords('table_ignored', 0); $migratedDataIgnoredExpected = []; $migratedDataPresetValue = $destination->getRecords('common_table', 0); $migratedDataPresetValueExpected = [['key' => 1, 'dest_field_ignored' => 0, 'common_field' => 123], ['key' => 2, 'dest_field_ignored' => 0, 'common_field' => 123], ['key' => 3, 'dest_field_ignored' => 0, 'common_field' => 123], ['key' => 4, 'dest_field_ignored' => 0, 'common_field' => 123], ['key' => 5, 'dest_field_ignored' => 0, 'common_field' => 123], ['key' => 6, 'dest_field_ignored' => 0, 'common_field' => 123], ['key' => 7, 'dest_field_ignored' => 0, 'common_field' => 123]]; $logOutput = \Migration\Logger\Logger::getMessages(); $this->assertFalse(isset($logOutput[\Monolog\Logger::ERROR])); $this->assertEquals($migratedDataExpected, $migratedData); $this->assertEquals($migratedDataIgnoredExpected, $migratedDataIgnored); $this->assertEquals($migratedDataPresetValueExpected, $migratedDataPresetValue); }
public function testIntegrityWithoutMap() { $objectManager = \Migration\TestFramework\Helper::getInstance()->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/config-with-empty-map.xml'); $logManager = $objectManager->create('\\Migration\\Logger\\Manager'); $logger = $objectManager->create('\\Migration\\Logger\\Logger'); $logger->pushHandler($objectManager->create('\\Migration\\Logger\\ConsoleHandler')); $config = $objectManager->get('\\Migration\\Config'); /** @var \Migration\Logger\Manager $logManager */ $logManager->process(\Migration\Logger\Manager::LOG_LEVEL_ERROR); \Migration\Logger\Logger::clearMessages(); /** @var \Migration\Step\Map\Integrity $map */ $map = $objectManager->create('\\Migration\\Step\\Map\\Integrity', ['logger' => $logger, 'config' => $config]); ob_start(); $map->perform(); ob_end_clean(); $messages = []; $messages[] = 'Source documents not mapped: '; $messages[] = 'source_table_1,source_table_2,source_table_ignored,source_table_renamed,table_with_data'; $messages[] = 'Destination documents not mapped: '; $messages[] = 'dest_table_1,dest_table_2,dest_table_ignored,dest_table_renamed,table_without_data'; $messages[] = 'Source fields not mapped. '; $messages[] = 'Document: common_table. Fields: source_field_ignored'; $messages[] = 'Destination fields not mapped. '; $messages[] = 'Document: common_table. Fields: dest_field_ignored'; $logOutput = \Migration\Logger\Logger::getMessages(); $this->assertTrue(isset($logOutput[\Monolog\Logger::ERROR])); $errors = implode("\n", $logOutput[\Monolog\Logger::ERROR]); foreach ($messages as $text) { $this->assertContains($text, $errors); } }
public function setUp() { $objectManager = \Migration\TestFramework\Helper::getInstance()->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/config.xml'); $initialData = $objectManager->get('Migration\\Step\\Eav\\InitialData'); $this->eav = $objectManager->create('Migration\\Step\\Eav\\Integrity', ['initialData' => $initialData]); }
/** * @throws \Migration\Exception * @return void */ public function testPerform() { $helper = \Migration\TestFramework\Helper::getInstance(); $objectManager = $helper->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/' . $helper->getFixturePrefix() . 'config.xml'); $logManager = $objectManager->create('\\Migration\\Logger\\Manager'); $recordFactory = $objectManager->create('\\Migration\\ResourceModel\\RecordFactory'); $progress = $objectManager->create('\\Migration\\App\\ProgressBar\\LogLevelProcessor'); $logger = $objectManager->create('\\Migration\\Logger\\Logger'); $mapReader = $objectManager->create('\\Migration\\Reader\\Settings'); $handlerManagerFactory = $objectManager->get('\\Migration\\Handler\\ManagerFactory'); $destination = $objectManager->get('\\Migration\\ResourceModel\\Destination'); $source = $objectManager->get('\\Migration\\ResourceModel\\Source'); /** @var \Migration\Logger\Manager $logManager */ $logManager->process(\Migration\Logger\Manager::LOG_LEVEL_ERROR); \Migration\Logger\Logger::clearMessages(); $data = $objectManager->create('\\Migration\\Step\\Settings\\Data', ['destination' => $destination, 'source' => $source, 'logger' => $logger, 'progress' => $progress, 'recordFactory' => $recordFactory, 'mapReader' => $mapReader, 'handlerManagerFactory' => $handlerManagerFactory]); ob_start(); $data->perform(); ob_end_clean(); $migratedData = $destination->getRecords('core_config_data', 0); $migratedDataExpected = [['config_id' => 1, 'scope' => 'default', 'scope_id' => 0, 'path' => 'web/seo/use_rewrites', 'value' => 1], ['config_id' => 2, 'scope' => 'default', 'scope_id' => 0, 'path' => 'web/unsecure/base_url', 'value' => 'http://magento2.dev/'], ['config_id' => 3, 'scope' => 'default', 'scope_id' => 0, 'path' => 'admin/security/session_lifetime', 'value' => 90], ['config_id' => 4, 'scope' => 'default', 'scope_id' => 0, 'path' => 'catalog/seo/product_url_suffix', 'value' => '.phtml'], ['config_id' => 5, 'scope' => 'default', 'scope_id' => 0, 'path' => 'my/extension/path', 'value' => 'value1']]; $logOutput = \Migration\Logger\Logger::getMessages(); $this->assertFalse(isset($logOutput[\Monolog\Logger::ERROR])); $this->assertEquals($migratedDataExpected, $migratedData); }
/** * @throws \Migration\Exception * @return void */ public function testPerform() { $salesOrderToMigrate = [['entity_id' => '1', 'store_id' => '1'], ['entity_id' => '2', 'store_id' => '1'], ['entity_id' => '3', 'store_id' => '1']]; $eavAttributesToMigrate = [['value_id' => '1', 'entity_type_id' => '1', 'attribute_id' => '1', 'store_id' => '1', 'entity_id' => '1', 'value' => '1'], ['value_id' => '2', 'entity_type_id' => '1', 'attribute_id' => '2', 'store_id' => '1', 'entity_id' => '1', 'value' => '2'], ['value_id' => '3', 'entity_type_id' => '1', 'attribute_id' => '1', 'store_id' => '1', 'entity_id' => '2', 'value' => '1'], ['value_id' => '4', 'entity_type_id' => '1', 'attribute_id' => '2', 'store_id' => '1', 'entity_id' => '3', 'value' => '2']]; $objectManager = \Migration\TestFramework\Helper::getInstance()->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/config.xml'); $logManager = $objectManager->create('\\Migration\\Logger\\Manager'); $logger = $objectManager->create('\\Migration\\Logger\\Logger'); $config = $objectManager->get('\\Migration\\Config'); $initialData = $objectManager->get('\\Migration\\Step\\SalesOrder\\InitialData'); $destination = $objectManager->get('\\Migration\\ResourceModel\\Destination'); /** @var \Migration\Logger\Manager $logManager */ $logManager->process(\Migration\Logger\Manager::LOG_LEVEL_ERROR); \Migration\Logger\Logger::clearMessages(); $data = $objectManager->create('\\Migration\\Step\\SalesOrder\\Data', ['logger' => $logger, 'config' => $config, 'initialData' => $initialData]); $volume = $objectManager->create('\\Migration\\Step\\SalesOrder\\Volume', ['logger' => $logger, 'config' => $config, 'initialData' => $initialData]); ob_start(); $data->perform(); $this->assertTrue($volume->perform()); ob_end_clean(); $this->assertEquals($eavAttributesToMigrate, $destination->getRecords('eav_entity_int', 0)); $this->assertEquals($salesOrderToMigrate, $destination->getRecords('sales_order', 0)); $logOutput = \Migration\Logger\Logger::getMessages(); $this->assertFalse(isset($logOutput[\Monolog\Logger::ERROR])); }
/** * @return void */ protected function setUp() { $helper = \Migration\TestFramework\Helper::getInstance(); $objectManager = $helper->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/_files/' . $helper->getFixturePrefix() . 'config.xml'); $this->source = $objectManager->get('\\Migration\\ResourceModel\\Source'); $this->destination = $objectManager->get('\\Migration\\ResourceModel\\Destination'); }
/** * @return void */ public function setUp() { $helper = \Migration\TestFramework\Helper::getInstance(); $objectManager = $helper->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/' . $helper->getFixturePrefix() . 'config.xml'); $this->progress = $objectManager->create('Migration\\App\\ProgressBar\\LogLevelProcessor'); $this->source = $objectManager->create('Migration\\ResourceModel\\Source'); $this->destination = $objectManager->create('Migration\\ResourceModel\\Destination'); $this->helper = $objectManager->create('Migration\\Step\\Stores\\Helper'); }
/** * @throws \Migration\Exception * @return void */ protected function setUp() { $helper = \Migration\TestFramework\Helper::getInstance(); $this->objectManager = $helper->getObjectManager(); $this->objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/' . $helper->getFixturePrefix() . 'config.xml'); $this->tableName = 'url_rewrite_m2' . md5('url_rewrite_m2'); $logManager = $this->objectManager->create('\\Migration\\Logger\\Manager'); $this->logger = $this->objectManager->create('\\Migration\\Logger\\Logger'); $this->logger->pushHandler($this->objectManager->create('\\Migration\\Logger\\ConsoleHandler')); $this->config = $this->objectManager->get('\\Migration\\Config'); /** @var \Migration\Logger\Manager $logManager */ $logManager->process(\Migration\Logger\Manager::LOG_LEVEL_ERROR); \Migration\Logger\Logger::clearMessages(); }
/** * @throws \Migration\Exception * @return void */ public function testPerform() { $objectManager = \Migration\TestFramework\Helper::getInstance()->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/config.xml'); $logManager = $objectManager->create('\\Migration\\Logger\\Manager'); $logger = $objectManager->create('\\Migration\\Logger\\Logger'); $config = $objectManager->get('\\Migration\\Config'); $initialData = $objectManager->get('\\Migration\\Step\\SalesOrder\\InitialData'); /** @var \Migration\Logger\Manager $logManager */ $logManager->process(\Migration\Logger\Manager::LOG_LEVEL_ERROR); \Migration\Logger\Logger::clearMessages(); /** @var \Migration\Step\SalesOrder\Integrity $salesOrder */ $salesOrder = $objectManager->create('\\Migration\\Step\\SalesOrder\\Integrity', ['logger' => $logger, 'config' => $config, 'initialData' => $initialData]); ob_start(); $salesOrder->perform(); ob_end_clean(); $logOutput = \Migration\Logger\Logger::getMessages(); $this->assertFalse(isset($logOutput[\Monolog\Logger::ERROR])); }
/** * @throws \Migration\Exception * @return void */ public function testPerform() { $progress = $this->getMock('Migration\\App\\Progress', ['getProcessedEntities', 'addProcessedEntity'], [], '', false); $progress->expects($this->once())->method('getProcessedEntities')->will($this->returnValue([])); $progress->expects($this->any())->method('addProcessedEntity'); $helper = \Migration\TestFramework\Helper::getInstance(); $objectManager = $helper->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/../_files/' . $helper->getFixturePrefix() . 'config.xml'); $logManager = $objectManager->create('\\Migration\\Logger\\Manager'); $logger = $objectManager->create('\\Migration\\Logger\\Logger'); $config = $objectManager->get('\\Migration\\Config'); /** @var \Migration\Logger\Manager $logManager */ $logManager->process(\Migration\Logger\Manager::LOG_LEVEL_ERROR); $data = $objectManager->create('\\Migration\\Step\\Map\\Data', ['logger' => $logger, 'config' => $config, 'progress' => $progress]); $volume = $objectManager->create('\\Migration\\Step\\Map\\Volume', ['logger' => $logger, 'config' => $config]); ob_start(); $data->perform(); $isSuccess = $volume->perform(); ob_end_clean(); $this->assertTrue($isSuccess); }
public function testSetupTriggers() { $helper = \Migration\TestFramework\Helper::getInstance(); $objectManager = $helper->getObjectManager(); $objectManager->get('\\Migration\\Config')->init(dirname(__DIR__) . '/_files/' . $helper->getFixturePrefix() . 'config.xml'); /** @var \Migration\Resource\Source $source */ $source = $objectManager->create('\\Migration\\Resource\\Source'); /** @var \Migration\App\SetupDeltaLog $setupDeltaLog */ $setupDeltaLog = $objectManager->create('\\Migration\\App\\SetupDeltaLog'); ob_start(); $this->assertTrue($setupDeltaLog->perform()); ob_end_clean(); $dataTable = 'table_with_data'; $this->checkDeltaLogTable($dataTable, $source); $this->checkDeltaLogTable('source_table_1', $source); $this->checkDeltaLogTable('source_table_2', $source); $sourceAdapter = $source->getAdapter(); $sourceAdapter->insertRecords($dataTable, ['field1' => 100, 'field2' => 2, 'field3' => 3]); $sourceAdapter->insertRecords($dataTable, ['field1' => 101, 'field2' => 22, 'field3' => 33]); $sourceAdapter->updateDocument($dataTable, ['field2' => 12, 'field3' => 13], 'field1 = 100'); $expectedData = [['key' => '8', 'operation' => 'UPDATE', 'processed' => 0], ['key' => '9', 'operation' => 'INSERT', 'processed' => 0]]; $this->assertEquals($expectedData, $source->getRecords($source->getDeltaLogName($dataTable), 0)); }
public function __construct() { $this->helper = \Migration\TestFramework\Helper::getInstance(); }