@Test
public void testHiveConfigClusterUpdateCustomValue() throws Exception {

  final String expectedHostGroupName = "host_group_1";
  final String expectedPropertyValue =
    "hive.metastore.local=false,hive.metastore.uris=thrift://headnode0.ivantestcluster2-ssh.d1.internal.cloudapp.net:9083,hive.user.install.directory=/user";
  Map<String, Map<String, String>> properties = new HashMap<String, Map<String, String>>();
  Map<String, String> webHCatSiteProperties = new HashMap<String, String>();
  properties.put("webhcat-site", webHCatSiteProperties);
  // setup properties that include host information
  webHCatSiteProperties.put("templeton.hive.properties", expectedPropertyValue);
  Configuration clusterConfig = new Configuration(properties, Collections.<String, Map<String, Map<String, String>>>emptyMap());
  Collection<String> hgComponents = new HashSet<String>();
  hgComponents.add("NAMENODE");
  List<String> hosts = new ArrayList<String>();
  hosts.add("some-hose");
  TestHostGroup group1 = new TestHostGroup(expectedHostGroupName, hgComponents, hosts);
  Collection<TestHostGroup> hostGroups = new HashSet<TestHostGroup>();
  hostGroups.add(group1);
  ClusterTopology topology = createClusterTopology(bp, clusterConfig, hostGroups);
  BlueprintConfigurationProcessor updater = new BlueprintConfigurationProcessor(topology);
  // call top-level cluster config update method
  updater.doUpdateForClusterCreate();
  assertEquals("Unexpected config update for templeton.hive.properties",
    expectedPropertyValue,
    webHCatSiteProperties.get("templeton.hive.properties"));
}