@Test
public void testResolve_Configuration__ExcludedTypes() throws Exception {

  ServiceInfo info = new ServiceInfo();
  info.setExcludedConfigTypes(Collections.singleton("BAR"));
  //FOO
  Collection<PropertyInfo> fooProperties = new ArrayList<PropertyInfo>();
  PropertyInfo prop1 = new PropertyInfo();
  prop1.setName("name1");
  prop1.setValue("val1");
  fooProperties.add(prop1);
  PropertyInfo prop2 = new PropertyInfo();
  prop2.setName("name2");
  prop2.setValue("val2");
  fooProperties.add(prop2);
  //BAR
  Collection<PropertyInfo> barProperties = new ArrayList<PropertyInfo>();
  PropertyInfo prop3 = new PropertyInfo();
  prop3.setName("name1");
  prop3.setValue("val3");
  barProperties.add(prop3);
  //OTHER
  Collection<PropertyInfo> otherProperties = new ArrayList<PropertyInfo>();
  PropertyInfo prop4 = new PropertyInfo();
  prop4.setName("name1");
  prop4.setValue("val4");
  otherProperties.add(prop4);
  ConfigurationModule configModule1 = createConfigurationModule("FOO", fooProperties);
  ConfigurationModule configModule2 = createConfigurationModule("BAR", barProperties);
  ConfigurationModule configModule3 = createConfigurationModule("OTHER", otherProperties);
  Collection<ConfigurationModule> configModules = new ArrayList<ConfigurationModule>();
  configModules.add(configModule1);
  configModules.add(configModule2);
  configModules.add(configModule3);
  ServiceModule service = createServiceModule(info, configModules);
  List<PropertyInfo> properties = service.getModuleInfo().getProperties();
  assertEquals(4, properties.size());
  Map<String, Map<String, Map<String, String>>> attributes = service.getModuleInfo().getConfigTypeAttributes();
  assertEquals(2, attributes.size());
  assertTrue(attributes.containsKey("FOO"));
  assertTrue(attributes.containsKey("OTHER"));
}