protected void assertNotValidFullname(String fullname) { assertThat(SchemaNameAdjuster.isValidFullname(fullname)).isFalse(); } }
protected void assertValidFullname(String fullname) { assertThat(SchemaNameAdjuster.isValidFullname(fullname)).isTrue(); }
protected static void validateSchemaNames(Schema schema) { if (schema == null) return; String schemaName = schema.name(); if (schemaName != null && !SchemaNameAdjuster.isValidFullname(schemaName)) { fail("Kafka schema '" + schemaName + "' is not a valid Avro schema name"); } if (schema.type() == Type.STRUCT) { schema.fields().forEach(field -> { validateSubSchemaNames(schema, field); }); } }
protected static void validateSubSchemaNames(Schema parentSchema, Field field) { if (field == null) return; Schema subSchema = field.schema(); String subSchemaName = subSchema.name(); if (subSchemaName != null && !SchemaNameAdjuster.isValidFullname(subSchemaName)) { fail("Kafka schema '" + parentSchema.name() + "' contains a subschema for '" + field.name() + "' named '" + subSchema.name() + "' that is not a valid Avro schema name"); } if (subSchema.type() == Type.STRUCT) { subSchema.fields().forEach(child -> { validateSubSchemaNames(parentSchema, child); }); } }