* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class OpenAPITest extends GeneratorTestCase { public function testGenerate() { $reader = new SimpleAnnotationReader(); $reader->addNamespace('PSX\\Schema\\Annotation'); $generator = new OpenAPI($reader, 1, 'http://api.phpsx.org', 'http://foo.phpsx.org'); $actual = $generator->generate($this->getSpecification()); $expect = file_get_contents(__DIR__ . '/resource/openapi.json'); $this->assertJsonStringEqualsJsonString($expect, $actual, $actual); } public function testGenerateAll() { $reader = new SimpleAnnotationReader(); $reader->addNamespace('PSX\\Schema\\Annotation'); $generator = new OpenAPI($reader, 1, 'http://api.phpsx.org', 'http://foo.phpsx.org'); $actual = $generator->generate($this->getSpecificationCollection()); $expect = file_get_contents(__DIR__ . '/resource/openapi_collection.json'); $this->assertJsonStringEqualsJsonString($expect, $actual, $actual); } public function testGenerateComplex() { $reader = new SimpleAnnotationReader(); $reader->addNamespace('PSX\\Schema\\Annotation'); $generator = new OpenAPI($reader, 1, 'http://api.phpsx.org', 'http://foo.phpsx.org'); $generator->setTitle('Sample Pet Store App'); $generator->setDescription('This is a sample server for a pet store.'); $generator->setTermsOfService('http://example.com/terms/'); $generator->setContactName('API Support'); $generator->setContactUrl('http://www.example.com/support'); $generator->setContactEmail('support@example.com'); $generator->setLicenseName('Apache 2.0'); $generator->setLicenseUrl('https://www.apache.org/licenses/LICENSE-2.0.html'); $generator->setAuthorizationFlow('OAuth2', OpenAPI::FLOW_AUTHORIZATION_CODE, 'http://api.phpsx.org/authorization', 'http://api.phpsx.org/token', null, ['foo' => 'Foo sope', 'bar' => 'Bar scope']); $generator->addTag('foo', 'Foo tag'); $generator->addTag('bar', 'Boo tag'); $actual = $generator->generate($this->getSpecificationComplex()); $expect = file_get_contents(__DIR__ . '/resource/openapi_complex.json'); $this->assertJsonStringEqualsJsonString($expect, $actual, $actual); } } __halt_compiler();----SIGNATURE:----miXs03vBNzoWJFCvMTUsG0tpegsEWNS91yeCEnkToePlu+4kx4wDx3i4AK1ZD31nRu0joDrMEZ3vj5G5QCIbvsDkgHlPF6MekCOHC1o3/Z7PLpMJ5VDPJdVwod15it28oESBH0ND+v2YCurz1PughsSsY8iR3Mz546Pi0a36uGSuN9zEok1nSmPu6HhtcDKkpolriYSJtL052ZNW7KIhdo4HtDVl1eCuyynE7kI/BL/oHQReEnVc2qZCjh6cwdQdZXyGlf1fr8ELk2rsrJuTtYvVLRjlWrf+kXVJdvmklGTCBIjs4yxDMh4bF0gPejNI4rUrciTbVkT22FzRBZ10pNucgUGZZODgPLOrCYimChsJ1Jvdt7oam0ympn1jXEge8ZW5PMr1ZuDOMWhh9ensb/mxidTvjWb8p1ajr64WcIiGD6Q1qqaNXy/6LT3vP4E/3SiBSMZzzyPYeArDxVHbHgBkvs4UTaFp2MKSQ0+RxVvDUpAuQ+iRdaiMj8QFC5JBOVCMHbXXNtBRPKxihC5JyD/haKkxS48YSc3mNeVKlZrkr9xitKmHNj4fm6aAvBLTT+Scg97/njRNtyZ4Rbx7DvdirdRfn8XwmV+Bw2K5LGZiFUokjr780Y3/6ldlAmoPeOyVy96h/PhOyl4SJ4n3qY3HqMKC0pQwnOZ9IyoRWr8=----ATTACHMENT:----NTkzNTcyMjM4NTEwMjEwMyA3ODc0Njg0NTg5MDA2Mzc2IDU0NDE2MDkwNTI2NzQ2OTE=