diff --git a/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java b/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java index f0db1b9c..067f5a70 100644 --- a/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java +++ b/cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java @@ -105,7 +105,7 @@ public static class Replica { */ private String tables = "processed_data"; private boolean ddlEnabled = false; - private String ddlValidationMode = "none"; + private String ddlValidationMode = "whitelist"; private String ddlAllowedPrefixes = "CREATE TABLE,ALTER TABLE,CREATE INDEX"; private String ddlBlockedPrefixes = "DROP TABLE,DROP SCHEMA,DROP DATABASE,TRUNCATE"; private final Kafka kafka = new Kafka(); diff --git a/cdc-service/src/test/java/com/xtrmetl/cdc/config/XtrmetlPropertiesSecurityDefaultTest.java b/cdc-service/src/test/java/com/xtrmetl/cdc/config/XtrmetlPropertiesSecurityDefaultTest.java new file mode 100644 index 00000000..73849a9f --- /dev/null +++ b/cdc-service/src/test/java/com/xtrmetl/cdc/config/XtrmetlPropertiesSecurityDefaultTest.java @@ -0,0 +1,24 @@ +package com.xtrmetl.cdc.config; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +/** + * Guards the secure standalone default exposed by the CDC replica configuration object. + */ +class XtrmetlPropertiesSecurityDefaultTest { + + @Test + void replicaDdlRemainsDisabledAndUsesWhitelistValidationByDefault() { + XtrmetlProperties properties = new XtrmetlProperties(); + + assertFalse(properties.getReplica().isDdlEnabled(), "DDL replication must remain disabled by default"); + assertEquals( + "whitelist", + properties.getReplica().getDdlValidationMode(), + "the Java configuration object must match the deployable and metadata secure default" + ); + } +}