OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
API
/
vendor
/
zircote
/
swagger-php
/
tests
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/07/2024 04:34:03 AM
rwxr-xr-x
📁
Analysers
-
08/07/2024 04:34:31 AM
rwxr-xr-x
📄
AnalysisTest.php
4.09 KB
08/07/2024 04:34:02 AM
rw-r--r--
📁
Annotations
-
08/07/2024 04:34:31 AM
rwxr-xr-x
📄
CommandlineTest.php
2.47 KB
08/07/2024 04:34:02 AM
rw-r--r--
📄
ConstantsTest.php
2.24 KB
08/07/2024 04:34:02 AM
rw-r--r--
📄
ContextTest.php
2.79 KB
08/07/2024 04:34:02 AM
rw-r--r--
📄
ExamplesTest.php
8.22 KB
08/07/2024 04:34:02 AM
rw-r--r--
📁
Fixtures
-
08/07/2024 04:34:54 AM
rwxr-xr-x
📄
GeneratorTest.php
4.71 KB
08/07/2024 04:34:02 AM
rw-r--r--
📄
OpenApiTestCase.php
9.78 KB
08/07/2024 04:34:02 AM
rw-r--r--
📄
PipelineTest.php
2.52 KB
08/07/2024 04:34:03 AM
rw-r--r--
📁
Processors
-
08/07/2024 04:34:33 AM
rwxr-xr-x
📄
RefTest.php
1.08 KB
08/07/2024 04:34:03 AM
rw-r--r--
📁
Samples
-
08/07/2024 04:34:33 AM
rwxr-xr-x
📄
ScratchTest.php
1.94 KB
08/07/2024 04:34:03 AM
rw-r--r--
📄
SerializerTest.php
6.39 KB
08/07/2024 04:34:03 AM
rw-r--r--
📄
UtilTest.php
2.84 KB
08/07/2024 04:34:03 AM
rw-r--r--
📄
cl_bootstrap.php
342 bytes
08/07/2024 04:34:02 AM
rw-r--r--
Editing: GeneratorTest.php
Close
<?php declare(strict_types=1); /** * @license Apache 2.0 */ namespace OpenApi\Tests; use OpenApi\Analysis; use OpenApi\Generator; use OpenApi\Processors\OperationId; use OpenApi\Util; class GeneratorTest extends OpenApiTestCase { public static function sourcesProvider(): iterable { $sourceDir = static::example('swagger-spec/petstore-simple'); yield 'dir-list' => [$sourceDir, [$sourceDir]]; yield 'file-list' => [$sourceDir, ["$sourceDir/SimplePet.php", "$sourceDir/SimplePetsController.php", "$sourceDir/OpenApiSpec.php"]]; yield 'finder' => [$sourceDir, Util::finder($sourceDir)]; yield 'finder-list' => [$sourceDir, [Util::finder($sourceDir)]]; } /** * @dataProvider sourcesProvider */ public function testScan(string $sourceDir, iterable $sources): void { $openapi = (new Generator()) ->setAnalyser($this->getAnalyzer()) ->generate($sources); $this->assertSpecEquals(file_get_contents(sprintf('%s/%s.yaml', $sourceDir, basename($sourceDir))), $openapi); } public function testScanInvalidSource(): void { $this->assertOpenApiLogEntryContains('Skipping invalid source: /tmp/__swagger_php_does_not_exist__'); $this->assertOpenApiLogEntryContains('Required @OA\PathItem() not found'); $this->assertOpenApiLogEntryContains('Required @OA\Info() not found'); (new Generator($this->getTrackingLogger())) ->setAnalyser($this->getAnalyzer()) ->generate(['/tmp/__swagger_php_does_not_exist__']); } public static function processorCases(): iterable { return [ [new OperationId(), true], [new class(false) extends OperationId { }, false], ]; } /** * @dataProvider processorCases */ public function testUpdateProcessor($p, bool $expected): void { $generator = (new Generator()) ->updateProcessor($p); foreach ($generator->getProcessors() as $processor) { if ($processor instanceof OperationId) { $this->assertEquals($expected, $processor->isHash()); } } } public function testAddProcessor(): void { $generator = new Generator(); $processors = $generator->getProcessors(); $generator->addProcessor(function (Analysis $analysis) { }); $this->assertLessThan(count($generator->getProcessors()), count($processors)); } public function testAddAlias(): void { $generator = new Generator(); $generator->addAlias('foo', 'Foo\\Bar'); $this->assertEquals(['oa' => 'OpenApi\\Annotations', 'foo' => 'Foo\\Bar'], $generator->getAliases()); } public function testAddNamespace(): void { $generator = new Generator(); $generator->addNamespace('Foo\\Bar\\'); $this->assertEquals(['OpenApi\\Annotations\\', 'Foo\\Bar\\'], $generator->getNamespaces()); } public function testRemoveProcessor(): void { $generator = new Generator(); $processors = $generator->getProcessors(); $processor = function (Analysis $analysis): void { }; $generator->addProcessor($processor); $generator->removeProcessor($processor); $this->assertEquals($processors, $generator->getProcessors()); } protected function assertOperationIdHash(Generator $generator, bool $expected): void { $generator->getProcessorPipeline()->walk(function ($processor) use ($expected) { if ($processor instanceof OperationId) { $this->assertEquals($expected, $processor->isHash()); } }); } public static function configCases(): iterable { return [ 'default' => [[], true], 'nested' => [['operationId' => ['hash' => false]], false], 'dots-kv' => [['operationId.hash' => false], false], 'dots-string' => [['operationId.hash=false'], false], ]; } /** * @dataProvider configCases */ public function testConfig(array $config, bool $expected): void { $generator = new Generator(); $this->assertOperationIdHash($generator, true); $generator->setConfig($config); $this->assertOperationIdHash($generator, $expected); } public function testCallableProcessor(): void { $generator = new Generator(); // not the default $operationId = new OperationId(false); $generator->addProcessor(function (Analysis $analysis) use ($operationId) { $operationId($analysis); }); $this->assertOperationIdHash($generator, true); $this->assertFalse($operationId->isHash()); } }