package net.jodah.failsafe.issues;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import org.testng.Assert;
import org.testng.annotations.Test;
import net.jodah.failsafe.CircuitBreaker;
import net.jodah.failsafe.Failsafe;
public class Issue75 {
@Test
public void testThatFailSafeIsBrokenWithFallback() throws Exception {
CircuitBreaker breaker = new CircuitBreaker().withFailureThreshold(10, 100).withSuccessThreshold(2).withDelay(100,
TimeUnit.MILLISECONDS);
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
int result = Failsafe.with(breaker)
.with(service)
.withFallback((a, b) -> 999)
.future(() -> CompletableFuture.completedFuture(223))
.get();
Assert.assertEquals(result, 223);
}
}