diff --git a/cdc-service/src/test/java/com/xtrmetl/cdc/replication/SchemaChangeReplicaValidationModeTest.java b/cdc-service/src/test/java/com/xtrmetl/cdc/replication/SchemaChangeReplicaValidationModeTest.java new file mode 100644 index 00000000..dc622738 --- /dev/null +++ b/cdc-service/src/test/java/com/xtrmetl/cdc/replication/SchemaChangeReplicaValidationModeTest.java @@ -0,0 +1,45 @@ +package com.xtrmetl.cdc.replication; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; +import org.springframework.jdbc.core.JdbcTemplate; + +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.Mockito.mock; + +class SchemaChangeReplicaValidationModeTest { + + @Test + void rejectsBlankValidationModeInsteadOfSilentlyDisablingPolicy() { + JdbcTemplate jdbcTemplate = mock(JdbcTemplate.class); + + assertThrows( + IllegalArgumentException.class, + () -> new SchemaChangeReplicaApplier( + jdbcTemplate, + new ObjectMapper(), + true, + " ", + "CREATE TABLE,ALTER TABLE,CREATE INDEX", + "DROP TABLE,DROP SCHEMA,DROP DATABASE,TRUNCATE" + ) + ); + } + + @Test + void rejectsNullValidationModeInsteadOfSilentlyDisablingPolicy() { + JdbcTemplate jdbcTemplate = mock(JdbcTemplate.class); + + assertThrows( + IllegalArgumentException.class, + () -> new SchemaChangeReplicaApplier( + jdbcTemplate, + new ObjectMapper(), + true, + null, + "CREATE TABLE,ALTER TABLE,CREATE INDEX", + "DROP TABLE,DROP SCHEMA,DROP DATABASE,TRUNCATE" + ) + ); + } +}