<?php declare(strict_types=1); namespace League\OpenAPIValidation\Tests\FromCommunity; use GuzzleHttp\Psr7\ServerRequest; use League\OpenAPIValidation\PSR7\ValidatorBuilder; use PHPUnit\Framework\TestCase; use function GuzzleHttp\Psr7\stream_for; final class EmptyObjectValidationTest extends TestCase { /** * @see https://github.com/lezhnev74/openapi-psr7-validator/issues/57 */ public function testIssue57000() : void { $yaml = /** @lang yaml */ <<<YAML openapi: 3.0.0 info: title: Product import API version: '1.0' servers: - url: 'http://localhost:8000/api/v1' paths: /products.create: post: requestBody: required: true content: application/json: schema: type: object YAML; $validator = (new ValidatorBuilder())->fromYaml($yaml)->getServerRequestValidator(); $psrRequest = (new ServerRequest('post', 'http://localhost:8000/api/v1/products.create')) ->withHeader('Content-Type', 'application/json') ->withBody(stream_for('{}')); $validator->validate($psrRequest); $this->addToAssertionCount(1); } }