function it_normalizes_job_instance(JobInstance $jobinstance)
 {
     $jobinstance->getCode()->willReturn('product_export');
     $jobinstance->getLabel()->willReturn('Product export');
     $jobinstance->getConnector()->willReturn('myconnector');
     $jobinstance->getType()->willReturn('EXPORT');
     $jobinstance->getRawParameters()->willReturn(['delimiter' => ';']);
     $this->normalize($jobinstance)->shouldReturn(['code' => 'product_export', 'label' => 'Product export', 'connector' => 'myconnector', 'type' => 'EXPORT', 'configuration' => '{"delimiter":";"}']);
 }
 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);
 }
 /**
  * {@inheritdoc}
  */
 protected function normalizeConfiguration(JobInstance $job)
 {
     $configuration = json_encode($job->getRawParameters());
     return $configuration;
 }
 /**
  * Create a jobExecution
  *
  * @param JobInstance   $jobInstance
  * @param UserInterface $user
  *
  * @return JobExecution
  */
 protected function createJobExecution(JobInstance $jobInstance, UserInterface $user)
 {
     $job = $this->jobRegistry->get($jobInstance->getJobName());
     $jobParameters = $this->jobParametersFactory->create($job, $jobInstance->getRawParameters());
     $jobExecution = $this->jobRepository->createJobExecution($jobInstance, $jobParameters);
     $jobExecution->setUser($user->getUsername());
     $this->jobRepository->updateJobExecution($jobExecution);
     return $jobExecution;
 }
 /**
  * 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;
 }
 /**
  * Get normalized configuration
  *
  * @param JobInstance $job
  *
  * @return mixed
  */
 protected function normalizeConfiguration(JobInstance $job)
 {
     return $job->getRawParameters();
 }