diff --git a/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java b/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java index 80d980079..d62cd7b69 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java @@ -1,6 +1,5 @@ package org.openapitools.openapidiff.core.model; -import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.media.Schema; import java.util.*; import java.util.stream.Collectors; @@ -157,9 +156,6 @@ private DiffResult calculateCoreChanged() { } private boolean compatibleForRequest() { - if (PathItem.HttpMethod.PUT.equals(context.getMethod()) && !increasedProperties.isEmpty()) { - return false; - } return (oldSchema != null || newSchema == null); } diff --git a/core/src/test/java/org/openapitools/openapidiff/core/AddPropPutDiffTest.java b/core/src/test/java/org/openapitools/openapidiff/core/AddPropPutDiffTest.java index d73ab6ebe..6ecc1bc22 100644 --- a/core/src/test/java/org/openapitools/openapidiff/core/AddPropPutDiffTest.java +++ b/core/src/test/java/org/openapitools/openapidiff/core/AddPropPutDiffTest.java @@ -1,9 +1,10 @@ package org.openapitools.openapidiff.core; +import static org.assertj.core.api.Assertions.assertThat; import static org.openapitools.openapidiff.core.TestUtils.assertOpenApiAreEquals; -import static org.openapitools.openapidiff.core.TestUtils.assertOpenApiBackwardIncompatible; import org.junit.jupiter.api.Test; +import org.openapitools.openapidiff.core.model.ChangedOpenApi; public class AddPropPutDiffTest { private final String OPENAPI_DOC1 = "add-prop-put-1.yaml"; @@ -15,7 +16,10 @@ public void testDiffSame() { } @Test - public void testDiffDifferent() { - assertOpenApiBackwardIncompatible(OPENAPI_DOC1, OPENAPI_DOC2); + public void testFieldAdditionalInPutApiIsCompatible() { + // See https://github.com/OpenAPITools/openapi-diff/pull/537 + ChangedOpenApi changedOpenApi = OpenApiCompare.fromLocations(OPENAPI_DOC1, OPENAPI_DOC2); + assertThat(changedOpenApi.isDifferent()).isTrue(); + assertThat(changedOpenApi.isCompatible()).isTrue(); } }