### Question:
ServingLayer implements Closeable { public ServingLayer(Config config) { Objects.requireNonNull(config); log.info("Configuration:\n{}", ConfigUtils.prettyPrint(config)); this.config = config; this.id = ConfigUtils.getOptionalString(config, "oryx.id"); this.port = config.getInt("oryx.serving.api.port"); this.securePort = config.getInt("oryx.serving.api.secure-port"); this.userName = ConfigUtils.getOptionalString(config, "oryx.serving.api.user-name"); this.password = ConfigUtils.getOptionalString(config, "oryx.serving.api.password"); String keystoreFileString = ConfigUtils.getOptionalString(config, "oryx.serving.api.keystore-file"); this.keystoreFile = keystoreFileString == null ? null : Paths.get(keystoreFileString); this.keystorePassword = ConfigUtils.getOptionalString(config, "oryx.serving.api.keystore-password"); this.keyAlias = ConfigUtils.getOptionalString(config, "oryx.serving.api.key-alias"); String contextPathString = config.getString("oryx.serving.api.context-path"); if (contextPathString == null || contextPathString.isEmpty() || "/".equals(contextPathString)) { contextPathString = ""; } this.contextPathURIBase = contextPathString; this.appResourcesPackages = config.getString("oryx.serving.application-resources") + ",com.cloudera.oryx.lambda.serving"; this.doNotInitTopics = config.getBoolean("oryx.serving.no-init-topics"); } ServingLayer(Config config); synchronized void start(); void await(); Context getContext(); @Override synchronized void close();  }### Answer:
@Test public void testServingLayer() throws Exception { Map<String,Object> overlay = buildOverlay(); Config config = ConfigUtils.overlayOn(overlay, ConfigUtils.getDefault()); doTestServingLayer(config); }