@Test public void testLocalRollback() throws Exception { server.begin(THREAD1); server.rollback(THREAD1); Mockito.verify(tm).rollback(); try { server.rollback(THREAD1); } catch (XATransactionException e) { assertEquals("TEIID30526 javax.transaction.InvalidTransactionException: No transaction found for client abc1.", e.getMessage()); //$NON-NLS-1$ } }
@Test public void testRequestRollback() throws Exception{ TransactionContext tc = server.getOrCreateTransactionContext(THREAD1); server.begin(tc); server.rollback(tc); assertEquals(TransactionContext.Scope.NONE, tc.getTransactionType()); Mockito.verify(tm).rollback(); }
@Test public void testGlobalOnePhaseRoolback() throws Exception { server.start(THREAD1, XID1, XAResource.TMNOFLAGS, 100,false); TransactionContext tc = server.getOrCreateTransactionContext(THREAD1); server.end(THREAD1, XID1, XAResource.TMSUCCESS, false); server.prepare(THREAD1, XID1, false); server.rollback(THREAD1, XID1, false); // since there are two sources the commit is not single phase Mockito.verify(xaImporter).rollback(tc.getXid()); }