KafkaConfigSanitizerTest.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.provectus.kafka.ui.service;
  2. import static org.assertj.core.api.Assertions.assertThat;
  3. import java.util.Arrays;
  4. import java.util.Collections;
  5. import org.junit.jupiter.api.Test;
  6. import org.springframework.boot.actuate.endpoint.Sanitizer;
  7. class KafkaConfigSanitizerTest {
  8. @Test
  9. void doNothingIfEnabledPropertySetToFalse() {
  10. final Sanitizer sanitizer = new KafkaConfigSanitizer(false, Collections.emptyList());
  11. assertThat(sanitizer.sanitize("password", "secret")).isEqualTo("secret");
  12. assertThat(sanitizer.sanitize("sasl.jaas.config", "secret")).isEqualTo("secret");
  13. assertThat(sanitizer.sanitize("database.password", "secret")).isEqualTo("secret");
  14. }
  15. @Test
  16. void obfuscateCredentials() {
  17. final Sanitizer sanitizer = new KafkaConfigSanitizer(true, Collections.emptyList());
  18. assertThat(sanitizer.sanitize("sasl.jaas.config", "secret")).isEqualTo("******");
  19. assertThat(sanitizer.sanitize("consumer.sasl.jaas.config", "secret")).isEqualTo("******");
  20. assertThat(sanitizer.sanitize("producer.sasl.jaas.config", "secret")).isEqualTo("******");
  21. assertThat(sanitizer.sanitize("main.consumer.sasl.jaas.config", "secret")).isEqualTo("******");
  22. assertThat(sanitizer.sanitize("database.password", "secret")).isEqualTo("******");
  23. assertThat(sanitizer.sanitize("basic.auth.user.info", "secret")).isEqualTo("******");
  24. }
  25. @Test
  26. void notObfuscateNormalConfigs() {
  27. final Sanitizer sanitizer = new KafkaConfigSanitizer(true, Collections.emptyList());
  28. assertThat(sanitizer.sanitize("security.protocol", "SASL_SSL")).isEqualTo("SASL_SSL");
  29. final String[] bootstrapServer = new String[] {"test1:9092", "test2:9092"};
  30. assertThat(sanitizer.sanitize("bootstrap.servers", bootstrapServer)).isEqualTo(bootstrapServer);
  31. }
  32. @Test
  33. void obfuscateCredentialsWithDefinedPatterns() {
  34. final Sanitizer sanitizer = new KafkaConfigSanitizer(true, Arrays.asList("kafka.ui", ".*test.*"));
  35. assertThat(sanitizer.sanitize("consumer.kafka.ui", "secret")).isEqualTo("******");
  36. assertThat(sanitizer.sanitize("this.is.test.credentials", "secret")).isEqualTo("******");
  37. assertThat(sanitizer.sanitize("this.is.not.credential", "not.credential"))
  38. .isEqualTo("not.credential");
  39. assertThat(sanitizer.sanitize("database.password", "no longer credential"))
  40. .isEqualTo("no longer credential");
  41. }
  42. }