From f8be18bdc79899b2cb7c11e38bbe152a4cbfa5fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Pupier?= Date: Fri, 5 Jan 2024 10:27:45 +0100 Subject: [PATCH] Improve error message in AvroAliasTest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit it gives the reason of schema incompatibility when the schema is expected to be compatible. It can help investigation on #167 Signed-off-by: Aurélien Pupier --- .../avro/interop/annotations/AvroAliasTest.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/avro/src/test/java/com/fasterxml/jackson/dataformat/avro/interop/annotations/AvroAliasTest.java b/avro/src/test/java/com/fasterxml/jackson/dataformat/avro/interop/annotations/AvroAliasTest.java index 58c4f68af..2ce2e43c6 100644 --- a/avro/src/test/java/com/fasterxml/jackson/dataformat/avro/interop/annotations/AvroAliasTest.java +++ b/avro/src/test/java/com/fasterxml/jackson/dataformat/avro/interop/annotations/AvroAliasTest.java @@ -66,7 +66,7 @@ public void testAliasedRecordForwardsCompatible() throws IOException { SchemaCompatibility.SchemaPairCompatibility compatibility = SchemaCompatibility.checkReaderWriterCompatibility(newSchema, oldSchema); // - assertThat(compatibility.getType()).isEqualTo(SchemaCompatibility.SchemaCompatibilityType.COMPATIBLE); + checkSchemaIsCompatible(compatibility); } @Test @@ -88,7 +88,7 @@ public void testAliasedRecordForwardsCompatibleSameNamespace() throws IOExceptio SchemaCompatibility.SchemaPairCompatibility compatibility = SchemaCompatibility.checkReaderWriterCompatibility(newSchema, oldSchema); // - assertThat(compatibility.getType()).isEqualTo(SchemaCompatibility.SchemaCompatibilityType.COMPATIBLE); + checkSchemaIsCompatible(compatibility); } @Test @@ -110,7 +110,7 @@ public void testAliasedEnumForwardsCompatible() throws IOException { SchemaCompatibility.SchemaPairCompatibility compatibility = SchemaCompatibility.checkReaderWriterCompatibility(newSchema, oldSchema); // - assertThat(compatibility.getType()).isEqualTo(SchemaCompatibility.SchemaCompatibilityType.COMPATIBLE); + checkSchemaIsCompatible(compatibility); } @Test @@ -134,8 +134,14 @@ public void testAliasedEnumForwardsAndBackwardsCompatible() throws IOException { SchemaCompatibility.SchemaPairCompatibility forwardsCompatibility = SchemaCompatibility.checkReaderWriterCompatibility(newSchema, oldSchema); // - assertThat(backwardsCompatibility.getType()).isEqualTo(SchemaCompatibility.SchemaCompatibilityType.COMPATIBLE); - assertThat(forwardsCompatibility.getType()).isEqualTo(SchemaCompatibility.SchemaCompatibilityType.COMPATIBLE); + checkSchemaIsCompatible(backwardsCompatibility); + checkSchemaIsCompatible(forwardsCompatibility); + } + + private void checkSchemaIsCompatible(SchemaCompatibility.SchemaPairCompatibility compatibility) { + assertThat(compatibility.getType()) + .withFailMessage("Expected schema to be compatible but was not. Reason:\n%s", compatibility.getDescription()) + .isEqualTo(SchemaCompatibility.SchemaCompatibilityType.COMPATIBLE); } }