@Test
void testGetGlobalProperties_defaultValueWithNullValue() {

    AppConfig appConfig = getAppConfig();
    // simulate a prop not being defined in the yaml
    String initialValue = appConfig.getPipelineConfig().getReferenceDataConfig().getLocalDir();
    String newYamlValue = null;
    appConfig.getPipelineConfig().getReferenceDataConfig().setLocalDir(newYamlValue);
    ConfigMapper configMapper = new ConfigMapper(appConfig);
    final Collection<ConfigProperty> configProperties = configMapper.getGlobalProperties();
    final ConfigProperty configProperty = configProperties.stream()
            .filter(confProp -> confProp.getName().equalsIgnoreCase(PropertyPath.fromPathString("stroom.pipeline.referenceData.localDir")))
            .findFirst()
            .orElseThrow();
    assertValues(
            configProperty,
            initialValue,
            OverrideValue.unSet(String.class),
            OverrideValue.with(newYamlValue),
            newYamlValue);
      assertThat(configProperty.getValue()).isEqualTo(initialValue);
      assertThat(configProperty.getDefaultValue()).isEqualTo(initialValue);
}