InputsMappingFileVariableResolver { public static InputsMappingFileVariableResolverConfigured configure(Properties appVariables, Properties envTypeVariables, Properties envVariables, AlienContextVariables alienContextVariables) { return new InputsMappingFileVariableResolverConfigured(appVariables, envTypeVariables, envVariables, alienContextVariables); } private  InputsMappingFileVariableResolver(); static InputsMappingFileVariableResolverConfigured configure(Properties appVariables, Properties envTypeVariables, Properties envVariables, AlienContextVariables alienContextVariables);  }
@Test public void should_list_all_missing_variables_and_unresolved_inputs() throws Exception { Resource yamlApp = new FileSystemResource("src/test/resources/alien/variables/variables_app_missing_var.yml"); inputsMappingFileVariableResolverConfigured = configure( PropertiesYamlParser.ToProperties.from(yamlApp), PropertiesYamlParser.ToProperties.from(yamlApp), PropertiesYamlParser.ToProperties.from(yamlApp), new AlienContextVariables()); Resource inputsMapping = new FileSystemResource("src/test/resources/alien/variables/inputs_mapping_with_missing_variable.yml"); InputsMappingFileVariableResolver.InputsResolvingResult result = inputsMappingFileVariableResolverConfigured .resolve(PropertiesYamlParser.ToMap.from(inputsMapping), inputsPropertyDefinitions); assertThat(result.getMissingVariables()).hasSize(4); assertThat(result.getMissingVariables()).contains("missing_inner_variable", "missing_float_variable", "missing_string_variable", "missing_int_variable"); assertThat(result.getUnresolved()).hasSize(4); assertThat(result.getUnresolved()).contains("int_input", "float_input", "string_input", "complex_input"); }