@Before
  public void setup() {
    resetAll();

    EasyMock.expect(clusterTopologyMock.getConfiguration()).andReturn(topologyConfigurationMock);
    EasyMock.expect(topologyConfigurationMock.getFullProperties(1)).andReturn(topologyConfigurationMap);

    EasyMock.expect(clusterTopologyMock.getBlueprint()).andReturn(blueprintMock).anyTimes();

    EasyMock.expect(blueprintMock.getHostGroups()).andReturn(hostGroups);
    EasyMock.expect(blueprintMock.getServices()).andReturn(bpServices);
    EasyMock.expect(blueprintMock.getStack()).andReturn(stackMock).anyTimes();

    EasyMock.expect(masterHostGroupMock.getName()).andReturn("master").anyTimes();
    EasyMock.expect(masterHostGroupMock.getConfiguration()).andReturn(masterHostGroupConfigurationMock).anyTimes();
    EasyMock.expect(masterHostGroupMock.getServices()).andReturn(masterHostGroupServices);


    EasyMock.expect(slaveHostGroupMock.getName()).andReturn("slave").anyTimes();
    EasyMock.expect(slaveHostGroupMock.getConfiguration()).andReturn(slaveHostGroupConfigurationMock).anyTimes();
    EasyMock.expect(slaveHostGroupMock.getServices()).andReturn(slaveHostGroupServices);

    // there are 2 hostgroups to be considered by the test
    hostGroups.put("master", masterHostGroupMock);
    hostGroups.put("slave", slaveHostGroupMock);

    // services in the blueprint
    bpServices.addAll(Lists.newArrayList("KERBEROS", "OOZIE"));

    // host group services
    masterHostGroupServices.addAll(Collections.singletonList("KERBEROS"));
    slaveHostGroupServices.addAll(Collections.singletonList("KERBEROS"));

    EasyMock.expect(masterHostGroupConfigurationMock.getProperties()).andReturn(masterHostGroupConfigurationMap);
    EasyMock.expect(slaveHostGroupConfigurationMock.getProperties()).andReturn(slaveHostGroupConfigurationMap);

    // services in the blueprint
    bpServices.addAll(Lists.newArrayList("KERBEROS", "OOZIE"));

    // required properties for listed services
    EasyMock.expect(stackMock.getRequiredConfigurationProperties("KERBEROS")).
      andReturn(Lists.newArrayList(
        new Stack.ConfigProperty("kerberos-env", "realm", "value"),
        new Stack.ConfigProperty("kerberos-env", "kdc_type", "value"), // this is missing!
        new Stack.ConfigProperty("krb5-conf", "domains", "smthg")));

    EasyMock.expect(stackMock.getRequiredConfigurationProperties("OOZIE")).andReturn(Collections.EMPTY_LIST);

  }
Assembles the basic default fixture of the test:
The blueprint has 2 hostgroups, both of them contains the KERBEROS service (or KERBEROS_CLIENT)
The changing items are the configurations, that my come from the topology (bp + cct) or the hostg roups
ambari-server/src/test/java/org/apache/ambari/server/topology/validators/RequiredConfigPropertiesValidatorTest.java