### Question:
HighAvailabilityServicesUtils { public static HighAvailabilityServices createAvailableOrEmbeddedServices( Configuration config, Executor executor) throws Exception { HighAvailabilityMode highAvailabilityMode = LeaderRetrievalUtils.getRecoveryMode(config); switch (highAvailabilityMode) { case NONE: return new EmbeddedHaServices(executor); case ZOOKEEPER: BlobStoreService blobStoreService = BlobUtils.createBlobStoreFromConfig(config); return new ZooKeeperHaServices( ZooKeeperUtils.startCuratorFramework(config), executor, config, blobStoreService); case FACTORY_CLASS: return createCustomHAServices(config, executor); default: throw new Exception("High availability mode " + highAvailabilityMode + " is not supported."); } }  static HighAvailabilityServices createAvailableOrEmbeddedServices(
		Configuration config,
		Executor executor); static HighAvailabilityServices createHighAvailabilityServices(
		Configuration configuration,
		Executor executor,
		AddressResolution addressResolution); static Tuple2<String, Integer> getJobManagerAddress(Configuration configuration);  }### Answer:
@Test(expected = Exception.class) public void testCustomHAServicesFactoryNotDefined() throws Exception { Configuration config = new Configuration(); Executor executor = Mockito.mock(Executor.class); config.setString(HighAvailabilityOptions.HA_MODE, HighAvailabilityMode.FACTORY_CLASS.name().toLowerCase()); HighAvailabilityServicesUtils.createAvailableOrEmbeddedServices(config, executor); }