I am writing some basic unit tests using TestWorkflowEnvironment
. After completing a workflow, the WorkflowExecutionInfo
for the closed execution does not have closeTime_
set. Shouldn’t it be set here? https://github.com/temporalio/sdk-java/blob/v1.0.3/temporal-sdk/src/main/java/io/temporal/internal/testservice/TestWorkflowStoreImpl.java#L526
@WorkflowInterface
public interface TestWorkflow {
@WorkflowMethod
void workflowMethod();
}
public static class TestWorkflowImpl implements TestWorkflow {
@Override
public void workflowMethod() {
System.out.println("TemporalTest - workflowMethod called");
}
}
@Test
public void testTheWorkflow() throws ExecutionException, InterruptedException {
var workflowId = TestWorkflow.class.getSimpleName();
var options = WorkflowOptions.newBuilder()
.setWorkflowId(workflowId)
.setTaskQueue(WorkflowTestHelpers.TEST_TASK_QUEUE)
.build();
var testWorkflow = testWorkflowEnvironment.getWorkflowClient().newWorkflowStub(TestWorkflow.class, options);
System.out.println("TemporalTest - submitting workflow");
final CompletableFuture<Void> cf = WorkflowClient.execute(testWorkflow::workflowMethod);
cf.get();
System.out.println("TemporalTest - workflow completed");
var executionFilter = WorkflowExecutionFilter.newBuilder().setWorkflowId(workflowId).build();
var request = ListClosedWorkflowExecutionsRequest.newBuilder()
.setExecutionFilter(executionFilter).build();
var response = testWorkflowEnvironment.getWorkflowService()
.blockingStub().listClosedWorkflowExecutions(request);
System.out.printf("TemporalTest - hasCloseTime: %s\n", response.getExecutionsList().get(response.getExecutionsCount() - 1).hasCloseTime());
Assert.assertFalse(response.getExecutionsList().get(response.getExecutionsCount() - 1).hasCloseTime());
}