/** * Simple find download test */ public function testFindDownload() { $dataset = 'laposte_hexasmal'; $format = 'json'; $filter = '34000'; $path = uniqid(); $client = $this->getClientMock(); $finder = $this->getFinderMock(); $finder->expects($this->once())->method('findDataset')->with($dataset, $format, $filter)->willReturn($path); $downloader = new Downloader($client, $finder); $result = $downloader->findDownload($dataset, $format, $filter); $this->assertEquals($path, $result); }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $this->downloader = $this->getContainer()->get('data_nova.service.downloader'); $dataset = $input->getArgument('dataset'); $format = strtolower($input->getArgument('format')); $query = $input->getArgument('q'); $download = $this->downloader->download($dataset, $format, $input->getArgument('q'), $input->getOption('force-replace')); $filepath = $this->downloader->findDownload($dataset, $format, $query); if ($download) { $output->writeln(sprintf('Dataset %s downloaded to "%s" : %d bytes', $dataset, $filepath, filesize($filepath))); } else { if (false !== $filepath) { if (false === $input->getOption('force-replace')) { $output->writeln('Existing dataset. To overwrite it, try with --force-replace option'); } else { $output->writeln('Error during update of existing dataset.'); } } else { $output->writeln('Error during dataset download.'); } } }