From 5138ac32c73129e1502806a451a86c921bf52240 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 20 Apr 2024 15:00:50 +0400 Subject: [PATCH] refactor(openapi): move OpenAPI Schema from openapi to openapi.v3._0_0 https://github.com/asyncapi/jasyncapi/issues/185 --- .../OpenAPISchemaAdditionalPropertiesDeserializer.java | 2 +- .../openapi/OpenAPISchemaAnyValueDeserializer.java | 2 +- .../v3/schema/multiformat/OpenAPIFormatSchema.java | 2 +- .../v3/schema/openapi/{ => v3/_0_0}/OpenAPISchema.java | 10 +++++----- .../{ => v3/_0_0}/properties/Discriminator.java | 2 +- .../openapi/{ => v3/_0_0}/properties/Extensions.java | 2 +- .../_0_0}/properties/ExternalDocumentation.java | 2 +- .../schema/openapi/{ => v3/_0_0}/properties/XML.java | 2 +- .../kotlin/com/asyncapi/v3/schema/SchemaProvider.kt | 2 +- .../openapi/OpenAPIFormatSchemaV3_0_0Test.kt | 2 +- .../openapi/OpenAPIFormatSchemaV3_0_1Test.kt | 4 +--- .../openapi/OpenAPIFormatSchemaV3_0_2Test.kt | 4 +--- .../openapi/OpenAPIFormatSchemaV3_0_3Test.kt | 4 +--- .../schema/openapi/{ => v3/_0_0}/OpenAPISchemaTest.kt | 4 ++-- .../v3/schema/openapi/{ => v3/_0_0}/SchemaTest.kt | 8 ++++---- .../_0_0}/properties/ExampleEnumDefaultArrayTest.kt | 4 ++-- .../_0_0}/properties/ExampleEnumDefaultNullTest.kt | 4 ++-- 17 files changed, 27 insertions(+), 33 deletions(-) rename asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/OpenAPISchema.java (98%) rename asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/properties/Discriminator.java (97%) rename asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/properties/Extensions.java (95%) rename asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/properties/ExternalDocumentation.java (96%) rename asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/properties/XML.java (98%) rename asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/OpenAPISchemaTest.kt (98%) rename asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/SchemaTest.kt (96%) rename asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/properties/ExampleEnumDefaultArrayTest.kt (89%) rename asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/{ => v3/_0_0}/properties/ExampleEnumDefaultNullTest.kt (74%) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAdditionalPropertiesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAdditionalPropertiesDeserializer.java index e9470ce5..faa5c83b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAdditionalPropertiesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAdditionalPropertiesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v3.jackson.schema.openapi; -import com.asyncapi.v3.schema.openapi.OpenAPISchema; +import com.asyncapi.v3.schema.openapi.v3._0_0.OpenAPISchema; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.ObjectCodec; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAnyValueDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAnyValueDeserializer.java index b881e1ba..1dd7a133 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAnyValueDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/openapi/OpenAPISchemaAnyValueDeserializer.java @@ -1,7 +1,7 @@ package com.asyncapi.v3.jackson.schema.openapi; import com.asyncapi.v3.jackson.schema.SchemaAnyValueDeserializer; -import com.asyncapi.v3.schema.openapi.OpenAPISchema; +import com.asyncapi.v3.schema.openapi.v3._0_0.OpenAPISchema; /** * @author Pavel Bodiachevskii diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/multiformat/OpenAPIFormatSchema.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/multiformat/OpenAPIFormatSchema.java index 5df7f198..3f1f4bc9 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/multiformat/OpenAPIFormatSchema.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/multiformat/OpenAPIFormatSchema.java @@ -1,7 +1,7 @@ package com.asyncapi.v3.schema.multiformat; import com.asyncapi.v3.schema.AsyncAPISchema; -import com.asyncapi.v3.schema.openapi.OpenAPISchema; +import com.asyncapi.v3.schema.openapi.v3._0_0.OpenAPISchema; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/OpenAPISchema.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/OpenAPISchema.java similarity index 98% rename from asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/OpenAPISchema.java rename to asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/OpenAPISchema.java index 313094b0..4620d686 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/OpenAPISchema.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/OpenAPISchema.java @@ -1,11 +1,11 @@ -package com.asyncapi.v3.schema.openapi; +package com.asyncapi.v3.schema.openapi.v3._0_0; import com.asyncapi.v3.jackson.schema.openapi.OpenAPISchemaAdditionalPropertiesDeserializer; import com.asyncapi.v3.jackson.schema.openapi.OpenAPISchemaAnyValueDeserializer; -import com.asyncapi.v3.schema.openapi.properties.Discriminator; -import com.asyncapi.v3.schema.openapi.properties.Extensions; -import com.asyncapi.v3.schema.openapi.properties.ExternalDocumentation; -import com.asyncapi.v3.schema.openapi.properties.XML; +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.Discriminator; +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.Extensions; +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.ExternalDocumentation; +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.XML; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import lombok.*; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/Discriminator.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/Discriminator.java similarity index 97% rename from asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/Discriminator.java rename to asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/Discriminator.java index ca5ab32c..fc12e2ae 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/Discriminator.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/Discriminator.java @@ -1,4 +1,4 @@ -package com.asyncapi.v3.schema.openapi.properties; +package com.asyncapi.v3.schema.openapi.v3._0_0.properties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/Extensions.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/Extensions.java similarity index 95% rename from asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/Extensions.java rename to asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/Extensions.java index 042bd076..b243003f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/Extensions.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/Extensions.java @@ -1,4 +1,4 @@ -package com.asyncapi.v3.schema.openapi.properties; +package com.asyncapi.v3.schema.openapi.v3._0_0.properties; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/ExternalDocumentation.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExternalDocumentation.java similarity index 96% rename from asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/ExternalDocumentation.java rename to asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExternalDocumentation.java index e3cb9e9d..7289f546 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/ExternalDocumentation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExternalDocumentation.java @@ -1,4 +1,4 @@ -package com.asyncapi.v3.schema.openapi.properties; +package com.asyncapi.v3.schema.openapi.v3._0_0.properties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/XML.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/XML.java similarity index 98% rename from asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/XML.java rename to asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/XML.java index cfd5a0de..539b26d0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/properties/XML.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/XML.java @@ -1,4 +1,4 @@ -package com.asyncapi.v3.schema.openapi.properties; +package com.asyncapi.v3.schema.openapi.v3._0_0.properties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/SchemaProvider.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/SchemaProvider.kt index 6e5037c1..1174ee68 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/SchemaProvider.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/SchemaProvider.kt @@ -2,7 +2,7 @@ package com.asyncapi.v3.schema import com.asyncapi.v3.schema.multiformat.AsyncAPIFormatSchema import com.asyncapi.v3.schema.multiformat.JsonFormatSchema -import com.asyncapi.v3.schema.openapi.OpenAPISchema +import com.asyncapi.v3.schema.openapi.v3._0_0.OpenAPISchema interface SchemaProvider { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_0Test.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_0Test.kt index 7238a76e..1643aae4 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_0Test.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_0Test.kt @@ -1,7 +1,7 @@ package com.asyncapi.v3.schema.multiformat.openapi import com.asyncapi.v3.schema.multiformat.OpenAPIFormatSchema -import com.asyncapi.v3.schema.openapi.SchemaTest +import com.asyncapi.v3.schema.openapi.v3._0_0.SchemaTest import org.junit.jupiter.api.extension.ExtensionContext import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_1Test.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_1Test.kt index fb7bf3eb..f4de776d 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_1Test.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_1Test.kt @@ -1,9 +1,7 @@ package com.asyncapi.v3.schema.multiformat.openapi import com.asyncapi.v3.schema.multiformat.OpenAPIFormatSchema -import com.asyncapi.v3.schema.multiformat.openapi.OpenAPIFormatSchemaV3_0_0Test.JsonFormat -import com.asyncapi.v3.schema.multiformat.openapi.OpenAPIFormatSchemaV3_0_0Test.YamlFormat -import com.asyncapi.v3.schema.openapi.SchemaTest +import com.asyncapi.v3.schema.openapi.v3._0_0.SchemaTest import org.junit.jupiter.api.extension.ExtensionContext import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_2Test.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_2Test.kt index 72865dbc..8bab13d0 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_2Test.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_2Test.kt @@ -1,9 +1,7 @@ package com.asyncapi.v3.schema.multiformat.openapi import com.asyncapi.v3.schema.multiformat.OpenAPIFormatSchema -import com.asyncapi.v3.schema.multiformat.openapi.OpenAPIFormatSchemaV3_0_0Test.JsonFormat -import com.asyncapi.v3.schema.multiformat.openapi.OpenAPIFormatSchemaV3_0_0Test.YamlFormat -import com.asyncapi.v3.schema.openapi.SchemaTest +import com.asyncapi.v3.schema.openapi.v3._0_0.SchemaTest import org.junit.jupiter.api.extension.ExtensionContext import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_3Test.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_3Test.kt index 8a25911b..b432763d 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_3Test.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/multiformat/openapi/OpenAPIFormatSchemaV3_0_3Test.kt @@ -1,9 +1,7 @@ package com.asyncapi.v3.schema.multiformat.openapi import com.asyncapi.v3.schema.multiformat.OpenAPIFormatSchema -import com.asyncapi.v3.schema.multiformat.openapi.OpenAPIFormatSchemaV3_0_0Test.JsonFormat -import com.asyncapi.v3.schema.multiformat.openapi.OpenAPIFormatSchemaV3_0_0Test.YamlFormat -import com.asyncapi.v3.schema.openapi.SchemaTest +import com.asyncapi.v3.schema.openapi.v3._0_0.SchemaTest import org.junit.jupiter.api.extension.ExtensionContext import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/OpenAPISchemaTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/OpenAPISchemaTest.kt similarity index 98% rename from asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/OpenAPISchemaTest.kt rename to asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/OpenAPISchemaTest.kt index 13ccc763..b3e92b4f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/OpenAPISchemaTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/OpenAPISchemaTest.kt @@ -1,8 +1,8 @@ -package com.asyncapi.v3.schema.openapi +package com.asyncapi.v3.schema.openapi.v3._0_0 import com.asyncapi.v3.ClasspathUtils import com.asyncapi.v3.schema.SchemaProvider -import com.asyncapi.v3.schema.openapi.properties.* +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.* import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.databind.ObjectMapper import org.junit.jupiter.api.Assertions diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/SchemaTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/SchemaTest.kt similarity index 96% rename from asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/SchemaTest.kt rename to asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/SchemaTest.kt index c0c9f91f..5e8f9532 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/SchemaTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/SchemaTest.kt @@ -1,9 +1,9 @@ -package com.asyncapi.v3.schema.openapi +package com.asyncapi.v3.schema.openapi.v3._0_0 import com.asyncapi.v3.schema.SchemaProvider -import com.asyncapi.v3.schema.openapi.properties.Discriminator -import com.asyncapi.v3.schema.openapi.properties.ExternalDocumentation -import com.asyncapi.v3.schema.openapi.properties.XML +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.Discriminator +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.ExternalDocumentation +import com.asyncapi.v3.schema.openapi.v3._0_0.properties.XML import java.math.BigDecimal class SchemaTest: SchemaProvider { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/properties/ExampleEnumDefaultArrayTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExampleEnumDefaultArrayTest.kt similarity index 89% rename from asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/properties/ExampleEnumDefaultArrayTest.kt rename to asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExampleEnumDefaultArrayTest.kt index e4c435ac..3c1c877e 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/properties/ExampleEnumDefaultArrayTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExampleEnumDefaultArrayTest.kt @@ -1,7 +1,7 @@ -package com.asyncapi.v3.schema.openapi.properties +package com.asyncapi.v3.schema.openapi.v3._0_0.properties import com.asyncapi.v3.schema.SchemaProvider -import com.asyncapi.v3.schema.openapi.OpenAPISchema +import com.asyncapi.v3.schema.openapi.v3._0_0.OpenAPISchema class ExampleEnumDefaultArrayTest: SchemaProvider { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/properties/ExampleEnumDefaultNullTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExampleEnumDefaultNullTest.kt similarity index 74% rename from asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/properties/ExampleEnumDefaultNullTest.kt rename to asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExampleEnumDefaultNullTest.kt index 4e79cd5e..805357c8 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/properties/ExampleEnumDefaultNullTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/schema/openapi/v3/_0_0/properties/ExampleEnumDefaultNullTest.kt @@ -1,7 +1,7 @@ -package com.asyncapi.v3.schema.openapi.properties +package com.asyncapi.v3.schema.openapi.v3._0_0.properties import com.asyncapi.v3.schema.SchemaProvider -import com.asyncapi.v3.schema.openapi.OpenAPISchema +import com.asyncapi.v3.schema.openapi.v3._0_0.OpenAPISchema class ExampleEnumDefaultNullTest: SchemaProvider {