public PropertiesSnapshot getWorkflowPropertiesSnapshot(String workflowId, String snapshotId) {
    if (Constants.LATEST_INSTANCE_RUN.equalsIgnoreCase(snapshotId)) {
      return getLatestPropertiesSnapshot(workflowId);
    } else {
      throw new UnsupportedOperationException("Specific snapshot version is not implemented.");
    }
  }
@Test
  public void testGetWorkflowPropertiesSnapshot() throws Exception {
    WorkflowDefinition wfd = loadWorkflow(TEST_WORKFLOW_ID1);
    workflowDao.addWorkflowDefinition(wfd, wfd.getPropertiesSnapshot().extractProperties());
    assertNotNull(wfd.getInternalId());
    PropertiesSnapshot snapshot =
        workflowDao.getWorkflowPropertiesSnapshot(TEST_WORKFLOW_ID1, "latest");
    assertEquals(TEST_WORKFLOW_ID1, snapshot.getWorkflowId());
    assertEquals(RunStrategy.Rule.PARALLEL, snapshot.getRunStrategy().getRule());
    assertEquals(20, snapshot.getRunStrategy().getWorkflowConcurrency());
    assertEquals(20, snapshot.getStepConcurrency().longValue());
    assertEquals(1, snapshot.getAlerting().getTct().getCompletedByHour().intValue());
  }