public RunStrategy getRunStrategy(String workflowId) {
    PropertiesSnapshot properties = getCurrentPropertiesSnapshot(workflowId);
    LOG.debug("Properties for workflow [{}] are {}", workflowId, properties);
    return ObjectHelper.valueOrDefault(properties.getRunStrategy(), Defaults.DEFAULT_RUN_STRATEGY);
  }
@Test
  public void testGetRunStrategy() throws Exception {
    WorkflowDefinition wfd = loadWorkflow(TEST_WORKFLOW_ID1);
    workflowDao.addWorkflowDefinition(wfd, wfd.getPropertiesSnapshot().extractProperties());
    assertNotNull(wfd.getInternalId());
    RunStrategy runStrategy = workflowDao.getRunStrategy(TEST_WORKFLOW_ID1);
    assertEquals(RunStrategy.Rule.PARALLEL, runStrategy.getRule());
    assertEquals(20L, runStrategy.getWorkflowConcurrency());

    wfd = loadWorkflow(TEST_WORKFLOW_ID2);
    workflowDao.addWorkflowDefinition(wfd, wfd.getPropertiesSnapshot().extractProperties());
    assertNotNull(wfd.getInternalId());
    assertEquals(Defaults.DEFAULT_RUN_STRATEGY, workflowDao.getRunStrategy(TEST_WORKFLOW_ID2));
  }