case MSG_SCHEDULE: for (GoroListener listener : taskListeners) { listener.onTaskSchedule(data.task, data.queue); listener.onTaskStart(data.task); listener.onTaskFinish(data.task, data.resultOrError); listener.onTaskError(data.task, (Throwable) data.resultOrError); listener.onTaskCancel(data.task);
@Test public void shouldInvokeErrorOnListeners() { goro.addTaskListener(listener); final Exception error = new Exception(); Callable<?> task = new Callable<Object>() { @Override public Object call() throws Exception { throw error; } }; goro.schedule(task); testingQueues.executeAll(); InOrder order = inOrder(listener); order.verify(listener).onTaskSchedule(task, Goro.DEFAULT_QUEUE); order.verify(listener).onTaskStart(task); order.verify(listener).onTaskError(task, error); }
@Test public void shouldInvokeFinishOnListeners() throws Exception { goro.addTaskListener(listener); Callable<?> task = mock(Callable.class); Object result = new Object(); doReturn(result).when(task).call(); goro.schedule(task); testingQueues.executeAll(); InOrder order = inOrder(listener); order.verify(listener).onTaskStart(task); order.verify(listener).onTaskFinish(task, result); }
@Test public void shouldInvokeCancelOnListeners() { goro.addTaskListener(listener); Callable<?> task = mock(Callable.class); goro.schedule(task).cancel(true); testingQueues.executeAll(); verify(listener, never()).onTaskStart(task); verify(listener).onTaskCancel(task); }
@Test public void shouldInvokeScheduleOnListeners() { goro.addTaskListener(listener); Callable task = mock(Callable.class); goro.schedule(task); verify(listener).onTaskSchedule(task, Goro.DEFAULT_QUEUE); }
@Test public void shouldInvokeStartOnListeners() { goro.addTaskListener(listener); Callable<?> task = mock(Callable.class); goro.schedule(task); testingQueues.executeAll(); verify(listener).onTaskStart(task); }
case MSG_SCHEDULE: for (GoroListener listener : taskListeners) { listener.onTaskSchedule(data.task, data.queue); listener.onTaskStart(data.task); listener.onTaskFinish(data.task, data.resultOrError); listener.onTaskError(data.task, (Throwable) data.resultOrError); listener.onTaskCancel(data.task);