Skip to content

Commit

Permalink
Merge 0fa56fe into 29cd84b
Browse files Browse the repository at this point in the history
  • Loading branch information
Tayfun74 committed Dec 10, 2020
2 parents 29cd84b + 0fa56fe commit 8cc2d60
Show file tree
Hide file tree
Showing 17 changed files with 23 additions and 58 deletions.
Expand Up @@ -31,8 +31,8 @@
*/
final class OrderExtension implements AggregationCollectionExtensionInterface
{
use PropertyHelperTrait;
use MongoDbOdmPropertyHelperTrait;
use PropertyHelperTrait;

private $order;
private $resourceMetadataFactory;
Expand Down
2 changes: 1 addition & 1 deletion src/Bridge/Doctrine/MongoDbOdm/Filter/AbstractFilter.php
Expand Up @@ -32,8 +32,8 @@
*/
abstract class AbstractFilter implements FilterInterface
{
use PropertyHelperTrait;
use MongoDbOdmPropertyHelperTrait;
use PropertyHelperTrait;

protected $managerRegistry;
protected $logger;
Expand Down
2 changes: 1 addition & 1 deletion src/Bridge/Doctrine/Orm/Filter/AbstractFilter.php
Expand Up @@ -35,8 +35,8 @@
*/
abstract class AbstractFilter implements FilterInterface
{
use PropertyHelperTrait;
use OrmPropertyHelperTrait;
use PropertyHelperTrait;

protected $managerRegistry;
protected $requestStack;
Expand Down
2 changes: 1 addition & 1 deletion src/Bridge/Symfony/Bundle/Test/Response.php
Expand Up @@ -145,7 +145,7 @@ public function toArray(bool $throw = true): array
}

try {
$content = json_decode($content, true, 512, JSON_BIGINT_AS_STRING | (\PHP_VERSION_ID >= 70300 ? \JSON_THROW_ON_ERROR : 0));
$content = json_decode($content, true, 512, JSON_BIGINT_AS_STRING | (\PHP_VERSION_ID >= 70300 ? JSON_THROW_ON_ERROR : 0));
} catch (\JsonException $e) {
throw new JsonException($e->getMessage(), $e->getCode());
}
Expand Down
2 changes: 1 addition & 1 deletion src/Bridge/Symfony/Routing/IriConverter.php
Expand Up @@ -43,8 +43,8 @@
*/
final class IriConverter implements IriConverterInterface
{
use ResourceClassInfoTrait;
use OperationDataProviderTrait;
use ResourceClassInfoTrait;

private $routeNameResolver;
private $router;
Expand Down
2 changes: 1 addition & 1 deletion src/GraphQl/Resolver/Factory/ItemResolverFactory.php
Expand Up @@ -36,8 +36,8 @@
*/
final class ItemResolverFactory implements ResolverFactoryInterface
{
use CloneTrait;
use ClassInfoTrait;
use CloneTrait;

private $readStage;
private $securityStage;
Expand Down
10 changes: 9 additions & 1 deletion src/JsonSchema/SchemaFactory.php
Expand Up @@ -109,11 +109,19 @@ public function buildSchema(string $className, string $format = 'json', string $
return $schema;
}

$definition = new \ArrayObject(['type' => 'object', 'additionalProperties' => $serializerContext[AbstractNormalizer::ALLOW_EXTRA_ATTRIBUTES] ?? true]);
/** @var \ArrayObject<string, mixed> $definition */
$definition = new \ArrayObject(['type' => 'object']);
$definitions[$definitionName] = $definition;
if (null !== $resourceMetadata && null !== $description = $resourceMetadata->getDescription()) {
$definition['description'] = $description;
}

// additionalProperties are allowed by default, so it does not need to be set explicitly, unless allow_extra_attributes is false
// See https://json-schema.org/understanding-json-schema/reference/object.html#properties
if (false === ($serializerContext[AbstractNormalizer::ALLOW_EXTRA_ATTRIBUTES] ?? true)) {
$definition['additionalProperties'] = false;
}

// see https://github.com/json-schema-org/json-schema-spec/pull/737
if (
Schema::VERSION_SWAGGER !== $version &&
Expand Down
2 changes: 1 addition & 1 deletion src/Serializer/AbstractItemNormalizer.php
Expand Up @@ -238,7 +238,7 @@ public function denormalize($data, $class, $format = null, array $context = [])

/**
* Method copy-pasted from symfony/serializer.
* Remove it after symfony/serializer version update @link https://github.com/symfony/symfony/pull/28263.
* Remove it after symfony/serializer version update @see https://github.com/symfony/symfony/pull/28263.
*
* {@inheritdoc}
*
Expand Down
2 changes: 1 addition & 1 deletion tests/Behat/JsonApiContext.php
Expand Up @@ -80,7 +80,7 @@ public function theJsonShouldBeValidAccordingToTheJsonApiSchema()
$this->validator->validate($json, (object) ['$ref' => "file://{$this->jsonApiSchemaFile}"]);

if (!$this->validator->isValid()) {
throw new ExpectationFailedException(sprintf('The JSON is not valid according to the JSON API schema.'));
throw new ExpectationFailedException('The JSON is not valid according to the JSON API schema.');
}
}

Expand Down
2 changes: 1 addition & 1 deletion tests/Behat/JsonHalContext.php
Expand Up @@ -67,7 +67,7 @@ public function theJsonShouldBeValidAccordingToTheJsonHALSchema()
$this->validator->validate($json, (object) ['$ref' => "file://{$this->schemaFile}"]);

if (!$this->validator->isValid()) {
throw new ExpectationFailedException(sprintf('The JSON is not valid according to the HAL+JSON schema.'));
throw new ExpectationFailedException('The JSON is not valid according to the HAL+JSON schema.');
}
}

Expand Down
Expand Up @@ -79,7 +79,7 @@ public function getCollection(string $resourceClass, string $operationName = nul
[],
];

yield 'Empty ChainCollectionDataProvider' => [
yield 'Empty ChainCollectionDataProvider' => [
new ChainCollectionDataProvider([]),
['some_context'],
[],
Expand Down
Expand Up @@ -80,7 +80,7 @@ public function getItem(string $resourceClass, $id, string $operationName = null
[],
];

yield 'Empty ChainItemDataProvider' => [
yield 'Empty ChainItemDataProvider' => [
new ChainItemDataProvider([]),
['some_context'],
[],
Expand Down
Expand Up @@ -79,7 +79,7 @@ public function getSubresource(string $resourceClass, array $identifiers, array
[],
];

yield 'Empty ChainSubresourceDataProvider' => [
yield 'Empty ChainSubresourceDataProvider' => [
new ChainSubresourceDataProvider([]),
['some_context'],
[],
Expand Down
2 changes: 1 addition & 1 deletion tests/Fixtures/app/bootstrap.php
Expand Up @@ -17,7 +17,7 @@

// PHPUnit's autoloader
if (!file_exists($phpUnitAutoloaderPath = __DIR__.'/../../../vendor/bin/.phpunit/phpunit/vendor/autoload.php')) {
die('PHPUnit is not installed. Please run ./vendor/bin/simple-phpunit to install it');
exit('PHPUnit is not installed. Please run ./vendor/bin/simple-phpunit to install it');
}

$phpunitLoader = require $phpUnitAutoloaderPath;
Expand Down
2 changes: 1 addition & 1 deletion tests/JsonSchema/SchemaFactoryTest.php
Expand Up @@ -74,7 +74,7 @@ public function testBuildSchemaForNonResourceClass(): void
$this->assertArrayHasKey($rootDefinitionKey, $definitions);
$this->assertArrayHasKey('type', $definitions[$rootDefinitionKey]);
$this->assertSame('object', $definitions[$rootDefinitionKey]['type']);
$this->assertTrue($definitions[$rootDefinitionKey]['additionalProperties']);
$this->assertArrayNotHasKey('additionalProperties', $definitions[$rootDefinitionKey]);
$this->assertArrayHasKey('properties', $definitions[$rootDefinitionKey]);
$this->assertArrayHasKey('foo', $definitions[$rootDefinitionKey]['properties']);
$this->assertArrayHasKey('type', $definitions[$rootDefinitionKey]['properties']['foo']);
Expand Down
23 changes: 0 additions & 23 deletions tests/Swagger/Serializer/DocumentationNormalizerV2Test.php
Expand Up @@ -462,7 +462,6 @@ private function doTestNormalizeWithNameConverter(bool $legacy = false): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'properties' => [
'name' => new \ArrayObject([
Expand Down Expand Up @@ -575,7 +574,6 @@ public function testNormalizeWithApiKeysEnabled(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'properties' => [
'name' => new \ArrayObject([
Expand Down Expand Up @@ -768,7 +766,6 @@ public function testNormalizeWithOnlyNormalizationGroups(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand All @@ -780,7 +777,6 @@ public function testNormalizeWithOnlyNormalizationGroups(): void
]),
$ref => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -968,7 +964,6 @@ public function testNormalizeNotAddExtraBodyParameters(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand All @@ -980,7 +975,6 @@ public function testNormalizeNotAddExtraBodyParameters(): void
]),
$ref => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -1069,7 +1063,6 @@ public function testNormalizeWithSwaggerDefinitionName(): void
'definitions' => new \ArrayObject([
'Dummy-Read' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -1243,7 +1236,6 @@ public function testNormalizeWithOnlyDenormalizationGroups(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand All @@ -1255,7 +1247,6 @@ public function testNormalizeWithOnlyDenormalizationGroups(): void
]),
'Dummy-dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -1431,7 +1422,6 @@ public function testNormalizeWithNormalizationAndDenormalizationGroups(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand All @@ -1443,7 +1433,6 @@ public function testNormalizeWithNormalizationAndDenormalizationGroups(): void
]),
'Dummy-dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -1620,7 +1609,6 @@ public function testNormalizeSkipsNotReadableAndNotWritableProperties(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -2014,7 +2002,6 @@ public function testNormalizeWithNestedNormalizationGroups(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand All @@ -2026,7 +2013,6 @@ public function testNormalizeWithNestedNormalizationGroups(): void
]),
$ref => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand All @@ -2042,7 +2028,6 @@ public function testNormalizeWithNestedNormalizationGroups(): void
]),
$relatedDummyRef => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a related dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/RelatedDummy'],
'properties' => [
Expand Down Expand Up @@ -2152,7 +2137,6 @@ private function doTestNormalizeWithFilters($filterLocator): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'properties' => [
'name' => new \ArrayObject([
Expand Down Expand Up @@ -2312,7 +2296,6 @@ private function doTestNormalizeWithSubResource(OperationAwareFormatsProviderInt
'definitions' => new \ArrayObject([
'Question' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a question.',
'externalDocs' => ['url' => 'http://schema.example.com/Question'],
'properties' => [
Expand All @@ -2325,7 +2308,6 @@ private function doTestNormalizeWithSubResource(OperationAwareFormatsProviderInt
]),
'Answer' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is an answer.',
'externalDocs' => ['url' => 'http://schema.example.com/Answer'],
'properties' => [
Expand Down Expand Up @@ -2409,7 +2391,6 @@ public function testNormalizeWithPropertySwaggerContext(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -2510,7 +2491,6 @@ public function testNormalizeWithPaginationClientEnabled(): void
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -2706,7 +2686,6 @@ private function doTestNormalizeWithCustomFormatsDefinedAtOperationLevel(Operati
'definitions' => new \ArrayObject([
'Dummy' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => ['url' => 'http://schema.example.com/Dummy'],
'properties' => [
Expand Down Expand Up @@ -2915,7 +2894,6 @@ private function doTestNormalizeWithInputAndOutputClass(): void
'definitions' => new \ArrayObject([
'Dummy:300dcd476cef011532fb0ca7683395d7' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => [
'url' => 'http://schema.example.com/Dummy',
Expand All @@ -2934,7 +2912,6 @@ private function doTestNormalizeWithInputAndOutputClass(): void
]),
'Dummy:b4f76c1a44965bd401aa23bb37618acc' => new \ArrayObject([
'type' => 'object',
'additionalProperties' => true,
'description' => 'This is a dummy.',
'externalDocs' => [
'url' => 'http://schema.example.com/Dummy',
Expand Down

0 comments on commit 8cc2d60

Please sign in to comment.