37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php declare(strict_types=1);
|
|
|
|
/**
|
|
* @license Apache 2.0
|
|
*/
|
|
|
|
namespace OpenApi\Tests;
|
|
|
|
class CommandlineInterfaceTest extends OpenApiTestCase
|
|
{
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
}
|
|
|
|
public function testStdout()
|
|
{
|
|
$path = __DIR__ . '/../Examples/swagger-spec/petstore-simple';
|
|
exec(__DIR__ . '/../bin/openapi --format yaml ' . escapeshellarg($path) . ' 2> /dev/null', $output, $retval);
|
|
$this->assertSame(0, $retval);
|
|
$yaml = implode("\n", $output);
|
|
$this->assertSpecEquals(file_get_contents($path . '/petstore-simple.yaml'), $yaml);
|
|
}
|
|
|
|
public function testOutputTofile()
|
|
{
|
|
$path = __DIR__ . '/../Examples/swagger-spec/petstore-simple';
|
|
$filename = sys_get_temp_dir() . '/swagger-php-clitest.yaml';
|
|
exec(__DIR__ . '/../bin/openapi --format yaml -o ' . escapeshellarg($filename) . ' ' . escapeshellarg($path) . ' 2> /dev/null', $output, $retval);
|
|
$this->assertSame(0, $retval);
|
|
$this->assertCount(0, $output, 'No output to stdout');
|
|
$yaml = file_get_contents($filename);
|
|
unlink($filename);
|
|
$this->assertSpecEquals(file_get_contents($path . '/petstore-simple.yaml'), $yaml);
|
|
}
|
|
}
|