TransactionCoordination.getInstance().bindTransaction(mockTransaction);
mockTransaction.setXA(true);
MuleTransactionConfig config = new MuleTransactionConfig(TransactionConfig.ACTION_ALWAYS_BEGIN);
ExecutionTemplate executionTemplate = createExecutionTemplate(config);
config.setFactory(new TestTransactionFactory(mockNewTransaction));
Object result = executionTemplate.execute(getEmptyTransactionCallback());
assertThat((MuleEvent) result, is(RETURN_VALUE));
verify(mockNewTransaction).commit();
verify(mockNewTransaction, VerificationModeFactory.times(0)).rollback();
verify(mockTransaction).suspend();
verify(mockTransaction).resume();