public void testErrorPropagation() throws Exception {
ForeignExceptionDispatcher error = mock(ForeignExceptionDispatcher.class);
SnapshotDescription snapshot = SnapshotDescription.newBuilder().setName("snapshot")
.setTable("table").build();
final Exception thrown = new Exception("Failed!");
SnapshotTask fail = new SnapshotTask(snapshot, error) {
@Override
public Void call() {
snapshotFailure("Injected failure", thrown);
return null;
}
};
fail.call();
verify(error, Mockito.times(1)).receive(any(ForeignException.class));
}