@Test public void testFailingSequence() throws Throwable { MockService one = new MockService("one", true, 100); MockService two = new MockService("two", false, 100); WorkflowSequenceService parent = (WorkflowSequenceService) startService(one, two); waitForParentToStop(parent); assertStopped(one); assertInState(two, Service.STATE.NOTINITED); assertEquals(one, parent.getPreviousService()); }
@Test public void testFailingSequence() throws Throwable { MockService one = new MockService("one", true, 100); MockService two = new MockService("two", false, 100); WorkflowSequenceService parent = (WorkflowSequenceService) startService(one, two); waitForParentToStop(parent); assertStopped(one); assertInState(two, Service.STATE.NOTINITED); assertEquals(one, parent.getPreviousService()); }
@Test public void testFailInStartNext() throws Throwable { MockService one = new MockService("one", false, 100); MockService two = new MockService("two", true, 0); MockService three = new MockService("3", false, 0); ServiceParent parent = startService(one, two, three); waitForParentToStop(parent); assertStopped(one); assertStopped(two); Throwable failureCause = two.getFailureCause(); assertNotNull(failureCause); Throwable parentFailureCause = parent.getFailureCause(); assertNotNull(parentFailureCause); assertEquals(parentFailureCause, failureCause); assertInState(three, Service.STATE.NOTINITED); }
@Test public void testCallableChild() throws Throwable { MockService one = new MockService("one", false, 100); CallableHandler handler = new CallableHandler("hello"); WorkflowCallbackService<String> ens = new WorkflowCallbackService<String>("handler", handler, 100, true); MockService two = new MockService("two", false, 100); ServiceParent parent = startService(one, ens, two); waitForParentToStop(parent); assertStopped(one); assertStopped(ens); assertStopped(two); assertTrue(handler.notified); String s = ens.getScheduledFuture().get(); assertEquals("hello", s); }
@Test public void testFailInStartNext() throws Throwable { MockService one = new MockService("one", false, 100); MockService two = new MockService("two", true, 0); MockService three = new MockService("3", false, 0); ServiceParent parent = startService(one, two, three); waitForParentToStop(parent); assertStopped(one); assertStopped(two); Throwable failureCause = two.getFailureCause(); assertNotNull(failureCause); Throwable parentFailureCause = parent.getFailureCause(); assertNotNull(parentFailureCause); assertEquals(parentFailureCause, failureCause); assertInState(three, Service.STATE.NOTINITED); }
@Test public void testCallableChild() throws Throwable { MockService one = new MockService("one", false, 100); CallableHandler handler = new CallableHandler("hello"); WorkflowCallbackService<String> ens = new WorkflowCallbackService<String>("handler", handler, 100, true); MockService two = new MockService("two", false, 100); ServiceParent parent = startService(one, ens, two); waitForParentToStop(parent); assertStopped(one); assertStopped(ens); assertStopped(two); assertTrue(handler.notified); String s = ens.getScheduledFuture().get(); assertEquals("hello", s); }
@Test public void testAddChild() throws Throwable { MockService one = new MockService("one", false, 5000); MockService two = new MockService("two", false, 100); ServiceParent parent = startService(one, two); CallableHandler handler = new CallableHandler("hello"); WorkflowCallbackService<String> ens = new WorkflowCallbackService<String>("handler", handler, 100, true); parent.addService(ens); waitForParentToStop(parent, 10000); assertStopped(one); assertStopped(two); assertStopped(ens); assertStopped(two); assertEquals("hello", ens.getScheduledFuture().get()); }
@Test public void testAddChild() throws Throwable { MockService one = new MockService("one", false, 5000); MockService two = new MockService("two", false, 100); ServiceParent parent = startService(one, two); CallableHandler handler = new CallableHandler("hello"); WorkflowCallbackService<String> ens = new WorkflowCallbackService<String>("handler", handler, 100, true); parent.addService(ens); waitForParentToStop(parent, 10000); assertStopped(one); assertStopped(two); assertStopped(ens); assertStopped(two); assertEquals("hello", ens.getScheduledFuture().get()); }