diff --git a/kafka-connect-neo4j/src/main/kotlin/streams/kafka/connect/common/ConfigurationMigrator.kt b/kafka-connect-neo4j/src/main/kotlin/streams/kafka/connect/common/ConfigurationMigrator.kt index 179ccbaf..7cb78bfd 100644 --- a/kafka-connect-neo4j/src/main/kotlin/streams/kafka/connect/common/ConfigurationMigrator.kt +++ b/kafka-connect-neo4j/src/main/kotlin/streams/kafka/connect/common/ConfigurationMigrator.kt @@ -113,7 +113,7 @@ class ConfigurationMigrator(private val settings: Map) { settings.forEach { (originalKey, value) -> val propConverter = propertyConverterMap[originalKey] - if (propConverter != null) { + if (propConverter != null && propConverter.updatedConfigKey.isNotEmpty()) { val newKey = propConverter.updatedConfigKey updatedConfig[newKey] = propConverter.migrationHandler() log.debug("Migrating configuration {} to {}", originalKey, newKey) diff --git a/kafka-connect-neo4j/src/test/kotlin/streams/kafka/connect/sink/ConfigurationMigratorTest.kt b/kafka-connect-neo4j/src/test/kotlin/streams/kafka/connect/sink/ConfigurationMigratorTest.kt index 029be4f6..100d9aea 100644 --- a/kafka-connect-neo4j/src/test/kotlin/streams/kafka/connect/sink/ConfigurationMigratorTest.kt +++ b/kafka-connect-neo4j/src/test/kotlin/streams/kafka/connect/sink/ConfigurationMigratorTest.kt @@ -3,6 +3,10 @@ package streams.kafka.connect.sink import org.junit.Assert.assertEquals import org.junit.Test import streams.kafka.connect.common.ConfigurationMigrator +import streams.kafka.connect.common.Neo4jConnectorConfig.Companion.ENCRYPTION_CA_CERTIFICATE_PATH +import streams.kafka.connect.source.Neo4jSourceConnectorConfig.Companion.ENFORCE_SCHEMA +import streams.kafka.connect.source.Neo4jSourceConnectorConfig.Companion.SOURCE_TYPE +import streams.kafka.connect.source.SourceType class ConfigurationMigratorTest { @@ -27,7 +31,20 @@ class ConfigurationMigratorTest { ) } - @Test fun `should not migrate keys with no matching configuration key`() {} + @Test fun `should not migrate keys with no matching configuration key`() { + // Given a configuration which has no equivalent in the updated connector + val originals = mapOf( + ENCRYPTION_CA_CERTIFICATE_PATH to "./cert.pem", + SOURCE_TYPE to SourceType.QUERY.toString(), + ENFORCE_SCHEMA to "true" + ) + + // When the configuration is migrated + val migratedConfig = ConfigurationMigrator(originals).migrate() + + // Then the existing key is not outputted + assertEquals("Migrated configuration should be empty", 0, migratedConfig.keys.size) + } @Test fun `should migrate time-based keys to new configuration format`() {