public execute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output ) | ||
$input | Symfony\Component\Console\Input\InputInterface | |
$output | Symfony\Component\Console\Output\OutputInterface |
/** * @dataProvider resourceProvider */ public function testRessources(SplFileInfo $testDirectory) { // 1. Cleanup generated $filesystem = new Filesystem(); if ($filesystem->exists($testDirectory->getRealPath() . DIRECTORY_SEPARATOR . 'generated')) { $filesystem->remove($testDirectory->getRealPath() . DIRECTORY_SEPARATOR . 'generated'); } $filesystem->mkdir($testDirectory->getRealPath() . DIRECTORY_SEPARATOR . 'generated'); // 2. Generate $command = new GenerateCommand(); $input = new ArrayInput(['--config-file' => $testDirectory->getRealPath() . DIRECTORY_SEPARATOR . '.jane-openapi'], $command->getDefinition()); $command->execute($input, new NullOutput()); // 3. Compare $expectedFinder = new Finder(); $expectedFinder->in($testDirectory->getRealPath() . DIRECTORY_SEPARATOR . 'expected'); $generatedFinder = new Finder(); $generatedFinder->in($testDirectory->getRealPath() . DIRECTORY_SEPARATOR . 'generated'); $generatedData = []; $this->assertEquals(count($expectedFinder), count($generatedFinder)); foreach ($generatedFinder as $generatedFile) { $generatedData[$generatedFile->getRelativePathname()] = $generatedFile->getRealPath(); } foreach ($expectedFinder as $expectedFile) { $this->assertArrayHasKey($expectedFile->getRelativePathname(), $generatedData); if ($expectedFile->isFile()) { $expectedPath = $expectedFile->getRealPath(); $actualPath = $generatedData[$expectedFile->getRelativePathname()]; $this->assertEquals(file_get_contents($expectedPath), file_get_contents($actualPath), "Expected " . $expectedPath . " got " . $actualPath); } } }