/** * @param JobInstance $jobInstance * @param string $field * @param mixed $data */ protected function setData(JobInstance $jobInstance, $field, $data) { switch ($field) { case 'connector': $jobInstance->setConnector($data); break; case 'alias': $jobInstance->setJobName($data); break; case 'label': $jobInstance->setLabel($data); break; case 'type': $jobInstance->setType($data); break; case 'configuration': $job = $this->jobRegistry->get($jobInstance->getJobName()); /** @var JobParameters $jobParameters */ $jobParameters = $this->jobParametersFactory->create($job, $data); $jobInstance->setRawParameters($jobParameters->all()); break; case 'code': $jobInstance->setCode($data); break; } }
function it_configures_job_instances_with_several_replacement_paths(JobInstance $instance) { $myFilePath = __FILE__; $myInstallerPath = dirname($myFilePath); $myFileName = str_replace($myInstallerPath, '', $myFilePath); $myReplacementFileCommunity = $myFilePath; $myReplacementFileEnterprise = $myFilePath; $replacementPaths = [$myFileName => [$myReplacementFileCommunity, $myReplacementFileEnterprise]]; $instance->getCode()->willReturn('my_original_code'); $instance->getRawParameters()->willReturn(['filePath' => $myFileName]); $instance->setRawParameters(['filePath' => $myReplacementFileCommunity])->shouldBeCalled(); $instance->setCode('my_original_code0')->shouldBeCalled(); $instance->getRawParameters()->willReturn(['filePath' => $myFileName]); $instance->setRawParameters(['filePath' => $myReplacementFileEnterprise])->shouldBeCalled(); $instance->setCode('my_original_code1')->shouldBeCalled(); $configuredInstances = $this->configureJobInstancesWithReplacementPaths([$instance], $replacementPaths); $configuredInstances->shouldHaveCount(2); }
function it_updates_an_job_instance($jobParametersFactory, $jobRegistry, JobInstance $jobInstance, JobInterface $job, JobParameters $jobParameters) { $jobInstance->getJobName()->willReturn('fixtures_currency_csv'); $jobRegistry->get('fixtures_currency_csv')->willReturn($job); $jobParametersFactory->create($job, ['filePath' => 'currencies.csv'])->willReturn($jobParameters); $jobParameters->all()->willReturn(['filePath' => 'currencies.csv']); $jobInstance->setJobName('fixtures_currency_csv')->shouldBeCalled(); $jobInstance->setCode('fixtures_currency_csv')->shouldBeCalled(); $jobInstance->setConnector('Data fixtures')->shouldBeCalled(); $jobInstance->setLabel('Currencies data fixtures')->shouldBeCalled(); $jobInstance->setRawParameters(['filePath' => 'currencies.csv'])->shouldBeCalled(); $jobInstance->setType('type')->shouldBeCalled(); $this->update($jobInstance, ['connector' => 'Data fixtures', 'alias' => 'fixtures_currency_csv', 'label' => 'Currencies data fixtures', 'type' => 'type', 'configuration' => ['filePath' => 'currencies.csv'], 'code' => 'fixtures_currency_csv']); }
/** * Configure job instance with uploaded file, returns true if well configured * * @param JobInstance $jobInstance * * @return boolean */ protected function configureWithUploadFile(JobInstance $jobInstance) { $fileInfo = $this->getFileInfo(); if (null === $fileInfo) { return false; } $uploadedFile = $fileInfo->getUploadedFile(); $file = $uploadedFile->move(sys_get_temp_dir(), $uploadedFile->getClientOriginalName()); $rawParameters = $jobInstance->getRawParameters(); $rawParameters['filePath'] = $file->getRealPath(); $jobInstance->setRawParameters($rawParameters); return true; }