private void assertAttributes(Map<String, Map<String, String>> mergedAttributes, Map<String, String> specifiedAttributes) {
    assertEquals(1, mergedAttributes.size()); // only supports
    Map<String, String> supportsAttributes = mergedAttributes.get(ConfigurationInfo.Supports.KEYWORD);
    assertEquals(ConfigurationInfo.Supports.values().length, supportsAttributes.size());
    for (Map.Entry<String, String> attribute : supportsAttributes.entrySet()) {
      String attributeName = attribute.getKey();
      String attributeValue = attribute.getValue();

      //need to call toUpper() because propertyName is name().toLowerCase()
      ConfigurationInfo.Supports s = ConfigurationInfo.Supports.valueOf(attributeName.toUpperCase());
      String specifiedVal = specifiedAttributes.get(s.getXmlAttributeName());
      if (specifiedVal != null) {
        assertEquals(specifiedVal, attributeValue);
      } else {
        assertEquals(s.getDefaultValue(), attributeValue);
      }
    }
  }
Verify stack resolution for single sign-on details

@throws Exception
ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java