Browse Source

KAFKA-7058: Comparing schema default values using Objects#deepEquals()

https://issues.apache.org/jira/browse/KAFKA-7058
* Summary of testing strategy: Added new unit test

Author: Gunnar Morling <gunnar.morling@googlemail.com>

Reviewers: Randall Hauch <rhauch@gmail.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #5225 from gunnarmorling/KAFKA-7058

(cherry picked from commit be846d833c)
Signed-off-by: Ewen Cheslack-Postava <me@ewencp.org>
pull/4886/head
Gunnar Morling 6 years ago committed by Ewen Cheslack-Postava
parent
commit
34ae29a26e
  1. 2
      connect/api/src/main/java/org/apache/kafka/connect/data/ConnectSchema.java
  2. 10
      connect/api/src/test/java/org/apache/kafka/connect/data/ConnectSchemaTest.java

2
connect/api/src/main/java/org/apache/kafka/connect/data/ConnectSchema.java

@ -270,7 +270,7 @@ public class ConnectSchema implements Schema { @@ -270,7 +270,7 @@ public class ConnectSchema implements Schema {
ConnectSchema schema = (ConnectSchema) o;
return Objects.equals(optional, schema.optional) &&
Objects.equals(type, schema.type) &&
Objects.equals(defaultValue, schema.defaultValue) &&
Objects.deepEquals(defaultValue, schema.defaultValue) &&
Objects.equals(fields, schema.fields) &&
Objects.equals(keySchema, schema.keySchema) &&
Objects.equals(valueSchema, schema.valueSchema) &&

10
connect/api/src/test/java/org/apache/kafka/connect/data/ConnectSchemaTest.java

@ -269,6 +269,16 @@ public class ConnectSchemaTest { @@ -269,6 +269,16 @@ public class ConnectSchemaTest {
assertNotEquals(s1, differentValueSchema);
}
@Test
public void testArrayDefaultValueEquality() {
ConnectSchema s1 = new ConnectSchema(Schema.Type.ARRAY, false, new String[] {"a", "b"}, null, null, null, null, null, null, SchemaBuilder.int8().build());
ConnectSchema s2 = new ConnectSchema(Schema.Type.ARRAY, false, new String[] {"a", "b"}, null, null, null, null, null, null, SchemaBuilder.int8().build());
ConnectSchema differentValueSchema = new ConnectSchema(Schema.Type.ARRAY, false, new String[] {"b", "c"}, null, null, null, null, null, null, SchemaBuilder.int8().build());
assertEquals(s1, s2);
assertNotEquals(s1, differentValueSchema);
}
@Test
public void testMapEquality() {
// Same as testArrayEquality, but for both key and value schemas

Loading…
Cancel
Save