public Map<String, StepRuntimeState> getAllStepStates(
      String workflowId, long workflowInstanceId, long workflowRunId) {
    return withMetricLogError(
        () ->
            withRetryableQuery(
                GET_ALL_STEP_LAST_ATTEMPT_STATE_QUERY,
                stmt -> {
                  int idx = 0;
                  stmt.setString(++idx, workflowId);
                  stmt.setLong(++idx, workflowInstanceId);
                  stmt.setLong(++idx, workflowRunId);
                },
                this::getStringStepRuntimeStateMap),
        "getAllStepStates",
        "Failed to get the overall step attempt stats for [{}][{}][{}]",
        workflowId,
        workflowInstanceId,
        workflowRunId);
  }
@Test
  public void testGetAllStepStates() {
    Map<String, StepRuntimeState> stats = stepDao.getAllStepStates(TEST_WORKFLOW_ID, 1, 1);
    assertEquals(singletonMap(si.getStepId(), si.getRuntimeState()), stats);
  }