public WorkflowActionResponse deactivate(String workflowId, User caller) {
    Checks.notNull(caller, "caller cannot be null to deactivate workflow [%s]", workflowId);
    String timeline = workflowDao.deactivate(workflowId, caller);
    LOG.info(timeline);
    TimelineEvent event =
        TimelineActionEvent.builder()
            .action(Actions.WorkflowAction.DEACTIVATE)
            .author(caller)
            .message(timeline)
            .build();
    return WorkflowActionResponse.from(workflowId, event);
  }
@Test
  public void testDeactivateError() {
    AssertHelper.assertThrows(
        "caller cannot be null to deactivate workflow",
        NullPointerException.class,
        "caller cannot be null to deactivate workflow [sample-minimal-wf]",
        () -> actionHandler.deactivate("sample-minimal-wf", null));
  }