%PDF- %PDF-
Direktori : /var/www/html/shaban/duassis/api/vendor/zircote/swagger-php/tests/ |
Current File : //var/www/html/shaban/duassis/api/vendor/zircote/swagger-php/tests/CommandlineInterfaceTest.php |
<?php declare(strict_types=1); /** * @license Apache 2.0 */ namespace OpenApiTests; class CommandlineInterfaceTest extends OpenApiTestCase { protected function setUp(): void { parent::setUp(); } public function testStdout() { exec(__DIR__.'/../bin/openapi --format json '.escapeshellarg(__DIR__.'/../Examples/swagger-spec/petstore-simple').' 2> /dev/null', $output, $retval); $this->assertSame(0, $retval); $json = json_decode(implode("\n", $output)); $this->assertSame(JSON_ERROR_NONE, json_last_error()); $this->compareOutput($json); } public function testOutputTofile() { $filename = sys_get_temp_dir().'/swagger-php-clitest.json'; exec(__DIR__.'/../bin/openapi --format json -o '.escapeshellarg($filename).' '.escapeshellarg(__DIR__.'/../Examples/swagger-spec/petstore-simple').' 2> /dev/null', $output, $retval); $this->assertSame(0, $retval); $this->assertCount(0, $output, 'No output to stdout'); $contents = file_get_contents($filename); unlink($filename); $json = json_decode($contents); $this->assertSame(JSON_ERROR_NONE, json_last_error()); $this->compareOutput($json); } private function compareOutput($actual) { $expected = json_decode(file_get_contents(__DIR__.'/ExamplesOutput/petstore-simple.json')); $expectedJson = json_encode($this->sorted($expected, 'petstore-simple.json'), JSON_PRETTY_PRINT); $actualJson = json_encode($this->sorted($actual, 'Swagger CLI'), JSON_PRETTY_PRINT); $this->assertEquals($expectedJson, $actualJson); } }