@Test public void testInvalid () { XAOnePhaseResource xares = new XAOnePhaseResource(); assertEquals(xares.commit(), TwoPhaseOutcome.ONE_PHASE_ERROR); assertEquals(xares.rollback(), TwoPhaseOutcome.FINISH_ERROR); }
@Test public void testCommit () { SampleOnePhaseResource res = new SampleOnePhaseResource(); XidImple xid = new XidImple(new Uid()); XAOnePhaseResource xares = new XAOnePhaseResource(res, xid, null); assertEquals(xares.commit(), TwoPhaseOutcome.FINISH_OK); assertTrue(res.onePhaseCalled()); }
@Test public void testCommitHeuristic () { SampleOnePhaseResource res = new SampleOnePhaseResource(SampleOnePhaseResource.ErrorType.heurcom); XidImple xid = new XidImple(new Uid()); XAOnePhaseResource xares = new XAOnePhaseResource(res, xid, null); assertEquals(xares.commit(), TwoPhaseOutcome.FINISH_OK); assertTrue(res.forgetCalled()); }
@Test public void testCommitHeuristic () { SampleOnePhaseResource res = new SampleOnePhaseResource(ErrorType.heurcom); XidImple xid = new XidImple(new Uid()); XAOnePhaseResource xares = new XAOnePhaseResource(res, xid, null); assertEquals(xares.commit(), TwoPhaseOutcome.FINISH_OK); assertTrue(res.forgetCalled()); }
@Test public void testRollbackHeuristic () { SampleOnePhaseResource res = new SampleOnePhaseResource(SampleOnePhaseResource.ErrorType.heurrb); XidImple xid = new XidImple(new Uid()); XAOnePhaseResource xares = new XAOnePhaseResource(res, xid, null); assertEquals(xares.commit(), TwoPhaseOutcome.ONE_PHASE_ERROR); assertTrue(res.forgetCalled()); } }
@Test public void testRollbackHeuristic () { SampleOnePhaseResource res = new SampleOnePhaseResource(ErrorType.heurrb); XidImple xid = new XidImple(new Uid()); XAOnePhaseResource xares = new XAOnePhaseResource(res, xid, null); assertEquals(xares.commit(), TwoPhaseOutcome.ONE_PHASE_ERROR); assertTrue(res.forgetCalled()); }
@Test public void testFailure () throws Exception { SampleOnePhaseResource res = new SampleOnePhaseResource(ErrorType.heurmix); XAOnePhaseResource xares = new XAOnePhaseResource(res, new XidImple(new Uid()), null); assertEquals(xares.commit(), TwoPhaseOutcome.HEURISTIC_HAZARD); res = new SampleOnePhaseResource(ErrorType.rmerr); xares = new XAOnePhaseResource(res, new XidImple(new Uid()), null); assertEquals(xares.commit(), TwoPhaseOutcome.ONE_PHASE_ERROR); res = new SampleOnePhaseResource(ErrorType.nota); xares = new XAOnePhaseResource(res, new XidImple(new Uid()), null); assertEquals(xares.commit(), TwoPhaseOutcome.HEURISTIC_HAZARD); res = new SampleOnePhaseResource(ErrorType.inval); xares = new XAOnePhaseResource(res, new XidImple(new Uid()), null); assertEquals(xares.commit(), TwoPhaseOutcome.HEURISTIC_HAZARD); res = new SampleOnePhaseResource(ErrorType.proto); xares = new XAOnePhaseResource(res, new XidImple(new Uid()), null); assertEquals(xares.commit(), TwoPhaseOutcome.ONE_PHASE_ERROR); }