|
@@ -3,14 +3,16 @@ package com.provectus.kafka.ui.service;
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
-import java.util.Collections;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
|
class KafkaConfigSanitizerTest {
|
|
|
|
|
|
@Test
|
|
|
void doNothingIfEnabledPropertySetToFalse() {
|
|
|
- final var sanitizer = new KafkaConfigSanitizer(false, Collections.emptyList());
|
|
|
+ final var sanitizer = new KafkaConfigSanitizer(false, List.of());
|
|
|
assertThat(sanitizer.sanitize("password", "secret")).isEqualTo("secret");
|
|
|
assertThat(sanitizer.sanitize("sasl.jaas.config", "secret")).isEqualTo("secret");
|
|
|
assertThat(sanitizer.sanitize("database.password", "secret")).isEqualTo("secret");
|
|
@@ -18,7 +20,7 @@ class KafkaConfigSanitizerTest {
|
|
|
|
|
|
@Test
|
|
|
void obfuscateCredentials() {
|
|
|
- final var sanitizer = new KafkaConfigSanitizer(true, Collections.emptyList());
|
|
|
+ final var sanitizer = new KafkaConfigSanitizer(true, List.of());
|
|
|
assertThat(sanitizer.sanitize("sasl.jaas.config", "secret")).isEqualTo("******");
|
|
|
assertThat(sanitizer.sanitize("consumer.sasl.jaas.config", "secret")).isEqualTo("******");
|
|
|
assertThat(sanitizer.sanitize("producer.sasl.jaas.config", "secret")).isEqualTo("******");
|
|
@@ -36,7 +38,7 @@ class KafkaConfigSanitizerTest {
|
|
|
|
|
|
@Test
|
|
|
void notObfuscateNormalConfigs() {
|
|
|
- final var sanitizer = new KafkaConfigSanitizer(true, Collections.emptyList());
|
|
|
+ final var sanitizer = new KafkaConfigSanitizer(true, List.of());
|
|
|
assertThat(sanitizer.sanitize("security.protocol", "SASL_SSL")).isEqualTo("SASL_SSL");
|
|
|
final String[] bootstrapServer = new String[] {"test1:9092", "test2:9092"};
|
|
|
assertThat(sanitizer.sanitize("bootstrap.servers", bootstrapServer)).isEqualTo(bootstrapServer);
|
|
@@ -52,4 +54,22 @@ class KafkaConfigSanitizerTest {
|
|
|
assertThat(sanitizer.sanitize("database.password", "no longer credential"))
|
|
|
.isEqualTo("no longer credential");
|
|
|
}
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void sanitizeConnectorConfigDoNotFailOnNullableValues() {
|
|
|
+ Map<String, Object> originalConfig = new HashMap<>();
|
|
|
+ originalConfig.put("password", "secret");
|
|
|
+ originalConfig.put("asIs", "normal");
|
|
|
+ originalConfig.put("nullVal", null);
|
|
|
+
|
|
|
+ var sanitizedConfig = new KafkaConfigSanitizer(true, List.of())
|
|
|
+ .sanitizeConnectorConfig(originalConfig);
|
|
|
+
|
|
|
+ assertThat(sanitizedConfig)
|
|
|
+ .hasSize(3)
|
|
|
+ .containsEntry("password", "******")
|
|
|
+ .containsEntry("asIs", "normal")
|
|
|
+ .containsEntry("nullVal", null);
|
|
|
+ }
|
|
|
+
|
|
|
}
|