50 lines
1.3 KiB
PHP
50 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace League\OpenAPIValidation\Tests\FromCommunity;
|
|
|
|
use GuzzleHttp\Psr7\ServerRequest;
|
|
use League\OpenAPIValidation\PSR7\ValidatorBuilder;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* @see https://github.com/lezhnev74/openapi-psr7-validator/issues/4
|
|
*/
|
|
final class Issue4Test extends TestCase
|
|
{
|
|
public function testItResolvesSchemaRefsFromYamlStringGreen() : void
|
|
{
|
|
$yamlFile = __DIR__ . '/../stubs/SchemaWithRefs.yaml';
|
|
$validator = (new ValidatorBuilder())->fromYamlFile($yamlFile)->getServerRequestValidator();
|
|
|
|
$validator->validate($this->makeRequest());
|
|
$this->addToAssertionCount(1);
|
|
}
|
|
|
|
public function testItResolvesSchemaRefsFromYamlFileGreen() : void
|
|
{
|
|
$yamlFile = __DIR__ . '/../stubs/SchemaWithRefs.yaml';
|
|
$validator = (new ValidatorBuilder())->fromYamlFile($yamlFile)->getServerRequestValidator();
|
|
|
|
$validator->validate($this->makeRequest());
|
|
$this->addToAssertionCount(1);
|
|
}
|
|
|
|
protected function makeRequest() : ServerRequest
|
|
{
|
|
return new ServerRequest(
|
|
'POST',
|
|
'http://localhost:8000/products.create',
|
|
['Content-Type' => 'application/json'],
|
|
<<<JSON
|
|
{
|
|
"test": {
|
|
"input": "some data"
|
|
}
|
|
}
|
|
JSON
|
|
);
|
|
}
|
|
}
|