@Test public void commandCanSendBackCommitMessageAfterInvokeAfterCompletion() throws Exception { when(part0.getInt()).thenReturn(TXSynchronizationOp.CompletionType.AFTER_COMPLETION.ordinal()); when(part2.getInt()).thenReturn(Status.STATUS_COMMITTED); when(txStateProxy.getCommitMessage()).thenReturn(txCommitMessage); doCallRealMethod().when(command).cmdExecute(clientMessage, serverConnection, null, 1); command.cmdExecute(clientMessage, serverConnection, null, 1); verify(txStateProxy, times(1)).afterCompletion(Status.STATUS_COMMITTED); verify(command, times(1)).writeCommitResponse(clientMessage, serverConnection, txCommitMessage); verify(serverConnection, times(1)).setAsTrue(Command.RESPONDED); } }