function it_normalizes_a_step_execution(StepExecution $stepExecution, BatchStatus $status, \DateTime $startTime, $translator) { $stepExecution->getStepName()->willReturn('export'); $translator->trans('export')->willReturn('Export step'); $stepExecution->getSummary()->willReturn(['read' => 12, 'write' => 50]); $translator->trans('job_execution.summary.read')->willReturn('Read'); $translator->trans('job_execution.summary.write')->willReturn('Write'); $stepExecution->getStatus()->willReturn($status); $status->getValue()->willReturn(9); $translator->trans('pim_import_export.batch_status.9')->willReturn('PENDING'); $stepExecution->getStartTime()->willReturn($startTime); $stepExecution->getEndTime()->willReturn(null); $startTime->getTimestamp()->willReturn(1411400461); $utcStartTime = new \DateTime(); $utcStartTime->setTimestamp(1411400461); $finalDate = $utcStartTime->format('Y-m-d g:i:s A'); $stepExecution->getWarnings()->willReturn(new ArrayCollection([new Warning($stepExecution->getWrappedObject(), 'a_warning', 'warning_reason', ['foo' => 'bar'], ['a' => 'A', 'b' => 'B', 'c' => 'C'])])); $translator->trans('a_warning')->willReturn('Reader'); $translator->trans(12)->willReturn(12); $translator->trans(50)->willReturn(50); $translator->trans('warning_reason', ['foo' => 'bar'])->willReturn('WARNING!'); $stepExecution->getFailureExceptions()->willReturn([['message' => 'a_failure', 'messageParameters' => ['foo' => 'bar']]]); $translator->trans('a_failure', ['foo' => 'bar'])->willReturn('FAIL!'); $this->normalize($stepExecution, 'any')->shouldReturn(['label' => 'Export step', 'status' => 'PENDING', 'summary' => ['Read' => 12, 'Write' => 50], 'startedAt' => $finalDate, 'endedAt' => null, 'warnings' => [['label' => 'Reader', 'reason' => 'WARNING!', 'item' => ['a' => 'A', 'b' => 'B', 'c' => 'C']]], 'failures' => ['FAIL!']]); }
/** * Returns the messages for a step execution * * @param StepExecution $stepExecution * * @return string */ protected function getStepExecutionMessages(StepExecution $stepExecution) { $message = ''; foreach ($stepExecution->getFailureExceptions() as $exception) { $message .= $this->getFailureExceptionMessage(sprintf('STEP %s', $stepExecution->getStepName()), $exception); } foreach ($stepExecution->getWarnings() as $warning) { $message .= $this->getWarningMessage($warning); } return $message; }
function let(NotificationManager $manager, JobExecutionEvent $event, JobExecution $jobExecution, StepExecution $stepExecution, ArrayCollection $warnings, JobInstance $jobInstance, UserInterface $user, BatchStatus $status) { $this->beConstructedWith($manager); $jobExecution->getUser()->willReturn($user); $jobExecution->getStepExecutions()->willReturn([$stepExecution]); $jobExecution->getStatus()->willReturn($status); $jobExecution->getJobInstance()->willReturn($jobInstance); $stepExecution->getWarnings()->willReturn($warnings); $jobExecution->getId()->willReturn(5); $jobInstance->getType()->willReturn('export'); $jobInstance->getLabel()->willReturn('Foo export'); $event->getJobExecution()->willReturn($jobExecution); }
/** * {@inheritDoc} */ public function getWarnings() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWarnings', array()); return parent::getWarnings(); }
public function testAddWarning() { $getWarnings = function ($warnings) { return array_map(function ($warning) { return $warning->toArray(); }, $warnings->toArray()); }; $this->stepExecution->addWarning('foo', '%something% is wrong on line 1', array('%something%' => 'Item1'), array('foo' => 'bar')); $this->stepExecution->addWarning('bar', '%something% is wrong on line 2', array('%something%' => 'Item2'), array('baz' => false)); $item = new \stdClass(); $this->stepExecution->addWarning('baz', '%something% is wrong with object 3', array('%something%' => 'Item3'), $item); $this->assertEquals(array(array('name' => 'my_step_execution.steps.foo.title', 'reason' => '%something% is wrong on line 1', 'reasonParameters' => array('%something%' => 'Item1'), 'item' => array('foo' => 'bar')), array('name' => 'my_step_execution.steps.bar.title', 'reason' => '%something% is wrong on line 2', 'reasonParameters' => array('%something%' => 'Item2'), 'item' => array('baz' => false)), array('name' => 'my_step_execution.steps.baz.title', 'reason' => '%something% is wrong with object 3', 'reasonParameters' => array('%something%' => 'Item3'), 'item' => array('id' => '[unknown]', 'class' => 'stdClass', 'string' => '[unknown]'))), $getWarnings($this->stepExecution->getWarnings())); $stepExecution = new StepExecution('my_step_execution.foobarbaz', $this->jobExecution); $stepExecution->addWarning('foo', '%something% is wrong on line 1', array('%something%' => 'Item1'), array('foo' => 'bar')); $stepExecution->addWarning('bar', '%something% is wrong on line 2', array('%something%' => 'Item2'), array('baz' => false)); $this->assertEquals(array(array('name' => 'my_step_execution.steps.foo.title', 'reason' => '%something% is wrong on line 1', 'reasonParameters' => array('%something%' => 'Item1'), 'item' => array('foo' => 'bar')), array('name' => 'my_step_execution.steps.bar.title', 'reason' => 'something is wrong on line 2', 'reason' => '%something% is wrong on line 2', 'reasonParameters' => array('%something%' => 'Item2'), 'item' => array('baz' => false))), $getWarnings($stepExecution->getWarnings())); }