public void testActionAlwaysBeginAndCommitTxAndCommitNewTx() throws Exception
{
TransactionCoordination.getInstance().bindTransaction(mockTransaction);
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(mockTransaction).commit();
verify(mockNewTransaction).commit();
verify(mockTransaction, VerificationModeFactory.times(0)).rollback();