DockerInterpreterProcess extends RemoteInterpreterProcess { @Override public String getInterpreterSettingName() { return interpreterSettingName; } DockerInterpreterProcess(
      ZeppelinConfiguration zconf,
      String containerImage,
      String interpreterGroupId,
      String interpreterGroupName,
      String interpreterSettingName,
      Properties properties,
      Map<String, String> envs,
      String intpEventServerHost,
      int intpEventServerPort,
      int connectTimeout,
      int connectionPoolSize
  ); @Override String getInterpreterGroupId(); @Override String getInterpreterSettingName(); @Override void start(String userName); @Override void processStarted(int port, String host); @Override void stop(); @Override String getHost(); @Override int getPort(); @Override boolean isRunning(); @Override String getErrorMessage();  }
@Test public void testCreateIntpProcess() throws IOException { DockerInterpreterLauncher launcher = new DockerInterpreterLauncher(zconf, null); Properties properties = new Properties(); properties.setProperty( ZeppelinConfiguration.ConfVars.ZEPPELIN_INTERPRETER_CONNECT_TIMEOUT.getVarName(), "5000"); InterpreterOption option = new InterpreterOption(); InterpreterLaunchContext context = new InterpreterLaunchContext(properties, option, null, "user1", "intpGroupId", "groupId", "groupName", "name", 0, "host"); InterpreterClient client = launcher.launch(context); assertTrue(client instanceof DockerInterpreterProcess); DockerInterpreterProcess interpreterProcess = (DockerInterpreterProcess) client; assertEquals("name", interpreterProcess.getInterpreterSettingName()); assertEquals(interpreterProcess.CONTAINER_SPARK_HOME, "/spark"); assertEquals(interpreterProcess.uploadLocalLibToContainter, true); assertNotEquals(interpreterProcess.DOCKER_HOST, "http: }