From 756b3e810f8d79e206e24d8724f4d18c06343cc6 Mon Sep 17 00:00:00 2001 From: John Charman Date: Thu, 23 Oct 2025 14:06:50 +0100 Subject: [PATCH] Move AllOf, AnyOf and OneOf --- docs/processors.md | 15 +--- src/OpenAPI/Builder/APIBuilder.php | 6 +- src/OpenAPI/Processor/AllOf.php | 51 +---------- src/OpenAPI/Processor/AnyOf.php | 67 +-------------- src/OpenAPI/Processor/OneOf.php | 78 +---------------- src/Processor/AllOf.php | 57 +++++++++++++ src/Processor/AnyOf.php | 73 ++++++++++++++++ src/Processor/OneOf.php | 84 +++++++++++++++++++ .../Command/CacheOpenAPIProcessorsTest.php | 7 +- .../Service/CacheOpenAPIProcessorsTest.php | 2 +- tests/MembraneTest.php | 6 +- tests/OpenAPI/Builder/ArraysTest.php | 2 +- tests/OpenAPI/Builder/NumericTest.php | 2 +- tests/OpenAPI/Builder/ObjectsTest.php | 4 +- .../Builder/OpenAPIRequestBuilderTest.php | 6 +- .../Builder/OpenAPIResponseBuilderTest.php | 6 +- tests/OpenAPI/Builder/ResponseBuilderTest.php | 6 +- tests/OpenAPI/Builder/StringsTest.php | 2 +- tests/OpenAPI/Builder/TrueFalseTest.php | 2 +- tests/{OpenAPI => }/Processor/AllOfTest.php | 4 +- tests/{OpenAPI => }/Processor/AnyOfTest.php | 4 +- tests/Processor/DefaultProcessorTest.php | 6 +- tests/{OpenAPI => }/Processor/OneOfTest.php | 4 +- 23 files changed, 257 insertions(+), 237 deletions(-) create mode 100644 src/Processor/AllOf.php create mode 100644 src/Processor/AnyOf.php create mode 100644 src/Processor/OneOf.php rename tests/{OpenAPI => }/Processor/AllOfTest.php (99%) rename tests/{OpenAPI => }/Processor/AnyOfTest.php (99%) rename tests/{OpenAPI => }/Processor/OneOfTest.php (99%) diff --git a/docs/processors.md b/docs/processors.md index d46c31a3..15a0f5a0 100644 --- a/docs/processors.md +++ b/docs/processors.md @@ -175,11 +175,6 @@ DefaultProcessor::fromFiltersAndValidators(...$chain) |-----------|---------------------| | ...$chain | Filter or Validator | -## OpenAPI Processors - -The following processors are intended for Open-API specific use cases. -Alternative uses are not recommended. - ### AllOf Designed specifically to deal with the 'allOf' keyword of OpenAPI: @@ -213,14 +208,10 @@ Designed specifically to deal with the 'oneOf' keyword of OpenAPI: The OneOf processor takes a chain of processors (one for each schema within the 'oneOf') and makes sure that one and only one processor returns a valid result. -### Json - -| Parameter | Type | -|-----------|-----------| -| $wrapped | Processor | +## OpenAPI Processors -Designed specifically to wrap a processor that is expecting a json object. The Json processor attempts to decode a -string into a json object before passing it into the wrapped processor. +The following processors are intended for Open-API specific use cases. +Alternative uses are not recommended. ### Request diff --git a/src/OpenAPI/Builder/APIBuilder.php b/src/OpenAPI/Builder/APIBuilder.php index 5752bace..b2cf1e1c 100644 --- a/src/OpenAPI/Builder/APIBuilder.php +++ b/src/OpenAPI/Builder/APIBuilder.php @@ -6,12 +6,12 @@ use Membrane\Builder\Builder; use Membrane\OpenAPI; -use Membrane\OpenAPI\Processor\AllOf; -use Membrane\OpenAPI\Processor\AnyOf; -use Membrane\OpenAPI\Processor\OneOf; use Membrane\OpenAPIReader\ValueObject\Valid\{Enum\Type, V30, V31}; use Membrane\Processor; +use Membrane\Processor\AllOf; +use Membrane\Processor\AnyOf; use Membrane\Processor\Field; +use Membrane\Processor\OneOf; use Membrane\Validator\Type\IsNull; use Membrane\Validator\Utility; diff --git a/src/OpenAPI/Processor/AllOf.php b/src/OpenAPI/Processor/AllOf.php index 4626a545..8fdc126e 100644 --- a/src/OpenAPI/Processor/AllOf.php +++ b/src/OpenAPI/Processor/AllOf.php @@ -4,54 +4,7 @@ namespace Membrane\OpenAPI\Processor; -use Membrane\Exception\InvalidProcessorArguments; -use Membrane\Processor; -use Membrane\Result\FieldName; -use Membrane\Result\Result; - -class AllOf implements Processor +/** @deprecated Use \Membrane\Processor\AllOf instead */ +final class AllOf extends \Membrane\Processor\AllOf { - /** @var Processor[] */ - public array $processors; - - public function __construct(private readonly string $processes, Processor ...$processors) - { - if (count($processors) < 2) { - throw InvalidProcessorArguments::redundantProcessor(AllOf::class); - } - $this->processors = $processors; - } - - public function __toString(): string - { - return "All of the following:\n\t" . - implode(".\n\t", array_map(fn($p) => preg_replace("#\n#m", "\n\t", (string)$p), $this->processors)) . '.'; - } - - public function __toPHP(): string - { - return sprintf( - 'new %s("%s"%s)', - self::class, - $this->processes(), - implode('', array_map(fn($p) => ', ' . $p->__toPHP(), $this->processors)) - ); - } - - public function processes(): string - { - return $this->processes; - } - - public function process(FieldName $parentFieldName, mixed $value): Result - { - $result = Result::noResult($value); - - foreach ($this->processors as $processor) { - $itemResult = $processor->process($parentFieldName, $value); - $result = $result->merge($itemResult); - } - - return $result; - } } diff --git a/src/OpenAPI/Processor/AnyOf.php b/src/OpenAPI/Processor/AnyOf.php index b717db70..d0287649 100644 --- a/src/OpenAPI/Processor/AnyOf.php +++ b/src/OpenAPI/Processor/AnyOf.php @@ -4,70 +4,7 @@ namespace Membrane\OpenAPI\Processor; -use Membrane\Exception\InvalidProcessorArguments; -use Membrane\Processor; -use Membrane\Result\FieldName; -use Membrane\Result\Result; - -class AnyOf implements Processor +/** @deprecated Use \Membrane\Processor\AnyOf instead */ +final class AnyOf extends \Membrane\Processor\AnyOf { - /** @var Processor[] */ - public array $processors; - - public function __construct(private readonly string $processes, Processor ...$processors) - { - if (count($processors) < 2) { - throw InvalidProcessorArguments::redundantProcessor(AnyOf::class); - } - $this->processors = $processors; - } - - public function __toPHP(): string - { - return sprintf( - 'new %s("%s"%s)', - self::class, - $this->processes(), - implode('', array_map(fn($p) => ', ' . $p->__toPHP(), $this->processors)) - ); - } - - public function __toString(): string - { - return "Any of the following:\n\t" . - implode(".\n\t", array_map(fn($p) => preg_replace("#\n#m", "\n\t", (string)$p), $this->processors)) . '.'; - } - - public function processes(): string - { - return $this->processes; - } - - public function process(FieldName $parentFieldName, mixed $value): Result - { - $results = []; - $messageSets = []; - - foreach ($this->processors as $fieldSet) { - $itemResult = $fieldSet->process($parentFieldName, $value); - - if ($itemResult->result === Result::VALID) { - return $itemResult; - } - - if ($itemResult->result === Result::INVALID) { - $messageSets [] = $itemResult->messageSets[0]; - } - - $results [] = $itemResult->result; - } - - $result = in_array(Result::INVALID, $results) ? Result::INVALID : Result::NO_RESULT; - - return new Result( - $value, - $result, - ...($result === Result::INVALID ? $messageSets : []) - ); - } } diff --git a/src/OpenAPI/Processor/OneOf.php b/src/OpenAPI/Processor/OneOf.php index 06802aba..39539048 100644 --- a/src/OpenAPI/Processor/OneOf.php +++ b/src/OpenAPI/Processor/OneOf.php @@ -4,81 +4,7 @@ namespace Membrane\OpenAPI\Processor; -use Membrane\Exception\InvalidProcessorArguments; -use Membrane\Processor; -use Membrane\Result\FieldName; -use Membrane\Result\Message; -use Membrane\Result\MessageSet; -use Membrane\Result\Result; - -class OneOf implements Processor +/** @deprecated Use \Membrane\Processor\OneOf instead */ +final class OneOf extends \Membrane\Processor\OneOf { - /** @var Processor[] */ - public array $processors; - - public function __construct(private readonly string $processes, Processor ...$processors) - { - if (count($processors) < 2) { - throw InvalidProcessorArguments::redundantProcessor(OneOf::class); - } - $this->processors = $processors; - } - - public function __toPHP(): string - { - return sprintf( - 'new %s("%s"%s)', - self::class, - $this->processes(), - implode('', array_map(fn($p) => ', ' . $p->__toPHP(), $this->processors)) - ); - } - - public function __toString(): string - { - return "One of the following:\n\t" . - implode(".\n\t", array_map(fn($p) => preg_replace("#\n#m", "\n\t", (string)$p), $this->processors)) . '.'; - } - - public function processes(): string - { - return $this->processes; - } - - public function process(FieldName $parentFieldName, mixed $value): Result - { - $results = array_map( - fn($p) => $p->process($parentFieldName, $value), - $this->processors - ); - - if ($this->hasExactlyOneValidResult($results)) { - return Result::valid($value); - } - - $messageSets = [ - new MessageSet( - $parentFieldName, - new Message('one and only one schema must pass', []) - ), - ]; - - foreach ($results as $result) { - if (!$result->isValid()) { - foreach ($result->messageSets as $messageSet) { - if (!$messageSet->isEmpty()) { - $messageSets[] = $messageSet; - } - } - } - } - - return Result::invalid($value, ...$messageSets); - } - - /** @param Result[] $results */ - private function hasExactlyOneValidResult(array $results): bool - { - return count(array_filter($results, fn($r) => $r->isValid())) === 1; - } } diff --git a/src/Processor/AllOf.php b/src/Processor/AllOf.php new file mode 100644 index 00000000..5c4675fa --- /dev/null +++ b/src/Processor/AllOf.php @@ -0,0 +1,57 @@ +processors = $processors; + } + + public function __toString(): string + { + return "All of the following:\n\t" . + implode(".\n\t", array_map(fn($p) => preg_replace("#\n#m", "\n\t", (string)$p), $this->processors)) . '.'; + } + + public function __toPHP(): string + { + return sprintf( + 'new %s("%s"%s)', + self::class, + $this->processes(), + implode('', array_map(fn($p) => ', ' . $p->__toPHP(), $this->processors)) + ); + } + + public function processes(): string + { + return $this->processes; + } + + public function process(FieldName $parentFieldName, mixed $value): Result + { + $result = Result::noResult($value); + + foreach ($this->processors as $processor) { + $itemResult = $processor->process($parentFieldName, $value); + $result = $result->merge($itemResult); + } + + return $result; + } +} diff --git a/src/Processor/AnyOf.php b/src/Processor/AnyOf.php new file mode 100644 index 00000000..cae8e5e8 --- /dev/null +++ b/src/Processor/AnyOf.php @@ -0,0 +1,73 @@ +processors = $processors; + } + + public function __toPHP(): string + { + return sprintf( + 'new %s("%s"%s)', + self::class, + $this->processes(), + implode('', array_map(fn($p) => ', ' . $p->__toPHP(), $this->processors)) + ); + } + + public function __toString(): string + { + return "Any of the following:\n\t" . + implode(".\n\t", array_map(fn($p) => preg_replace("#\n#m", "\n\t", (string)$p), $this->processors)) . '.'; + } + + public function processes(): string + { + return $this->processes; + } + + public function process(FieldName $parentFieldName, mixed $value): Result + { + $results = []; + $messageSets = []; + + foreach ($this->processors as $fieldSet) { + $itemResult = $fieldSet->process($parentFieldName, $value); + + if ($itemResult->result === Result::VALID) { + return $itemResult; + } + + if ($itemResult->result === Result::INVALID) { + $messageSets [] = $itemResult->messageSets[0]; + } + + $results [] = $itemResult->result; + } + + $result = in_array(Result::INVALID, $results) ? Result::INVALID : Result::NO_RESULT; + + return new Result( + $value, + $result, + ...($result === Result::INVALID ? $messageSets : []) + ); + } +} diff --git a/src/Processor/OneOf.php b/src/Processor/OneOf.php new file mode 100644 index 00000000..c3b3b45f --- /dev/null +++ b/src/Processor/OneOf.php @@ -0,0 +1,84 @@ +processors = $processors; + } + + public function __toPHP(): string + { + return sprintf( + 'new %s("%s"%s)', + self::class, + $this->processes(), + implode('', array_map(fn($p) => ', ' . $p->__toPHP(), $this->processors)) + ); + } + + public function __toString(): string + { + return "One of the following:\n\t" . + implode(".\n\t", array_map(fn($p) => preg_replace("#\n#m", "\n\t", (string)$p), $this->processors)) . '.'; + } + + public function processes(): string + { + return $this->processes; + } + + public function process(FieldName $parentFieldName, mixed $value): Result + { + $results = array_map( + fn($p) => $p->process($parentFieldName, $value), + $this->processors + ); + + if ($this->hasExactlyOneValidResult($results)) { + return Result::valid($value); + } + + $messageSets = [ + new MessageSet( + $parentFieldName, + new Message('one and only one schema must pass', []) + ), + ]; + + foreach ($results as $result) { + if (!$result->isValid()) { + foreach ($result->messageSets as $messageSet) { + if (!$messageSet->isEmpty()) { + $messageSets[] = $messageSet; + } + } + } + } + + return Result::invalid($value, ...$messageSets); + } + + /** @param Result[] $results */ + private function hasExactlyOneValidResult(array $results): bool + { + return count(array_filter($results, fn($r) => $r->isValid())) === 1; + } +} diff --git a/tests/Console/Command/CacheOpenAPIProcessorsTest.php b/tests/Console/Command/CacheOpenAPIProcessorsTest.php index 97379146..8fc2f368 100644 --- a/tests/Console/Command/CacheOpenAPIProcessorsTest.php +++ b/tests/Console/Command/CacheOpenAPIProcessorsTest.php @@ -11,8 +11,6 @@ use Membrane\Filter\String\Explode; use Membrane\Filter\String\ToPascalCase; use Membrane\Filter\Type as TypeFilter; -use Membrane\OpenAPIReader\MembraneReader; -use Membrane\OpenAPIReader\OpenAPIVersion; use Membrane\OpenAPI\Builder as Builder; use Membrane\OpenAPI\Builder\OpenAPIRequestBuilder; use Membrane\OpenAPI\ContentType; @@ -20,8 +18,9 @@ use Membrane\OpenAPI\Filter\PathMatcher; use Membrane\OpenAPI\Processor\Request; use Membrane\OpenAPI\Specification as Specification; +use Membrane\OpenAPIReader\MembraneReader; +use Membrane\OpenAPIReader\OpenAPIVersion; use Membrane\OpenAPIReader\ValueObject\Valid\Enum\Method; -use Membrane\OpenAPIReader\Reader; use Membrane\Processor; use Membrane\Validator\{FieldSet as FieldSetValidator, String\IntString, @@ -48,7 +47,7 @@ #[UsesClass(Builder\OpenAPIResponseBuilder::class)] #[UsesClass(PathMatcher::class)] #[UsesClass(PathParameterExtractor::class)] -#[UsesClass(Membrane\OpenAPI\Processor\AllOf::class)] +#[UsesClass(Processor\AllOf::class)] #[UsesClass(Membrane\OpenAPI\Filter\QueryStringToArray::class)] #[UsesClass(Membrane\OpenAPI\Filter\FormatStyle\Form::class)] #[UsesClass(Request::class)] diff --git a/tests/Console/Service/CacheOpenAPIProcessorsTest.php b/tests/Console/Service/CacheOpenAPIProcessorsTest.php index da292274..7525f37a 100644 --- a/tests/Console/Service/CacheOpenAPIProcessorsTest.php +++ b/tests/Console/Service/CacheOpenAPIProcessorsTest.php @@ -43,7 +43,7 @@ #[UsesClass(Builder\OpenAPIResponseBuilder::class)] #[UsesClass(PathMatcher::class)] #[UsesClass(PathParameterExtractor::class)] -#[UsesClass(Membrane\OpenAPI\Processor\AllOf::class)] +#[UsesClass(Processor\AllOf::class)] #[UsesClass(Membrane\OpenAPI\Filter\QueryStringToArray::class)] #[UsesClass(Membrane\OpenAPI\Filter\FormatStyle\Form::class)] #[UsesClass(Request::class)] diff --git a/tests/MembraneTest.php b/tests/MembraneTest.php index 41857b80..f878514e 100644 --- a/tests/MembraneTest.php +++ b/tests/MembraneTest.php @@ -10,7 +10,9 @@ use Membrane\Builder\Specification; use Membrane\Filter\String\Explode; use Membrane\Membrane; +use Membrane\OpenAPI\Builder as Builder; use Membrane\OpenAPI\ExtractPathParameters\PathMatcher; +use Membrane\OpenAPI\Specification as OpenAPISpecification; use Membrane\OpenAPI\Specification\Request; use Membrane\OpenAPI\Specification\Response; use Membrane\OpenAPIReader\ValueObject\Valid\Enum\Method; @@ -28,8 +30,6 @@ use PHPUnit\Framework\Attributes\UsesClass; use PHPUnit\Framework\TestCase; use RuntimeException; -use Membrane\OpenAPI\Builder as Builder; -use Membrane\OpenAPI\Specification as OpenAPISpecification; #[CoversClass(Membrane::class)] #[UsesClass(AttributeBuilder::class)] @@ -57,7 +57,7 @@ #[UsesClass(Processor\FieldSet::class)] #[UsesClass(Processor\Field::class)] #[UsesClass(\Membrane\OpenAPI\Processor\Request::class)] -#[UsesClass(\Membrane\OpenAPI\Processor\AllOf::class)] +#[UsesClass(Processor\AllOf::class)] #[UsesClass(Result::class)] #[UsesClass(FieldName::class)] #[UsesClass(Message::class)] diff --git a/tests/OpenAPI/Builder/ArraysTest.php b/tests/OpenAPI/Builder/ArraysTest.php index 268336af..d2bd310d 100644 --- a/tests/OpenAPI/Builder/ArraysTest.php +++ b/tests/OpenAPI/Builder/ArraysTest.php @@ -7,12 +7,12 @@ use Membrane\OpenAPI\Builder\APIBuilder; use Membrane\OpenAPI\Builder\Arrays; use Membrane\OpenAPI\Builder\Numeric; -use Membrane\OpenAPI\Processor\AnyOf; use Membrane\OpenAPI\Specification; use Membrane\OpenAPIReader\ValueObject\Partial; use Membrane\OpenAPIReader\ValueObject\Valid\{Identifier, V30, V31}; use Membrane\OpenAPIReader\ValueObject\Value; use Membrane\Processor; +use Membrane\Processor\AnyOf; use Membrane\Processor\BeforeSet; use Membrane\Processor\Collection; use Membrane\Processor\Field; diff --git a/tests/OpenAPI/Builder/NumericTest.php b/tests/OpenAPI/Builder/NumericTest.php index 92e8a101..89e75913 100644 --- a/tests/OpenAPI/Builder/NumericTest.php +++ b/tests/OpenAPI/Builder/NumericTest.php @@ -9,12 +9,12 @@ use Membrane\Filter\Type\ToNumber; use Membrane\OpenAPI\Builder\APIBuilder; use Membrane\OpenAPI\Builder\Numeric; -use Membrane\OpenAPI\Processor\AnyOf; use Membrane\OpenAPI\Specification; use Membrane\OpenAPIReader\ValueObject\Partial; use Membrane\OpenAPIReader\ValueObject\Valid\{Identifier, V30}; use Membrane\OpenAPIReader\ValueObject\Value; use Membrane\Processor; +use Membrane\Processor\AnyOf; use Membrane\Processor\Field; use Membrane\Validator\Collection\Contained; use Membrane\Validator\Numeric\Maximum; diff --git a/tests/OpenAPI/Builder/ObjectsTest.php b/tests/OpenAPI/Builder/ObjectsTest.php index 87c89b77..a3fe8f7a 100644 --- a/tests/OpenAPI/Builder/ObjectsTest.php +++ b/tests/OpenAPI/Builder/ObjectsTest.php @@ -9,17 +9,17 @@ use Membrane\OpenAPI\Builder\Objects; use Membrane\OpenAPI\Builder\Strings; use Membrane\OpenAPI\Builder\TrueFalse; -use Membrane\OpenAPI\Processor\AnyOf; -use Membrane\OpenAPI\Processor\OneOf; use Membrane\OpenAPI\Specification; use Membrane\OpenAPIReader\ValueObject\Partial; use Membrane\OpenAPIReader\ValueObject\Valid\{Identifier, V30, V31}; use Membrane\OpenAPIReader\ValueObject\Value; use Membrane\Processor; +use Membrane\Processor\AnyOf; use Membrane\Processor\BeforeSet; use Membrane\Processor\DefaultProcessor; use Membrane\Processor\Field; use Membrane\Processor\FieldSet; +use Membrane\Processor\OneOf; use Membrane\Validator\Collection\Contained; use Membrane\Validator\Collection\Count; use Membrane\Validator\FieldSet\FixedFields; diff --git a/tests/OpenAPI/Builder/OpenAPIRequestBuilderTest.php b/tests/OpenAPI/Builder/OpenAPIRequestBuilderTest.php index a1edde26..5f6059c7 100644 --- a/tests/OpenAPI/Builder/OpenAPIRequestBuilderTest.php +++ b/tests/OpenAPI/Builder/OpenAPIRequestBuilderTest.php @@ -35,9 +35,6 @@ use Membrane\OpenAPI\Filter\FormatStyle\SpaceDelimited; use Membrane\OpenAPI\Filter\PathMatcher; use Membrane\OpenAPI\Filter\QueryStringToArray; -use Membrane\OpenAPI\Processor\AllOf; -use Membrane\OpenAPI\Processor\AnyOf; -use Membrane\OpenAPI\Processor\OneOf; use Membrane\OpenAPI\Processor\Request as RequestProcessor; use Membrane\OpenAPI\Specification\APISchema; use Membrane\OpenAPI\Specification\OpenAPIRequest; @@ -52,11 +49,14 @@ use Membrane\OpenAPIReader\ValueObject\Valid\Identifier; use Membrane\OpenAPIReader\ValueObject\Valid\V30; use Membrane\Processor; +use Membrane\Processor\AllOf; +use Membrane\Processor\AnyOf; use Membrane\Processor\BeforeSet; use Membrane\Processor\Collection; use Membrane\Processor\DefaultProcessor; use Membrane\Processor\Field; use Membrane\Processor\FieldSet; +use Membrane\Processor\OneOf; use Membrane\Renderer\HumanReadable; use Membrane\Result\FieldName; use Membrane\Result\Message; diff --git a/tests/OpenAPI/Builder/OpenAPIResponseBuilderTest.php b/tests/OpenAPI/Builder/OpenAPIResponseBuilderTest.php index 3ded3f97..7bbeda30 100644 --- a/tests/OpenAPI/Builder/OpenAPIResponseBuilderTest.php +++ b/tests/OpenAPI/Builder/OpenAPIResponseBuilderTest.php @@ -12,9 +12,6 @@ use Membrane\OpenAPI\Exception\CannotProcessOpenAPI; use Membrane\OpenAPI\Exception\CannotProcessSpecification; use Membrane\OpenAPI\ExtractPathParameters\PathMatcher; -use Membrane\OpenAPI\Processor\AllOf; -use Membrane\OpenAPI\Processor\AnyOf; -use Membrane\OpenAPI\Processor\OneOf; use Membrane\OpenAPI\Specification\APISchema; use Membrane\OpenAPI\Specification\Arrays; use Membrane\OpenAPI\Specification\Numeric; @@ -26,10 +23,13 @@ use Membrane\OpenAPIReader\MembraneReader; use Membrane\OpenAPIReader\OpenAPIVersion; use Membrane\Processor; +use Membrane\Processor\AllOf; +use Membrane\Processor\AnyOf; use Membrane\Processor\BeforeSet; use Membrane\Processor\Collection; use Membrane\Processor\Field; use Membrane\Processor\FieldSet; +use Membrane\Processor\OneOf; use Membrane\Result\FieldName; use Membrane\Result\Message; use Membrane\Result\MessageSet; diff --git a/tests/OpenAPI/Builder/ResponseBuilderTest.php b/tests/OpenAPI/Builder/ResponseBuilderTest.php index 8bb2d20f..dbbafd68 100644 --- a/tests/OpenAPI/Builder/ResponseBuilderTest.php +++ b/tests/OpenAPI/Builder/ResponseBuilderTest.php @@ -13,9 +13,6 @@ use Membrane\OpenAPI\Exception\CannotProcessResponse; use Membrane\OpenAPI\Exception\CannotProcessSpecification; use Membrane\OpenAPI\ExtractPathParameters\PathMatcher; -use Membrane\OpenAPI\Processor\AllOf; -use Membrane\OpenAPI\Processor\AnyOf; -use Membrane\OpenAPI\Processor\OneOf; use Membrane\OpenAPI\Specification\APISchema; use Membrane\OpenAPI\Specification\Arrays; use Membrane\OpenAPI\Specification\Numeric; @@ -26,10 +23,13 @@ use Membrane\OpenAPI\Specification\TrueFalse; use Membrane\OpenAPIReader\ValueObject\Valid\Enum\Method; use Membrane\Processor; +use Membrane\Processor\AllOf; +use Membrane\Processor\AnyOf; use Membrane\Processor\BeforeSet; use Membrane\Processor\Collection; use Membrane\Processor\Field; use Membrane\Processor\FieldSet; +use Membrane\Processor\OneOf; use Membrane\Result\FieldName; use Membrane\Result\Message; use Membrane\Result\MessageSet; diff --git a/tests/OpenAPI/Builder/StringsTest.php b/tests/OpenAPI/Builder/StringsTest.php index 86443a2a..5c9f3f8c 100644 --- a/tests/OpenAPI/Builder/StringsTest.php +++ b/tests/OpenAPI/Builder/StringsTest.php @@ -7,12 +7,12 @@ use Membrane\Filter\String\ToUpperCase; use Membrane\OpenAPI\Builder\APIBuilder; use Membrane\OpenAPI\Builder\Strings; -use Membrane\OpenAPI\Processor\AnyOf; use Membrane\OpenAPI\Specification; use Membrane\OpenAPIReader\ValueObject\Partial; use Membrane\OpenAPIReader\ValueObject\Valid\{Identifier, V30}; use Membrane\OpenAPIReader\ValueObject\Value; use Membrane\Processor; +use Membrane\Processor\AnyOf; use Membrane\Processor\Field; use Membrane\Validator\Collection\Contained; use Membrane\Validator\String\DateString; diff --git a/tests/OpenAPI/Builder/TrueFalseTest.php b/tests/OpenAPI/Builder/TrueFalseTest.php index 869acaf4..b9b3fdf1 100644 --- a/tests/OpenAPI/Builder/TrueFalseTest.php +++ b/tests/OpenAPI/Builder/TrueFalseTest.php @@ -7,12 +7,12 @@ use Membrane\Filter\Type\ToBool; use Membrane\OpenAPI\Builder\APIBuilder; use Membrane\OpenAPI\Builder\TrueFalse; -use Membrane\OpenAPI\Processor\AnyOf; use Membrane\OpenAPI\Specification; use Membrane\OpenAPIReader\ValueObject\Partial; use Membrane\OpenAPIReader\ValueObject\Valid\{Identifier, V30}; use Membrane\OpenAPIReader\ValueObject\Value; use Membrane\Processor; +use Membrane\Processor\AnyOf; use Membrane\Processor\Field; use Membrane\Validator\Collection\Contained; use Membrane\Validator\String\BoolString; diff --git a/tests/OpenAPI/Processor/AllOfTest.php b/tests/Processor/AllOfTest.php similarity index 99% rename from tests/OpenAPI/Processor/AllOfTest.php rename to tests/Processor/AllOfTest.php index 84d036bb..b61e88e5 100644 --- a/tests/OpenAPI/Processor/AllOfTest.php +++ b/tests/Processor/AllOfTest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Membrane\Tests\OpenAPI\Processor; +namespace Membrane\Tests\Processor; use Membrane\Exception\InvalidProcessorArguments; -use Membrane\OpenAPI\Processor\AllOf; use Membrane\Processor; +use Membrane\Processor\AllOf; use Membrane\Processor\BeforeSet; use Membrane\Processor\Field; use Membrane\Processor\FieldSet; diff --git a/tests/OpenAPI/Processor/AnyOfTest.php b/tests/Processor/AnyOfTest.php similarity index 99% rename from tests/OpenAPI/Processor/AnyOfTest.php rename to tests/Processor/AnyOfTest.php index bbeb1053..57f1bda0 100644 --- a/tests/OpenAPI/Processor/AnyOfTest.php +++ b/tests/Processor/AnyOfTest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Membrane\Tests\OpenAPI\Processor; +namespace Membrane\Tests\Processor; use Membrane\Exception\InvalidProcessorArguments; -use Membrane\OpenAPI\Processor\AnyOf; use Membrane\Processor; +use Membrane\Processor\AnyOf; use Membrane\Processor\BeforeSet; use Membrane\Processor\Field; use Membrane\Processor\FieldSet; diff --git a/tests/Processor/DefaultProcessorTest.php b/tests/Processor/DefaultProcessorTest.php index 8a362e7e..fae73adc 100644 --- a/tests/Processor/DefaultProcessorTest.php +++ b/tests/Processor/DefaultProcessorTest.php @@ -7,12 +7,12 @@ use Generator; use Membrane\Filter; use Membrane\Filter\Type\ToFloat; -use Membrane\OpenAPI\Processor\AllOf; -use Membrane\OpenAPI\Processor\AnyOf; -use Membrane\OpenAPI\Processor\OneOf; use Membrane\Processor; +use Membrane\Processor\AllOf; +use Membrane\Processor\AnyOf; use Membrane\Processor\DefaultProcessor; use Membrane\Processor\Field; +use Membrane\Processor\OneOf; use Membrane\Result\FieldName; use Membrane\Result\Message; use Membrane\Result\MessageSet; diff --git a/tests/OpenAPI/Processor/OneOfTest.php b/tests/Processor/OneOfTest.php similarity index 99% rename from tests/OpenAPI/Processor/OneOfTest.php rename to tests/Processor/OneOfTest.php index 5db1bc2b..04e5b310 100644 --- a/tests/OpenAPI/Processor/OneOfTest.php +++ b/tests/Processor/OneOfTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Membrane\Tests\OpenAPI\Processor; +namespace Membrane\Tests\Processor; use Membrane\Exception\InvalidProcessorArguments; -use Membrane\OpenAPI\Processor\OneOf; use Membrane\Processor; use Membrane\Processor\BeforeSet; use Membrane\Processor\Field; use Membrane\Processor\FieldSet; +use Membrane\Processor\OneOf; use Membrane\Result\FieldName; use Membrane\Result\Message; use Membrane\Result\MessageSet;