@Test public void testBadSubprocList() { List<String> state = new ArrayList<>(); Procedure<Void> subProc2 = new TestSequentialProcedure("subProc2", state); Procedure<Void> subProc1 = new TestSequentialProcedure("subProc1", state, subProc2, NULL_PROC); Procedure<Void> rootProc = new TestSequentialProcedure("rootProc", state, subProc1); long rootId = ProcedureTestingUtility.submitAndWait(procExecutor, rootProc); // subProc1 has a "null" subprocedure which is catched as InvalidArgument // failed state with 2 execute and 2 rollback LOG.info(Objects.toString(state)); Procedure<?> result = procExecutor.getResult(rootId); assertTrue(state.toString(), result.isFailed()); ProcedureTestingUtility.assertIsIllegalArgumentException(result); assertEquals(state.toString(), 4, state.size()); assertEquals("rootProc-execute", state.get(0)); assertEquals("subProc1-execute", state.get(1)); assertEquals("subProc1-rollback", state.get(2)); assertEquals("rootProc-rollback", state.get(3)); }
@Test public void testBadSubprocList() { List<String> state = new ArrayList<>(); Procedure subProc2 = new TestSequentialProcedure("subProc2", state); Procedure subProc1 = new TestSequentialProcedure("subProc1", state, subProc2, NULL_PROC); Procedure rootProc = new TestSequentialProcedure("rootProc", state, subProc1); long rootId = ProcedureTestingUtility.submitAndWait(procExecutor, rootProc); // subProc1 has a "null" subprocedure which is catched as InvalidArgument // failed state with 2 execute and 2 rollback LOG.info(Objects.toString(state)); Procedure<?> result = procExecutor.getResult(rootId); assertTrue(state.toString(), result.isFailed()); ProcedureTestingUtility.assertIsIllegalArgumentException(result); assertEquals(state.toString(), 4, state.size()); assertEquals("rootProc-execute", state.get(0)); assertEquals("subProc1-execute", state.get(1)); assertEquals("subProc1-rollback", state.get(2)); assertEquals("rootProc-rollback", state.get(3)); }
@Test public void testBadSubprocList() { List<String> state = new ArrayList<>(); Procedure<Void> subProc2 = new TestSequentialProcedure("subProc2", state); Procedure<Void> subProc1 = new TestSequentialProcedure("subProc1", state, subProc2, NULL_PROC); Procedure<Void> rootProc = new TestSequentialProcedure("rootProc", state, subProc1); long rootId = ProcedureTestingUtility.submitAndWait(procExecutor, rootProc); // subProc1 has a "null" subprocedure which is catched as InvalidArgument // failed state with 2 execute and 2 rollback LOG.info(Objects.toString(state)); Procedure<?> result = procExecutor.getResult(rootId); assertTrue(state.toString(), result.isFailed()); ProcedureTestingUtility.assertIsIllegalArgumentException(result); assertEquals(state.toString(), 4, state.size()); assertEquals("rootProc-execute", state.get(0)); assertEquals("subProc1-execute", state.get(1)); assertEquals("subProc1-rollback", state.get(2)); assertEquals("rootProc-rollback", state.get(3)); }