@Before
  public void setUp() throws Exception {
    assumeThat(TD_API_KEY, not(isEmptyOrNullString()));
    projectDir = folder.getRoot().toPath().toAbsolutePath().normalize();
    config = folder.newFile().toPath();
    Files.write(config, asList("secrets.td.apikey = " + TD_API_KEY));
    outfile = projectDir.resolve("outfile");

    client = TDClient.newBuilder(false).setApiKey(TD_API_KEY).build();
    database = "tmp_" + UUID.randomUUID().toString().replace('-', '_');
    client.createDatabase(database);

    table = "test";
    String insertJobId =
        client.submit(
            TDJobRequest.newPrestoQuery(database, "create table " + table + " as select 1"));

    TestUtils.expect(Duration.ofMinutes(5), jobSuccess(client, insertJobId));

    String selectCountJobId =
        client.submit(TDJobRequest.newPrestoQuery(database, "select count(*) from " + table));
    TestUtils.expect(Duration.ofMinutes(5), jobSuccess(client, selectCountJobId));

    List<ArrayNode> result = downloadResult(selectCountJobId);
    assertThat(result.get(0).get(0).asInt(), is(1));
  }
  @Test
  public void testPartialDeleteWithEpochNumbers() throws Exception {
    copyResource(
        "acceptance/td/td_partial_delete/td_partial_delete_with_epoch_numbers.dig",
        projectDir.resolve("workflow.dig"));

    CommandStatus runStatus =
        main(
            "run",
            "-o",
            projectDir.toString(),
            "--config",
            config.toString(),
            "--project",
            projectDir.toString(),
            "-p",
            "outfile=" + outfile,
            "-p",
            "database=" + database,
            "-p",
            "table=" + table,
            "workflow.dig");

    assertThat(runStatus.errUtf8(), runStatus.code(), is(0));

    assertThat(Files.exists(outfile), is(true));

    // Verify that table contents are deleted
    String selectCountJobId =
        client.submit(TDJobRequest.newPrestoQuery(database, "select count(*) from " + table));
    TestUtils.expect(Duration.ofMinutes(5), jobSuccess(client, selectCountJobId));
    List<ArrayNode> result = downloadResult(selectCountJobId);
    assertThat(result.get(0).get(0).asInt(), is(0));
  }