@Test
  public void testDoUpdateForClusterCreate_OnlyOneUpdaterForEachProperty() throws Exception {
    BlueprintConfigurationProcessor bpConfigProcessor = new BlueprintConfigurationProcessor(
      createClusterTopology(bp, new Configuration(emptyMap(), emptyMap()), emptyList()));
    Collection<Map<String, Map<String, BlueprintConfigurationProcessor.PropertyUpdater>>> updaters =
      bpConfigProcessor.createCollectionOfUpdaters();

    // Make a list of all (configType, propertyName) pairs that have updaters
    List<Pair<String, String>> propertiesWithUpdaters = updaters.stream().
      flatMap(map -> map.entrySet().stream()).
      flatMap(entry -> {
        String configType = entry.getKey();
        return entry.getValue().keySet().stream().map(propertyName -> Pair.of(configType, propertyName));
      }).
      sorted().
      collect(toList());

    // Look for duplicates in the list
    Set<Pair<String, String>> duplicates = new HashSet<>();
    for (PeekingIterator<Pair<String, String>> it = peekingIterator(propertiesWithUpdaters.iterator()); it.hasNext(); ) {
      Pair<String, String> property = it.next();
      if (it.hasNext() && it.peek().equals(property)) {
        duplicates.add(property);
      }
    }
    assertTrue("There are properties with multiple updaters: " + duplicates, duplicates.isEmpty());
  }
There is no support currently for deploying a fully Kerberized
cluster with Blueprints.  This test verifies the current treatment
of Kerberos-related properties in a Blueprint export.

@throws Exception
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java