Ejemplo n.º 1
0
 public function testGetByStepExecution()
 {
     $fooStepExecution = $this->createStepExecution();
     $fooContext = $this->registry->getByStepExecution($fooStepExecution);
     $this->assertInstanceOf('Oro\\Bundle\\ImportExportBundle\\Context\\StepExecutionProxyContext', $fooContext);
     $this->assertAttributeEquals($fooStepExecution, 'stepExecution', $fooContext);
     $this->assertSame($fooContext, $this->registry->getByStepExecution($fooStepExecution));
     $barStepExecution = $this->createStepExecution('job2');
     $barContext = $this->registry->getByStepExecution($barStepExecution);
     $this->assertNotSame($barContext, $fooContext);
     /** @var \PHPUnit_Framework_MockObject_MockObject|JobInstance $jobInstance */
     $jobInstance = $this->getMock('Akeneo\\Bundle\\BatchBundle\\Entity\\JobInstance');
     $jobInstance->expects($this->any())->method('getAlias')->will($this->returnValue('job2'));
     $this->registry->clear($jobInstance);
     $barContext2 = $this->registry->getByStepExecution($barStepExecution);
     $this->assertNotSame($barContext, $barContext2);
 }
Ejemplo n.º 2
0
 /**
  * Set data to JobResult
  * TODO: Find a way to work with multiple amount of job and step executions
  * TODO https://magecore.atlassian.net/browse/BAP-2600
  *
  * @param JobResult $jobResult
  * @param JobInstance $jobInstance
  */
 protected function setJobResultData(JobResult $jobResult, JobInstance $jobInstance)
 {
     $jobResult->setJobId($jobInstance->getId());
     $jobResult->setJobCode($jobInstance->getCode());
     /** @var JobExecution $jobExecution */
     $jobExecution = $jobInstance->getJobExecutions()->first();
     if ($jobExecution) {
         $stepExecutions = $jobExecution->getStepExecutions();
         /** @var StepExecution $firstStepExecution */
         $firstStepExecution = $stepExecutions->first();
         if ($firstStepExecution) {
             $context = $this->contextRegistry->getByStepExecution($firstStepExecution);
             if ($stepExecutions->count() > 1) {
                 /** @var StepExecution $stepExecution */
                 foreach ($stepExecutions->slice(1) as $stepExecution) {
                     ContextHelper::mergeContextCounters($context, $this->contextRegistry->getByStepExecution($stepExecution));
                 }
             }
             $jobResult->setContext($context);
         }
     }
     $this->contextRegistry->clear($jobInstance);
 }