@Test public void testLocalCommit() throws Exception { server.begin(THREAD1); server.commit(THREAD1); Mockito.verify(tm).commit(); try { server.commit(THREAD1); } catch (XATransactionException e) { assertEquals("TEIID30526 javax.transaction.InvalidTransactionException: No transaction found for client abc1.", e.getMessage()); //$NON-NLS-1$ } }
@Test public void testTwoPhaseCommit() throws Exception { server.start(THREAD1, XID1, XAResource.TMNOFLAGS, 100,false); server.end(THREAD1, XID1, XAResource.TMSUCCESS, false); server.commit(THREAD1, XID1, false, false); Mockito.verify(xaImporter).commit(XID1, false); }
@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 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 testGetTransactions() throws Exception { server.start(THREAD1, XID1, XAResource.TMNOFLAGS, 100,false); server.begin(THREAD2); assertEquals(2, server.getTransactions().size()); server.commit(THREAD2); assertEquals(1, server.getTransactions().size()); Transaction t = server.getTransactions().iterator().next(); assertEquals(THREAD1, t.getAssociatedSession()); assertNotNull(t.getId()); }
@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); }