public JobDAGInfo getJobInfo(Long jobId) {
        return jobClient.getJobInfo(jobId);
    }
@Test
    public void testGetJobInfo() {
        Common.setDeployMode(DeployMode.CLIENT);
        String filePath = TestUtils.getResource("/client_test.conf");
        JobConfig jobConfig = new JobConfig();
        jobConfig.setName("fake_to_console");

        SeaTunnelClient seaTunnelClient = createSeaTunnelClient();
        JobClient jobClient = seaTunnelClient.getJobClient();

        try {
            ClientJobExecutionEnvironment jobExecutionEnv =
                    seaTunnelClient.createExecutionContext(filePath, jobConfig, SEATUNNEL_CONFIG);
            final ClientJobProxy clientJobProxy = jobExecutionEnv.execute();
            CompletableFuture.supplyAsync(clientJobProxy::waitForJobComplete);
            long jobId = clientJobProxy.getJobId();

            // Running
            Assertions.assertNotNull(jobClient.getJobInfo(jobId));

            await().atMost(180000, TimeUnit.MILLISECONDS)
                    .untilAsserted(
                            () -> {
                                Thread.sleep(1000);
                                log.info(
                                        "======================job status:"
                                                + jobClient.getJobDetailStatus(jobId));
                                log.info(
                                        "======================list job status:"
                                                + jobClient.listJobStatus(true));
                                Assertions.assertTrue(
                                        jobClient.getJobDetailStatus(jobId).contains("FINISHED")
                                                && jobClient
                                                        .listJobStatus(true)
                                                        .contains("FINISHED"));
                            });
            // Finished
            JobDAGInfo jobInfo = jobClient.getJobInfo(jobId);
            Assertions.assertTrue(
                    StringUtils.isNotEmpty(new ObjectMapper().writeValueAsString(jobInfo)));

        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            seaTunnelClient.close();
        }
    }