@Override
    public JobStatus getJobStatus() {
        return JobStatus.RUNNING;
    }
@Test
    void testStateDoesNotExposeGloballyTerminalExecutionGraph() throws Exception {
        try (MockExecutingContext ctx = new MockExecutingContext()) {
            final FinishingMockExecutionGraph finishingMockExecutionGraph =
                    new FinishingMockExecutionGraph();
            Executing executing =
                    new ExecutingStateBuilder()
                            .setExecutionGraph(finishingMockExecutionGraph)
                            .build(ctx);

            // ideally we'd delay the async call to #onGloballyTerminalState instead, but the
            // context does not support that
            ctx.setExpectFinished(eg -> {});

            finishingMockExecutionGraph.completeTerminationFuture(JobStatus.FINISHED);

            // this is just a sanity check for the test
            assertThat(executing.getExecutionGraph().getState()).isEqualTo(JobStatus.FINISHED);

            assertThat(executing.getJobStatus()).isEqualTo(JobStatus.RUNNING);
            assertThat(executing.getJob().getState()).isEqualTo(JobStatus.RUNNING);
            assertThat(executing.getJob().getStatusTimestamp(JobStatus.FINISHED)).isZero();
        }
    }