/** * Test event listener which is registered with foo_publisher. */ public function testListener() { $event = new SyncTaskCompleteEvent(); $event->setTaskType(SyncTaskCompleteEvent::TASK_TYPE_CONVERT); $event->setInputFile('file.xml'); $event->setProvider('test_provider'); $event->setDataType(SyncTaskCompleteEvent::DATA_TYPE_FULL_DOCUMENTS); $event->setOutputFile('file.xml.converted.json'); $dispatcher = $this->getContainer()->get('event_dispatcher'); $dispatcher->dispatch(SyncTaskCompleteEvent::EVENT_NAME, $event); $redis = new Predis\Client(); $this->verifyMessage($redis->get('test'), ['taskType' => SyncTaskCompleteEvent::TASK_TYPE_PUSH, 'commandName' => 'ongr:sync:execute-file -e test file.xml.converted.json -p test_provider']); }
/** * @return array */ public function getTestHandleEventData() { $out = []; // Case #0 convert. $event = new SyncTaskCompleteEvent(); $event->setTaskType(SyncTaskCompleteEvent::TASK_TYPE_CONVERT); $event->setInputFile('file.xml'); $event->setProvider('testProvider'); $event->setDataType(SyncTaskCompleteEvent::DATA_TYPE_FULL_DOCUMENTS); $event->setOutputFile('file.xml.converted.json'); $expected = new SyncTask(SyncTask::SYNC_TASK_PRESERVEHOST); $expected->setName(SyncTaskCompleteEvent::TASK_TYPE_PUSH); $expected->setArguments(['file.xml.converted.json', '-p', 'testProvider']); $out[] = [$event, $expected]; // Case #1 download. $event = new SyncTaskCompleteEvent(); $event->setTaskType(SyncTaskCompleteEvent::TASK_TYPE_DOWNLOAD); $event->setProvider('testProvider'); $event->setDataType(SyncTaskCompleteEvent::DATA_TYPE_FULL_DOCUMENTS); $event->setOutputFile('file.xml'); $event->setDataDescription('delta'); $expected = new SyncTask(SyncTask::SYNC_TASK_PRESERVEHOST); $expected->setName(SyncTaskCompleteEvent::TASK_TYPE_CONVERT); $expected->setArguments(['testProvider', 'file.xml', '-t', 'delta']); $out[] = [$event, $expected]; // Case #2 push. $event = new SyncTaskCompleteEvent(); $event->setTaskType(SyncTaskCompleteEvent::TASK_TYPE_PUSH); $event->setProvider('testProvider'); $event->setDataType(SyncTaskCompleteEvent::DATA_TYPE_FULL_DOCUMENTS); $out[] = [$event]; // Case #3 convert partial. $event = new SyncTaskCompleteEvent(); $event->setTaskType(SyncTaskCompleteEvent::TASK_TYPE_CONVERT); $event->setInputFile('file.xml'); $event->setProvider('testProvider'); $event->setDataType(SyncTaskCompleteEvent::DATA_TYPE_PARTIAL_DOCUMENTS); $event->setOutputFile('file.xml.converted.json'); $expected = new SyncTask(SyncTask::SYNC_TASK_PRESERVEHOST); $expected->setName(SyncTaskCompleteEvent::TASK_TYPE_PUSH); $expected->setArguments(['file.xml.converted.json', '-p', 'testProvider', '-d']); $out[] = [$event, $expected]; return $out; }