public Properties extractProperties() {
    Properties properties = new Properties();
    properties.setOwner(owner);
    properties.setAccessControl(accessControl);
    properties.setRunStrategy(runStrategy);
    properties.setStepConcurrency(stepConcurrency);
    properties.setAlerting(alerting);
    properties.setAlertingDisabled(alertingDisabled);
    properties.setSignalTriggerDisabled(signalTriggerDisabled);
    properties.setTimeTriggerDisabled(timeTriggerDisabled);
    properties.setDescription(description);
    properties.setTags(tags);
    return properties;
  }
@Test
  public void testExtractProperties() throws Exception {
    PropertiesSnapshot ps =
        loadObject(
            "fixtures/workflows/definition/sample-properties.json", PropertiesSnapshot.class);
    Properties extracted = ps.extractProperties();
    assertEquals(ps.getOwner(), extracted.getOwner());
    assertEquals(ps.getAccessControl(), extracted.getAccessControl());
    assertEquals(ps.getRunStrategy(), extracted.getRunStrategy());
    assertEquals(ps.getStepConcurrency(), extracted.getStepConcurrency());
    assertEquals(ps.getAlerting(), extracted.getAlerting());
    assertEquals(ps.getAlertingDisabled(), extracted.getAlertingDisabled());
    assertEquals(ps.getSignalTriggerDisabled(), extracted.getSignalTriggerDisabled());
    assertEquals(ps.getTimeTriggerDisabled(), extracted.getTimeTriggerDisabled());
    assertEquals(ps.getDescription(), extracted.getDescription());
    assertEquals(ps.getTags(), extracted.getTags());
  }