From 6f32aa95a7d87641f4a4c84e0a6cec19fae46583 Mon Sep 17 00:00:00 2001 From: Daniel Lavoie Date: Fri, 22 Jul 2016 00:54:48 +0200 Subject: [PATCH] Migrate tests to Spring Boot Test 1.4 Fixes gh-1205 --- .../ArchaiusAutoConfigurationTests.java | 2 +- .../feign/EnableFeignClientsTests.java | 4 +- .../FeignClientOverrideDefaultsTests.java | 12 +- .../feign/FeignHttpClientUrlTests.java | 16 +- .../netflix/feign/SpringDecoderTests.java | 37 +++-- .../netflix/feign/beans/FeignClientTests.java | 13 +- .../encoding/FeignAcceptEncodingTests.java | 16 +- .../encoding/FeignContentEncodingTest.java | 16 +- .../ribbon/FeignRibbonClientPathTests.java | 15 +- .../ribbon/FeignRibbonClientRetryTests.java | 27 ++-- .../LoadBalancerFeignClientOverrideTests.java | 11 +- .../feign/support/SpringEncoderTests.java | 19 +-- .../netflix/feign/valid/FeignClientTests.java | 84 +++++----- .../feign/valid/FeignHttpClientTests.java | 7 +- .../scanning/FeignClientScanningTests.java | 23 +-- .../netflix/hystrix/HystrixOnlyTests.java | 19 +-- .../hystrix/HystrixStreamEndpointTests.java | 30 ++-- ...ricsClientHttpRequestInterceptorTests.java | 2 +- ...icsHandlerInterceptorIntegrationTests.java | 10 +- .../metrics/MetricsRestTemplateTests.java | 20 +-- .../metrics/atlas/AtlasExporterTests.java | 4 +- .../NoServoMetricsAutoConfigurationTests.java | 10 +- .../ServoMetricsAutoConfigurationTests.java | 8 +- .../metrics/servo/ServoMonitorCacheTests.java | 9 +- .../resttemplate/RestTemplateRetryTest.java | 13 +- ...bonClientPreprocessorIntegrationTests.java | 4 +- ...bbonAutoConfigurationIntegrationTests.java | 10 +- .../RibbonClientHttpRequestFactoryTests.java | 37 +++-- ...bonClientPreprocessorIntegrationTests.java | 10 +- ...PreprocessorOverridesIntegrationTests.java | 8 +- ...ClientPreprocessorOverridesRetryTests.java | 40 ++--- ...orPropertiesOverridesIntegrationTests.java | 24 +-- ...onClientsPreprocessorIntegrationTests.java | 18 +-- .../ribbon/SpringClientFactoryTests.java | 2 +- ...RibbonClientDefaultConfigurationTests.java | 6 +- .../rx/ObservableReturnValueHandlerTest.java | 19 +-- .../netflix/rx/ObservableSseEmitterTest.java | 143 +++++++++--------- .../rx/SingleReturnValueHandlerTest.java | 117 +++++++------- .../ContextPathZuulProxyApplicationTests.java | 12 +- .../zuul/FormZuulProxyApplicationTests.java | 18 +-- .../FormZuulServletProxyApplicationTests.java | 13 +- .../RetryableZuulProxyApplicationTests.java | 21 ++- .../ServletPathZuulProxyApplicationTests.java | 17 +-- .../SimpleZuulServerApplicationTests.java | 17 +-- .../filters/CustomHostRoutingFilterTests.java | 27 ++-- ...ernServiceRouteMapperIntegrationTests.java | 24 ++- .../route/SimpleHostRoutingFilterTests.java | 2 +- ...tpClientRibbonCommandIntegrationTests.java | 78 +++++----- .../OkHttpRibbonCommandIntegrationTests.java | 10 +- ...stClientRibbonCommandIntegrationTests.java | 38 ++--- .../route/support/ZuulProxyTestBase.java | 13 +- .../EurekaClientAutoConfigurationTests.java | 6 +- .../eureka/EurekaClientConfigBeanTests.java | 2 +- .../eureka/EurekaInstanceConfigBeanTests.java | 2 +- .../eureka/InstanceInfoFactoryTests.java | 2 +- ...ntConfigServiceAutoConfigurationTests.java | 2 +- .../healthcheck/EurekaHealthCheckTests.java | 57 ++++--- .../eureka/sample/ApplicationTests.java | 9 +- ...bonClientPreprocessorIntegrationTests.java | 4 +- ...lientPropertyOverrideIntegrationTests.java | 7 +- ...bonClientPreprocessorIntegrationTests.java | 10 +- .../server/ApplicationContextTests.java | 30 ++-- .../ApplicationDashboardDisabledTests.java | 15 +- .../server/ApplicationDashboardPathTests.java | 23 ++- .../server/ApplicationServletPathTests.java | 30 ++-- .../eureka/server/ApplicationTests.java | 47 +++--- .../HystrixDashboardContextTests.java | 17 +-- .../HystrixDashboardHomePageTests.java | 31 ++-- .../dashboard/HystrixDashboardTests.java | 33 ++-- .../hystrix/stream/HystrixStreamTests.java | 10 +- .../sidecar/SidecarApplicationTests.java | 22 +-- .../stream/HystrixStreamAggregatorTests.java | 16 +- .../TurbinePortApplicationListenerTests.java | 2 +- .../turbine/stream/TurbineStreamTests.java | 10 +- .../netflix/turbine/TurbineHttpTests.java | 10 +- 75 files changed, 746 insertions(+), 806 deletions(-) diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfigurationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfigurationTests.java index babb9e9e..d9f9b709 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfigurationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfigurationTests.java @@ -27,7 +27,7 @@ import com.netflix.config.ConfigurationManager; import com.netflix.config.DynamicPropertyFactory; import com.netflix.config.DynamicStringProperty; -import org.springframework.boot.test.EnvironmentTestUtils; +import org.springframework.boot.test.util.EnvironmentTestUtils; import org.springframework.cloud.context.environment.EnvironmentChangeEvent; import org.springframework.context.annotation.AnnotationConfigApplicationContext; diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/EnableFeignClientsTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/EnableFeignClientsTests.java index 449d66d8..09069962 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/EnableFeignClientsTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/EnableFeignClientsTests.java @@ -20,7 +20,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.feign.support.ResponseEntityDecoder; import org.springframework.cloud.netflix.feign.support.SpringEncoder; @@ -42,7 +42,7 @@ import feign.slf4j.Slf4jLogger; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = EnableFeignClientsTests.PlainConfiguration.class) +@SpringBootTest(classes = EnableFeignClientsTests.PlainConfiguration.class) @DirtiesContext public class EnableFeignClientsTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignClientOverrideDefaultsTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignClientOverrideDefaultsTests.java index d60587a7..92d82311 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignClientOverrideDefaultsTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignClientOverrideDefaultsTests.java @@ -16,11 +16,15 @@ package org.springframework.cloud.netflix.feign; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.feign.support.ResponseEntityDecoder; import org.springframework.cloud.netflix.feign.support.SpringEncoder; @@ -33,10 +37,6 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - import feign.Contract; import feign.Feign; import feign.Logger; @@ -56,7 +56,7 @@ import feign.slf4j.Slf4jLogger; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignClientOverrideDefaultsTests.TestConfiguration.class) +@SpringBootTest(classes = FeignClientOverrideDefaultsTests.TestConfiguration.class) @DirtiesContext public class FeignClientOverrideDefaultsTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java index b7a2e5b3..081b7e16 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java @@ -31,8 +31,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.annotation.DirtiesContext; @@ -55,8 +55,7 @@ import lombok.NoArgsConstructor; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignHttpClientUrlTests.TestConfig.class) -@WebIntegrationTest(value = { +@SpringBootTest(classes = FeignHttpClientUrlTests.TestConfig.class, webEnvironment = WebEnvironment.DEFINED_PORT, value = { "spring.application.name=feignclienturltest", "feign.hystrix.enabled=false", "feign.okhttp.enabled=false" }) @DirtiesContext @@ -98,12 +97,15 @@ public class FeignHttpClientUrlTests { public Targeter feignTargeter() { return new Targeter() { @Override - public T target(FeignClientFactoryBean factory, Feign.Builder feign, FeignContext context, Target.HardCodedTarget target) { - Field field = ReflectionUtils.findField(Feign.Builder.class, "client"); + public T target(FeignClientFactoryBean factory, Feign.Builder feign, + FeignContext context, Target.HardCodedTarget target) { + Field field = ReflectionUtils.findField(Feign.Builder.class, + "client"); ReflectionUtils.makeAccessible(field); Client client = (Client) ReflectionUtils.getField(field, feign); if (target.name().equals("localappurl")) { - assertThat("client was wrong type", client, is(instanceOf(ApacheHttpClient.class))); + assertThat("client was wrong type", client, + is(instanceOf(ApacheHttpClient.class))); } return feign.target(target); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/SpringDecoderTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/SpringDecoderTests.java index e1c353d6..fee2550e 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/SpringDecoderTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/SpringDecoderTests.java @@ -16,43 +16,40 @@ package org.springframework.cloud.netflix.feign; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + import java.util.ArrayList; import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = SpringDecoderTests.Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=springdecodertest", - "spring.jmx.enabled=true" }) +@SpringBootTest(classes = SpringDecoderTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=springdecodertest", "spring.jmx.enabled=true" }) @DirtiesContext public class SpringDecoderTests extends FeignClientFactoryBean { @@ -83,7 +80,8 @@ public class SpringDecoderTests extends FeignClientFactoryBean { assertEquals("wrong status code", HttpStatus.OK, response.getStatusCode()); Hello hello = response.getBody(); assertNotNull("hello was null", hello); - assertEquals("first hello didn't match", new Hello("hello world via response"), hello); + assertEquals("first hello didn't match", new Hello("hello world via response"), + hello); } @Test @@ -198,13 +196,14 @@ public class SpringDecoderTests extends FeignClientFactoryBean { @Override public ResponseEntity getNotFound() { - return ResponseEntity.status(HttpStatus.NOT_FOUND).body((String)null); + return ResponseEntity.status(HttpStatus.NOT_FOUND).body((String) null); } public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=springdecodertest", - "management.contextPath=/admin").run(args); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=springdecodertest", + "management.contextPath=/admin") + .run(args); } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/beans/FeignClientTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/beans/FeignClientTests.java index d3f85261..fc5182e2 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/beans/FeignClientTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/beans/FeignClientTests.java @@ -16,6 +16,9 @@ package org.springframework.cloud.netflix.feign.beans; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.util.Map; @@ -26,8 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +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.cloud.netflix.feign.FeignClient; import org.springframework.context.ApplicationContext; @@ -38,9 +41,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -49,8 +49,7 @@ import lombok.NoArgsConstructor; * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignClientTests.Application.class) -@WebIntegrationTest(randomPort = true, value = { +@SpringBootTest(classes = FeignClientTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=feignclienttest", "logging.level.org.springframework.cloud.netflix.feign.valid=DEBUG", "feign.httpclient.enabled=false", "feign.okhttp.enabled=false" }) diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptEncodingTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptEncodingTests.java index a146cd57..a0620fc8 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptEncodingTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignAcceptEncodingTests.java @@ -16,6 +16,9 @@ package org.springframework.cloud.netflix.feign.encoding; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import java.util.Collections; import java.util.List; @@ -24,8 +27,8 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +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.cloud.netflix.feign.encoding.app.client.InvoiceClient; import org.springframework.cloud.netflix.feign.encoding.app.domain.Invoice; @@ -35,23 +38,18 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import com.netflix.loadbalancer.BaseLoadBalancer; import com.netflix.loadbalancer.ILoadBalancer; import com.netflix.loadbalancer.Server; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - /** * Tests the response compression. * * @author Jakub Narloch */ -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "feign.compression.response.enabled=true" }) -@SpringApplicationConfiguration(classes = { FeignAcceptEncodingTests.Application.class }) +@SpringBootTest(classes = FeignAcceptEncodingTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "feign.compression.response.enabled=true" }) @RunWith(SpringJUnit4ClassRunner.class) public class FeignAcceptEncodingTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignContentEncodingTest.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignContentEncodingTest.java index f38629f8..2a94815d 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignContentEncodingTest.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/encoding/FeignContentEncodingTest.java @@ -16,6 +16,9 @@ package org.springframework.cloud.netflix.feign.encoding; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import java.util.Collections; import java.util.List; @@ -24,8 +27,8 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +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.cloud.netflix.feign.encoding.app.client.InvoiceClient; import org.springframework.cloud.netflix.feign.encoding.app.domain.Invoice; @@ -35,25 +38,20 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import com.netflix.loadbalancer.BaseLoadBalancer; import com.netflix.loadbalancer.ILoadBalancer; import com.netflix.loadbalancer.Server; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - /** * Tests the response compression. * * @author Jakub Narloch */ -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "feign.compression.request.enabled=true", +@SpringBootTest(classes = FeignContentEncodingTest.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "feign.compression.request.enabled=true", "hystrix.command.default.execution.isolation.strategy=SEMAPHORE", "ribbon.OkToRetryOnAllOperations=false" }) -@SpringApplicationConfiguration(classes = { FeignContentEncodingTest.Application.class }) @RunWith(SpringJUnit4ClassRunner.class) public class FeignContentEncodingTest { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientPathTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientPathTests.java index 1a8d45cc..5bd13d0b 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientPathTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientPathTests.java @@ -16,14 +16,17 @@ package org.springframework.cloud.netflix.feign.ribbon; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +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.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.ribbon.RibbonClient; @@ -43,17 +46,11 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - /** * @author Venil Noronha */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignRibbonClientPathTests.Application.class) -@WebIntegrationTest( - randomPort = true, - value = { +@SpringBootTest(classes = FeignRibbonClientPathTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT,value = { "spring.application.name=feignribbonclientpathtest", "feign.okhttp.enabled=false", "feign.httpclient.enabled=false", diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientRetryTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientRetryTests.java index 2404b25a..5b066bc9 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientRetryTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/FeignRibbonClientRetryTests.java @@ -16,6 +16,10 @@ package org.springframework.cloud.netflix.feign.ribbon; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.util.concurrent.atomic.AtomicInteger; @@ -26,8 +30,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +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.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.ribbon.RibbonClient; @@ -47,19 +51,14 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - /** * Tests the Feign Retryer, not ribbon retry. * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignRibbonClientRetryTests.Application.class) -@WebIntegrationTest(randomPort = true, value = { "spring.application.name=feignclientretrytest", - "feign.okhttp.enabled=false", "feign.httpclient.enabled=false", - "feign.hystrix.enabled=false", }) +@SpringBootTest(classes = FeignRibbonClientRetryTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=feignclientretrytest", "feign.okhttp.enabled=false", + "feign.httpclient.enabled=false", "feign.hystrix.enabled=false", }) @DirtiesContext public class FeignRibbonClientRetryTests { @@ -98,10 +97,10 @@ public class FeignRibbonClientRetryTests { } public static void main(String[] args) throws InterruptedException { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=feignclientretrytest", - "management.contextPath=/admin" - ).run(args); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=feignclientretrytest", + "management.contextPath=/admin") + .run(args); } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/LoadBalancerFeignClientOverrideTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/LoadBalancerFeignClientOverrideTests.java index df12e615..0efae7be 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/LoadBalancerFeignClientOverrideTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/ribbon/LoadBalancerFeignClientOverrideTests.java @@ -16,12 +16,14 @@ package org.springframework.cloud.netflix.feign.ribbon; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +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.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignContext; @@ -34,16 +36,13 @@ import org.springframework.web.bind.annotation.RequestMapping; import com.netflix.client.config.CommonClientConfigKey; import com.netflix.client.config.IClientConfig; -import static org.junit.Assert.assertEquals; - import feign.Request; /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = LoadBalancerFeignClientOverrideTests.TestConfiguration.class) -@WebIntegrationTest(randomPort = true, value = { +@SpringBootTest(classes = LoadBalancerFeignClientOverrideTests.TestConfiguration.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=loadBalancerFeignClientTests", "feign.httpclient.enabled=false", "feign.okhttp.enabled=false" }) @DirtiesContext diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/support/SpringEncoderTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/support/SpringEncoderTests.java index cfa04cac..0bf281c8 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/support/SpringEncoderTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/support/SpringEncoderTests.java @@ -1,5 +1,9 @@ package org.springframework.cloud.netflix.feign.support; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; + import java.io.IOException; import java.lang.reflect.Type; import java.util.Collection; @@ -10,8 +14,8 @@ import org.mockito.ArgumentMatcher; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.cloud.netflix.feign.FeignContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -24,13 +28,8 @@ import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotWritableException; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RestController; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.junit.Assert.assertThat; - import feign.RequestTemplate; import lombok.Data; @@ -38,10 +37,8 @@ import lombok.Data; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = SpringEncoderTests.Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=springencodertest", - "spring.jmx.enabled=true" }) +@SpringBootTest(classes = SpringEncoderTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=springencodertest", "spring.jmx.enabled=true" }) @DirtiesContext public class SpringEncoderTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignClientTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignClientTests.java index f9a44600..49f3b831 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignClientTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignClientTests.java @@ -16,6 +16,14 @@ package org.springframework.cloud.netflix.feign.valid; +import static org.hamcrest.Matchers.instanceOf; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; + import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.text.ParseException; @@ -33,8 +41,8 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +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.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignFormatterRegistrar; @@ -72,24 +80,15 @@ import lombok.NoArgsConstructor; import rx.Observable; import rx.Single; -import static org.hamcrest.Matchers.instanceOf; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - /** * @author Spencer Gibb * @author Jakub Narloch */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignClientTests.Application.class) -@WebIntegrationTest(randomPort = true, value = { +@SpringBootTest(classes = FeignClientTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=feignclienttest", "logging.level.org.springframework.cloud.netflix.feign.valid=DEBUG", - "feign.httpclient.enabled=false", "feign.okhttp.enabled=false"}) + "feign.httpclient.enabled=false", "feign.okhttp.enabled=false" }) @DirtiesContext public class FeignClientTests { @@ -167,18 +166,15 @@ public class FeignClientTests { HystrixCommand> getHellosHystrix(); @RequestMapping(method = RequestMethod.GET, path = "/noContent") - ResponseEntity noContent(); + ResponseEntity noContent(); @RequestMapping(method = RequestMethod.HEAD, path = "/head") - ResponseEntity head(); + ResponseEntity head(); @RequestMapping(method = RequestMethod.GET, path = "/hello") HttpEntity getHelloEntity(); - @RequestMapping(method = RequestMethod.POST, - consumes = "application/vnd.io.spring.cloud.test.v1+json", - produces = "application/vnd.io.spring.cloud.test.v1+json", - path = "/complex") + @RequestMapping(method = RequestMethod.POST, consumes = "application/vnd.io.spring.cloud.test.v1+json", produces = "application/vnd.io.spring.cloud.test.v1+json", path = "/complex") String moreComplexContentType(String body); @RequestMapping(method = RequestMethod.GET, path = "/tostring") @@ -271,14 +267,14 @@ public class FeignClientTests { @Configuration @EnableAutoConfiguration @RestController - @EnableFeignClients(clients = {TestClientServiceId.class, TestClient.class, DecodingTestClient.class, HystrixClient.class}, - defaultConfiguration = TestDefaultFeignConfig.class) + @EnableFeignClients(clients = { TestClientServiceId.class, TestClient.class, + DecodingTestClient.class, + HystrixClient.class }, defaultConfiguration = TestDefaultFeignConfig.class) @RibbonClients({ @RibbonClient(name = "localapp", configuration = LocalRibbonClientConfiguration.class), @RibbonClient(name = "localapp1", configuration = LocalRibbonClientConfiguration.class), @RibbonClient(name = "localapp2", configuration = LocalRibbonClientConfiguration.class), - @RibbonClient(name = "localapp3", configuration = LocalRibbonClientConfiguration.class), - }) + @RibbonClient(name = "localapp3", configuration = LocalRibbonClientConfiguration.class), }) protected static class Application { // needs to be in parent context to test multiple HystrixClient beans @@ -344,7 +340,8 @@ public class FeignClientTests { } @RequestMapping(method = RequestMethod.GET, path = "/helloheadersplaceholders") - public String getHelloHeadersPlaceholders(@RequestHeader("myPlaceholderHeader") String myPlaceholderHeader) { + public String getHelloHeadersPlaceholders( + @RequestHeader("myPlaceholderHeader") String myPlaceholderHeader) { return myPlaceholderHeader; } @@ -354,12 +351,12 @@ public class FeignClientTests { } @RequestMapping(method = RequestMethod.GET, path = "/noContent") - ResponseEntity noContent() { + ResponseEntity noContent() { return ResponseEntity.noContent().build(); } @RequestMapping(method = RequestMethod.HEAD, path = "/head") - ResponseEntity head() { + ResponseEntity head() { return ResponseEntity.ok().build(); } @@ -369,14 +366,11 @@ public class FeignClientTests { } @RequestMapping(method = RequestMethod.GET, path = "/notFound") - ResponseEntity notFound() { - return ResponseEntity.status(HttpStatus.NOT_FOUND).body((String)null); + ResponseEntity notFound() { + return ResponseEntity.status(HttpStatus.NOT_FOUND).body((String) null); } - @RequestMapping(method = RequestMethod.POST, - consumes = "application/vnd.io.spring.cloud.test.v1+json", - produces = "application/vnd.io.spring.cloud.test.v1+json", - path = "/complex") + @RequestMapping(method = RequestMethod.POST, consumes = "application/vnd.io.spring.cloud.test.v1+json", produces = "application/vnd.io.spring.cloud.test.v1+json", path = "/complex") String complex(String body) { return "{\"value\":\"OK\"}"; } @@ -392,9 +386,10 @@ public class FeignClientTests { } public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=feignclienttest", - "management.contextPath=/admin").run(args); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=feignclienttest", + "management.contextPath=/admin") + .run(args); } } @@ -480,7 +475,9 @@ public class FeignClientTests { public void testHystrixCommand() { HystrixCommand> command = this.testClient.getHellosHystrix(); assertNotNull("command was null", command); - assertEquals("Hystrix command group name should match the name of the feign client", "localapp", command.getCommandGroup().name()); + assertEquals( + "Hystrix command group name should match the name of the feign client", + "localapp", command.getCommandGroup().name()); List hellos = command.execute(); assertNotNull("hellos was null", hellos); assertEquals("hellos didn't match", hellos, getHelloList()); @@ -497,14 +494,15 @@ public class FeignClientTests { @Test public void testNoContentResponse() { - ResponseEntity response = testClient.noContent(); + ResponseEntity response = testClient.noContent(); assertNotNull("response was null", response); - assertEquals("status code was wrong", HttpStatus.NO_CONTENT, response.getStatusCode()); + assertEquals("status code was wrong", HttpStatus.NO_CONTENT, + response.getStatusCode()); } @Test public void testHeadResponse() { - ResponseEntity response = testClient.head(); + ResponseEntity response = testClient.head(); assertNotNull("response was null", response); assertEquals("status code was wrong", HttpStatus.OK, response.getStatusCode()); } @@ -522,14 +520,16 @@ public class FeignClientTests { public void testMoreComplexHeader() { String response = testClient.moreComplexContentType("{\"value\":\"OK\"}"); assertNotNull("response was null", response); - assertEquals("didn't respond with {\"value\":\"OK\"}", "{\"value\":\"OK\"}", response); + assertEquals("didn't respond with {\"value\":\"OK\"}", "{\"value\":\"OK\"}", + response); } @Test public void testDecodeNotFound() { - ResponseEntity response = decodingTestClient.notFound(); + ResponseEntity response = decodingTestClient.notFound(); assertNotNull("response was null", response); - assertEquals("status code was wrong", HttpStatus.NOT_FOUND, response.getStatusCode()); + assertEquals("status code was wrong", HttpStatus.NOT_FOUND, + response.getStatusCode()); assertNull("response body was not null", response.getBody()); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignHttpClientTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignHttpClientTests.java index 0bc72850..03758b2f 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignHttpClientTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/FeignHttpClientTests.java @@ -29,8 +29,8 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +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.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.ribbon.LoadBalancerFeignClient; @@ -58,8 +58,7 @@ import lombok.NoArgsConstructor; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignHttpClientTests.Application.class) -@WebIntegrationTest(randomPort = true, value = { +@SpringBootTest(classes = FeignHttpClientTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=feignclienttest", "feign.hystrix.enabled=false", "feign.okhttp.enabled=false" }) @DirtiesContext diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/scanning/FeignClientScanningTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/scanning/FeignClientScanningTests.java index 945f0e0a..91c2316c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/scanning/FeignClientScanningTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/valid/scanning/FeignClientScanningTests.java @@ -25,8 +25,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +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.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.ribbon.RibbonClient; @@ -48,9 +48,8 @@ import feign.Client; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FeignClientScanningTests.Application.class) -@WebIntegrationTest(randomPort = true, value = { "spring.application.name=feignclienttest", - "feign.httpclient.enabled=false"}) +@SpringBootTest(classes = FeignClientScanningTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=feignclienttest", "feign.httpclient.enabled=false" }) @DirtiesContext public class FeignClientScanningTests { @@ -62,8 +61,9 @@ public class FeignClientScanningTests { @Autowired private TestClientByKey testClientByKey; - + @Autowired + @SuppressWarnings("unused") private Client feignClient; @FeignClient("localapp") @@ -77,7 +77,7 @@ public class FeignClientScanningTests { @RequestMapping(method = RequestMethod.GET, value = "/hello") String getHello(); } - + @Configuration @EnableAutoConfiguration @RestController @@ -90,9 +90,10 @@ public class FeignClientScanningTests { } public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=feignclienttest", - "management.contextPath=/admin").run(args); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=feignclienttest", + "management.contextPath=/admin") + .run(args); } } @@ -109,7 +110,7 @@ public class FeignClientScanningTests { assertNotNull("hello was null", hello); assertEquals("first hello didn't match", "hello world 1", hello); } - + // Load balancer with fixed server list for "local" pointing to localhost @Configuration public static class LocalRibbonClientConfiguration { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java index 7e21f97b..1e3478d5 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java @@ -24,15 +24,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; 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; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -46,9 +45,7 @@ import static org.junit.Assert.assertTrue; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = HystrixOnlyApplication.class) -@WebAppConfiguration -@IntegrationTest({ "server.port: 0" }) +@SpringBootTest(classes = HystrixOnlyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT) @DirtiesContext public class HystrixOnlyTests { @@ -57,15 +54,15 @@ public class HystrixOnlyTests { @Test public void testNormalExecution() { - String s = new TestRestTemplate().getForObject("http://localhost:" + this.port - + "/", String.class); + String s = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/", String.class); assertEquals("incorrect response", "Hello world", s); } @Test public void testFailureFallback() { - String s = new TestRestTemplate().getForObject("http://localhost:" + this.port - + "/fail", String.class); + String s = new TestRestTemplate() + .getForObject("http://localhost:" + this.port + "/fail", String.class); assertEquals("incorrect fallback", "Fallback Hello world", s); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java index 7a5f903f..d51daa5c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java @@ -16,15 +16,20 @@ package org.springframework.cloud.netflix.hystrix; -import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.InputStream; +import java.net.URL; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -32,23 +37,18 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.io.InputStream; -import java.net.URL; - -import static org.junit.Assert.*; +import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; /** * @author Dave Syer * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = HystrixStreamEndpointTests.Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=hystrixstreamtest" }) +@SpringBootTest(classes = HystrixStreamEndpointTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=hystrixstreamtest" }) @DirtiesContext public class HystrixStreamEndpointTests { @@ -64,8 +64,9 @@ public class HystrixStreamEndpointTests { @Test public void hystrixStreamWorks() throws Exception { String url = "http://localhost:" + port; - //you have to hit a Hystrix circuit breaker before the stream sends anything - ResponseEntity response = new TestRestTemplate().getForEntity(url, String.class); + // you have to hit a Hystrix circuit breaker before the stream sends anything + ResponseEntity response = new TestRestTemplate().getForEntity(url, + String.class); assertEquals("bad response code", HttpStatus.OK, response.getStatusCode()); URL hystrixUrl = new URL(url + "/admin/hystrix.stream"); @@ -103,4 +104,3 @@ public class HystrixStreamEndpointTests { } } } - diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsClientHttpRequestInterceptorTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsClientHttpRequestInterceptorTests.java index 9bfdc883..816b1cac 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsClientHttpRequestInterceptorTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsClientHttpRequestInterceptorTests.java @@ -18,9 +18,9 @@ import static org.junit.Assert.assertEquals; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.autoconfigure.aop.AopAutoConfiguration; -import org.springframework.boot.autoconfigure.test.ImportAutoConfiguration; import org.springframework.cloud.netflix.metrics.servo.ServoMetricsAutoConfiguration; import org.springframework.cloud.netflix.metrics.servo.ServoMonitorCache; import org.springframework.context.annotation.Bean; diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsHandlerInterceptorIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsHandlerInterceptorIntegrationTests.java index 0ece08d3..dd7cf2c0 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsHandlerInterceptorIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsHandlerInterceptorIntegrationTests.java @@ -13,6 +13,10 @@ package org.springframework.cloud.netflix.metrics; +import static org.junit.Assert.assertFalse; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import javax.servlet.http.HttpServletRequest; import org.junit.Assert; @@ -20,8 +24,8 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.autoconfigure.test.ImportAutoConfiguration; import org.springframework.cloud.netflix.metrics.servo.ServoMetricsAutoConfiguration; import org.springframework.cloud.netflix.metrics.servo.ServoMonitorCache; import org.springframework.context.annotation.Bean; @@ -49,10 +53,6 @@ import com.netflix.servo.MonitorRegistry; import com.netflix.servo.monitor.BasicTimer; import com.netflix.servo.monitor.MonitorConfig; -import static org.junit.Assert.assertFalse; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - /** * @author Jon Schneider */ diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsRestTemplateTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsRestTemplateTests.java index 135ba3bb..d9ff97f4 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsRestTemplateTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/MetricsRestTemplateTests.java @@ -16,12 +16,17 @@ package org.springframework.cloud.netflix.metrics; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.instanceOf; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.cloud.netflix.ribbon.RibbonClientHttpRequestFactory; import org.springframework.cloud.netflix.ribbon.RibbonClientHttpRequestFactoryTests; import org.springframework.http.client.ClientHttpRequestFactory; @@ -31,18 +36,13 @@ import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.util.ReflectionTestUtils; -import static org.hamcrest.Matchers.hasSize; -import static org.hamcrest.Matchers.instanceOf; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertThat; - /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = MetricsRestTemplateTests.App.class) -@WebIntegrationTest(value = { "spring.application.name=ribbonclienttest", - "spring.jmx.enabled=true", "ribbon.http.client.enabled=true" }, randomPort = true) +@SpringBootTest(classes = MetricsRestTemplateTests.App.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=ribbonclienttest", "spring.jmx.enabled=true", + "ribbon.http.client.enabled=true" }) @DirtiesContext public class MetricsRestTemplateTests extends RibbonClientHttpRequestFactoryTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java index a1e80c6c..644ebcb1 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java @@ -20,7 +20,7 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; @@ -37,7 +37,7 @@ import com.netflix.servo.monitor.DynamicCounter; /** * @author Jon Schneider */ -@SpringApplicationConfiguration(AtlasExporterConfiguration.class) +@SpringBootTest(classes = AtlasExporterConfiguration.class) @RunWith(SpringJUnit4ClassRunner.class) public class AtlasExporterTests { @Autowired diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/NoServoMetricsAutoConfigurationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/NoServoMetricsAutoConfigurationTests.java index fc4a1498..c7ecb155 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/NoServoMetricsAutoConfigurationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/NoServoMetricsAutoConfigurationTests.java @@ -16,24 +16,24 @@ package org.springframework.cloud.netflix.metrics.servo; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.autoconfigure.ExportMetricReader; import org.springframework.boot.actuate.metrics.reader.MetricReader; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - /** * @author Dave Syer */ +@SpringBootTest @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration() public class NoServoMetricsAutoConfigurationTests { @Autowired(required = false) diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMetricsAutoConfigurationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMetricsAutoConfigurationTests.java index 1010e8b0..21fa6b89 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMetricsAutoConfigurationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMetricsAutoConfigurationTests.java @@ -16,23 +16,23 @@ package org.springframework.cloud.netflix.metrics.servo; +import static org.junit.Assert.assertNotNull; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.autoconfigure.ExportMetricReader; import org.springframework.boot.actuate.metrics.reader.MetricReader; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import static org.junit.Assert.assertNotNull; - /** * @author Dave Syer */ +@SpringBootTest @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration() public class ServoMetricsAutoConfigurationTests { @Autowired(required = false) diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMonitorCacheTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMonitorCacheTests.java index a7bddf45..57faade8 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMonitorCacheTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/servo/ServoMonitorCacheTests.java @@ -1,18 +1,19 @@ package org.springframework.cloud.netflix.metrics.servo; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.not; +import static org.junit.Assert.assertThat; + import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.springframework.boot.test.OutputCapture; +import org.springframework.boot.test.rule.OutputCapture; import com.netflix.servo.MonitorRegistry; import com.netflix.servo.monitor.MonitorConfig; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; - /** * @author Spencer Gibb */ diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTest.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTest.java index 676cc8a4..8166bfb2 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTest.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTest.java @@ -1,5 +1,8 @@ package org.springframework.cloud.netflix.resttemplate; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.net.UnknownHostException; import java.util.Arrays; import java.util.concurrent.atomic.AtomicInteger; @@ -12,8 +15,8 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.context.annotation.Bean; @@ -39,12 +42,8 @@ import com.netflix.loadbalancer.ServerList; import com.netflix.loadbalancer.ServerStats; import com.netflix.niws.client.http.HttpClientLoadBalancerErrorHandler; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = RestTemplateRetryTest.Application.class) -@WebIntegrationTest(randomPort = true, value = { +@SpringBootTest(classes = RestTemplateRetryTest.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=resttemplatetest", "logging.level.org.springframework.cloud.netflix.resttemplate=DEBUG", "badClients.ribbon.MaxAutoRetries=0", diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/PlainRibbonClientPreprocessorIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/PlainRibbonClientPreprocessorIntegrationTests.java index 21b020d5..9a9ef98b 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/PlainRibbonClientPreprocessorIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/PlainRibbonClientPreprocessorIntegrationTests.java @@ -20,7 +20,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.ribbon.PlainRibbonClientPreprocessorIntegrationTests.TestConfiguration; import org.springframework.context.annotation.Configuration; @@ -36,7 +36,7 @@ import com.netflix.loadbalancer.ZoneAwareLoadBalancer; * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = TestConfiguration.class) +@SpringBootTest(classes = TestConfiguration.class) @DirtiesContext public class PlainRibbonClientPreprocessorIntegrationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfigurationIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfigurationIntegrationTests.java index 3153e79b..1bd2422a 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfigurationIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfigurationIntegrationTests.java @@ -16,12 +16,13 @@ package org.springframework.cloud.netflix.ribbon; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonAutoConfigurationIntegrationTests.TestConfiguration; import org.springframework.context.annotation.Configuration; @@ -32,15 +33,12 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.netflix.client.config.CommonClientConfigKey; import com.netflix.client.config.IClientConfig; -import static org.junit.Assert.assertEquals; - /** * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = TestConfiguration.class) +@SpringBootTest(classes = TestConfiguration.class, value = {"ribbon.ConnectTimeout=25000"}) @DirtiesContext -@IntegrationTest("ribbon.ConnectTimeout=25000") public class RibbonAutoConfigurationIntegrationTests { @Autowired diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientHttpRequestFactoryTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientHttpRequestFactoryTests.java index 2090aeaa..bbcbb2f8 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientHttpRequestFactoryTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientHttpRequestFactoryTests.java @@ -16,6 +16,9 @@ package org.springframework.cloud.netflix.ribbon; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.net.URI; import org.junit.Rule; @@ -25,8 +28,8 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -51,17 +54,13 @@ import com.netflix.loadbalancer.ServerList; import lombok.SneakyThrows; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = RibbonClientHttpRequestFactoryTests.App.class) -@WebIntegrationTest(value = { "spring.application.name=ribbonclienttest", - "spring.jmx.enabled=true", "spring.cloud.netflix.metrics.enabled=false", - "ribbon.http.client.enabled=true" }, randomPort = true) +@SpringBootTest(classes = RibbonClientHttpRequestFactoryTests.App.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=ribbonclienttest", "spring.jmx.enabled=true", + "spring.cloud.netflix.metrics.enabled=false", "ribbon.http.client.enabled=true" }) @DirtiesContext public class RibbonClientHttpRequestFactoryTests { @@ -81,16 +80,16 @@ public class RibbonClientHttpRequestFactoryTests { @Test public void vanillaRequestWorks() { - ResponseEntity response = this.restTemplate.getForEntity( - "http://simple/", String.class); + ResponseEntity response = this.restTemplate.getForEntity("http://simple/", + String.class); assertEquals("wrong response code", HttpStatus.OK, response.getStatusCode()); assertEquals("wrong response body", "hello", response.getBody()); } @Test public void requestWithPathParamWorks() { - ResponseEntity response = this.restTemplate.getForEntity( - "http://simple/path/{param}", String.class, "world"); + ResponseEntity response = this.restTemplate + .getForEntity("http://simple/path/{param}", String.class, "world"); assertEquals("wrong response code", HttpStatus.OK, response.getStatusCode()); assertEquals("wrong response body", "hello world", response.getBody()); } @@ -114,16 +113,16 @@ public class RibbonClientHttpRequestFactoryTests { @Test public void requestWithPostWorks() { - ResponseEntity response = this.restTemplate.postForEntity( - "http://simple/post", "world", String.class); + ResponseEntity response = this.restTemplate + .postForEntity("http://simple/post", "world", String.class); assertEquals("wrong response code", HttpStatus.OK, response.getStatusCode()); assertEquals("wrong response body", "hello world", response.getBody()); } @Test public void requestWithEmptyPostWorks() { - ResponseEntity response = this.restTemplate.postForEntity( - "http://simple/emptypost", "", String.class); + ResponseEntity response = this.restTemplate + .postForEntity("http://simple/emptypost", "", String.class); assertEquals("wrong response code", HttpStatus.OK, response.getStatusCode()); assertEquals("wrong response body", "hello empty", response.getBody()); } @@ -133,8 +132,8 @@ public class RibbonClientHttpRequestFactoryTests { public void requestWithHeaderWorks() { RequestEntity entity = RequestEntity.get(new URI("http://simple/header")) .header("X-Param", "world").build(); - ResponseEntity response = this.restTemplate - .exchange(entity, String.class); + ResponseEntity response = this.restTemplate.exchange(entity, + String.class); assertEquals("wrong response code", HttpStatus.OK, response.getStatusCode()); assertEquals("wrong response body", "hello world", response.getBody()); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorIntegrationTests.java index 3fa09fd5..f61b1f3c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorIntegrationTests.java @@ -20,7 +20,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonClientPreprocessorIntegrationTests.PlainConfiguration; import org.springframework.context.annotation.Configuration; @@ -28,13 +28,17 @@ import org.springframework.context.annotation.Import; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.netflix.loadbalancer.*; +import com.netflix.loadbalancer.ConfigurationBasedServerList; +import com.netflix.loadbalancer.NoOpPing; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ZoneAvoidanceRule; +import com.netflix.loadbalancer.ZoneAwareLoadBalancer; /** * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = PlainConfiguration.class) +@SpringBootTest(classes = PlainConfiguration.class) @DirtiesContext public class RibbonClientPreprocessorIntegrationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesIntegrationTests.java index 5f7cdc76..00d58639 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesIntegrationTests.java @@ -16,11 +16,13 @@ package org.springframework.cloud.netflix.ribbon; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.commons.util.UtilAutoConfiguration; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.context.annotation.Bean; @@ -42,13 +44,11 @@ import com.netflix.loadbalancer.ServerList; import com.netflix.loadbalancer.ServerListFilter; import com.netflix.loadbalancer.ZoneAwareLoadBalancer; -import static org.junit.Assert.assertEquals; - /** * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = RibbonClientPreprocessorOverridesIntegrationTests.TestConfiguration.class) +@SpringBootTest(classes = RibbonClientPreprocessorOverridesIntegrationTests.TestConfiguration.class) @DirtiesContext public class RibbonClientPreprocessorOverridesIntegrationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesRetryTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesRetryTests.java index ecabe95d..a71dd28e 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesRetryTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorOverridesRetryTests.java @@ -21,20 +21,18 @@ import java.net.SocketException; import java.net.SocketTimeoutException; import java.net.UnknownHostException; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.util.Assert; @@ -46,8 +44,8 @@ import com.netflix.client.config.IClientConfig; * @author Tyler Van Gorder */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = RibbonClientPreprocessorOverridesRetryTests.TestConfiguration.class) -@TestPropertySource(properties = { "customRetry.ribbon.MaxAutoRetries=0", +@SpringBootTest(classes = RibbonClientPreprocessorOverridesRetryTests.TestConfiguration.class, value = { + "customRetry.ribbon.MaxAutoRetries=0", "customRetry.ribbon.MaxAutoRetriesNextServer=1", "customRetry.ribbon.OkToRetryOnAllOperations=true" }) @DirtiesContext @@ -64,14 +62,14 @@ public class RibbonClientPreprocessorOverridesRetryTests { context.getRetryHandler()); Assert.isTrue(context.getRetryHandler().getMaxRetriesOnSameServer() == 0); Assert.isTrue(context.getRetryHandler().getMaxRetriesOnNextServer() == 1); - Assert.isTrue(context.getRetryHandler().isCircuitTrippingException( - new UnknownHostException("Unknown Host"))); + Assert.isTrue(context.getRetryHandler() + .isCircuitTrippingException(new UnknownHostException("Unknown Host"))); } @Configuration @RibbonClient(name = "customRetry", configuration = RetryRibbonConfiguration.class) - @Import({ PropertyPlaceholderAutoConfiguration.class, - ArchaiusAutoConfiguration.class, RibbonAutoConfiguration.class }) + @Import({ PropertyPlaceholderAutoConfiguration.class, ArchaiusAutoConfiguration.class, + RibbonAutoConfiguration.class }) protected static class TestConfiguration { } @@ -87,18 +85,22 @@ class RetryRibbonConfiguration { class CustomRetryHandler extends DefaultLoadBalancerRetryHandler { @SuppressWarnings("unchecked") - private List> retriable = new ArrayList(){{ - add(UnknownHostException.class); - add(ConnectException.class); - add(SocketTimeoutException.class); - }}; + private List> retriable = new ArrayList() { + { + add(UnknownHostException.class); + add(ConnectException.class); + add(SocketTimeoutException.class); + } + }; @SuppressWarnings("unchecked") - private List> circuitRelated = new ArrayList(){{ - add(UnknownHostException.class); - add(SocketException.class); - add(SocketTimeoutException.class); - }}; + private List> circuitRelated = new ArrayList() { + { + add(UnknownHostException.class); + add(SocketException.class); + add(SocketTimeoutException.class); + } + }; CustomRetryHandler(IClientConfig config) { super(config); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorPropertiesOverridesIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorPropertiesOverridesIntegrationTests.java index afc24041..ffb9af59 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorPropertiesOverridesIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientPreprocessorPropertiesOverridesIntegrationTests.java @@ -16,11 +16,16 @@ package org.springframework.cloud.netflix.ribbon; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; +import static org.junit.Assume.assumeThat; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.commons.util.UtilAutoConfiguration; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.ribbon.test.TestLoadBalancer; @@ -39,16 +44,11 @@ import com.netflix.loadbalancer.ServerListSubsetFilter; import com.netflix.loadbalancer.ZoneAvoidanceRule; import com.netflix.loadbalancer.ZoneAwareLoadBalancer; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.not; -import static org.junit.Assume.assumeThat; - /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(RibbonClientPreprocessorPropertiesOverridesIntegrationTests.TestConfiguration.class) +@SpringBootTest(classes = RibbonClientPreprocessorPropertiesOverridesIntegrationTests.TestConfiguration.class) @DirtiesContext public class RibbonClientPreprocessorPropertiesOverridesIntegrationTests { @@ -62,9 +62,10 @@ public class RibbonClientPreprocessorPropertiesOverridesIntegrationTests { ZoneAvoidanceRule.class.cast(getLoadBalancer("bar").getRule()); } - //TODO: why do these tests fail in travis? + // TODO: why do these tests fail in travis? void assumeNotTravis() { - assumeThat("running in travis, skipping", System.getenv("TRAVIS"), is(not(equalTo("true")))); + assumeThat("running in travis, skipping", System.getenv("TRAVIS"), + is(not(equalTo("true")))); } @Test @@ -77,7 +78,8 @@ public class RibbonClientPreprocessorPropertiesOverridesIntegrationTests { public void serverListOverridesToTest() throws Exception { assumeNotTravis(); TestServerList.class.cast(getLoadBalancer("foo2").getServerListImpl()); - ConfigurationBasedServerList.class.cast(getLoadBalancer("bar").getServerListImpl()); + ConfigurationBasedServerList.class + .cast(getLoadBalancer("bar").getServerListImpl()); } @Test @@ -101,7 +103,7 @@ public class RibbonClientPreprocessorPropertiesOverridesIntegrationTests { @Configuration @RibbonClients @Import({ UtilAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class, - ArchaiusAutoConfiguration.class, RibbonAutoConfiguration.class}) + ArchaiusAutoConfiguration.class, RibbonAutoConfiguration.class }) protected static class TestConfiguration { } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientsPreprocessorIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientsPreprocessorIntegrationTests.java index 9710c4d4..302a6f90 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientsPreprocessorIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/RibbonClientsPreprocessorIntegrationTests.java @@ -16,11 +16,13 @@ package org.springframework.cloud.netflix.ribbon; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.commons.util.UtilAutoConfiguration; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonClientsPreprocessorIntegrationTests.TestConfiguration; @@ -34,13 +36,11 @@ import com.netflix.loadbalancer.Server; import com.netflix.loadbalancer.ZoneAvoidanceRule; import com.netflix.loadbalancer.ZoneAwareLoadBalancer; -import static org.junit.Assert.assertEquals; - /** * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = TestConfiguration.class) +@SpringBootTest(classes = TestConfiguration.class) @DirtiesContext public class RibbonClientsPreprocessorIntegrationTests { @@ -54,21 +54,19 @@ public class RibbonClientsPreprocessorIntegrationTests { @SuppressWarnings("unchecked") private ZoneAwareLoadBalancer getLoadBalancer() { - return (ZoneAwareLoadBalancer) this.factory - .getLoadBalancer("foo"); + return (ZoneAwareLoadBalancer) this.factory.getLoadBalancer("foo"); } @Test public void serverListFilterOverride() throws Exception { - assertEquals("myTestZone", - ZonePreferenceServerListFilter.class.cast(getLoadBalancer().getFilter()) - .getZone()); + assertEquals("myTestZone", ZonePreferenceServerListFilter.class + .cast(getLoadBalancer().getFilter()).getZone()); } @Configuration @RibbonClients(@RibbonClient(name = "foo", configuration = FooConfiguration.class)) @Import({ UtilAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class, - ArchaiusAutoConfiguration.class, RibbonAutoConfiguration.class}) + ArchaiusAutoConfiguration.class, RibbonAutoConfiguration.class }) protected static class TestConfiguration { } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/SpringClientFactoryTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/SpringClientFactoryTests.java index c8b07caf..531a231e 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/SpringClientFactoryTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/SpringClientFactoryTests.java @@ -19,7 +19,7 @@ package org.springframework.cloud.netflix.ribbon; import org.apache.http.client.params.ClientPNames; import org.apache.http.client.params.CookiePolicy; import org.junit.Test; -import org.springframework.boot.test.EnvironmentTestUtils; +import org.springframework.boot.test.util.EnvironmentTestUtils; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.context.annotation.AnnotationConfigApplicationContext; diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/test/RibbonClientDefaultConfigurationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/test/RibbonClientDefaultConfigurationTests.java index 8f27449c..1d811b58 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/test/RibbonClientDefaultConfigurationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/test/RibbonClientDefaultConfigurationTests.java @@ -23,8 +23,7 @@ import static org.junit.Assert.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.ribbon.SpringClientFactory; import org.springframework.cloud.netflix.ribbon.test.RibbonClientDefaultConfigurationTestsConfig.BazServiceList; import org.springframework.test.annotation.DirtiesContext; @@ -41,8 +40,7 @@ import com.netflix.loadbalancer.ZoneAwareLoadBalancer; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = RibbonClientDefaultConfigurationTestsConfig.class) -@IntegrationTest("ribbon.eureka.enabled=true") +@SpringBootTest(classes = RibbonClientDefaultConfigurationTestsConfig.class, value = "ribbon.eureka.enabled=true") @DirtiesContext public class RibbonClientDefaultConfigurationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableReturnValueHandlerTest.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableReturnValueHandlerTest.java index cff2d202..cbf36676 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableReturnValueHandlerTest.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableReturnValueHandlerTest.java @@ -16,6 +16,10 @@ package org.springframework.cloud.netflix.rx; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8; + import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; @@ -25,9 +29,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -35,7 +39,6 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -44,10 +47,6 @@ import rx.Observable; import rx.Single; import rx.functions.Func1; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8; - /** * Tests the demonstrate using {@link Observable} with {@link SingleReturnValueHandler} class. * @@ -55,9 +54,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8; * @author Jakub Narloch */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = ObservableReturnValueHandlerTest.Application.class) -@WebAppConfiguration -@IntegrationTest({"server.port=0"}) +@SpringBootTest(classes = ObservableReturnValueHandlerTest.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT) @DirtiesContext public class ObservableReturnValueHandlerTest { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableSseEmitterTest.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableSseEmitterTest.java index 74b6c5b5..8473520f 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableSseEmitterTest.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/ObservableSseEmitterTest.java @@ -16,6 +16,10 @@ package org.springframework.cloud.netflix.rx; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8; + import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; @@ -24,15 +28,14 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -43,10 +46,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import rx.Observable; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8; - /** * Tests the {@link ObservableSseEmitter} class. * @@ -54,88 +53,91 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8; * @author Jakub Narloch */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = ObservableSseEmitterTest.Application.class) -@WebAppConfiguration -@IntegrationTest({"server.port=0"}) +@SpringBootTest(classes = ObservableSseEmitterTest.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT) @DirtiesContext public class ObservableSseEmitterTest { - @Value("${local.server.port}") - private int port = 0; + @Value("${local.server.port}") + private int port = 0; - private TestRestTemplate restTemplate = new TestRestTemplate(); + private TestRestTemplate restTemplate = new TestRestTemplate(); - @Configuration - @EnableAutoConfiguration - @RestController - protected static class Application { + @Configuration + @EnableAutoConfiguration + @RestController + protected static class Application { // tag::rx_observable_sse[] - @RequestMapping(method = RequestMethod.GET, value = "/sse") - public SseEmitter single() { - return RxResponse.sse(Observable.just("single value")); - } + @RequestMapping(method = RequestMethod.GET, value = "/sse") + public SseEmitter single() { + return RxResponse.sse(Observable.just("single value")); + } - @RequestMapping(method = RequestMethod.GET, value = "/messages") - public SseEmitter messages() { - return RxResponse.sse(Observable.just("message 1", "message 2", "message 3")); - } + @RequestMapping(method = RequestMethod.GET, value = "/messages") + public SseEmitter messages() { + return RxResponse.sse(Observable.just("message 1", "message 2", "message 3")); + } - @RequestMapping(method = RequestMethod.GET, value = "/events") - public SseEmitter event() { - return RxResponse.sse(APPLICATION_JSON_UTF8, Observable.just( - new EventDto("Spring io", getDate(2016, 5, 19)), - new EventDto("SpringOnePlatform", getDate(2016, 8, 1)) - )); - } + @RequestMapping(method = RequestMethod.GET, value = "/events") + public SseEmitter event() { + return RxResponse.sse(APPLICATION_JSON_UTF8, + Observable.just(new EventDto("Spring io", getDate(2016, 5, 19)), + new EventDto("SpringOnePlatform", getDate(2016, 8, 1)))); + } // end::rx_observable_sse[] - } + } - @Test - public void shouldRetrieveSse() { + @Test + public void shouldRetrieveSse() { - // when - ResponseEntity response = restTemplate.getForEntity(path("/sse"), String.class); + // when + ResponseEntity response = restTemplate.getForEntity(path("/sse"), + String.class); - // then - assertNotNull(response); - assertEquals(HttpStatus.OK, response.getStatusCode()); - assertEquals("data:single value\n\n", response.getBody()); - } + // then + assertNotNull(response); + assertEquals(HttpStatus.OK, response.getStatusCode()); + assertEquals("data:single value\n\n", response.getBody()); + } - @Test - public void shouldRetrieveSseWithMultipleMessages() { + @Test + public void shouldRetrieveSseWithMultipleMessages() { - // when - ResponseEntity response = restTemplate.getForEntity(path("/messages"), String.class); + // when + ResponseEntity response = restTemplate.getForEntity(path("/messages"), + String.class); - // then - assertNotNull(response); - assertEquals(HttpStatus.OK, response.getStatusCode()); - assertEquals("data:message 1\n\ndata:message 2\n\ndata:message 3\n\n", response.getBody()); - } + // then + assertNotNull(response); + assertEquals(HttpStatus.OK, response.getStatusCode()); + assertEquals("data:message 1\n\ndata:message 2\n\ndata:message 3\n\n", + response.getBody()); + } - @Test - public void shouldRetrieveJsonOverSseWithMultipleMessages() { + @Test + public void shouldRetrieveJsonOverSseWithMultipleMessages() { - // when - ResponseEntity response = restTemplate.getForEntity(path("/events"), String.class); + // when + ResponseEntity response = restTemplate.getForEntity(path("/events"), + String.class); - // then - assertNotNull(response); - assertEquals(HttpStatus.OK, response.getStatusCode()); - assertEquals("data:{\"name\":\"Spring io\",\"date\":1466337600000}\n\ndata:{\"name\":\"SpringOnePlatform\",\"date\":1472731200000}\n\n", response.getBody()); - } + // then + assertNotNull(response); + assertEquals(HttpStatus.OK, response.getStatusCode()); + assertEquals( + "data:{\"name\":\"Spring io\",\"date\":1466337600000}\n\ndata:{\"name\":\"SpringOnePlatform\",\"date\":1472731200000}\n\n", + response.getBody()); + } - private String path(String context) { - return String.format("http://localhost:%d%s", port, context); - } + private String path(String context) { + return String.format("http://localhost:%d%s", port, context); + } - private static Date getDate(int year, int month, int day) { - GregorianCalendar calendar = new GregorianCalendar(year, month, day, 12, 0, 0); - calendar.setTimeZone(TimeZone.getTimeZone("UTC")); - return calendar.getTime(); - } + private static Date getDate(int year, int month, int day) { + GregorianCalendar calendar = new GregorianCalendar(year, month, day, 12, 0, 0); + calendar.setTimeZone(TimeZone.getTimeZone("UTC")); + return calendar.getTime(); + } /** * A simple DTO used for testing purpose. @@ -149,7 +151,8 @@ public class ObservableSseEmitterTest { private final Date date; @JsonCreator - public EventDto(@JsonProperty("name") String name, @JsonProperty("date") Date date) { + public EventDto(@JsonProperty("name") String name, + @JsonProperty("date") Date date) { this.name = name; this.date = date; } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/SingleReturnValueHandlerTest.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/SingleReturnValueHandlerTest.java index 976145f6..8c7f0c45 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/SingleReturnValueHandlerTest.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/rx/SingleReturnValueHandlerTest.java @@ -16,28 +16,27 @@ package org.springframework.cloud.netflix.rx; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import rx.Single; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - /** * Tests the {@link SingleReturnValueHandler} class. * @@ -45,76 +44,78 @@ import static org.junit.Assert.assertNotNull; * @author Jakub Narloch */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = SingleReturnValueHandlerTest.Application.class) -@WebAppConfiguration -@IntegrationTest({"server.port=0"}) +@SpringBootTest(classes = SingleReturnValueHandlerTest.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT) @DirtiesContext public class SingleReturnValueHandlerTest { - @Value("${local.server.port}") - private int port = 0; + @Value("${local.server.port}") + private int port = 0; - private TestRestTemplate restTemplate = new TestRestTemplate(); + private TestRestTemplate restTemplate = new TestRestTemplate(); - @Configuration - @EnableAutoConfiguration - @RestController - protected static class Application { + @Configuration + @EnableAutoConfiguration + @RestController + protected static class Application { // tag::rx_single[] - @RequestMapping(method = RequestMethod.GET, value = "/single") - public Single single() { - return Single.just("single value"); - } + @RequestMapping(method = RequestMethod.GET, value = "/single") + public Single single() { + return Single.just("single value"); + } - @RequestMapping(method = RequestMethod.GET, value = "/singleWithResponse") - public ResponseEntity> singleWithResponse() { - return new ResponseEntity<>(Single.just("single value"), HttpStatus.NOT_FOUND); - } + @RequestMapping(method = RequestMethod.GET, value = "/singleWithResponse") + public ResponseEntity> singleWithResponse() { + return new ResponseEntity<>(Single.just("single value"), + HttpStatus.NOT_FOUND); + } - @RequestMapping(method = RequestMethod.GET, value = "/throw") - public Single error() { - return Single.error(new RuntimeException("Unexpected")); - } + @RequestMapping(method = RequestMethod.GET, value = "/throw") + public Single error() { + return Single.error(new RuntimeException("Unexpected")); + } // end::rx_single[] } - @Test - public void shouldRetrieveSingleValue() { + @Test + public void shouldRetrieveSingleValue() { - // when - ResponseEntity response = restTemplate.getForEntity(path("/single"), String.class); + // when + ResponseEntity response = restTemplate.getForEntity(path("/single"), + String.class); - // then - assertNotNull(response); - assertEquals(HttpStatus.OK, response.getStatusCode()); - assertEquals("single value", response.getBody()); - } + // then + assertNotNull(response); + assertEquals(HttpStatus.OK, response.getStatusCode()); + assertEquals("single value", response.getBody()); + } - @Test - public void shouldRetrieveSingleValueWithStatusCode() { + @Test + public void shouldRetrieveSingleValueWithStatusCode() { - // when - ResponseEntity response = restTemplate.getForEntity(path("/singleWithResponse"), String.class); + // when + ResponseEntity response = restTemplate + .getForEntity(path("/singleWithResponse"), String.class); - // then - assertNotNull(response); - assertEquals(HttpStatus.NOT_FOUND, response.getStatusCode()); - assertEquals("single value", response.getBody()); - } + // then + assertNotNull(response); + assertEquals(HttpStatus.NOT_FOUND, response.getStatusCode()); + assertEquals("single value", response.getBody()); + } - @Test - public void shouldRetrieveErrorResponse() { + @Test + public void shouldRetrieveErrorResponse() { - // when - ResponseEntity response = restTemplate.getForEntity(path("/throw"), Object.class); + // when + ResponseEntity response = restTemplate.getForEntity(path("/throw"), + Object.class); - // then - assertNotNull(response); - assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); - } + // then + assertNotNull(response); + assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); + } - private String path(String context) { - return String.format("http://localhost:%d%s", port, context); - } + private String path(String context) { + return String.format("http://localhost:%d%s", port, context); + } } \ No newline at end of file diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java index 9a9868b1..7a98c454 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java @@ -24,9 +24,9 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.zuul.filters.ZuulProperties.ZuulRoute; import org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator; import org.springframework.context.annotation.Configuration; @@ -36,7 +36,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -45,9 +44,8 @@ import org.springframework.web.bind.annotation.RestController; import com.netflix.zuul.context.RequestContext; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = ContextPathZuulProxyApplication.class) -@WebAppConfiguration -@IntegrationTest({ "server.port: 0", "server.contextPath: /app" }) +@SpringBootTest(classes = ContextPathZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "server.contextPath: /app" }) @DirtiesContext public class ContextPathZuulProxyApplicationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java index 872a6059..f2d786c1 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java @@ -16,6 +16,8 @@ package org.springframework.cloud.netflix.zuul; +import static org.junit.Assert.assertEquals; + import java.io.IOException; import java.io.InputStream; import java.util.Map; @@ -29,9 +31,9 @@ import org.springframework.boot.actuate.trace.InMemoryTraceRepository; import org.springframework.boot.actuate.trace.TraceRepository; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.cloud.netflix.ribbon.RibbonClients; import org.springframework.cloud.netflix.ribbon.StaticServerList; @@ -45,7 +47,6 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.RequestMapping; @@ -59,14 +60,11 @@ import com.netflix.loadbalancer.ServerList; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; -import static org.junit.Assert.assertEquals; - import lombok.extern.slf4j.Slf4j; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FormZuulProxyApplication.class) -@WebAppConfiguration -@IntegrationTest({ "server.port:0", "zuul.routes.simple:/simple/**" }) +@SpringBootTest(classes = FormZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "zuul.routes.simple:/simple/**" }) @DirtiesContext public class FormZuulProxyApplicationTests { @@ -93,7 +91,7 @@ public class FormZuulProxyApplicationTests { assertEquals("Posted! {foo=[bar]}", result.getBody()); } - @Ignore //TODO: fix this test + @Ignore // TODO: fix this test @Test public void postWithMultipartForm() { MultiValueMap form = new LinkedMultiValueMap(); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java index 3c158023..7f6dfb1c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java @@ -16,6 +16,8 @@ package org.springframework.cloud.netflix.zuul; +import static org.junit.Assert.assertEquals; + import java.io.IOException; import java.io.InputStream; import java.util.Map; @@ -28,9 +30,9 @@ import org.springframework.boot.actuate.trace.InMemoryTraceRepository; import org.springframework.boot.actuate.trace.TraceRepository; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.cloud.netflix.ribbon.RibbonClients; import org.springframework.cloud.netflix.ribbon.StaticServerList; @@ -57,13 +59,10 @@ import com.netflix.loadbalancer.ServerList; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; -import static org.junit.Assert.assertEquals; - import lombok.extern.slf4j.Slf4j; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = FormZuulServletProxyApplication.class) -@WebIntegrationTest(value = "zuul.routes.simple:/simple/**", randomPort = true) +@SpringBootTest(classes = FormZuulServletProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = "zuul.routes.simple:/simple/**") @DirtiesContext public class FormZuulServletProxyApplicationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java index 66bccf29..91d80bdb 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java @@ -1,15 +1,16 @@ package org.springframework.cloud.netflix.zuul; +import static org.junit.Assert.assertEquals; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.cloud.netflix.ribbon.StaticServerList; import org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator; @@ -23,7 +24,6 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.RequestBody; @@ -36,13 +36,10 @@ import com.netflix.loadbalancer.ServerList; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; -import static org.junit.Assert.assertEquals; - @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = RetryableZuulProxyApplication.class) -@WebAppConfiguration -@IntegrationTest({ "server.port: 0", "zuul.routes.simple.path: /simple/**", - "zuul.routes.simple.retryable: true", "ribbon.OkToRetryOnAllOperations: true" }) +@SpringBootTest(classes = RetryableZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "zuul.routes.simple.path: /simple/**", "zuul.routes.simple.retryable: true", + "ribbon.OkToRetryOnAllOperations: true" }) @DirtiesContext public class RetryableZuulProxyApplicationTests { @@ -50,9 +47,11 @@ public class RetryableZuulProxyApplicationTests { private int port; @Autowired + @SuppressWarnings("unused") private DiscoveryClientRouteLocator routes; @Autowired + @SuppressWarnings("unused") private RoutesEndpoint endpoint; @Before diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java index 8da0e2de..9b103cce 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java @@ -24,9 +24,9 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.zuul.filters.ZuulProperties.ZuulRoute; import org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator; import org.springframework.context.annotation.Configuration; @@ -36,7 +36,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -45,9 +44,8 @@ import org.springframework.web.bind.annotation.RestController; import com.netflix.zuul.context.RequestContext; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = ServletPathZuulProxyApplicationTests.ServletPathZuulProxyApplication.class) -@WebAppConfiguration -@IntegrationTest({ "server.port: 0", "server.servletPath: /app" }) +@SpringBootTest(classes = ServletPathZuulProxyApplicationTests.ServletPathZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "server.port: 0", "server.servletPath: /app" }) @DirtiesContext public class ServletPathZuulProxyApplicationTests { @@ -90,7 +88,6 @@ public class ServletPathZuulProxyApplicationTests { assertEquals("Gotten strip!", result.getBody()); } - // Don't use @SpringBootApplication because we don't want to component scan @Configuration @EnableAutoConfiguration @@ -100,8 +97,8 @@ public class ServletPathZuulProxyApplicationTests { @RequestMapping(value = "/local/{id}", method = RequestMethod.GET) public String get(@PathVariable String id) { - return "Gotten " + id + "!"; - } + return "Gotten " + id + "!"; + } } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java index ae906e68..3ad939f0 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java @@ -16,6 +16,9 @@ package org.springframework.cloud.netflix.zuul; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -23,9 +26,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.zuul.filters.RouteLocator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -35,20 +38,14 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = SimpleZuulServerApplication.class) -@WebAppConfiguration -@IntegrationTest({ "server.port: 0" }) +@SpringBootTest(classes = SimpleZuulServerApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT) @DirtiesContext public class SimpleZuulServerApplicationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java index 1026165b..8911e076 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java @@ -1,5 +1,9 @@ package org.springframework.cloud.netflix.zuul.filters; +import static junit.framework.TestCase.assertFalse; +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertEquals; + import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -15,9 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; import org.springframework.cloud.netflix.zuul.RoutesEndpoint; import org.springframework.cloud.netflix.zuul.ZuulProxyConfiguration; @@ -31,7 +35,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.PathVariable; @@ -43,14 +46,9 @@ import org.springframework.web.client.RestTemplate; import com.netflix.zuul.context.RequestContext; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; -import static org.junit.Assert.assertEquals; - @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = SampleCustomZuulProxyApplication.class) -@WebAppConfiguration -@IntegrationTest({ "server.port: 0", "server.contextPath: /app" }) +@SpringBootTest(classes = SampleCustomZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "server.contextPath: /app" }) @DirtiesContext public class CustomHostRoutingFilterTests { @@ -192,13 +190,14 @@ class SampleCustomZuulProxyApplication { @Bean @Override - public SimpleHostRoutingFilter simpleHostRoutingFilter( - ProxyRequestHelper helper, ZuulProperties zuulProperties) { + public SimpleHostRoutingFilter simpleHostRoutingFilter(ProxyRequestHelper helper, + ZuulProperties zuulProperties) { return new CustomHostRoutingFilter(helper, zuulProperties); } private class CustomHostRoutingFilter extends SimpleHostRoutingFilter { - public CustomHostRoutingFilter(ProxyRequestHelper helper, ZuulProperties zuulProperties) { + public CustomHostRoutingFilter(ProxyRequestHelper helper, + ZuulProperties zuulProperties) { super(helper, zuulProperties); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java index be2a06f1..4864d271 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java @@ -1,5 +1,10 @@ package org.springframework.cloud.netflix.zuul.filters.discovery; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapperIntegrationTests.SERVICE_ID; + import java.util.ArrayList; import java.util.List; @@ -10,9 +15,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.cloud.netflix.ribbon.StaticServerList; @@ -25,7 +30,6 @@ import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -36,19 +40,13 @@ import com.netflix.loadbalancer.Server; import com.netflix.loadbalancer.ServerList; import com.netflix.zuul.context.RequestContext; -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; -import static org.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapperIntegrationTests.SERVICE_ID; - /** * @author Stéphane Leroy */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = SampleCustomZuulProxyApplication.class) -@WebIntegrationTest(value = { "spring.application.name=regex-test-application", - "spring.jmx.enabled=true" }, randomPort = true) -@TestPropertySource(properties = "eureka.client.enabled=false") +@SpringBootTest(classes = SampleCustomZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=regex-test-application", "spring.jmx.enabled=true", + "eureka.client.enabled=false" }) @DirtiesContext public class PatternServiceRouteMapperIntegrationTests { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SimpleHostRoutingFilterTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SimpleHostRoutingFilterTests.java index 20b0f5ef..7275e36d 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SimpleHostRoutingFilterTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SimpleHostRoutingFilterTests.java @@ -30,7 +30,7 @@ import org.springframework.context.annotation.Configuration; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.springframework.boot.test.EnvironmentTestUtils.addEnvironment; +import static org.springframework.boot.test.util.EnvironmentTestUtils.addEnvironment; /** * @author Andreas Kluth diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandIntegrationTests.java index 483294c1..d4bcfa2c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandIntegrationTests.java @@ -17,20 +17,24 @@ package org.springframework.cloud.netflix.zuul.filters.route.apache; -import com.netflix.client.RetryHandler; -import com.netflix.client.config.IClientConfig; -import com.netflix.loadbalancer.ILoadBalancer; -import com.netflix.loadbalancer.Server; -import com.netflix.loadbalancer.ServerList; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.springframework.http.HttpHeaders.SET_COOKIE; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.ErrorAttributes; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.cloud.netflix.ribbon.RibbonClients; import org.springframework.cloud.netflix.ribbon.SpringClientFactory; @@ -54,24 +58,21 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.util.WebUtils; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.springframework.http.HttpHeaders.SET_COOKIE; +import com.netflix.client.RetryHandler; +import com.netflix.client.config.IClientConfig; +import com.netflix.loadbalancer.ILoadBalancer; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerList; /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = HttpClientRibbonCommandIntegrationTests.TestConfig.class) -@WebIntegrationTest(randomPort = true, value = { +@SpringBootTest(classes = HttpClientRibbonCommandIntegrationTests.TestConfig.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "zuul.routes.other: /test/**=http://localhost:7777/local", "zuul.routes.another: /another/twolevel/**", "zuul.routes.simple: /simple/**", - "zuul.routes.singleton: /singleton/**", "zuul.routes.singleton.sensitiveHeaders: " }) + "zuul.routes.singleton: /singleton/**", + "zuul.routes.singleton.sensitiveHeaders: " }) @DirtiesContext public class HttpClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { @@ -115,26 +116,27 @@ public class HttpClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { @Test public void ribbonLoadBalancingHttpClientCookiePolicy() { ResponseEntity result = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/simple/downstream_cookie", HttpMethod.POST, - new HttpEntity<>((Void) null), String.class); + "http://localhost:" + this.port + "/simple/downstream_cookie", + HttpMethod.POST, new HttpEntity<>((Void) null), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Cookie 434354454!", result.getBody()); assertNull(result.getHeaders().getFirst(SET_COOKIE)); - // if new instance of RibbonLoadBalancingHttpClient is getting created every time - // and HttpClient is not reused then there are no concerns for the shared cookie storage - // but since https://github.com/spring-cloud/spring-cloud-netflix/issues/1150 is on the way a + // and HttpClient is not reused then there are no concerns for the shared cookie + // storage + // but since https://github.com/spring-cloud/spring-cloud-netflix/issues/1150 is + // on the way a result = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/singleton/downstream_cookie", HttpMethod.POST, - new HttpEntity<>((Void) null), String.class); + "http://localhost:" + this.port + "/singleton/downstream_cookie", + HttpMethod.POST, new HttpEntity<>((Void) null), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Cookie 434354454!", result.getBody()); assertEquals("jsessionid=434354454", result.getHeaders().getFirst(SET_COOKIE)); result = new TestRestTemplate().exchange( - "http://localhost:" + this.port + "/singleton/downstream_cookie", HttpMethod.GET, - new HttpEntity<>((Void) null), String.class); + "http://localhost:" + this.port + "/singleton/downstream_cookie", + HttpMethod.GET, new HttpEntity<>((Void) null), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Cookie null!", result.getBody()); } @@ -144,6 +146,7 @@ public class HttpClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { assertTrue("ribbonCommandFactory not a HttpClientRibbonCommandFactory", this.ribbonCommandFactory instanceof HttpClientRibbonCommandFactory); } + // Don't use @SpringBootApplication because we don't want to component scan @Configuration @EnableAutoConfiguration @@ -152,29 +155,27 @@ public class HttpClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { @RibbonClients({ @RibbonClient(name = "simple", configuration = ZuulProxyTestBase.SimpleRibbonClientConfiguration.class), @RibbonClient(name = "another", configuration = ZuulProxyTestBase.AnotherRibbonClientConfiguration.class), - @RibbonClient(name = "singleton", configuration = SingletonRibbonClientConfiguration.class) }) + @RibbonClient(name = "singleton", configuration = SingletonRibbonClientConfiguration.class) }) static class TestConfig extends ZuulProxyTestBase.AbstractZuulProxyApplication { @RequestMapping(value = "/local/{id}", method = RequestMethod.PATCH) - public String patch(@PathVariable final String id, @RequestBody final String body) { + public String patch(@PathVariable final String id, + @RequestBody final String body) { return "Patched " + id + "!"; } @RequestMapping(value = "/downstream_cookie", method = RequestMethod.POST) - public String setDownstreamCookie(HttpServletResponse response) - { + public String setDownstreamCookie(HttpServletResponse response) { response.addCookie(new Cookie("jsessionid", "434354454")); return "Cookie 434354454!"; } @RequestMapping(value = "/downstream_cookie", method = RequestMethod.GET) - public String readDownstreamCookie(HttpServletRequest request) - { + public String readDownstreamCookie(HttpServletRequest request) { final Cookie cookie = WebUtils.getCookie(request, "jsessionid"); return "Cookie " + cookie + "!"; } - @Bean public RibbonCommandFactory ribbonCommandFactory( final SpringClientFactory clientFactory) { @@ -182,7 +183,8 @@ public class HttpClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { } @Bean - public ZuulProxyTestBase.MyErrorController myErrorController(ErrorAttributes errorAttributes) { + public ZuulProxyTestBase.MyErrorController myErrorController( + ErrorAttributes errorAttributes) { return new ZuulProxyTestBase.MyErrorController(errorAttributes); } } @@ -200,8 +202,8 @@ public class HttpClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { } @Bean - public RibbonLoadBalancingHttpClient ribbonClient(IClientConfig config, ILoadBalancer loadBalancer, RetryHandler retryHandler) - { + public RibbonLoadBalancingHttpClient ribbonClient(IClientConfig config, + ILoadBalancer loadBalancer, RetryHandler retryHandler) { final RibbonLoadBalancingHttpClient client = new RibbonLoadBalancingHttpClient(); client.setLoadBalancer(loadBalancer); client.setRetryHandler(retryHandler); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandIntegrationTests.java index 725f7327..7c4086f8 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandIntegrationTests.java @@ -25,9 +25,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.ErrorAttributes; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.cloud.netflix.ribbon.RibbonClients; import org.springframework.cloud.netflix.ribbon.SpringClientFactory; @@ -45,8 +45,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.RestController; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = OkHttpRibbonCommandIntegrationTests.TestConfig.class) -@WebIntegrationTest(randomPort = true, value = { +@SpringBootTest(classes = OkHttpRibbonCommandIntegrationTests.TestConfig.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "zuul.routes.other: /test/**=http://localhost:7777/local", "zuul.routes.another: /another/twolevel/**", "zuul.routes.simple: /simple/**" }) @DirtiesContext @@ -89,7 +88,6 @@ public class OkHttpRibbonCommandIntegrationTests extends ZuulProxyTestBase { assertEquals("Deleted 1!", result.getBody()); } - @Test public void ribbonCommandFactoryOverridden() { assertTrue("ribbonCommandFactory not a OkHttpRibbonCommandFactory", diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandIntegrationTests.java index db862e19..725516b4 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandIntegrationTests.java @@ -34,23 +34,23 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.web.ErrorAttributes; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.cloud.netflix.ribbon.RibbonClients; import org.springframework.cloud.netflix.ribbon.SpringClientFactory; import org.springframework.cloud.netflix.ribbon.StaticServerList; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; +import org.springframework.cloud.netflix.zuul.filters.RouteLocator; +import org.springframework.cloud.netflix.zuul.filters.ZuulProperties; +import org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator; import org.springframework.cloud.netflix.zuul.filters.route.RestClientRibbonCommand; import org.springframework.cloud.netflix.zuul.filters.route.RestClientRibbonCommandFactory; import org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandContext; import org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandFactory; import org.springframework.cloud.netflix.zuul.filters.route.support.ZuulProxyTestBase; -import org.springframework.cloud.netflix.zuul.filters.RouteLocator; -import org.springframework.cloud.netflix.zuul.filters.ZuulProperties; -import org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpEntity; @@ -62,7 +62,6 @@ import org.springframework.http.client.ClientHttpResponse; import org.springframework.mock.http.client.MockClientHttpResponse; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.MatrixVariable; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -77,9 +76,7 @@ import com.netflix.niws.client.http.RestClient; import lombok.SneakyThrows; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = RestClientRibbonCommandIntegrationTests.TestConfig.class) -@WebAppConfiguration -@IntegrationTest({ "server.port: 0", +@SpringBootTest(classes = RestClientRibbonCommandIntegrationTests.TestConfig.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "zuul.routes.other: /test/**=http://localhost:7777/local", "zuul.routes.another: /another/twolevel/**", "zuul.routes.simple: /simple/**", "zuul.routes.badhost: /badhost/**", "zuul.ignoredHeaders: X-Header", @@ -236,7 +233,6 @@ public class RestClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { this.routeLocator instanceof TestConfig.MyRouteLocator); } - // Don't use @SpringBootApplication because we don't want to component scan @Configuration @EnableAutoConfiguration @@ -250,8 +246,8 @@ public class RestClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { @RequestMapping("/trailing-slash") public String trailingSlash(HttpServletRequest request) { - return request.getRequestURI(); - } + return request.getRequestURI(); + } @RequestMapping("/content-type") public String contentType(HttpServletRequest request) { @@ -289,7 +285,8 @@ public class RestClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { } @Bean - public RouteLocator routeLocator(DiscoveryClient discoveryClient, ZuulProperties zuulProperties) { + public RouteLocator routeLocator(DiscoveryClient discoveryClient, + ZuulProperties zuulProperties) { return new MyRouteLocator("/", discoveryClient, zuulProperties); } @@ -299,10 +296,11 @@ public class RestClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { } public static void main(String[] args) { - SpringApplication.run(TestConfig.class, args); - } + SpringApplication.run(TestConfig.class, args); + } - public static class MyRibbonCommandFactory extends RestClientRibbonCommandFactory { + public static class MyRibbonCommandFactory + extends RestClientRibbonCommandFactory { private SpringClientFactory clientFactory; @@ -352,14 +350,16 @@ public class RestClientRibbonCommandIntegrationTests extends ZuulProxyTestBase { static class BadHostRibbonClientConfiguration { @Bean public ServerList ribbonServerList() { - return new StaticServerList<>(new Server(UUID.randomUUID().toString(), 4322)); + return new StaticServerList<>( + new Server(UUID.randomUUID().toString(), 4322)); } } static class MyRouteLocator extends DiscoveryClientRouteLocator { - public MyRouteLocator(String servletPath, DiscoveryClient discovery, ZuulProperties properties) { + public MyRouteLocator(String servletPath, DiscoveryClient discovery, + ZuulProperties properties) { super(servletPath, discovery, properties); } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java index ffdb3771..00baab11 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java @@ -17,6 +17,11 @@ package org.springframework.cloud.netflix.zuul.filters.route.support; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assume.assumeThat; + import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -25,7 +30,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import javax.servlet.http.HttpServletRequest; -import org.junit.Assume; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +37,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.web.BasicErrorController; import org.springframework.boot.autoconfigure.web.ErrorAttributes; import org.springframework.boot.autoconfigure.web.ErrorProperties; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.ribbon.StaticServerList; import org.springframework.cloud.netflix.zuul.RoutesEndpoint; import org.springframework.cloud.netflix.zuul.filters.Route; @@ -60,11 +64,6 @@ import com.netflix.loadbalancer.ServerList; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assume.assumeThat; - /** * @author Spencer Gibb */ diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfigurationTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfigurationTests.java index 6c21cb62..a9240293 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfigurationTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfigurationTests.java @@ -18,12 +18,11 @@ package org.springframework.cloud.netflix.eureka; import org.junit.After; import org.junit.Test; -import org.mockito.Matchers; import org.mockito.Mockito; import org.springframework.aop.scope.ScopedProxyFactoryBean; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.boot.test.EnvironmentTestUtils; +import org.springframework.boot.test.util.EnvironmentTestUtils; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.cloud.commons.util.UtilAutoConfiguration; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @@ -32,12 +31,11 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import com.netflix.discovery.shared.transport.jersey.EurekaJerseyClient; -import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter; import com.sun.jersey.client.apache4.ApacheHttpClient4; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.springframework.boot.test.EnvironmentTestUtils.addEnvironment; +import static org.springframework.boot.test.util.EnvironmentTestUtils.addEnvironment; /** * @author Spencer Gibb diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientConfigBeanTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientConfigBeanTests.java index cc7f36c0..1d2da41d 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientConfigBeanTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaClientConfigBeanTests.java @@ -22,7 +22,7 @@ import org.junit.After; import org.junit.Test; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.boot.test.EnvironmentTestUtils; +import org.springframework.boot.test.util.EnvironmentTestUtils; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.CompositePropertySource; diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaInstanceConfigBeanTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaInstanceConfigBeanTests.java index f2f39639..0f3f99b6 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaInstanceConfigBeanTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/EurekaInstanceConfigBeanTests.java @@ -33,7 +33,7 @@ import com.netflix.appinfo.InstanceInfo.InstanceStatus; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.springframework.boot.test.EnvironmentTestUtils.addEnvironment; +import static org.springframework.boot.test.util.EnvironmentTestUtils.addEnvironment; /** * @author Dave Syer diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/InstanceInfoFactoryTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/InstanceInfoFactoryTests.java index d833c1dc..e2f1dbdc 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/InstanceInfoFactoryTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/InstanceInfoFactoryTests.java @@ -15,7 +15,7 @@ import com.netflix.appinfo.InstanceInfo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.springframework.boot.test.EnvironmentTestUtils.addEnvironment; +import static org.springframework.boot.test.util.EnvironmentTestUtils.addEnvironment; public class InstanceInfoFactoryTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientConfigServiceAutoConfigurationTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientConfigServiceAutoConfigurationTests.java index 9616dab5..095404f5 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientConfigServiceAutoConfigurationTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientConfigServiceAutoConfigurationTests.java @@ -22,7 +22,7 @@ import org.junit.After; import org.junit.Test; import org.mockito.Mockito; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.EnvironmentTestUtils; +import org.springframework.boot.test.util.EnvironmentTestUtils; import org.springframework.cloud.commons.util.UtilAutoConfiguration; import org.springframework.cloud.config.client.ConfigClientProperties; import org.springframework.cloud.config.client.DiscoveryClientConfigServiceBootstrapConfiguration; diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/healthcheck/EurekaHealthCheckTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/healthcheck/EurekaHealthCheckTests.java index ee8ab079..79aed7e5 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/healthcheck/EurekaHealthCheckTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/healthcheck/EurekaHealthCheckTests.java @@ -25,57 +25,54 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 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; -import org.springframework.test.context.web.WebAppConfiguration; import com.netflix.appinfo.InstanceInfo; import com.netflix.discovery.EurekaClient; - /** * Tests the Eureka health check handler. * * @author Jakub Narloch */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = EurekaHealthCheckTests.EurekaHealthCheckApplication.class) -@WebAppConfiguration -@IntegrationTest({"server.port=0", "eureka.client.healthcheck.enabled=true", "debug=true"}) +@SpringBootTest(classes = EurekaHealthCheckTests.EurekaHealthCheckApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "eureka.client.healthcheck.enabled=true", "debug=true" }) @DirtiesContext public class EurekaHealthCheckTests { - @Autowired - private EurekaClient discoveryClient; + @Autowired + private EurekaClient discoveryClient; - @Test - public void shouldRegisterService() { + @Test + public void shouldRegisterService() { - InstanceInfo.InstanceStatus status = this.discoveryClient.getHealthCheckHandler() - .getStatus(InstanceInfo.InstanceStatus.UNKNOWN); + InstanceInfo.InstanceStatus status = this.discoveryClient.getHealthCheckHandler() + .getStatus(InstanceInfo.InstanceStatus.UNKNOWN); - assertNotNull(status); - assertEquals(InstanceInfo.InstanceStatus.OUT_OF_SERVICE, status); - } + assertNotNull(status); + assertEquals(InstanceInfo.InstanceStatus.OUT_OF_SERVICE, status); + } - @Configuration - @EnableAutoConfiguration - @EnableEurekaClient - protected static class EurekaHealthCheckApplication { + @Configuration + @EnableAutoConfiguration + @EnableEurekaClient + protected static class EurekaHealthCheckApplication { - @Bean - public HealthIndicator healthIndicator() { - return new HealthIndicator() { - @Override - public Health health() { - return new Health.Builder().outOfService().build(); - } - }; - } - } + @Bean + public HealthIndicator healthIndicator() { + return new HealthIndicator() { + @Override + public Health health() { + return new Health.Builder().outOfService().build(); + } + }; + } + } } diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java index eae13e52..3b72e97e 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java @@ -18,16 +18,13 @@ package org.springframework.cloud.netflix.eureka.sample; import org.junit.Test; import org.junit.runner.RunWith; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = EurekaSampleApplication.class) -@WebAppConfiguration -@IntegrationTest("server.port=0") +@SpringBootTest(classes = EurekaSampleApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT) @DirtiesContext public class ApplicationTests { diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPreprocessorIntegrationTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPreprocessorIntegrationTests.java index 4835e63b..c75f8966 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPreprocessorIntegrationTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPreprocessorIntegrationTests.java @@ -20,7 +20,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.commons.util.UtilAutoConfiguration; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration; @@ -43,7 +43,7 @@ import com.netflix.niws.loadbalancer.NIWSDiscoveryPing; * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = TestConfiguration.class) +@SpringBootTest(classes = TestConfiguration.class) @DirtiesContext public class EurekaRibbonClientPreprocessorIntegrationTests { diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPropertyOverrideIntegrationTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPropertyOverrideIntegrationTests.java index b301fb7f..cd51607e 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPropertyOverrideIntegrationTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/EurekaRibbonClientPropertyOverrideIntegrationTests.java @@ -22,7 +22,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.commons.util.UtilAutoConfiguration; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguration; @@ -45,7 +45,7 @@ import com.netflix.niws.loadbalancer.NIWSDiscoveryPing; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(EurekaRibbonClientPropertyOverrideIntegrationTests.TestConfiguration.class) +@SpringBootTest(classes = EurekaRibbonClientPropertyOverrideIntegrationTests.TestConfiguration.class) @DirtiesContext public class EurekaRibbonClientPropertyOverrideIntegrationTests { @@ -60,7 +60,8 @@ public class EurekaRibbonClientPropertyOverrideIntegrationTests { @Test public void serverListOverridesToTest() throws Exception { - ConfigurationBasedServerList.class.cast(getLoadBalancer("foo3").getServerListImpl()); + ConfigurationBasedServerList.class + .cast(getLoadBalancer("foo3").getServerListImpl()); DomainExtractingServerList.class.cast(getLoadBalancer("bar").getServerListImpl()); } diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonClientPreprocessorIntegrationTests.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonClientPreprocessorIntegrationTests.java index 045389fe..b78d48c4 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonClientPreprocessorIntegrationTests.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonClientPreprocessorIntegrationTests.java @@ -16,13 +16,14 @@ package org.springframework.cloud.netflix.ribbon.eureka; -import com.netflix.discovery.EurekaClient; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.commons.util.InetUtils; import org.springframework.cloud.commons.util.InetUtilsProperties; import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration; @@ -38,17 +39,16 @@ import org.springframework.context.annotation.Import; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import com.netflix.discovery.EurekaClient; import com.netflix.loadbalancer.Server; import com.netflix.loadbalancer.ZoneAvoidanceRule; import com.netflix.loadbalancer.ZoneAwareLoadBalancer; -import static org.junit.Assert.assertEquals; - /** * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = TestConfiguration.class) +@SpringBootTest(classes = TestConfiguration.class) @DirtiesContext public class RibbonClientPreprocessorIntegrationTests { diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationContextTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationContextTests.java index e562e773..11f80ae2 100644 --- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationContextTests.java +++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationContextTests.java @@ -27,9 +27,9 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.eureka.server.ApplicationContextTests.Application; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpEntity; @@ -39,13 +39,10 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=eureka", - "server.contextPath=/context" }) +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=eureka", "server.contextPath=/context" }) public class ApplicationContextTests { @Value("${local.server.port}") @@ -69,8 +66,8 @@ public class ApplicationContextTests { assertTrue(body.contains("eureka/js")); assertTrue(body.contains("eureka/css")); // The "DS Replicas" - assertTrue(body - .contains("localhost")); + assertTrue( + body.contains("localhost")); } @Test @@ -95,9 +92,9 @@ public class ApplicationContextTests { headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON)); @SuppressWarnings("rawtypes") - ResponseEntity entity = new TestRestTemplate().exchange("http://localhost:" - + this.port + "/context/env", HttpMethod.GET, new HttpEntity<>( - "parameters", headers), Map.class); + ResponseEntity entity = new TestRestTemplate().exchange( + "http://localhost:" + this.port + "/context/env", HttpMethod.GET, + new HttpEntity<>("parameters", headers), Map.class); assertEquals(HttpStatus.OK, entity.getStatusCode()); } @@ -107,9 +104,10 @@ public class ApplicationContextTests { protected static class Application { public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=eureka", "server.contextPath=/context").run( - args); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=eureka", + "server.contextPath=/context") + .run(args); } } diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardDisabledTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardDisabledTests.java index 41b13b64..69b9abaa 100644 --- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardDisabledTests.java +++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardDisabledTests.java @@ -16,26 +16,23 @@ package org.springframework.cloud.netflix.eureka.server; +import static org.junit.Assert.assertEquals; + import java.util.Map; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.eureka.server.ApplicationContextTests.Application; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=eureka", +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=eureka", "eureka.dashboard.enabled=false" }) public class ApplicationDashboardDisabledTests { diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardPathTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardPathTests.java index a902c6ef..d3fd0004 100644 --- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardPathTests.java +++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationDashboardPathTests.java @@ -16,28 +16,25 @@ package org.springframework.cloud.netflix.eureka.server; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.util.Map; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.eureka.server.ApplicationContextTests.Application; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=eureka", - "eureka.dashboard.path=/dashboard" }) +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=eureka", "eureka.dashboard.path=/dashboard" }) public class ApplicationDashboardPathTests { @Value("${local.server.port}") @@ -61,8 +58,8 @@ public class ApplicationDashboardPathTests { assertTrue(body.contains("eureka/js")); assertTrue(body.contains("eureka/css")); // The "DS Replicas" - assertTrue(body - .contains("localhost")); + assertTrue( + body.contains("localhost")); // The Home assertTrue(body.contains("Home")); // The Lastn diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java index aeaad178..90e70ac6 100644 --- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java +++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java @@ -27,9 +27,9 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.eureka.server.ApplicationServletPathTests.Application; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpEntity; @@ -39,13 +39,10 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=eureka", - "server.servletPath=/servlet" }) +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=eureka", "server.servletPath=/servlet" }) public class ApplicationServletPathTests { @Value("${local.server.port}") @@ -56,9 +53,10 @@ public class ApplicationServletPathTests { @EnableEurekaServer protected static class Application { public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=eureka", "server.servletPath=/servlet").run( - args); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=eureka", + "server.servletPath=/servlet") + .run(args); } } @@ -80,8 +78,8 @@ public class ApplicationServletPathTests { assertTrue(body.contains("eureka/js")); assertTrue(body.contains("eureka/css")); // The "DS Replicas" - assertTrue(body - .contains("localhost")); + assertTrue( + body.contains("localhost")); } @Test @@ -106,9 +104,9 @@ public class ApplicationServletPathTests { headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON)); @SuppressWarnings("rawtypes") - ResponseEntity entity = new TestRestTemplate().exchange("http://localhost:" - + this.port + "/servlet/env", HttpMethod.GET, new HttpEntity<>( - "parameters", headers), Map.class); + ResponseEntity entity = new TestRestTemplate().exchange( + "http://localhost:" + this.port + "/servlet/env", HttpMethod.GET, + new HttpEntity<>("parameters", headers), Map.class); assertEquals(HttpStatus.OK, entity.getStatusCode()); } diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java index a3e3a2b4..22e46a89 100644 --- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java +++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java @@ -16,6 +16,14 @@ package org.springframework.cloud.netflix.eureka.server; +import static org.hamcrest.Matchers.instanceOf; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; + import java.util.Collections; import java.util.Map; @@ -25,9 +33,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.eureka.server.ApplicationTests.Application; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpEntity; @@ -37,24 +45,14 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import com.netflix.appinfo.InstanceInfo; import com.netflix.discovery.converters.wrappers.CodecWrapper; import com.netflix.eureka.resources.ServerCodecs; -import static org.hamcrest.Matchers.instanceOf; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.jmx.enabled=true" }) +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.jmx.enabled=true" }) public class ApplicationTests { @Value("${local.server.port}") @@ -77,9 +75,9 @@ public class ApplicationTests { headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON)); @SuppressWarnings("rawtypes") - ResponseEntity entity = new TestRestTemplate().exchange("http://localhost:" - + this.port + "/env", HttpMethod.GET, new HttpEntity<>("parameters", - headers), Map.class); + ResponseEntity entity = new TestRestTemplate().exchange( + "http://localhost:" + this.port + "/env", HttpMethod.GET, + new HttpEntity<>("parameters", headers), Map.class); assertEquals(HttpStatus.OK, entity.getStatusCode()); } @@ -107,14 +105,13 @@ public class ApplicationTests { @Test public void customCodecWorks() throws Exception { - assertThat("serverCodecs is wrong type", this.serverCodecs, is(instanceOf(EurekaServerConfiguration.CloudServerCodecs.class))); + assertThat("serverCodecs is wrong type", this.serverCodecs, + is(instanceOf(EurekaServerConfiguration.CloudServerCodecs.class))); CodecWrapper codec = this.serverCodecs.getFullJsonCodec(); assertThat("codec is wrong type", codec, is(instanceOf(CloudJacksonJson.class))); - InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder() - .setAppName("fooapp") - .add("instanceId", "foo") - .build(); + InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder().setAppName("fooapp") + .add("instanceId", "foo").build(); String encoded = codec.encode(instanceInfo); InstanceInfo decoded = codec.decode(encoded, InstanceInfo.class); assertThat("instanceId was wrong", decoded.getInstanceId(), is("foo")); @@ -125,8 +122,8 @@ public class ApplicationTests { @EnableEurekaServer protected static class Application { public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=eureka").run(args); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=eureka").run(args); } } diff --git a/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardContextTests.java b/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardContextTests.java index 505883f7..7aa02841 100644 --- a/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardContextTests.java +++ b/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardContextTests.java @@ -16,32 +16,29 @@ package org.springframework.cloud.netflix.hystrix.dashboard; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardContextTests.Application; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; /** * @author Dave Syer * */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=hystrix-dashboard", +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=hystrix-dashboard", "server.contextPath=/context" }) public class HystrixDashboardContextTests { diff --git a/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardHomePageTests.java b/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardHomePageTests.java index 19c51ac2..37884f58 100644 --- a/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardHomePageTests.java +++ b/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardHomePageTests.java @@ -16,33 +16,31 @@ package org.springframework.cloud.netflix.hystrix.dashboard; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardHomePageTests.Application; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; -import static org.junit.Assert.assertEquals; - /** * @author Dave Syer * */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=hystrix-dashboard" }) +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "server.port=0", "spring.application.name=hystrix-dashboard" }) public class HystrixDashboardHomePageTests { @Value("${local.server.port}") @@ -50,18 +48,17 @@ public class HystrixDashboardHomePageTests { @Test public void homePage() { - ResponseEntity entity = new TestRestTemplate().getForEntity( - "http://localhost:" + this.port, String.class); + ResponseEntity entity = new TestRestTemplate() + .getForEntity("http://localhost:" + this.port, String.class); assertEquals(HttpStatus.OK, entity.getStatusCode()); entity.getBody().contains(""); } @Test public void cssAvailable() { - ResponseEntity entity = new TestRestTemplate() - .getForEntity( - "http://localhost:" + this.port + "/hystrix/css/global.css", - String.class); + ResponseEntity entity = new TestRestTemplate().getForEntity( + "http://localhost:" + this.port + "/hystrix/css/global.css", + String.class); assertEquals(HttpStatus.OK, entity.getStatusCode()); } @@ -84,8 +81,8 @@ public class HystrixDashboardHomePageTests { } public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=hystrix-dashboard").run(); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=hystrix-dashboard").run(); } } diff --git a/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardTests.java b/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardTests.java index 954ba5c7..99aaca87 100644 --- a/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardTests.java +++ b/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardTests.java @@ -16,31 +16,29 @@ package org.springframework.cloud.netflix.hystrix.dashboard; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardTests.Application; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; /** * @author Dave Syer */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.application.name=hystrix-dashboard" }) +@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=hystrix-dashboard" }) public class HystrixDashboardTests { @Value("${local.server.port}") @@ -48,8 +46,8 @@ public class HystrixDashboardTests { @Test public void homePage() { - ResponseEntity entity = new TestRestTemplate().getForEntity( - "http://localhost:" + this.port + "/hystrix", String.class); + ResponseEntity entity = new TestRestTemplate() + .getForEntity("http://localhost:" + this.port + "/hystrix", String.class); assertEquals(HttpStatus.OK, entity.getStatusCode()); String body = entity.getBody(); assertTrue(body.contains("")); @@ -59,10 +57,9 @@ public class HystrixDashboardTests { @Test public void cssAvailable() { - ResponseEntity entity = new TestRestTemplate() - .getForEntity( - "http://localhost:" + this.port + "/hystrix/css/global.css", - String.class); + ResponseEntity entity = new TestRestTemplate().getForEntity( + "http://localhost:" + this.port + "/hystrix/css/global.css", + String.class); assertEquals(HttpStatus.OK, entity.getStatusCode()); } @@ -81,8 +78,8 @@ public class HystrixDashboardTests { protected static class Application { public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).properties( - "spring.application.name=hystrix-dashboard").run(); + new SpringApplicationBuilder(Application.class) + .properties("spring.application.name=hystrix-dashboard").run(); } } diff --git a/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/HystrixStreamTests.java b/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/HystrixStreamTests.java index 30f5d87a..d8bae20e 100644 --- a/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/HystrixStreamTests.java +++ b/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/HystrixStreamTests.java @@ -20,12 +20,11 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -35,9 +34,8 @@ import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = HystrixStreamTests.Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "spring.jmx.enabled=true" }) +@SpringBootTest(classes = HystrixStreamTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "server.port=0", "spring.jmx.enabled=true" }) @DirtiesContext public class HystrixStreamTests { diff --git a/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplicationTests.java b/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplicationTests.java index fca2240f..0112061a 100644 --- a/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplicationTests.java +++ b/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplicationTests.java @@ -16,20 +16,22 @@ package org.springframework.cloud.netflix.sidecar; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; -import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertThat; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = SidecarApplication.class) -@WebIntegrationTest(randomPort = true, value = {"spring.application.name=mytest", "spring.cloud.client.hostname=mhhost", "spring.application.instance_id=1", "eureka.instance.hostname=mhhost", "sidecar.port=7000"}) +@SpringBootTest(classes = SidecarApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "spring.application.name=mytest", "spring.cloud.client.hostname=mhhost", + "spring.application.instance_id=1", "eureka.instance.hostname=mhhost", + "sidecar.port=7000" }) public class SidecarApplicationTests { @Autowired diff --git a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/HystrixStreamAggregatorTests.java b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/HystrixStreamAggregatorTests.java index d5d2c1df..998bb1ca 100644 --- a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/HystrixStreamAggregatorTests.java +++ b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/HystrixStreamAggregatorTests.java @@ -16,19 +16,19 @@ package org.springframework.cloud.netflix.turbine.stream; -import java.util.Map; - -import org.junit.Rule; -import org.junit.Test; -import org.springframework.boot.test.OutputCapture; - -import com.fasterxml.jackson.databind.ObjectMapper; - import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.not; import static org.junit.Assert.assertThat; +import java.util.Map; + +import org.junit.Rule; +import org.junit.Test; +import org.springframework.boot.test.rule.OutputCapture; + +import com.fasterxml.jackson.databind.ObjectMapper; + import rx.subjects.PublishSubject; public class HystrixStreamAggregatorTests { diff --git a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbinePortApplicationListenerTests.java b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbinePortApplicationListenerTests.java index 5c53bd94..887cfce8 100644 --- a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbinePortApplicationListenerTests.java +++ b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbinePortApplicationListenerTests.java @@ -5,7 +5,7 @@ import static org.junit.Assert.*; import org.junit.Test; import org.springframework.boot.SpringApplication; import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; -import org.springframework.boot.test.EnvironmentTestUtils; +import org.springframework.boot.test.util.EnvironmentTestUtils; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.StandardEnvironment; diff --git a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java index 9e7d44cc..5d2a7af7 100644 --- a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java +++ b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java @@ -20,18 +20,16 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = TurbineStreamTests.Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0", "turbine.stream.port=0", "spring.jmx.enabled=true" }) +@SpringBootTest(classes = TurbineStreamTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "turbine.stream.port=0", "spring.jmx.enabled=true" }) public class TurbineStreamTests { @EnableAutoConfiguration diff --git a/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/TurbineHttpTests.java b/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/TurbineHttpTests.java index 36d8c450..95adc064 100644 --- a/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/TurbineHttpTests.java +++ b/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/TurbineHttpTests.java @@ -20,23 +20,23 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.WebIntegrationTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author Spencer Gibb */ @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = TurbineHttpTests.TurbineHttpSampleApplication.class) -@WebIntegrationTest(randomPort = true) +@SpringBootTest(classes = TurbineHttpTests.TurbineHttpSampleApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT) public class TurbineHttpTests { @EnableAutoConfiguration @EnableTurbine public static class TurbineHttpSampleApplication { public static void main(String[] args) { - new SpringApplicationBuilder().sources(TurbineHttpSampleApplication.class).run(args); + new SpringApplicationBuilder().sources(TurbineHttpSampleApplication.class) + .run(args); } }