/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
/** * {@inheritDoc} */ @Override public boolean isFailed() { return _task.isFailed(); }
@Override protected void doRunExample(final Engine engine) throws Exception { final MockService<String> httpClient = getService(); final Task<String> fetchWithTimeout = fetchUrl(httpClient, "http://www.google.com") .withTimeout(50, TimeUnit.MILLISECONDS); engine.run(fetchWithTimeout); fetchWithTimeout.await(); System.out.println(!fetchWithTimeout.isFailed() ? "Received result: " + fetchWithTimeout.get() : "Error: " + fetchWithTimeout.getError()); ExampleUtil.printTracingResults(fetchWithTimeout); } }
@Test public void testTransformSuccessToFailure() { Task<String> success = getSuccessTask(); final Exception failureReason = new Exception(); Task<String> transformed = success.transform(tryT -> Failure.of(failureReason)); try { runAndWait("AbstractTaskTest.testTransformSuccessToSuccess", transformed); fail("should have failed"); } catch (Exception ex) { assertTrue(transformed.isFailed()); } assertSame(transformed.getError(), failureReason); }
@Test public void testToTryCancelled() throws InterruptedException { Task<String> cancelMain = delayedValue("value", 6000, TimeUnit.MILLISECONDS); Task<Try<String>> task = cancelMain.toTry(); run(task); assertTrue(cancelMain.cancel(new Exception("canceled"))); task.await(); assertTrue(task.isDone()); assertTrue(task.isFailed()); assertTrue(Exceptions.isCancellation(task.getError())); logTracingResults("AbstractTaskTest.testToTryCancelled", task); }
public void testCancelledRecover(int expectedNumberOfTasks) { Task<Integer> cancelled = getCancelledTask().map("strlen", String::length).recover(e -> -1); try { runAndWait("AbstractTaskTest.testCancelledRecover", cancelled); fail("should have failed"); } catch (Exception ex) { assertTrue(cancelled.isFailed()); assertTrue(Exceptions.isCancellation(cancelled.getError())); } assertEquals(countTasks(cancelled.getTrace()), expectedNumberOfTasks); }
@Test public void testShutdownThenRunTask() throws InterruptedException { _engine.shutdown(); final Task<String> task = Task.value("task executed"); _engine.run(task); // Task should be cancelled immediately assertTrue(task.await(50, TimeUnit.MILLISECONDS)); assertTrue(task.isFailed()); }
@Test public void testTimeoutTaskWithError() throws InterruptedException { final Exception error = new Exception(); final Task<String> task = Task.callable("task", () -> { throw error; } ); final Task<String> timeoutTask = task.withTimeout(2000, TimeUnit.MILLISECONDS); getEngine().run(timeoutTask); // We should complete with an error almost immediately assertTrue(timeoutTask.await(100, TimeUnit.MILLISECONDS)); assertTrue(timeoutTask.isFailed()); assertEquals(error, timeoutTask.getError()); }
private <T> void assertDone(final Task<T> task, final T expectedValue) { assertTrue(task.isDone()); assertFalse(task.isFailed()); assertEquals(expectedValue, task.get()); assertNull(task.getError()); assertTrue(task.getShallowTrace().getStartNanos() > 0); assertTrue(task.getShallowTrace().getStartNanos() <= task.getShallowTrace().getEndNanos()); }