diff --git a/feign-hystrix/src/test/java/demo/FeignClientWithServerListApplicationTests.java b/feign-hystrix/src/test/java/demo/FeignClientWithServerListApplicationTests.java index e545f5a..53a00d7 100644 --- a/feign-hystrix/src/test/java/demo/FeignClientWithServerListApplicationTests.java +++ b/feign-hystrix/src/test/java/demo/FeignClientWithServerListApplicationTests.java @@ -9,6 +9,7 @@ import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.WebIntegrationTest; import org.springframework.cloud.netflix.feign.EnableFeignClients; import org.springframework.cloud.netflix.feign.FeignClient; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -21,7 +22,8 @@ import static org.junit.Assert.assertTrue; @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = TestApplication.class) -@WebIntegrationTest(randomPort = true, value = "myexample.ribbon.listOfServers:example.com") +//Increase hystrix timeout or else requests timeout on CI server +@WebIntegrationTest(randomPort = true, value = {"myexample.ribbon.listOfServers:example.com", "hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000"}) @DirtiesContext public class FeignClientWithServerListApplicationTests { @@ -37,16 +39,29 @@ public class FeignClientWithServerListApplicationTests { @EnableAutoConfiguration @EnableFeignClients protected static class TestApplication { + + @Bean + public FallbackRestClient fallbackRestClient() { + return new FallbackRestClient(); + } public static void main(String[] args) { SpringApplication.run(FeignClientApplication.class, args); } } - @FeignClient("myexample") + @FeignClient(value = "myexample", fallback = FallbackRestClient.class) static interface RestClient { @RequestMapping(value="/", method=RequestMethod.GET) String hello(); } + + static class FallbackRestClient implements RestClient { + + @Override + public String hello() { + return "fallback"; + } + } }