@BeforeClass
  public static void setupZookeeperServers() throws Exception {
    Random random = new Random();
    File tempDir = Files.createTempDirectory("helixClusterManager-" + random.nextInt(1000)).toFile();
    String tempDirPath = tempDir.getAbsolutePath();
    tempDir.deleteOnExit();
    int port = 2200;
    byte dcId = (byte) 0;
    for (String dcName : helixDcs) {
      dcsToZkInfo.put(dcName, new com.github.ambry.utils.TestUtils.ZkInfo(tempDirPath, dcName, dcId++, port, true));
      zookeeperServerPorts.add(port);
      port++;
    }
  }
Construct the static layout files and use that to instantiate a {@link MockHelixCluster}.
Instantiate a {@link MockHelixManagerFactory} for use by the cluster manager.
@param useComposite whether the test are to be done for the {@link CompositeClusterManager}
@param overrideEnabled whether the {@link ClusterMapConfig#clusterMapEnablePartitionOverride} is enabled.
                       This config is only applicable for {@link HelixClusterManager}
@param listenCrossColo whether listenCrossColo config in {@link ClusterMapConfig} should be set to true.
@param useAggregatedView whether aggregated view config in {@link ClusterMapConfig} should be set to true.
@throws Exception
ambry-clustermap/src/test/java/com/github/ambry/clustermap/HelixClusterManagerTest.java