/**
  * 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.');
         }
     }
 }