listener.onTaskStart(data.task);
listener.onTaskStart(data.task);
@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 shouldInvokeStartOnListeners() { goro.addTaskListener(listener); Callable<?> task = mock(Callable.class); goro.schedule(task); testingQueues.executeAll(); verify(listener).onTaskStart(task); }
@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 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); }