private PropertiesList listProperties( final PreparedStatement<ListProperties> statement, final Map<String, Object> propertyOverrides ) { final KsqlConfigResolver resolver = new KsqlConfigResolver(); final Map<String, String> engineProperties = ksqlConfig.getAllConfigPropsWithSecretsObfuscated(); final Map<String, String> mergedProperties = ksqlConfig .cloneWithPropertyOverwrite(propertyOverrides) .getAllConfigPropsWithSecretsObfuscated(); final List<String> overwritten = mergedProperties.entrySet() .stream() .filter(e -> !Objects.equals(engineProperties.get(e.getKey()), e.getValue())) .map(Entry::getKey) .collect(Collectors.toList()); final List<String> defaultProps = mergedProperties.entrySet().stream() .filter(e -> resolver.resolve(e.getKey(), false) .map(resolved -> resolved.isDefaultValue(e.getValue())) .orElse(false)) .map(Entry::getKey) .collect(Collectors.toList()); return new PropertiesList( statement.getStatementText(), mergedProperties, overwritten, defaultProps); }
@Test public void shouldNotBeDefaultValueIfNotResolved() { assertThat(UNRESOLVED.isDefaultValue("anything"), is(false)); assertThat(UNRESOLVED.isDefaultValue(null), is(false)); }
@Test public void shouldHandlePasswordDefaultValue() { assertThat(RESOLVED_PASSWORD.isDefaultValue("anything"), is(false)); } }
@Test public void shouldBeDefaultValue() { assertThat(RESOLVED_NO_VALIDATOR.isDefaultValue(KsqlConstants.defaultSinkNumberOfPartitions), is(true)); }
@Test public void shouldCoerceBeforeCheckingIfDefaultValue() { assertThat(RESOLVED_NO_VALIDATOR .isDefaultValue("" + KsqlConstants.defaultSinkNumberOfPartitions), is(true)); }
@Test public void shouldHandleNoDefaultValue() { assertThat(RESOLVED_NO_DEFAULT.isDefaultValue("anything"), is(false)); }