@Test public void testGetTransactionContext() throws Exception { assertSame(server.getOrCreateTransactionContext(THREAD1), server.getOrCreateTransactionContext(THREAD1)); }
@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 testRequestCommit() throws Exception{ TransactionContext tc = server.getOrCreateTransactionContext(THREAD1); server.begin(tc); server.commit(tc); assertEquals(TransactionContext.Scope.NONE, tc.getTransactionType()); Mockito.verify(tm).commit(); }
@Test public void testRequestCancel() throws Exception{ TransactionContext tc = server.getOrCreateTransactionContext(THREAD1); server.begin(tc); server.cancelTransactions(THREAD1, true); Mockito.verify(txn).setRollbackOnly(); } }
@Test public void testGlobalOnePhaseCommit_force_prepare() throws Exception { server.start(THREAD1, XID1, XAResource.TMNOFLAGS, 100,false); TransactionContext tc = server.getOrCreateTransactionContext(THREAD1); server.end(THREAD1, XID1, XAResource.TMSUCCESS, false); server.commit(THREAD1, XID1, true, false); // since there are two sources the commit is not single phase Mockito.verify(xaImporter).prepare(tc.getXid()); Mockito.verify(xaImporter).commit(tc.getXid(), false); }
@Test public void testGlobalOnePhaseCommit_force_prepare_through() throws Exception { server.start(THREAD1, XID1, XAResource.TMNOFLAGS, 100,false); TransactionContext tc = server.getOrCreateTransactionContext(THREAD1); server.end(THREAD1, XID1, XAResource.TMSUCCESS, false); server.commit(THREAD1, XID1, true, false); Mockito.verify(xaImporter).prepare(tc.getXid()); Mockito.verify(xaImporter).commit(tc.getXid(), false); }
@Test public void testGlobalPrepare() 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); Mockito.verify(xaImporter).prepare(tc.getXid()); server.commit(THREAD1, XID1, true, false); }
@Test public void testGlobalOnePhaseCommit() 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.commit(THREAD1, XID1, true, false); Mockito.verify(xaImporter).commit(tc.getXid(), false); }
@Test public void testGlobalOnePhase_teiid_multiple() 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.commit(THREAD1, XID1, true, false); // since there are two sources the commit is not single phase Mockito.verify(xaImporter).commit(tc.getXid(), false); }
@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()); }