/** * {@inheritdoc} */ public function archive(JobExecution $jobExecution) { if (!$this->collector->getInvalidItems()) { return; } $key = strtr($this->getRelativeArchivePath($jobExecution), ['%filename%' => 'invalid_items.csv']); $this->filesystem->put($key, ''); $this->writer->setFilePath($this->filesystem->getAdapter()->getPathPrefix() . $key); $this->writer->initialize(); $this->writer->write($this->collector->getInvalidItems()); $this->writer->flush(); }
function it_archives_unvalid_items(InvalidItemsCollector $collector, CsvWriter $writer, JobExecution $jobExecution, JobInstance $jobInstance, Filesystem $filesystem) { $collector->getInvalidItems()->willReturn(['items']); $jobExecution->getId()->willReturn('id'); $jobExecution->getJobInstance()->willReturn($jobInstance); $jobInstance->getType()->willReturn('type'); $jobInstance->getAlias()->willReturn('alias'); $filesystem->put('type/alias/id/invalid/invalid_items.csv', '')->shouldBeCalled(); $writer->setFilePath('/tmp/archivist/type/alias/id/invalid/invalid_items.csv')->shouldBeCalled(); $writer->initialize()->shouldBeCalled(); $writer->write(['items'])->shouldBeCalled(); $writer->flush()->shouldBeCalled(); $this->archive($jobExecution); }
/** * {@inheritdoc} */ public function setConfiguration(array $config) { parent::setConfiguration($config); if (!isset($config['mainContext'])) { return; } foreach ($config['mainContext'] as $key => $value) { $this->filePathResolverOptions['parameters']['%' . $key . '%'] = $value; } }