@Test
public void shouldCallTheCommandApiSuspensionBeanAndShutter() throws Exception {

    final UUID commandId = randomUUID();
    final SuspensionCommand suspensionCommand = mock(SuspensionCommand.class);
    final SuspensionResult suspensionResult = commandApiSuspender.suspend(commandId, suspensionCommand);
    assertThat(suspensionResult.getCommandId(), is(commandId));
    assertThat(suspensionResult.getCommandState(), is(COMMAND_COMPLETE));
    assertThat(suspensionResult.getSystemCommand(), is(suspensionCommand));
    assertThat(suspensionResult.getMessage(), is("Command API suspended with no errors"));
    assertThat(suspensionResult.getSuspendableName(), is("CommandApiSuspender"));
    assertThat(suspensionResult.getException(), is(empty()));
    final InOrder inOrder = inOrder(logger, commandApiSuspensionBean);
    inOrder.verify(logger).info("Suspending Command API");
    inOrder.verify(commandApiSuspensionBean).suspend();
    inOrder.verify(logger).info("Suspension of Command API complete");
}