@Test
public void testDoUpdateForClusterVerifyRetrySettingsCustomized() throws Exception {

  Map<String, Map<String, String>> configProperties =
    new HashMap<String, Map<String, String>>();
  HashMap<String, String> clusterEnvProperties = new HashMap<String, String>();
  configProperties.put("cluster-env", clusterEnvProperties);
  clusterEnvProperties.put("command_retry_enabled", "false");
  clusterEnvProperties.put("commands_to_retry", "TEST");
  clusterEnvProperties.put("command_retry_max_time_in_sec", "1");
  Configuration clusterConfig = new Configuration(configProperties, Collections.<String, Map<String, Map<String, String>>>emptyMap());
  TestHostGroup testHostGroup = new TestHostGroup("test-host-group-one", Collections.<String>emptySet(), Collections.<String>emptySet());
  ClusterTopology topology = createClusterTopology(bp, clusterConfig, Collections.singleton(testHostGroup));
  BlueprintConfigurationProcessor updater = new BlueprintConfigurationProcessor(topology);
  Set<String> updatedConfigTypes =
    updater.doUpdateForClusterCreate();
  // after update, verify that the retry properties for commands and installs are set as expected
  // in this case, the customer-provided overrides should be honored, rather than the retry defaults
  assertEquals("Incorrect number of properties added to cluster-env for retry",
    3, clusterEnvProperties.size());
  assertEquals("command_retry_enabled was not set to the expected default",
    "false", clusterEnvProperties.get("command_retry_enabled"));
  assertEquals("commands_to_retry was not set to the expected default",
    "TEST", clusterEnvProperties.get("commands_to_retry"));
  assertEquals("command_retry_max_time_in_sec was not set to the expected default",
    "1", clusterEnvProperties.get("command_retry_max_time_in_sec"));
  assertEquals("Incorrect number of config types updated",
    0, updatedConfigTypes.size());
}