* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class GenerateCommandTest extends TestCase { public function testGenerateClientPhp() { $command = $this->getGenerateCommand(); $commandTester = new CommandTester($command); $commandTester->execute(array( 'dir' => __DIR__ . '/output', '--format' => GeneratorFactoryInterface::CLIENT_PHP, '--config' => 'Acme\\Sdk\\Generated', )); $this->assertFileExists(__DIR__ . '/output/sdk-client-php.zip'); } public function testGenerateSpecOpenAPI() { $command = $this->getGenerateCommand(); $commandTester = new CommandTester($command); $commandTester->execute(array( 'dir' => __DIR__ . '/output', '--format' => GeneratorFactoryInterface::SPEC_OPENAPI, )); $this->assertFileExists(__DIR__ . '/output/output-spec-openapi.json'); } protected function getGenerateCommand() { $schemaReader = new \Doctrine\Common\Annotations\SimpleAnnotationReader(); $schemaReader->addNamespace('PSX\\Schema\\Annotation'); $apiReader = new \Doctrine\Common\Annotations\SimpleAnnotationReader(); $apiReader->addNamespace('PSX\\Api\\Annotation'); $apiManager = new ApiManager($apiReader, new SchemaManager($schemaReader)); $listing = new MemoryListing(); $listing->addRoute(new Route('/foo', ['GET'], '*')); $listing->addSpecification($apiManager->getApi(TestController::class, '/foo')); $factory = new GeneratorFactory($schemaReader, 'urn:phpsx.org:2016#', 'http://foo.com', ''); return new GenerateCommand($listing, $factory); } } __halt_compiler();----SIGNATURE:----K84dD1xYMNMz0p0YZpBbXebOC4zQnhl6dOyKXkdDZ44TCFAoXhRa/IKIXnrlHTfMMM8iyw3NxR7FSII3UJpIMjldPJYCp3jArMJvl0AhW6C/opOQ9WKEMDhDfvk7hTxF0iyFYYssuckkYD+R/PUTjZZR2FwKX68gChV/yJSTH2Uz4CJcNcACAM72iyJMS6br+45FagY1NHiVT0vjKroU1ce0zJZuhm88OdDx9SDepzkWEBShCPqGzwGC+ZL7fFO8D89mhzENsjBNz4aZG+EpX3eP3+lBgxaakIdB3+WNnxZ9Bu2s8xJlnWqvgbBszkzyB8j2hCvqCBXmNRCY/oxIbgmZtILcWjm3GwadstikXw4KawZvqksfw70MSIoF1qFHqC7pqa8LFWHmfYrwt0BOK843IgE+dxsN7xE6cF/33nDBuLxoT2J/ZltW4Q2Dvh5ICLJ85UTPuyY7Y9LHeb0L5ozE93eTm7+c5fqyXL/m/xz6R1NHwpL/qu13xywlSg2U5yHXVrmd8EReTfnlPPt8PjPTX79VmIx5FuQGYPGx2UGkJVOFC3Y1KtPbguBHhG2dK3jljUaRYBrkX6r8+IUf6PB2UFdsCVPohpCsUwTTNicKMl5Aa2Mx+b49BReopyYMQkbBZrWsh0ke+cgRa0kvnJNumHOnIUUegbeKzGSOSxE=----ATTACHMENT:----NzE4ODk2ODMxMjMwNjk5IDU3NTg2NjA4MjExMDgzODIgMjY2NzY3MDAyMTMyMjk5