diff --git a/core/src/test/java/org/openapitools/openapidiff/core/AllOfOneOfDiffTest.java b/core/src/test/java/org/openapitools/openapidiff/core/AllOfOneOfDiffTest.java index ec1bcfc5..cd43c596 100644 --- a/core/src/test/java/org/openapitools/openapidiff/core/AllOfOneOfDiffTest.java +++ b/core/src/test/java/org/openapitools/openapidiff/core/AllOfOneOfDiffTest.java @@ -9,6 +9,6 @@ public class AllOfOneOfDiffTest { @Test void allOfReferringToOneOfSchemasAreSupported() { ChangedOpenApi diff = OpenApiCompare.fromLocations("issue-317_1.json", "issue-317_2.json"); - assertThat(diff.isCoreChanged().isUnchanged()); + assertThat(diff.isCoreChanged().isUnchanged()).isTrue(); } } diff --git a/core/src/test/java/org/openapitools/openapidiff/core/SchemaDiffTest.java b/core/src/test/java/org/openapitools/openapidiff/core/SchemaDiffTest.java index d918fa99..2d1d0a4d 100644 --- a/core/src/test/java/org/openapitools/openapidiff/core/SchemaDiffTest.java +++ b/core/src/test/java/org/openapitools/openapidiff/core/SchemaDiffTest.java @@ -41,8 +41,15 @@ public void schemaPropertyDefaultChanged() { public void schemaPropertyTypeChanged() { ChangedOpenApi changedOpenApi = OpenApiCompare.fromLocations( - "schemaDiff/schema-props-defaults-handling-1.yaml", - "schemaDiff/schema-props-defaults-handling-2.yaml"); + "schemaDiff/schema-props-type-handling-1.yaml", + "schemaDiff/schema-props-type-handling-2.yaml"); + + assertEquals(1, changedOpenApi.getChangedOperations().size()); + assertEquals(1, changedOpenApi.getChangedSchemas().size()); + ChangedSchema changedSchema = changedOpenApi.getChangedSchemas().get(0); + assertEquals(1, changedSchema.getChangedProperties().size()); + assertTrue(changedSchema.getChangedProperties().containsKey("field1")); + assertTrue(changedSchema.getChangedProperties().get("field1").isChangedType()); } @Test // issue #485 diff --git a/core/src/test/resources/schemaDiff/schema-props-type-handling-1.yaml b/core/src/test/resources/schemaDiff/schema-props-type-handling-1.yaml new file mode 100644 index 00000000..37d612e3 --- /dev/null +++ b/core/src/test/resources/schemaDiff/schema-props-type-handling-1.yaml @@ -0,0 +1,23 @@ +openapi: 3.0.0 +info: + title: Schema Type Handling Test - Before + version: 1.0.0 +paths: + /test: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestSchema' + responses: + '200': + description: OK +components: + schemas: + TestSchema: + type: object + properties: + field1: + type: string + description: A field that will change type diff --git a/core/src/test/resources/schemaDiff/schema-props-type-handling-2.yaml b/core/src/test/resources/schemaDiff/schema-props-type-handling-2.yaml new file mode 100644 index 00000000..efe131d8 --- /dev/null +++ b/core/src/test/resources/schemaDiff/schema-props-type-handling-2.yaml @@ -0,0 +1,23 @@ +openapi: 3.0.0 +info: + title: Schema Type Handling Test - After + version: 1.0.0 +paths: + /test: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TestSchema' + responses: + '200': + description: OK +components: + schemas: + TestSchema: + type: object + properties: + field1: + type: integer # Changed from string to integer + description: A field that has changed type