package demo;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
import demo.FeignClientWithServerListApplicationTests.FallbackRestClient;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@DirtiesContext
public class FeignClientApplicationTests {
@Autowired
private UrlRestClient client;
@Configuration
@EnableAutoConfiguration
@EnableFeignClients
protected static class TestApplication {
@Bean
public FallbackClient fallback() {
return new FallbackClient();
}
@Bean
public FallbackRestClient fallbackRestClient() {
return new FallbackRestClient();
}
public static void main(String[] args) {
SpringApplication.run(FeignClientApplication.class, args);
}
}
@Test
public void clientConnects() {
assertTrue(client.hello().contains("<html"));
}
}