private String getRenderStackRequestPath() {
   return getBaseDataPath()
       + "/owner/"
       + acquireStackId.getOwner()
       + "/project/"
       + acquireStackId.getProject()
       + "/stack/"
       + acquireStackId.getStack();
 }
  @Test
  public void testClient() throws Exception {

    mockServer.reset();
    deleteMontageWorkDirectory();

    addRenderStackMetaDataResponse();

    for (int i = 0; i < 5; i++) {
      addAcqNextTileResponse(
          getAcquisitionTileList(AcquisitionTileList.ResultType.TILE_FOUND, "tile_" + i, 1.0));
    }

    addAcqNextTileResponse(
        getAcquisitionTileList(AcquisitionTileList.ResultType.SERVED_ALL_ACQ, null, null));

    addRenderResolvedTilesResponse();

    addAcqTileStateResponse();

    final String montageScript;
    if (File.separatorChar == '/') {
      montageScript = "ls";
    } else {
      montageScript = "dir";
    }

    LowLatencyMontageClient.main(
        new String[] {
          "--baseDataUrl", getBaseDataUrl(),
          "--owner", acquireStackId.getOwner(),
          "--project", acquireStackId.getProject(),
          "--baseAcquisitionUrl", getBaseAcquisitionUrl(),
          "--montageScript", montageScript,
          "--montageParametersFile", "src/test/resources/montage-test/montage-parameters.json",
          "--montageWorkDirectory", montageWorkDirectory.getAbsolutePath()
        });

    Assert.assertTrue("test failed", mockServer.isRunning());
  }