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);
 | 
						|
    }
 | 
						|
}
 |