diff --git a/spring-cloud-openfeign-core/pom.xml b/spring-cloud-openfeign-core/pom.xml index da667efd..1f87df49 100644 --- a/spring-cloud-openfeign-core/pom.xml +++ b/spring-cloud-openfeign-core/pom.xml @@ -149,11 +149,6 @@ spring-boot-starter-test test - - org.junit.vintage - junit-vintage-engine - test - org.springframework.cloud spring-cloud-test-support diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsSpringDataTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsSpringDataTests.java index 26f55d31..72afb7be 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsSpringDataTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsSpringDataTests.java @@ -17,8 +17,7 @@ package org.springframework.cloud.openfeign; import feign.codec.Encoder; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -26,22 +25,19 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.openfeign.support.PageableSpringEncoder; import org.springframework.context.annotation.Configuration; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author Spencer Gibb */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = EnableFeignClientsSpringDataTests.PlainConfiguration.class) @DirtiesContext -public class EnableFeignClientsSpringDataTests { +class EnableFeignClientsSpringDataTests { @Autowired private FeignContext feignContext; @Test - public void encoderDefaultCorrect() { - + void encoderDefaultCorrect() { PageableSpringEncoder.class.cast(this.feignContext.getInstance("foo", Encoder.class)); } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java index c4925dbc..8108d3bf 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java @@ -23,17 +23,15 @@ import feign.codec.Decoder; import feign.codec.Encoder; import feign.optionals.OptionalDecoder; import feign.slf4j.Slf4jLogger; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.boot.WebApplicationType; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.openfeign.support.SpringEncoder; import org.springframework.cloud.openfeign.support.SpringMvcContract; import org.springframework.cloud.test.ClassPathExclusions; -import org.springframework.cloud.test.ModifiedClassPathRunner; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -41,48 +39,47 @@ import org.springframework.context.annotation.Import; /** * @author Spencer Gibb */ -@RunWith(ModifiedClassPathRunner.class) @ClassPathExclusions({ "spring-data-commons-*.jar" }) -public class EnableFeignClientsTests { +class EnableFeignClientsTests { private ConfigurableApplicationContext context; - @Before - public void setUp() { + @BeforeEach + void setUp() { context = new SpringApplicationBuilder().web(WebApplicationType.NONE) .properties("debug=true", "feign.httpclient.enabled=false") .sources(EnableFeignClientsTests.PlainConfiguration.class).run(); } - @After - public void tearDown() { + @AfterEach + void tearDown() { if (context != null) { context.close(); } } @Test - public void decoderDefaultCorrect() { + void decoderDefaultCorrect() { OptionalDecoder.class.cast(this.context.getBeansOfType(Decoder.class).get(0)); } @Test - public void encoderDefaultCorrect() { + void encoderDefaultCorrect() { SpringEncoder.class.cast(this.context.getBeansOfType(Encoder.class).get(0)); } @Test - public void loggerDefaultCorrect() { + void loggerDefaultCorrect() { Slf4jLogger.class.cast(this.context.getBeansOfType(Logger.class).get(0)); } @Test - public void contractDefaultCorrect() { + void contractDefaultCorrect() { SpringMvcContract.class.cast(this.context.getBeansOfType(Contract.class).get(0)); } @Test - public void builderDefaultCorrect() { + void builderDefaultCorrect() { Feign.Builder.class.cast(this.context.getBeansOfType(Feign.Builder.class).get(0)); } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignBuilderCustomizerTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignBuilderCustomizerTests.java index 33de748d..59da44c9 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignBuilderCustomizerTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignBuilderCustomizerTests.java @@ -20,7 +20,7 @@ import java.lang.reflect.Field; import feign.Feign; import feign.Logger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; @@ -35,10 +35,10 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Matt King * @author Sam Kruglov */ -public class FeignBuilderCustomizerTests { +class FeignBuilderCustomizerTests { @Test - public void testBuilderCustomizer() { + void testBuilderCustomizer() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( FeignBuilderCustomizerTests.SampleConfiguration2.class); @@ -61,7 +61,7 @@ public class FeignBuilderCustomizerTests { } @Test - public void testBuildCustomizerOrdered() { + void testBuildCustomizerOrdered() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( FeignBuilderCustomizerTests.SampleConfiguration3.class); @@ -76,7 +76,7 @@ public class FeignBuilderCustomizerTests { } @Test - public void testBuildCustomizerOrderedWithAdditional() { + void testBuildCustomizerOrderedWithAdditional() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( FeignBuilderCustomizerTests.SampleConfiguration3.class); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java index c2273830..b2ca13a4 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java @@ -25,11 +25,8 @@ import java.util.Collections; import java.util.List; import feign.Feign; -import org.hamcrest.Matchers; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.cloud.openfeign.testclients.TestClient; @@ -37,15 +34,14 @@ import org.springframework.context.ApplicationContext; import org.springframework.util.ReflectionUtils; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Sven Döring * @author Sam Kruglov + * @author Szymon Linowski */ -public class FeignClientBuilderTests { - - @Rule - public ExpectedException thrown = ExpectedException.none(); +class FeignClientBuilderTests { private FeignClientBuilder feignClientBuilder; @@ -75,14 +71,14 @@ public class FeignClientBuilderTests { return (T) ReflectionUtils.getField(field, factoryBean); } - @Before - public void setUp() { + @BeforeEach + void setUp() { this.applicationContext = Mockito.mock(ApplicationContext.class); this.feignClientBuilder = new FeignClientBuilder(this.applicationContext); } @Test - public void safetyCheckForNewFieldsOnTheFeignClientAnnotation() { + void safetyCheckForNewFieldsOnTheFeignClientAnnotation() { final List methodNames = new ArrayList(); for (final Method method : FeignClient.class.getMethods()) { methodNames.add(method.getName()); @@ -101,7 +97,7 @@ public class FeignClientBuilderTests { } @Test - public void forType_preinitializedBuilder() { + void forType_preinitializedBuilder() { // when: final FeignClientBuilder.Builder builder = this.feignClientBuilder.forType(TestFeignClient.class, "TestClient"); @@ -120,7 +116,7 @@ public class FeignClientBuilderTests { } @Test - public void forType_allFieldsSetOnBuilder() { + void forType_allFieldsSetOnBuilder() { // when: final FeignClientBuilder.Builder builder = this.feignClientBuilder.forType(TestFeignClient.class, "TestClient") .decode404(true).url("Url/").path("/Path").contextId("TestContext"); @@ -139,7 +135,7 @@ public class FeignClientBuilderTests { } @Test - public void forType_clientFactoryBeanProvided() { + void forType_clientFactoryBeanProvided() { // when: final FeignClientBuilder.Builder builder = this.feignClientBuilder .forType(TestFeignClient.class, new FeignClientFactoryBean(), "TestClient").decode404(true) @@ -160,21 +156,19 @@ public class FeignClientBuilderTests { } @Test - public void forType_build() { + void forType_build() { // given: Mockito.when(this.applicationContext.getBean(FeignContext.class)).thenThrow(new ClosedFileSystemException()); // throw - // an - // unusual - // exception - // in - // the - // FeignClientFactoryBean + // an + // unusual + // exception + // in + // the + // FeignClientFactoryBean final FeignClientBuilder.Builder builder = this.feignClientBuilder.forType(TestClient.class, "TestClient"); - // expect: 'the build will fail right after calling build() with the mocked // unusual exception' - this.thrown.expect(Matchers.isA(ClosedFileSystemException.class)); - builder.build(); + assertThatExceptionOfType(ClosedFileSystemException.class).isThrownBy(() -> builder.build()); } private interface TestFeignClient { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java index 95456153..b009bf87 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java @@ -24,8 +24,7 @@ import feign.Feign; import feign.Logger; import feign.RequestInterceptor; import feign.micrometer.MicrometerCapability; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; @@ -35,7 +34,6 @@ import org.springframework.cloud.openfeign.clientconfig.FeignClientConfigurer; 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.util.ReflectionUtils; import static org.assertj.core.api.Assertions.assertThat; @@ -45,12 +43,11 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Jonatan Ivanov */ @DirtiesContext -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = FeignClientUsingConfigurerTest.Application.class, value = { "feign.client.config.default.loggerLevel=full", "feign.client.config.default.requestInterceptors[0]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FooRequestInterceptor", "feign.client.config.default.requestInterceptors[1]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.BarRequestInterceptor" }) -public class FeignClientUsingConfigurerTest { +class FeignClientUsingConfigurerTest { private static final String BEAN_NAME_PREFIX = "org.springframework.cloud.openfeign.FeignClientUsingConfigurerTest$"; @@ -61,7 +58,7 @@ public class FeignClientUsingConfigurerTest { private FeignContext context; @Test - public void testFeignClient() { + void testFeignClient() { FeignClientFactoryBean factoryBean = (FeignClientFactoryBean) beanFactory .getBeanDefinition(BEAN_NAME_PREFIX + "TestFeignClient") .getAttribute("feignClientsRegistrarFactoryBean"); @@ -84,7 +81,7 @@ public class FeignClientUsingConfigurerTest { } @Test - public void testNoInheritFeignClient() { + void testNoInheritFeignClient() { FeignClientFactoryBean factoryBean = (FeignClientFactoryBean) beanFactory .getBeanDefinition(BEAN_NAME_PREFIX + "NoInheritFeignClient") .getAttribute("feignClientsRegistrarFactoryBean"); @@ -100,7 +97,7 @@ public class FeignClientUsingConfigurerTest { } @Test - public void testNoInheritFeignClient_ignoreProperties() { + void testNoInheritFeignClient_ignoreProperties() { FeignClientFactoryBean factoryBean = (FeignClientFactoryBean) beanFactory .getBeanDefinition(BEAN_NAME_PREFIX + "NoInheritFeignClient") .getAttribute("feignClientsRegistrarFactoryBean"); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarTests.java index 16e86bc9..d1f3c74e 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarTests.java @@ -18,7 +18,7 @@ package org.springframework.cloud.openfeign; import java.util.Collections; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -29,48 +29,50 @@ import org.springframework.web.bind.annotation.GetMapping; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Spencer Gibb * @author Gang Li * @author Michal Domagala + * @author Szymon Linowski */ -public class FeignClientsRegistrarTests { +class FeignClientsRegistrarTests { - @Test(expected = IllegalStateException.class) - public void badNameHttpPrefix() { - testGetName("https://bad_hostname"); - } - - @Test(expected = IllegalStateException.class) - public void badNameHttpsPrefix() { - testGetName("https://bad_hostname"); - } - - @Test(expected = IllegalStateException.class) - public void badName() { - testGetName("bad_hostname"); - } - - @Test(expected = IllegalStateException.class) - public void badNameStartsWithHttp() { - testGetName("http_bad_hostname"); + @Test + void badNameHttpPrefix() { + assertThatExceptionOfType(IllegalStateException.class).isThrownBy(() -> testGetName("http://bad_hostname")); } @Test - public void goodName() { + void badNameHttpsPrefix() { + assertThatExceptionOfType(IllegalStateException.class).isThrownBy(() -> testGetName("https://bad_hostname")); + } + + @Test + void badName() { + assertThatExceptionOfType(IllegalStateException.class).isThrownBy(() -> testGetName("bad_hostname")); + } + + @Test + void badNameStartsWithHttp() { + assertThatExceptionOfType(IllegalStateException.class).isThrownBy(() -> testGetName("http_bad_hostname")); + } + + @Test + void goodName() { String name = testGetName("good-name"); assertThat(name).as("name was wrong").isEqualTo("good-name"); } @Test - public void goodNameHttpPrefix() { + void goodNameHttpPrefix() { String name = testGetName("https://good-name"); assertThat(name).as("name was wrong").isEqualTo("https://good-name"); } @Test - public void goodNameHttpsPrefix() { + void goodNameHttpsPrefix() { String name = testGetName("https://goodname"); assertThat(name).as("name was wrong").isEqualTo("https://goodname"); } @@ -81,18 +83,20 @@ public class FeignClientsRegistrarTests { return registrar.getName(Collections.singletonMap("name", name)); } - @Test(expected = IllegalArgumentException.class) - public void testFallback() { - new AnnotationConfigApplicationContext(FallbackTestConfig.class); - } - - @Test(expected = IllegalArgumentException.class) - public void testFallbackFactory() { - new AnnotationConfigApplicationContext(FallbackFactoryTestConfig.class); + @Test + void testFallback() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> new AnnotationConfigApplicationContext(FallbackTestConfig.class)); } @Test - public void shouldPassSubLevelFeignClient() { + void testFallbackFactory() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> new AnnotationConfigApplicationContext(FallbackFactoryTestConfig.class)); + } + + @Test + void shouldPassSubLevelFeignClient() { AnnotationConfigApplicationContext config = new AnnotationConfigApplicationContext(); ((DefaultListableBeanFactory) config.getBeanFactory()).setAllowBeanDefinitionOverriding(false); config.register(TopLevelSubLevelTestConfig.class); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java index 67858f11..d47de13d 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java @@ -21,8 +21,7 @@ import java.util.Map; import feign.Client; import feign.RequestInterceptor; import feign.httpclient.ApacheHttpClient; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfigurations; @@ -32,8 +31,6 @@ import org.springframework.cloud.openfeign.encoding.FeignAcceptGzipEncodingAutoC import org.springframework.cloud.openfeign.encoding.FeignAcceptGzipEncodingInterceptor; import org.springframework.cloud.openfeign.encoding.FeignContentGzipEncodingAutoConfiguration; import org.springframework.cloud.openfeign.encoding.FeignContentGzipEncodingInterceptor; -import org.springframework.cloud.test.ClassPathExclusions; -import org.springframework.cloud.test.ModifiedClassPathRunner; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -43,12 +40,10 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Ryan Baxter * @author Biju Kunjummen */ -@RunWith(ModifiedClassPathRunner.class) -@ClassPathExclusions({ "ribbon-loadbalancer-{version:\\d.*}.jar" }) -public class FeignCompressionTests { +class FeignCompressionTests { @Test - public void testInterceptors() { + void testInterceptors() { new ApplicationContextRunner() .withPropertyValues("feign.compression.response.enabled=true", "feign.compression.request.enabled=true", "feign.okhttp.enabled=false") diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignContextTest.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignContextTest.java index 072bfef7..490ee6d6 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignContextTest.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignContextTest.java @@ -21,7 +21,7 @@ import java.util.Collection; import feign.Logger; import feign.RequestInterceptor; import org.assertj.core.util.Lists; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; @@ -30,10 +30,10 @@ import org.springframework.context.annotation.Import; import static org.assertj.core.api.Assertions.assertThat; -public class FeignContextTest { +class FeignContextTest { @Test - public void getInstanceWithoutAncestors_verifyNullForMissing() { + void getInstanceWithoutAncestors_verifyNullForMissing() { AnnotationConfigApplicationContext parent = new AnnotationConfigApplicationContext(); parent.refresh(); @@ -51,7 +51,7 @@ public class FeignContextTest { } @Test - public void getInstancesWithoutAncestors_verifyEmptyForMissing() { + void getInstancesWithoutAncestors_verifyEmptyForMissing() { AnnotationConfigApplicationContext parent = new AnnotationConfigApplicationContext(); parent.refresh(); @@ -66,7 +66,7 @@ public class FeignContextTest { } @Test - public void getInstanceWithoutAncestors() { + void getInstanceWithoutAncestors() { AnnotationConfigApplicationContext parent = new AnnotationConfigApplicationContext(); parent.refresh(); @@ -80,7 +80,7 @@ public class FeignContextTest { } @Test - public void getInstancesWithoutAncestors() { + void getInstancesWithoutAncestors() { AnnotationConfigApplicationContext parent = new AnnotationConfigApplicationContext(); parent.refresh(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignErrorDecoderFactoryTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignErrorDecoderFactoryTests.java index c2150ea1..e89cf90f 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignErrorDecoderFactoryTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignErrorDecoderFactoryTests.java @@ -18,7 +18,7 @@ package org.springframework.cloud.openfeign; import feign.Response; import feign.codec.ErrorDecoder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; @@ -30,10 +30,10 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Michael Cramer */ -public class FeignErrorDecoderFactoryTests { +class FeignErrorDecoderFactoryTests { @Test - public void testNoDefaultFactory() { + void testNoDefaultFactory() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SampleConfiguration1.class); String[] beanNamesForType = context.getBeanNamesForType(FeignErrorDecoderFactory.class); assertThat(beanNamesForType).isEmpty(); @@ -41,7 +41,7 @@ public class FeignErrorDecoderFactoryTests { } @Test - public void testCustomErrorDecoderFactory() { + void testCustomErrorDecoderFactory() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SampleConfiguration2.class); FeignErrorDecoderFactory errorDecoderFactory = context.getBean(FeignErrorDecoderFactory.class); assertThat(errorDecoderFactory).isNotNull(); @@ -52,7 +52,7 @@ public class FeignErrorDecoderFactoryTests { } @Test - public void testCustomErrorDecoderFactoryNotOverwritingErrorDecoder() { + void testCustomErrorDecoderFactoryNotOverwritingErrorDecoder() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SampleConfiguration3.class); FeignErrorDecoderFactory errorDecoderFactory = context.getBean(FeignErrorDecoderFactory.class); assertThat(errorDecoderFactory).isNotNull(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java index b1a57c1a..e2bfd242 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java @@ -22,14 +22,12 @@ import feign.httpclient.ApacheHttpClient; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; import org.apache.hc.client5.http.io.HttpClientConnectionManager; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.boot.WebApplicationType; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.commons.httpclient.HttpClientConfiguration; import org.springframework.cloud.test.ClassPathExclusions; -import org.springframework.cloud.test.ModifiedClassPathRunner; import org.springframework.context.ConfigurableApplicationContext; import static org.assertj.core.api.Assertions.assertThat; @@ -37,7 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Nguyen Ky Thanh */ -public class FeignHttpClient5ConfigurationTests { +class FeignHttpClient5ConfigurationTests { private static void verifyHc4BeansAvailable(ConfigurableApplicationContext context) { org.apache.http.impl.client.CloseableHttpClient httpClient4 = context @@ -59,62 +57,55 @@ public class FeignHttpClient5ConfigurationTests { assertThat(client).isInstanceOf(ApacheHttp5Client.class); } - @RunWith(ModifiedClassPathRunner.class) - @ClassPathExclusions("ribbon-loadbalancer-{version:\\d.*}.jar") - public static class WithoutLoadBalancerInClasspath { + @Test + void verifyHttpClient5AutoConfig() { + ConfigurableApplicationContext context = new SpringApplicationBuilder() + .properties("feign.httpclient.hc5.enabled=true", "feign.httpclient.enabled=false") + .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) + .run(); - @Test - public void verifyHttpClient5AutoConfig() { - ConfigurableApplicationContext context = new SpringApplicationBuilder() - .properties("feign.httpclient.hc5.enabled=true", "feign.httpclient.enabled=false") - .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) - .run(); + verifyHc5BeansAvailable(context); - verifyHc5BeansAvailable(context); - - if (context != null) { - context.close(); - } + if (context != null) { + context.close(); } - - @Test - public void hc5ShouldWinIfTheBothVersionsAvailable() { - ConfigurableApplicationContext context = new SpringApplicationBuilder() - .properties("feign.httpclient.hc5.enabled=true", "feign.httpclient.enabled=true") - .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) - .run(); - - Client client = context.getBean(Client.class); - assertThat(client).isInstanceOf(ApacheHttp5Client.class); - - if (context != null) { - context.close(); - } - } - - @Test - public void hc4ShouldBeTheDefaultIfHc5NotEnabled() { - ConfigurableApplicationContext context = new SpringApplicationBuilder() - .properties("feign.httpclient.hc5.enabled=false", "feign.httpclient.enabled=true") - .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) - .run(); - - verifyHc4BeansAvailable(context); - - if (context != null) { - context.close(); - } - } - } - @RunWith(ModifiedClassPathRunner.class) - @ClassPathExclusions({ "ribbon-loadbalancer-{version:\\d.*}.jar", "feign-hc5-{version:\\d.*}.jar", - "httpclient5-{version:\\d.*}.jar", "httpcore5-{version:\\d.*}.jar", "httpcore5-h2-{version:\\d.*}.jar" }) - public static class WithoutLoadBalancerAndHc5InClasspath { + @Test + void hc5ShouldWinIfTheBothVersionsAvailable() { + ConfigurableApplicationContext context = new SpringApplicationBuilder() + .properties("feign.httpclient.hc5.enabled=true", "feign.httpclient.enabled=true") + .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) + .run(); + + Client client = context.getBean(Client.class); + assertThat(client).isInstanceOf(ApacheHttp5Client.class); + + if (context != null) { + context.close(); + } + } + + @Test + void hc4ShouldBeTheDefaultIfHc5NotEnabled() { + ConfigurableApplicationContext context = new SpringApplicationBuilder() + .properties("feign.httpclient.hc5.enabled=false", "feign.httpclient.enabled=true") + .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) + .run(); + + verifyHc4BeansAvailable(context); + + if (context != null) { + context.close(); + } + } + + @ClassPathExclusions({ "feign-hc5-{version:\\d.*}.jar", "httpclient5-{version:\\d.*}.jar", + "httpcore5-{version:\\d.*}.jar", "httpcore5-h2-{version:\\d.*}.jar" }) + static class WithoutLoadBalancerAndHc5InClasspath { @Test - public void hc4ShouldWinEvenHc5ConfigEnabled() { + void hc4ShouldWinEvenHc5ConfigEnabled() { ConfigurableApplicationContext context = new SpringApplicationBuilder() .properties("feign.httpclient.hc5.enabled=true").web(WebApplicationType.NONE) .sources(HttpClientConfiguration.class, FeignAutoConfiguration.class).run(); @@ -127,7 +118,7 @@ public class FeignHttpClient5ConfigurationTests { } @Test - public void hc4ShouldBeTheDefault() { + void hc4ShouldBeTheDefault() { ConfigurableApplicationContext context = new SpringApplicationBuilder().web(WebApplicationType.NONE) .sources(HttpClientConfiguration.class, FeignAutoConfiguration.class).run(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java index 6cd5352e..b9e1e079 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java @@ -26,16 +26,13 @@ import org.apache.http.config.Lookup; import org.apache.http.conn.HttpClientConnectionManager; import org.apache.http.conn.socket.ConnectionSocketFactory; import org.apache.http.impl.conn.DefaultHttpClientConnectionOperator; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.boot.WebApplicationType; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.commons.httpclient.HttpClientConfiguration; -import org.springframework.cloud.test.ClassPathExclusions; -import org.springframework.cloud.test.ModifiedClassPathRunner; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.util.ReflectionUtils; @@ -44,28 +41,26 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Ryan Baxter */ -@RunWith(ModifiedClassPathRunner.class) -@ClassPathExclusions({ "ribbon-loadbalancer-{version:\\d.*}.jar" }) -public class FeignHttpClientConfigurationTests { +class FeignHttpClientConfigurationTests { private ConfigurableApplicationContext context; - @Before - public void setUp() { + @BeforeEach + void setUp() { this.context = new SpringApplicationBuilder() .properties("debug=true", "feign.httpclient.disableSslValidation=true").web(WebApplicationType.NONE) .sources(HttpClientConfiguration.class, FeignAutoConfiguration.class).run(); } - @After - public void tearDown() { + @AfterEach + void tearDown() { if (this.context != null) { this.context.close(); } } @Test - public void disableSslTest() throws Exception { + void disableSslTest() { try { HttpClientConnectionManager connectionManager = this.context.getBean(HttpClientConnectionManager.class); Lookup socketFactoryRegistry = getConnectionSocketFactoryLookup(connectionManager); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java index 0bcf8160..38d3c05e 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java @@ -48,9 +48,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Olga Maciaszek-Sharma */ @SpringBootTest(classes = FeignHttpClientUrlTestsWithRetryableLoadBalancer.TestConfig.class, - webEnvironment = DEFINED_PORT, - value = { "spring.application.name=feignclienturlwithretryableloadbalancertest", "feign.hystrix.enabled=false", - "feign.okhttp.enabled=false", "spring.cloud.loadbalancer.ribbon.enabled=false" }) + webEnvironment = DEFINED_PORT, value = { "spring.application.name=feignclienturlwithretryableloadbalancertest", + "feign.hystrix.enabled=false", "feign.okhttp.enabled=false" }) @DirtiesContext class FeignHttpClientUrlTestsWithRetryableLoadBalancer { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignLoggerFactoryTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignLoggerFactoryTests.java index ab94972e..10163c91 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignLoggerFactoryTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignLoggerFactoryTests.java @@ -18,7 +18,7 @@ package org.springframework.cloud.openfeign; import feign.Logger; import feign.slf4j.Slf4jLogger; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; @@ -30,10 +30,10 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Venil Noronha */ -public class FeignLoggerFactoryTests { +class FeignLoggerFactoryTests { @Test - public void testDefaultLogger() { + void testDefaultLogger() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SampleConfiguration1.class); FeignLoggerFactory loggerFactory = context.getBean(FeignLoggerFactory.class); assertThat(loggerFactory).isNotNull(); @@ -44,7 +44,7 @@ public class FeignLoggerFactoryTests { } @Test - public void testCustomLogger() { + void testCustomLogger() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SampleConfiguration2.class); FeignLoggerFactory loggerFactory = context.getBean(FeignLoggerFactory.class); assertThat(loggerFactory).isNotNull(); @@ -55,7 +55,7 @@ public class FeignLoggerFactoryTests { } @Test - public void testCustomLoggerFactory() { + void testCustomLoggerFactory() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SampleConfiguration3.class); FeignLoggerFactory loggerFactory = context.getBean(FeignLoggerFactory.class); assertThat(loggerFactory).isNotNull(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java index 160ab1b2..1b171e55 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java @@ -21,17 +21,14 @@ import java.lang.reflect.Field; import javax.net.ssl.HostnameVerifier; import okhttp3.OkHttpClient; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.boot.WebApplicationType; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.commons.httpclient.HttpClientConfiguration; import org.springframework.cloud.commons.httpclient.OkHttpClientFactory; -import org.springframework.cloud.test.ClassPathExclusions; -import org.springframework.cloud.test.ModifiedClassPathRunner; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.util.ReflectionUtils; @@ -40,14 +37,12 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Ryan Baxter */ -@RunWith(ModifiedClassPathRunner.class) -@ClassPathExclusions({ "ribbon-loadbalancer-{version:\\d.*}.jar" }) -public class FeignOkHttpConfigurationTests { +class FeignOkHttpConfigurationTests { private ConfigurableApplicationContext context; - @Before - public void setUp() { + @BeforeEach + void setUp() { this.context = new SpringApplicationBuilder() .properties("debug=true", "feign.httpclient.disableSslValidation=true", "feign.okhttp.enabled=true", "feign.httpclient.enabled=false") @@ -55,18 +50,18 @@ public class FeignOkHttpConfigurationTests { .run(); } - @After - public void tearDown() { + @AfterEach + void tearDown() { if (this.context != null) { this.context.close(); } } @Test - public void disableSslTest() throws Exception { + void disableSslTest() { OkHttpClient httpClient = this.context.getBean(OkHttpClient.class); HostnameVerifier hostnameVerifier = (HostnameVerifier) this.getField(httpClient, "hostnameVerifier"); - assertThat(OkHttpClientFactory.TrustAllHostnames.class.isInstance(hostnameVerifier)).isTrue(); + assertThat(hostnameVerifier instanceof OkHttpClientFactory.TrustAllHostnames).isTrue(); } protected Object getField(Object target, String name) { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java index e5accdba..c68c658e 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java @@ -18,8 +18,7 @@ package org.springframework.cloud.openfeign; import java.util.Objects; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -31,7 +30,6 @@ import org.springframework.context.annotation.Import; 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.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -41,14 +39,13 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Jaesik Kim * @author Olga Maciaszek-Sharma */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = GzipDecodingTests.Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, value = { "spring.application.name=defaultGzipDecoderTests", "feign.compression.response.enabled=true", "feign.client.config.default.loggerLevel=none", "feign.metrics.enabled=false", "logging.level.org.springframework.cloud.openfeign=DEBUG" }) @DirtiesContext -public class GzipDecodingTests extends FeignClientFactoryBean { +class GzipDecodingTests extends FeignClientFactoryBean { @Autowired FeignContext context; @@ -56,7 +53,7 @@ public class GzipDecodingTests extends FeignClientFactoryBean { @Value("${local.server.port}") private int port = 0; - public GzipDecodingTests() { + GzipDecodingTests() { setName("tests"); setContextId("test"); } @@ -67,7 +64,7 @@ public class GzipDecodingTests extends FeignClientFactoryBean { } @Test - public void testBodyDecompress() { + void testBodyDecompress() { ResponseEntity response = testClient().getGzipResponse(); assertThat(response).as("response was null").isNotNull(); assertThat(response.getStatusCode()).as("wrong status code").isEqualTo(HttpStatus.OK); @@ -77,7 +74,7 @@ public class GzipDecodingTests extends FeignClientFactoryBean { } @Test - public void testNullBodyDecompress() { + void testNullBodyDecompress() { ResponseEntity response = testClient().getNullResponse(); assertThat(response).as("response was null").isNotNull(); assertThat(response.getStatusCode()).as("wrong status code").isEqualTo(HttpStatus.OK); @@ -87,7 +84,7 @@ public class GzipDecodingTests extends FeignClientFactoryBean { } @Test - public void testCharsetDecompress() { + void testCharsetDecompress() { ResponseEntity response = testClient().getUtf8Response(); assertThat(response).as("response was null").isNotNull(); assertThat(response.getStatusCode()).as("wrong status code").isEqualTo(HttpStatus.OK); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java index c7d5691d..1999f274 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java @@ -21,8 +21,8 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -37,7 +37,6 @@ import org.springframework.http.HttpStatus; 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.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -46,12 +45,12 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Spencer Gibb * @author Olga Maciaszek-Sharma + * @author Szymon Linowski */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = SpringDecoderTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=springdecodertest", "spring.jmx.enabled=false" }) @DirtiesContext -public class SpringDecoderTests extends FeignClientFactoryBean { +class SpringDecoderTests extends FeignClientFactoryBean { @Autowired FeignContext context; @@ -59,7 +58,7 @@ public class SpringDecoderTests extends FeignClientFactoryBean { @LocalServerPort private int port = 0; - public SpringDecoderTests() { + SpringDecoderTests() { setName("test"); setContextId("test"); } @@ -75,7 +74,7 @@ public class SpringDecoderTests extends FeignClientFactoryBean { } @Test - public void testResponseEntity() { + void testResponseEntity() { ResponseEntity response = testClient().getHelloResponse(); assertThat(response).as("response was null").isNotNull(); assertThat(response.getStatusCode()).as("wrong status code").isEqualTo(HttpStatus.OK); @@ -85,14 +84,14 @@ public class SpringDecoderTests extends FeignClientFactoryBean { } @Test - public void testSimpleType() { + void testSimpleType() { Hello hello = testClient().getHello(); assertThat(hello).as("hello was null").isNotNull(); assertThat(hello).as("first hello didn't match").isEqualTo(new Hello("hello world 1")); } @Test - public void testUserParameterizedTypeDecode() { + void testUserParameterizedTypeDecode() { List hellos = testClient().getHellos(); assertThat(hellos).as("hellos was null").isNotNull(); assertThat(hellos.size()).as("hellos was not the right size").isEqualTo(2); @@ -100,7 +99,7 @@ public class SpringDecoderTests extends FeignClientFactoryBean { } @Test - public void testSimpleParameterizedTypeDecode() { + void testSimpleParameterizedTypeDecode() { List hellos = testClient().getHelloStrings(); assertThat(hellos).as("hellos was null").isNotNull(); assertThat(hellos.size()).as("hellos was not the right size").isEqualTo(2); @@ -109,7 +108,7 @@ public class SpringDecoderTests extends FeignClientFactoryBean { @Test @SuppressWarnings("unchecked") - public void testWildcardTypeDecode() { + void testWildcardTypeDecode() { ResponseEntity wildcard = testClient().getWildcard(); assertThat(wildcard).as("wildcard was null").isNotNull(); assertThat(wildcard.getStatusCode()).as("wrong status code").isEqualTo(HttpStatus.OK); @@ -121,7 +120,7 @@ public class SpringDecoderTests extends FeignClientFactoryBean { } @Test - public void testResponseEntityVoid() { + void testResponseEntityVoid() { ResponseEntity response = testClient().getHelloVoid(); assertThat(response).as("response was null").isNotNull(); List headerVals = response.getHeaders().get("x-test-header"); @@ -131,13 +130,13 @@ public class SpringDecoderTests extends FeignClientFactoryBean { assertThat(header).as("header was wrong").isEqualTo("myval"); } - @Test(expected = RuntimeException.class) - public void test404() { - testClient().getNotFound(); + @Test + void test404() { + Assertions.assertThatExceptionOfType(RuntimeException.class).isThrownBy(() -> testClient().getNotFound()); } @Test - public void testDecodes404() { + void testDecodes404() { final ResponseEntity response = testClient(true).getNotFound(); assertThat(response).as("response was null").isNotNull(); assertThat(response.getBody()).as("response body was not null").isNull(); @@ -145,7 +144,7 @@ public class SpringDecoderTests extends FeignClientFactoryBean { @Test // Issue: https://github.com/spring-cloud/spring-cloud-openfeign/issues/456 - public void testResponseEntityHeaders() { + void testResponseEntityHeaders() { ResponseEntity response = testClient().getContentType(); assertThat(response.getHeaders().getContentType()).isEqualTo(MediaType.APPLICATION_JSON); } @@ -182,10 +181,10 @@ public class SpringDecoderTests extends FeignClientFactoryBean { private String message; - public Hello() { + Hello() { } - public Hello(String message) { + Hello(String message) { this.message = message; } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java index 326c6b02..2b45e147 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java @@ -21,8 +21,7 @@ import java.lang.reflect.Proxy; import java.util.Map; import java.util.Objects; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -38,7 +37,6 @@ 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.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -52,7 +50,6 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Halvdan Hoem Grelland * @author Aaron Whiteside */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = BeansFeignClientTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=feignclienttest", "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", "feign.httpclient.enabled=false", @@ -78,13 +75,13 @@ public class BeansFeignClientTests { private TestClient buildByBuilder; @Test - public void testAnnotations() { + void testAnnotations() { Map beans = this.context.getBeansWithAnnotation(FeignClient.class); assertThat(beans.containsKey(TestClient.class.getName())).as("Wrong clients: " + beans).isTrue(); } @Test - public void testClient() { + void testClient() { assertThat(this.testClient).as("testClient was null").isNotNull(); assertThat(this.extraClient).as("extraClient was null").isNotNull(); assertThat(Proxy.isProxyClass(this.testClient.getClass())).as("testClient is not a java Proxy").isTrue(); @@ -93,7 +90,7 @@ public class BeansFeignClientTests { } @Test - public void extraClient() { + void extraClient() { assertThat(this.extraClient).as("extraClient was null").isNotNull(); assertThat(Proxy.isProxyClass(this.extraClient.getClass())).as("extraClient is not a java Proxy").isTrue(); InvocationHandler invocationHandler = Proxy.getInvocationHandler(this.extraClient); @@ -101,7 +98,7 @@ public class BeansFeignClientTests { } @Test - public void buildByBuilder() { + void buildByBuilder() { assertThat(this.buildByBuilder).as("buildByBuilder was null").isNotNull(); assertThat(Proxy.isProxyClass(this.buildByBuilder.getClass())).as("buildByBuilder is not a java Proxy") .isTrue(); @@ -132,10 +129,10 @@ public class BeansFeignClientTests { private String message; - public Hello() { + Hello() { } - public Hello(String message) { + Hello(String message) { this.message = message; } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java index a300c163..ddcf43aa 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java @@ -20,11 +20,10 @@ import java.util.function.Function; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.junit.Before; -import org.junit.Test; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -43,7 +42,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.stereotype.Component; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.util.SocketUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -53,11 +51,10 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Spencer Gibb */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = CircuitBreakerTests.Application.class, webEnvironment = WebEnvironment.DEFINED_PORT, value = { "spring.application.name=springcircuittest", "spring.jmx.enabled=false", "feign.circuitbreaker.enabled=true" }) @DirtiesContext -public class CircuitBreakerTests { +class CircuitBreakerTests { @Autowired MyCircuitBreaker myCircuitBreaker; @@ -69,22 +66,22 @@ public class CircuitBreakerTests { TestClientWithFactory testClientWithFactory; @BeforeAll - public static void beforeClass() { + static void beforeClass() { System.setProperty("server.port", String.valueOf(SocketUtils.findAvailableTcpPort())); } @AfterAll - public static void afterClass() { + static void afterClass() { System.clearProperty("server.port"); } - @Before - public void setup() { + @BeforeEach + void setup() { this.myCircuitBreaker.clear(); } @Test - public void testSimpleTypeWithFallback() { + void testSimpleTypeWithFallback() { Hello hello = testClient.getHello(); assertThat(hello).as("hello was null").isNotNull(); @@ -93,12 +90,12 @@ public class CircuitBreakerTests { } @Test - public void test404WithFallback() { + void test404WithFallback() { assertThat(testClient.getException()).isEqualTo("Fixed response"); } @Test - public void testSimpleTypeWithFallbackFactory() { + void testSimpleTypeWithFallbackFactory() { Hello hello = testClientWithFactory.getHello(); assertThat(hello).as("hello was null").isNotNull(); @@ -107,7 +104,7 @@ public class CircuitBreakerTests { } @Test - public void test404WithFallbackFactory() { + void test404WithFallbackFactory() { assertThat(testClientWithFactory.getException()).isEqualTo("Fixed response"); } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java index 54c939cd..3ce0b283 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java @@ -18,8 +18,7 @@ package org.springframework.cloud.openfeign.encoding; import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -39,7 +38,6 @@ import org.springframework.context.annotation.Import; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -51,15 +49,14 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen */ @SpringBootTest(classes = FeignAcceptEncodingTests.Application.class, webEnvironment = RANDOM_PORT, value = { "feign.compression.response.enabled=true" }) -@RunWith(SpringRunner.class) @DirtiesContext -public class FeignAcceptEncodingTests { +class FeignAcceptEncodingTests { @Autowired private InvoiceClient invoiceClient; @Test - public void compressedResponse() { + void compressedResponse() { // when final ResponseEntity> invoices = this.invoiceClient.getInvoices(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java index 3225f001..972da3e8 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java @@ -18,8 +18,7 @@ package org.springframework.cloud.openfeign.encoding; import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -38,7 +37,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -49,15 +47,14 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Jakub Narloch */ @SpringBootTest(classes = FeignContentEncodingTests.Application.class, webEnvironment = RANDOM_PORT, - value = { "feign.compression.request.enabled=true", "ribbon.OkToRetryOnAllOperations=false" }) -@RunWith(SpringJUnit4ClassRunner.class) -public class FeignContentEncodingTests { + value = { "feign.compression.request.enabled=true" }) +class FeignContentEncodingTests { @Autowired private InvoiceClient invoiceClient; @Test - public void compressedResponse() { + void compressedResponse() { // given final List invoices = Invoices.createInvoiceList(50); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java index ecc52e37..87073c38 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java @@ -19,8 +19,7 @@ package org.springframework.cloud.openfeign.encoding; import java.util.List; import java.util.Optional; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -45,7 +44,6 @@ import org.springframework.data.domain.Sort; import org.springframework.data.web.config.EnableSpringDataWebSupport; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -58,14 +56,13 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen */ @SpringBootTest(classes = FeignPageableEncodingTests.Application.class, webEnvironment = RANDOM_PORT, value = { "feign.compression.request.enabled=true", "feign.autoconfiguration.jackson.enabled=true" }) -@RunWith(SpringJUnit4ClassRunner.class) -public class FeignPageableEncodingTests { +class FeignPageableEncodingTests { @Autowired private InvoiceClient invoiceClient; @Test - public void testPageable() { + void testPageable() { // given Pageable pageable = PageRequest.of(0, 10, Sort.Direction.ASC, "sortProperty"); @@ -87,7 +84,7 @@ public class FeignPageableEncodingTests { } @Test - public void testPageableWithDescDirection() { + void testPageableWithDescDirection() { // given Pageable pageable = PageRequest.of(0, 10, Sort.Direction.DESC, "sortProperty"); @@ -113,7 +110,7 @@ public class FeignPageableEncodingTests { } @Test - public void testPageableWithMultipleSort() { + void testPageableWithMultipleSort() { // given Pageable pageable = PageRequest.of(0, 10, Sort.by(Sort.Order.desc("sortProperty1"), Sort.Order.asc("sortProperty2"))); @@ -143,7 +140,7 @@ public class FeignPageableEncodingTests { } @Test - public void testPageableWithoutSort() { + void testPageableWithoutSort() { // given Pageable pageable = PageRequest.of(0, 10); @@ -162,7 +159,7 @@ public class FeignPageableEncodingTests { } @Test - public void testPageableWithoutSortWithBody() { + void testPageableWithoutSortWithBody() { // given Pageable pageable = PageRequest.of(0, 10); @@ -184,7 +181,7 @@ public class FeignPageableEncodingTests { } @Test - public void testPageableWithBody() { + void testPageableWithBody() { // given Pageable pageable = PageRequest.of(0, 10, Sort.by(Sort.Order.desc("sortProperty1"), Sort.Order.asc("sortProperty2"))); @@ -221,7 +218,7 @@ public class FeignPageableEncodingTests { } @Test - public void testUnpagedWithBody() { + void testUnpagedWithBody() { // given Pageable unpaged = Pageable.unpaged(); @@ -242,7 +239,7 @@ public class FeignPageableEncodingTests { } @Test - public void testSortWithBody() { + void testSortWithBody() { // given Sort sort = Sort.by(Sort.Order.desc("amount")); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufNotInClasspathTest.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufNotInClasspathTest.java index b4cb0ea1..64012f6f 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufNotInClasspathTest.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufNotInClasspathTest.java @@ -17,14 +17,12 @@ package org.springframework.cloud.openfeign.encoding.proto; import feign.RequestTemplate; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.ObjectFactory; import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.cloud.openfeign.support.SpringEncoder; import org.springframework.cloud.test.ClassPathExclusions; -import org.springframework.cloud.test.ModifiedClassPathRunner; import org.springframework.http.converter.StringHttpMessageConverter; import static feign.Request.HttpMethod.POST; @@ -34,12 +32,11 @@ import static feign.Request.HttpMethod.POST; * * @author ScienJus */ -@RunWith(ModifiedClassPathRunner.class) @ClassPathExclusions("protobuf-*.jar") -public class ProtobufNotInClasspathTest { +class ProtobufNotInClasspathTest { @Test - public void testEncodeWhenProtobufNotInClasspath() { + void testEncodeWhenProtobufNotInClasspath() { ObjectFactory converters = () -> new HttpMessageConverters( new StringHttpMessageConverter()); RequestTemplate requestTemplate = new RequestTemplate(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufSpringEncoderTest.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufSpringEncoderTest.java index 39af6b35..982d7d3c 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufSpringEncoderTest.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/proto/ProtobufSpringEncoderTest.java @@ -18,7 +18,6 @@ package org.springframework.cloud.openfeign.encoding.proto; import java.io.IOException; import java.io.InputStream; -import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; @@ -35,12 +34,12 @@ import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.message.BasicHttpResponse; import org.apache.http.message.BasicStatusLine; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentMatchers; import org.mockito.BDDMockito; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.stubbing.Answer; import org.springframework.beans.factory.ObjectFactory; @@ -58,8 +57,8 @@ import static org.assertj.core.api.Assertions.fail; * * @author ScienJus */ -@RunWith(MockitoJUnitRunner.class) -public class ProtobufSpringEncoderTest { +@ExtendWith(MockitoExtension.class) +class ProtobufSpringEncoderTest { @Mock private HttpClient httpClient; @@ -70,7 +69,7 @@ public class ProtobufSpringEncoderTest { .setMsg("Erlang/OTP 最初是爱立信为开发电信设备系统设计的编程语言平台," + "电信设备(路由器、接入网关、…)典型设计是通过背板连接主控板卡与多块业务板卡的分布式系统。").build(); @Test - public void testProtobuf() throws IOException { + void testProtobuf() throws IOException { // protobuf convert to request by feign and ProtobufHttpMessageConverter RequestTemplate requestTemplate = newRequestTemplate(); newEncoder().encode(this.request, Request.class, requestTemplate); @@ -84,7 +83,7 @@ public class ProtobufSpringEncoderTest { } @Test - public void testProtobufWithCharsetWillFail() throws IOException, URISyntaxException { + void testProtobufWithCharsetWillFail() throws IOException { // protobuf convert to request by feign and ProtobufHttpMessageConverter RequestTemplate requestTemplate = newRequestTemplate(); newEncoder().encode(this.request, Request.class, requestTemplate); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/FeignHalTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/FeignHalTests.java index 5f0ead98..cb0948d7 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/FeignHalTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/FeignHalTests.java @@ -18,8 +18,7 @@ package org.springframework.cloud.openfeign.hateoas; import java.util.Collection; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -31,7 +30,6 @@ import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.Link; import org.springframework.hateoas.PagedModel; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -42,15 +40,14 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Hector Espert */ @SpringBootTest(classes = FeignHalApplication.class, webEnvironment = RANDOM_PORT, value = "debug=true") -@RunWith(SpringRunner.class) @DirtiesContext -public class FeignHalTests { +class FeignHalTests { @Autowired private FeignHalClient feignHalClient; @Test - public void testEntityModel() { + void testEntityModel() { EntityModel entity = feignHalClient.entity(); assertThat(entity).isNotNull(); @@ -65,7 +62,7 @@ public class FeignHalTests { } @Test - public void testCollectionModel() { + void testCollectionModel() { CollectionModel collectionModel = feignHalClient.collection(); assertThat(collectionModel).isNotNull(); assertThat(collectionModel).isNotEmpty(); @@ -84,7 +81,7 @@ public class FeignHalTests { } @Test - public void testPagedModel() { + void testPagedModel() { PagedModel paged = feignHalClient.paged(); assertThat(paged).isNotNull(); assertThat(paged).isNotEmpty(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/app/FeignHalRibbonConfiguration.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/app/FeignHalConfiguration.java similarity index 95% rename from spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/app/FeignHalRibbonConfiguration.java rename to spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/app/FeignHalConfiguration.java index 7f22901e..89bbe29a 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/app/FeignHalRibbonConfiguration.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/hateoas/app/FeignHalConfiguration.java @@ -21,7 +21,7 @@ import org.springframework.beans.factory.annotation.Value; /** * @author Hector Espert */ -public class FeignHalRibbonConfiguration { +public class FeignHalConfiguration { @Value("${local.server.port}") private int serverPort = 0; diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/invalid/FeignClientValidationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/invalid/FeignClientValidationTests.java index 6e5960fe..fc4f5971 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/invalid/FeignClientValidationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/invalid/FeignClientValidationTests.java @@ -16,9 +16,7 @@ package org.springframework.cloud.openfeign.invalid; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; +import org.junit.jupiter.api.Test; import org.springframework.cloud.client.loadbalancer.LoadBalancerAutoConfiguration; import org.springframework.cloud.commons.httpclient.HttpClientConfiguration; @@ -31,17 +29,16 @@ import org.springframework.context.annotation.Import; import org.springframework.web.bind.annotation.GetMapping; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** * @author Dave Syer + * @author Szymon Linowski */ -public class FeignClientValidationTests { - - @Rule - public ExpectedException expected = ExpectedException.none(); +class FeignClientValidationTests { @Test - public void testServiceIdAndValue() { + void testServiceIdAndValue() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( LoadBalancerAutoConfiguration.class, NameAndServiceIdConfiguration.class); assertThat(context.getBean(NameAndServiceIdConfiguration.Client.class)).isNotNull(); @@ -49,7 +46,7 @@ public class FeignClientValidationTests { } @Test - public void testDuplicatedClientNames() { + void testDuplicatedClientNames() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.setAllowBeanDefinitionOverriding(false); context.register(LoadBalancerAutoConfiguration.class, DuplicatedFeignClientNamesConfiguration.class); @@ -60,9 +57,10 @@ public class FeignClientValidationTests { } @Test - public void testNotLegalHostname() { - this.expected.expectMessage("not legal hostname (foo_bar)"); - new AnnotationConfigApplicationContext(BadHostnameConfiguration.class); + void testNotLegalHostname() { + assertThatExceptionOfType(IllegalStateException.class) + .isThrownBy(() -> new AnnotationConfigApplicationContext(BadHostnameConfiguration.class)) + .withMessage("Service id not legal hostname (foo_bar)"); } @Configuration(proxyBeanMethods = false) diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/OAuth2FeignRequestInterceptorTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/OAuth2FeignRequestInterceptorTests.java index b0c06f41..0bd3af6d 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/OAuth2FeignRequestInterceptorTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/OAuth2FeignRequestInterceptorTests.java @@ -21,9 +21,9 @@ import java.util.Map; import feign.Request.HttpMethod; import feign.RequestTemplate; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext; import org.springframework.security.oauth2.client.OAuth2ClientContext; @@ -32,55 +32,60 @@ import org.springframework.security.oauth2.client.resource.OAuth2AccessDeniedExc import org.springframework.security.oauth2.client.token.AccessTokenRequest; import org.springframework.security.oauth2.common.OAuth2AccessToken; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.hasSize; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; /** * @author João Pedro Evangelista * @author Tim Ysewyn + * @author Szymon Linowski */ -public class OAuth2FeignRequestInterceptorTests { +class OAuth2FeignRequestInterceptorTests { private OAuth2FeignRequestInterceptor oAuth2FeignRequestInterceptor; private RequestTemplate requestTemplate; - @Before - public void setUp() { + @BeforeEach + void setUp() { oAuth2FeignRequestInterceptor = new OAuth2FeignRequestInterceptor(new MockOAuth2ClientContext("Fancy"), new BaseOAuth2ProtectedResourceDetails()); requestTemplate = new RequestTemplate().method(HttpMethod.GET); } @Test - public void applyAuthorizationHeader() { + void applyAuthorizationHeader() { oAuth2FeignRequestInterceptor.apply(requestTemplate); Map> headers = requestTemplate.headers(); - Assert.assertTrue("RequestTemplate must have a Authorization header", headers.containsKey("Authorization")); - Assert.assertThat("Authorization must have a extract of Fancy", headers.get("Authorization"), - contains("Bearer Fancy")); + + assertThat(headers.containsKey("Authorization")).describedAs("RequestTemplate must have a Authorization header") + .isTrue(); + Assertions.assertThat(headers.get("Authorization")).describedAs("Authorization must have a extract of Fancy") + .contains("Bearer Fancy"); } - @Test(expected = OAuth2AccessDeniedException.class) - public void tryToAcquireToken() { + @Test + void tryToAcquireToken() { oAuth2FeignRequestInterceptor = new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), new BaseOAuth2ProtectedResourceDetails()); - OAuth2AccessToken oAuth2AccessToken = oAuth2FeignRequestInterceptor.getToken(); - Assert.assertTrue(oAuth2AccessToken.getValue() + " Must be null", oAuth2AccessToken.getValue() == null); + + Assertions.assertThatExceptionOfType(OAuth2AccessDeniedException.class) + .isThrownBy(() -> oAuth2FeignRequestInterceptor.getToken()).withMessage( + "Unable to obtain a new access token for resource 'null'. The provider manager is not configured to support it."); } @Test - public void configureAccessTokenProvider() { + void configureAccessTokenProvider() { OAuth2AccessToken mockedToken = new MockOAuth2AccessToken("MOCKED_TOKEN"); oAuth2FeignRequestInterceptor.setAccessTokenProvider(new MockAccessTokenProvider(mockedToken)); - Assert.assertEquals("Should return same mocked token instance", mockedToken, - oAuth2FeignRequestInterceptor.acquireAccessToken()); + + assertThat(oAuth2FeignRequestInterceptor.acquireAccessToken()) + .describedAs("Should return same mocked token instance").isEqualTo(mockedToken); } @Test - public void applyAuthorizationHeaderOnlyOnce() { + void applyAuthorizationHeaderOnlyOnce() { OAuth2ClientContext oAuth2ClientContext = mock(OAuth2ClientContext.class); when(oAuth2ClientContext.getAccessToken()).thenReturn(new MockOAuth2AccessToken("MOCKED_TOKEN")); @@ -103,10 +108,11 @@ public class OAuth2FeignRequestInterceptorTests { oAuth2FeignRequestInterceptor.apply(requestTemplate); Map> headers = requestTemplate.headers(); - Assert.assertTrue("RequestTemplate must have a Authorization header", headers.containsKey("Authorization")); - Assert.assertThat("Authorization must have a extract of Fancy", headers.get("Authorization"), hasSize(1)); - Assert.assertThat("Authorization must have a extract of Fancy", headers.get("Authorization"), - contains("Bearer Fancy")); + assertThat(headers.containsKey("Authorization")).describedAs("RequestTemplate must have a Authorization header") + .isTrue(); + assertThat(headers.get("Authorization")).describedAs("Authorization must have a extract of Fancy").hasSize(1); + assertThat(headers.get("Authorization")).describedAs("Authorization must have a extract of Fancy") + .contains("Bearer Fancy"); } } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java index 0835b322..9abbfe97 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java @@ -18,9 +18,8 @@ package org.springframework.cloud.openfeign.support; import java.util.concurrent.TimeUnit; -import org.junit.After; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -31,7 +30,6 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.cloud.openfeign.support.FeignHttpClientProperties.Hc5Properties.DEFAULT_SOCKET_TIMEOUT; @@ -41,21 +39,20 @@ import static org.springframework.cloud.openfeign.support.FeignHttpClientPropert * @author Ryan Baxter * @author Nguyen Ky Thanh */ -@RunWith(SpringRunner.class) @DirtiesContext -public class FeignHttpClientPropertiesTests { +class FeignHttpClientPropertiesTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); - @After - public void clear() { + @AfterEach + void clear() { if (this.context != null) { this.context.close(); } } @Test - public void testDefaults() { + void testDefaults() { setupContext(); assertThat(getProperties().getConnectionTimeout()) .isEqualTo(FeignHttpClientProperties.DEFAULT_CONNECTION_TIMEOUT); @@ -73,7 +70,7 @@ public class FeignHttpClientPropertiesTests { } @Test - public void testCustomization() { + void testCustomization() { TestPropertyValues .of("feign.httpclient.maxConnections=2", "feign.httpclient.connectionTimeout=2", "feign.httpclient.maxConnectionsPerRoute=2", "feign.httpclient.timeToLive=2", diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableEncoderTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableEncoderTests.java index ad3f7579..228332cf 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableEncoderTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableEncoderTests.java @@ -18,8 +18,7 @@ package org.springframework.cloud.openfeign.support; import feign.RequestTemplate; import feign.codec.Encoder; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -28,7 +27,6 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -39,11 +37,10 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Charlie Mordant. * @author Yanming Zhou */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = SpringEncoderTests.Application.class, webEnvironment = RANDOM_PORT, value = { "spring.application.name=springencodertest", "spring.jmx.enabled=false" }) @DirtiesContext -public class PageableEncoderTests { +class PageableEncoderTests { public static final int PAGE = 1; @@ -69,7 +66,7 @@ public class PageableEncoderTests { } @Test - public void testPaginationAndSortingRequest() { + void testPaginationAndSortingRequest() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -90,7 +87,7 @@ public class PageableEncoderTests { } @Test - public void testPaginationRequest() { + void testPaginationRequest() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -109,7 +106,7 @@ public class PageableEncoderTests { } @Test - public void testSortingRequest() { + void testSortingRequest() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -126,7 +123,7 @@ public class PageableEncoderTests { } @Test - public void testUnpagedRequest() { + void testUnpagedRequest() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableSpringQueryMapEncoderTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableSpringQueryMapEncoderTests.java index 2ac911e2..9753c1d3 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableSpringQueryMapEncoderTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageableSpringQueryMapEncoderTests.java @@ -20,8 +20,7 @@ import java.util.List; import java.util.Map; import feign.QueryMapEncoder; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -30,7 +29,6 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -40,11 +38,10 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author Yanming Zhou */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = SpringEncoderTests.Application.class, webEnvironment = RANDOM_PORT, value = { "spring.application.name=springencodertest", "spring.jmx.enabled=false" }) @DirtiesContext -public class PageableSpringQueryMapEncoderTests { +class PageableSpringQueryMapEncoderTests { public static final int PAGE = 1; @@ -70,7 +67,7 @@ public class PageableSpringQueryMapEncoderTests { } @Test - public void testPaginationAndSortingRequest() { + void testPaginationAndSortingRequest() { QueryMapEncoder encoder = this.context.getInstance("foo", QueryMapEncoder.class); assertThat(encoder).isNotNull(); @@ -86,7 +83,7 @@ public class PageableSpringQueryMapEncoderTests { } @Test - public void testPaginationRequest() { + void testPaginationRequest() { QueryMapEncoder encoder = this.context.getInstance("foo", QueryMapEncoder.class); assertThat(encoder).isNotNull(); @@ -102,7 +99,7 @@ public class PageableSpringQueryMapEncoderTests { } @Test - public void testSortingRequest() { + void testSortingRequest() { QueryMapEncoder encoder = this.context.getInstance("foo", QueryMapEncoder.class); assertThat(encoder).isNotNull(); @@ -116,7 +113,7 @@ public class PageableSpringQueryMapEncoderTests { } @Test - public void testUnpagedRequest() { + void testUnpagedRequest() { QueryMapEncoder encoder = this.context.getInstance("foo", QueryMapEncoder.class); assertThat(encoder).isNotNull(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringEncoderTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringEncoderTests.java index 600d2e88..8cf2d808 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringEncoderTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringEncoderTests.java @@ -26,8 +26,8 @@ import java.util.List; import feign.RequestTemplate; import feign.codec.EncodeException; import feign.codec.Encoder; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -52,7 +52,6 @@ import org.springframework.http.converter.HttpMessageNotWritableException; import org.springframework.http.converter.ResourceHttpMessageConverter; import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @@ -70,12 +69,12 @@ import static org.springframework.http.MediaType.TEXT_PLAIN_VALUE; * @author Olga Maciaszek-Sharma * @author Ahmad Mozafarnia * @author Can Bezmen + * @author Szymon Linowski */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = SpringEncoderTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=springencodertest", "spring.jmx.enabled=false" }) @DirtiesContext -public class SpringEncoderTests { +class SpringEncoderTests { @Autowired private FeignContext context; @@ -92,7 +91,7 @@ public class SpringEncoderTests { private GenericHttpMessageConverter myGenericConverter; @Test - public void testCustomHttpMessageConverter() { + void testCustomHttpMessageConverter() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -112,7 +111,7 @@ public class SpringEncoderTests { // gh-225 @Test - public void testCustomGenericHttpMessageConverter() { + void testCustomGenericHttpMessageConverter() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -135,7 +134,7 @@ public class SpringEncoderTests { } @Test - public void testBinaryData() { + void testBinaryData() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); @@ -147,19 +146,21 @@ public class SpringEncoderTests { .isEqualTo(APPLICATION_OCTET_STREAM_VALUE); } - @Test(expected = EncodeException.class) - public void testMultipartFile1() { + @Test + void testMultipartFile1() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); MultipartFile multipartFile = new MockMultipartFile("test_multipart_file", "hi".getBytes()); - encoder.encode(multipartFile, MultipartFile.class, request); + + Assertions.assertThatExceptionOfType(EncodeException.class) + .isThrownBy(() -> encoder.encode(multipartFile, MultipartFile.class, request)); } // gh-105, gh-107 @Test - public void testMultipartFile2() { + void testMultipartFile2() { Encoder encoder = this.context.getInstance("foo", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -182,7 +183,7 @@ public class SpringEncoderTests { } @Test - public void testFromURLEncodedValue() { + void testFromURLEncodedValue() { Encoder encoder = context.getInstance("formUrlEncoded", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -193,7 +194,7 @@ public class SpringEncoderTests { } @Test - public void testNoCharsetForBinaryFiles() { + void testNoCharsetForBinaryFiles() { Encoder encoder = context.getInstance("test", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); @@ -206,7 +207,7 @@ public class SpringEncoderTests { } @Test - public void testUTF8CharsetForTextFiles() { + void testUTF8CharsetForTextFiles() { Encoder encoder = context.getInstance("test", Encoder.class); assertThat(encoder).isNotNull(); RequestTemplate request = new RequestTemplate(); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractTests.java index 0a58826e..b62c0fca 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractTests.java @@ -31,8 +31,8 @@ import java.util.Map; import com.fasterxml.jackson.annotation.JsonAutoDetect; import feign.MethodMetadata; import feign.Param; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.cloud.openfeign.CollectionFormat; import org.springframework.cloud.openfeign.SpringQueryMap; @@ -65,8 +65,9 @@ import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; import static feign.CollectionFormat.CSV; import static feign.CollectionFormat.SSV; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.junit.Assume.assumeTrue; +import static org.junit.jupiter.api.Assumptions.assumeTrue; /** * @author chadjaros @@ -75,9 +76,10 @@ import static org.junit.Assume.assumeTrue; * @author Aaron Whiteside * @author Artyom Romanenko * @author Olga Maciaszek-Sharma + * @author Szymon Linowski * @author Sam Kruglov */ -public class SpringMvcContractTests { +class SpringMvcContractTests { private static final Class EXECUTABLE_TYPE; @@ -117,13 +119,13 @@ public class SpringMvcContractTests { return false; } - @Before - public void setup() { + @BeforeEach + void setup() { contract = new SpringMvcContract(Collections.emptyList(), getConversionService()); } @Test - public void testProcessAnnotationOnMethod_Simple() throws Exception { + void testProcessAnnotationOnMethod_Simple() throws Exception { Method method = TestTemplate_Simple.class.getDeclaredMethod("getTest", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -135,7 +137,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotationOnMethod_Simple_RegexPathVariable() throws Exception { + void testProcessAnnotationOnMethod_Simple_RegexPathVariable() throws Exception { Method method = TestTemplate_Simple.class.getDeclaredMethod("getTestWithDigitalId", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -145,7 +147,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotationOnMethod_Simple_SlashEncoded() throws Exception { + void testProcessAnnotationOnMethod_Simple_SlashEncoded() throws Exception { contract = new SpringMvcContract(Collections.emptyList(), getConversionService(), false); Method method = TestTemplate_Simple.class.getDeclaredMethod("getTest", String.class); @@ -157,7 +159,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Simple() throws Exception { + void testProcessAnnotations_Simple() throws Exception { Method method = TestTemplate_Simple.class.getDeclaredMethod("getTest", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -170,7 +172,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_SimpleGetMapping() throws Exception { + void testProcessAnnotations_SimpleGetMapping() throws Exception { Method method = TestTemplate_Simple.class.getDeclaredMethod("getMappingTest", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -183,7 +185,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Class_Annotations_RequestMapping() { + void testProcessAnnotations_Class_Annotations_RequestMapping() { assertThatIllegalArgumentException().isThrownBy(() -> { Method method = TestTemplate_Class_RequestMapping.class.getDeclaredMethod("getSpecificTest", String.class, String.class); @@ -192,7 +194,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Class_AnnotationsGetAllTests() throws Exception { + void testProcessAnnotations_Class_AnnotationsGetAllTests() throws Exception { Method method = TestTemplate_Class_Annotations.class.getDeclaredMethod("getAllTests", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -204,7 +206,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_ExtendedInterface() throws Exception { + void testProcessAnnotations_ExtendedInterface() throws Exception { Method extendedMethod = TestTemplate_Extended.class.getMethod("getAllTests", String.class); MethodMetadata extendedData = contract.parseAndValidateMetadata(extendedMethod.getDeclaringClass(), extendedMethod); @@ -220,7 +222,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_SimplePost() throws Exception { + void testProcessAnnotations_SimplePost() throws Exception { Method method = TestTemplate_Simple.class.getDeclaredMethod("postTest", TestObject.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -232,7 +234,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_SimplePostMapping() throws Exception { + void testProcessAnnotations_SimplePostMapping() throws Exception { Method method = TestTemplate_Simple.class.getDeclaredMethod("postMappingTest", TestObject.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -244,7 +246,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotationsOnMethod_Advanced() throws Exception { + void testProcessAnnotationsOnMethod_Advanced() throws Exception { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getTest", String.class, String.class, Integer.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -256,7 +258,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotationsOnMethod_Advanced_UnknownAnnotation() throws Exception { + void testProcessAnnotationsOnMethod_Advanced_UnknownAnnotation() throws Exception { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getTest", String.class, String.class, Integer.class); contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -265,7 +267,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotationsOnMethod_CollectionFormat() throws NoSuchMethodException { + void testProcessAnnotationsOnMethod_CollectionFormat() throws NoSuchMethodException { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getWithCollectionFormat"); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -274,7 +276,7 @@ public class SpringMvcContractTests { } @Test - public void processAnnotationOnClass_CollectionFormat() throws NoSuchMethodException { + void processAnnotationOnClass_CollectionFormat() throws NoSuchMethodException { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getWithoutCollectionFormat"); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -283,7 +285,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Advanced() throws Exception { + void testProcessAnnotations_Advanced() throws Exception { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getTest", String.class, String.class, Integer.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -303,7 +305,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Aliased() throws Exception { + void testProcessAnnotations_Aliased() throws Exception { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getTest2", String.class, Integer.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -320,7 +322,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_DateTimeFormatParam() throws Exception { + void testProcessAnnotations_DateTimeFormatParam() throws Exception { Method method = TestTemplate_DateTimeFormatParameter.class.getDeclaredMethod("getTest", LocalDateTime.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -337,7 +339,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_NumberFormatParam() throws Exception { + void testProcessAnnotations_NumberFormatParam() throws Exception { Method method = TestTemplate_NumberFormatParameter.class.getDeclaredMethod("getTest", BigDecimal.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -355,7 +357,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Advanced2() throws Exception { + void testProcessAnnotations_Advanced2() throws Exception { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getTest"); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -366,7 +368,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Advanced3() throws Exception { + void testProcessAnnotations_Advanced3() throws Exception { Method method = TestTemplate_Simple.class.getDeclaredMethod("getTest"); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -378,7 +380,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Advanced3_DecodeSlashFlagNotModified() throws Exception { + void testProcessAnnotations_Advanced3_DecodeSlashFlagNotModified() throws Exception { contract = new SpringMvcContract(Collections.emptyList(), getConversionService(), false); Method method = TestTemplate_Simple.class.getDeclaredMethod("getTest"); @@ -390,7 +392,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_ListParams() throws Exception { + void testProcessAnnotations_ListParams() throws Exception { Method method = TestTemplate_ListParams.class.getDeclaredMethod("getTest", List.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -401,7 +403,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_ListParamsWithoutName() throws Exception { + void testProcessAnnotations_ListParamsWithoutName() throws Exception { Method method = TestTemplate_ListParamsWithoutName.class.getDeclaredMethod("getTest", List.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -412,7 +414,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_MapParams() throws Exception { + void testProcessAnnotations_MapParams() throws Exception { Method method = TestTemplate_MapParams.class.getDeclaredMethod("getTest", Map.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -423,7 +425,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessHeaders() throws Exception { + void testProcessHeaders() throws Exception { Method method = TestTemplate_Headers.class.getDeclaredMethod("getTest", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -433,7 +435,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessHeadersWithoutValues() throws Exception { + void testProcessHeadersWithoutValues() throws Exception { Method method = TestTemplate_HeadersWithoutValues.class.getDeclaredMethod("getTest", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -443,11 +445,11 @@ public class SpringMvcContractTests { } @Test - public void testProcessAnnotations_Fallback() throws Exception { + void testProcessAnnotations_Fallback() throws Exception { Method method = TestTemplate_Advanced.class.getDeclaredMethod("getTestFallback", String.class, String.class, Integer.class); - assumeTrue("does not have java 8 parameter names", hasJava8ParameterNames(method)); + assumeTrue(hasJava8ParameterNames(method), "does not have java 8 parameter names"); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -465,7 +467,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessHeaderMap() throws Exception { + void testProcessHeaderMap() throws Exception { Method method = TestTemplate_HeaderMap.class.getDeclaredMethod("headerMap", MultiValueMap.class, String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -476,15 +478,16 @@ public class SpringMvcContractTests { assertThat(headers.get("aHeader").iterator().next()).isEqualTo("{aHeader}"); } - @Test(expected = IllegalStateException.class) - public void testProcessHeaderMapMoreThanOnce() throws Exception { + @Test + void testProcessHeaderMapMoreThanOnce() throws Exception { Method method = TestTemplate_HeaderMap.class.getDeclaredMethod("headerMapMoreThanOnce", MultiValueMap.class, MultiValueMap.class); - contract.parseAndValidateMetadata(method.getDeclaringClass(), method); + assertThatExceptionOfType(IllegalStateException.class) + .isThrownBy(() -> contract.parseAndValidateMetadata(method.getDeclaringClass(), method)); } @Test - public void testProcessQueryMap() throws Exception { + void testProcessQueryMap() throws Exception { Method method = TestTemplate_QueryMap.class.getDeclaredMethod("queryMap", MultiValueMap.class, String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -496,7 +499,7 @@ public class SpringMvcContractTests { } @Test - public void testProcessQueryMapObject() throws Exception { + void testProcessQueryMapObject() throws Exception { Method method = TestTemplate_QueryMap.class.getDeclaredMethod("queryMapObject", TestObject.class, String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -507,15 +510,16 @@ public class SpringMvcContractTests { assertThat(params.get("aParam").iterator().next()).isEqualTo("{aParam}"); } - @Test(expected = IllegalStateException.class) - public void testProcessQueryMapMoreThanOnce() throws Exception { + @Test + void testProcessQueryMapMoreThanOnce() throws Exception { Method method = TestTemplate_QueryMap.class.getDeclaredMethod("queryMapMoreThanOnce", MultiValueMap.class, MultiValueMap.class); - contract.parseAndValidateMetadata(method.getDeclaringClass(), method); + assertThatExceptionOfType(IllegalStateException.class) + .isThrownBy(() -> contract.parseAndValidateMetadata(method.getDeclaringClass(), method)); } @Test - public void testMatrixVariable_MapParam() throws Exception { + void testMatrixVariable_MapParam() throws Exception { Method method = TestTemplate_MatrixVariable.class.getDeclaredMethod("matrixVariable", Map.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -528,7 +532,7 @@ public class SpringMvcContractTests { } @Test - public void testMatrixVariable_ObjectParam() throws Exception { + void testMatrixVariable_ObjectParam() throws Exception { Method method = TestTemplate_MatrixVariable.class.getDeclaredMethod("matrixVariableObject", Object.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -538,7 +542,7 @@ public class SpringMvcContractTests { } @Test - public void testMatrixVariableWithNoName() throws NoSuchMethodException { + void testMatrixVariableWithNoName() throws NoSuchMethodException { Method method = TestTemplate_MatrixVariable.class.getDeclaredMethod("matrixVariableNotNamed", Map.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); Map testMap = new HashMap<>(); @@ -551,7 +555,7 @@ public class SpringMvcContractTests { } @Test - public void testAddingTemplatedParameterWithTheSameKey() throws NoSuchMethodException { + void testAddingTemplatedParameterWithTheSameKey() throws NoSuchMethodException { Method method = TestTemplate_Advanced.class.getDeclaredMethod("testAddingTemplatedParamForExistingKey", String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -560,7 +564,7 @@ public class SpringMvcContractTests { } @Test - public void testMultipleRequestPartAnnotations() throws NoSuchMethodException { + void testMultipleRequestPartAnnotations() throws NoSuchMethodException { Method method = TestTemplate_RequestPart.class.getDeclaredMethod("requestWithMultipleParts", MultipartFile.class, String.class); @@ -569,7 +573,7 @@ public class SpringMvcContractTests { } @Test - public void testSingleCookieAnnotation() throws NoSuchMethodException { + void testSingleCookieAnnotation() throws NoSuchMethodException { Method method = TestTemplate_Cookies.class.getDeclaredMethod("singleCookie", String.class, String.class); MethodMetadata data = contract.parseAndValidateMetadata(method.getDeclaringClass(), method); @@ -577,7 +581,7 @@ public class SpringMvcContractTests { } @Test - public void testMultipleCookiesAnnotation() throws NoSuchMethodException { + void testMultipleCookiesAnnotation() throws NoSuchMethodException { Method method = TestTemplate_Cookies.class.getDeclaredMethod("multipleCookies", String.class, String.class, String.class); @@ -788,10 +792,10 @@ public class SpringMvcContractTests { public Double number; - public TestObject() { + TestObject() { } - public TestObject(String something, Double number) { + TestObject(String something, Double number) { this.something = something; this.number = number; } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java index 11adc9b9..57c3b092 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java @@ -47,8 +47,7 @@ import static org.mockito.Mockito.mockingDetails; * @author Olga Maciaszek-Sharma */ @SpringBootTest(properties = { "feign.okhttp.enabled: true", "spring.cloud.httpclientfactories.ok.enabled: true", - "ribbon.eureka.enabled = false", "ribbon.okhttp.enabled: true", "feign.okhttp.enabled: true", - "ribbon.httpclient.enabled: false", "feign.httpclient.enabled: false", + "feign.okhttp.enabled: true", "feign.httpclient.enabled: false", "spring.cloud.loadbalancer.retry.enabled=false" }) @DirtiesContext class OkHttpClientConfigurationTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java index 6bc5f78a..6d4be4d3 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java @@ -19,8 +19,7 @@ package org.springframework.cloud.openfeign.valid; import java.util.List; import feign.Logger; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -36,7 +35,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -47,13 +45,12 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Spencer Gibb * @author Jakub Narloch */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = FeignClientNotPrimaryTests.Application.class, webEnvironment = RANDOM_PORT, value = { "spring.application.name=feignclientnotprimarytest", "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", "feign.httpclient.enabled=false", "feign.okhttp.enabled=false" }) @DirtiesContext -public class FeignClientNotPrimaryTests { +class FeignClientNotPrimaryTests { public static final String HELLO_WORLD_1 = "hello world 1"; @@ -64,17 +61,17 @@ public class FeignClientNotPrimaryTests { private List testClients; @Test - public void testClientType() { + void testClientType() { assertThat(this.testClient).as("testClient was of wrong type").isInstanceOf(PrimaryTestClient.class); } @Test - public void testClientCount() { + void testClientCount() { assertThat(this.testClients).as("testClients was wrong").hasSize(2); } @Test - public void testSimpleType() { + void testSimpleType() { Hello hello = this.testClient.getHello(); assertThat(hello).as("hello was null").isNull(); } @@ -120,10 +117,10 @@ public class FeignClientNotPrimaryTests { private String message; - public Hello() { + Hello() { } - public Hello(String message) { + Hello(String message) { this.message = message; } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientValidationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientValidationTests.java index e94e6bbd..428164ed 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientValidationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientValidationTests.java @@ -16,7 +16,7 @@ package org.springframework.cloud.openfeign.valid; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.cloud.client.loadbalancer.LoadBalancerAutoConfiguration; import org.springframework.cloud.commons.httpclient.HttpClientConfiguration; @@ -34,17 +34,17 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Dave Syer */ -public class FeignClientValidationTests { +class FeignClientValidationTests { @Test - public void validNotLoadBalanced() { + void validNotLoadBalanced() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(GoodUrlConfiguration.class); assertThat(context.getBean(GoodUrlConfiguration.Client.class)).isNotNull(); context.close(); } @Test - public void validPlaceholder() { + void validPlaceholder() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( PlaceholderUrlConfiguration.class); assertThat(context.getBean(PlaceholderUrlConfiguration.Client.class)).isNotNull(); @@ -52,7 +52,7 @@ public class FeignClientValidationTests { } @Test - public void validLoadBalanced() { + void validLoadBalanced() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( LoadBalancerAutoConfiguration.class, org.springframework.cloud.loadbalancer.config.LoadBalancerAutoConfiguration.class, diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java index 2e963a97..a31d26e6 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java @@ -18,8 +18,7 @@ package org.springframework.cloud.openfeign.valid; import io.vavr.collection.HashSet; import io.vavr.collection.Set; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -37,7 +36,6 @@ 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.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -47,19 +45,18 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Spencer Gibb */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = IterableParameterTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=iterableparametertest", "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", "feign.httpclient.enabled=false", "feign.okhttp.enabled=false", "feign.circuitbreaker.enabled=false" }) @DirtiesContext -public class IterableParameterTests { +class IterableParameterTests { @Autowired private TestClient testClient; @Test - public void testClient() { + void testClient() { assertThat(this.testClient).as("testClient was null").isNotNull(); String results = this.testClient.echo(HashSet.of("a", "b")); assertThat(results).isEqualTo("a,b"); @@ -77,7 +74,7 @@ public class IterableParameterTests { @EnableAutoConfiguration @RestController @EnableFeignClients(clients = TestClient.class) - @LoadBalancerClient(name = "localapp", configuration = LocalRibbonClientConfiguration.class) + @LoadBalancerClient(name = "localapp", configuration = LocalLoadBalancerConfiguration.class) @Import(NoSecurityConfiguration.class) protected static class Application { @@ -89,7 +86,7 @@ public class IterableParameterTests { } // Load balancer with fixed server list for "local" pointing to localhost - public static class LocalRibbonClientConfiguration { + public static class LocalLoadBalancerConfiguration { @LocalServerPort private int port = 0; diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java index a6160e76..b8866c36 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java @@ -16,8 +16,7 @@ package org.springframework.cloud.openfeign.valid.scanning; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -34,7 +33,6 @@ 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.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -44,18 +42,17 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen /** * @author Ryan Baxter */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = FeignClientEnvVarTests.Application.class, webEnvironment = RANDOM_PORT, value = { "spring.application.name=feignclienttest", "feign.httpclient.enabled=false", "basepackage=org.springframework.cloud.openfeign.testclients" }) @DirtiesContext -public class FeignClientEnvVarTests { +class FeignClientEnvVarTests { @Autowired private TestClient testClient; @Test - public void testSimpleType() { + void testSimpleType() { String hello = this.testClient.getHello(); assertThat(hello).as("hello was null").isNotNull(); assertThat(hello).as("first hello didn't match").isEqualTo("hello world 1"); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java index 1f4b9721..9216cf3c 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java @@ -17,8 +17,7 @@ package org.springframework.cloud.openfeign.valid.scanning; import feign.Client; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -36,7 +35,6 @@ 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.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -46,11 +44,10 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen /** * @author Spencer Gibb */ -@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = FeignClientScanningTests.Application.class, webEnvironment = RANDOM_PORT, value = { "spring.application.name=feignclienttest", "feign.httpclient.enabled=false" }) @DirtiesContext -public class FeignClientScanningTests { +class FeignClientScanningTests { @Value("${local.server.port}") private int port = 0; @@ -66,14 +63,14 @@ public class FeignClientScanningTests { private Client feignClient; @Test - public void testSimpleType() { + void testSimpleType() { String hello = this.testClient.getHello(); assertThat(hello).as("hello was null").isNotNull(); assertThat(hello).as("first hello didn't match").isEqualTo("hello world 1"); } @Test - public void testSimpleTypeByKey() { + void testSimpleTypeByKey() { String hello = this.testClientByKey.getHello(); assertThat(hello).as("hello was null").isNotNull(); assertThat(hello).as("first hello didn't match").isEqualTo("hello world 1"); diff --git a/spring-cloud-openfeign-core/src/test/resources/application.yml b/spring-cloud-openfeign-core/src/test/resources/application.yml index fe5fe430..3172a966 100644 --- a/spring-cloud-openfeign-core/src/test/resources/application.yml +++ b/spring-cloud-openfeign-core/src/test/resources/application.yml @@ -13,19 +13,6 @@ eureka: client: registerWithEureka: false fetchRegistry: false -#error: -# path: /myerror -ribbon: - ConnectTimeout: 3001 - ReadTimeout: 60001 -foo: - ribbon: - ConnectTimeout: 7 - ReadTimeout: 17 -badClients: - ribbon: - MaxAutoRetriesNextServer: 10 - ReadTimeout: 200 endpoints: health: sensitive: false