diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java index eb36fe30..888c4063 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java @@ -22,7 +22,7 @@ import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; import org.springframework.cloud.netflix.zuul.FormZuulServletProxyApplicationTests; -import org.springframework.cloud.netflix.zuul.ZuulProxyAutoConfigurationTests; +import org.springframework.cloud.netflix.zuul.filters.route.LazyLoadOfZuulConfigurationTests; /** * A test suite for probing weird ordering problems in the tests. @@ -30,8 +30,8 @@ import org.springframework.cloud.netflix.zuul.ZuulProxyAutoConfigurationTests; * @author Dave Syer */ @RunWith(Suite.class) -@SuiteClasses({ ZuulProxyAutoConfigurationTests.class, - FormZuulServletProxyApplicationTests.class }) +@SuiteClasses({ FormZuulServletProxyApplicationTests.class, + LazyLoadOfZuulConfigurationTests.class }) @Ignore public class AdhocTestSuite { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java index 4b5af6ed..630f7087 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ContextPathZuulProxyApplicationTests.java @@ -16,11 +16,13 @@ package org.springframework.cloud.netflix.zuul; -import static org.junit.Assert.assertEquals; +import com.netflix.zuul.context.RequestContext; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.embedded.LocalServerPort; @@ -41,13 +43,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.netflix.zuul.context.RequestContext; +import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest( - classes = ContextPathZuulProxyApplication.class, - webEnvironment = WebEnvironment.RANDOM_PORT, - value = {"server.contextPath: /app"}) +@SpringBootTest(classes = ContextPathZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "server.contextPath: /app" }) @DirtiesContext public class ContextPathZuulProxyApplicationTests { @@ -69,6 +69,11 @@ public class ContextPathZuulProxyApplicationTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void getOnSelfViaSimpleHostRoutingFilter() { this.routes.addRoute("/self/**", "http://localhost:" + this.port + "/app/local"); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java index 1fbfde84..b999479a 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulProxyApplicationTests.java @@ -16,19 +16,22 @@ package org.springframework.cloud.netflix.zuul; -import static java.nio.charset.Charset.defaultCharset; -import static org.junit.Assert.assertEquals; -import static org.springframework.util.StreamUtils.copyToString; - import java.io.IOException; import java.util.Map; import javax.inject.Inject; import javax.servlet.http.Part; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerList; +import com.netflix.zuul.ZuulFilter; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.boot.actuate.trace.InMemoryTraceRepository; import org.springframework.boot.actuate.trace.TraceRepository; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -58,18 +61,15 @@ import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.netflix.loadbalancer.Server; -import com.netflix.loadbalancer.ServerList; -import com.netflix.zuul.ZuulFilter; -import com.netflix.zuul.context.RequestContext; +import static java.nio.charset.Charset.defaultCharset; +import static org.junit.Assert.assertEquals; +import static org.springframework.util.StreamUtils.copyToString; import lombok.extern.slf4j.Slf4j; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest( - classes = FormZuulProxyApplication.class, - webEnvironment = WebEnvironment.RANDOM_PORT, - value = {"zuul.routes.simple:/simple/**"}) +@SpringBootTest(classes = FormZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "zuul.routes.simple:/simple/**" }) @DirtiesContext public class FormZuulProxyApplicationTests { @@ -81,6 +81,11 @@ public class FormZuulProxyApplicationTests { RequestContext.testSetCurrentContext(new RequestContext()); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void postWithForm() { MultiValueMap form = new LinkedMultiValueMap<>(); @@ -170,7 +175,8 @@ public class FormZuulProxyApplicationTests { form.set("foo", "bar"); HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE + "; charset=UTF-8")); + headers.setContentType(MediaType.valueOf( + MediaType.APPLICATION_FORM_URLENCODED_VALUE + "; charset=UTF-8")); ResponseEntity result = sendPost("/simple/form", form, headers); @@ -185,7 +191,8 @@ public class FormZuulProxyApplicationTests { form.set("foo", "bar"); HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE + "; charset=UTF-8")); + headers.setContentType(MediaType.valueOf( + MediaType.APPLICATION_FORM_URLENCODED_VALUE + "; charset=UTF-8")); ResponseEntity result = sendPost("/simple/form?uriParam=uriValue", form, headers); @@ -201,8 +208,10 @@ public class FormZuulProxyApplicationTests { assertEquals("Posted! {uriParam=[uriValue]}", result.getBody()); } - private ResponseEntity sendPost(String url, MultiValueMap form, HttpHeaders headers) { - return restTemplate.postForEntity(url, new HttpEntity<>(form, headers), String.class); + private ResponseEntity sendPost(String url, MultiValueMap form, + HttpHeaders headers) { + return restTemplate.postForEntity(url, new HttpEntity<>(form, headers), + String.class); } private ResponseEntity sendGet(String url) { @@ -217,7 +226,7 @@ public class FormZuulProxyApplicationTests { @EnableZuulProxy @RibbonClients({ @RibbonClient(name = "simple", configuration = FormRibbonClientConfiguration.class), - @RibbonClient(name = "psimple", configuration = FormRibbonClientConfiguration.class)}) + @RibbonClient(name = "psimple", configuration = FormRibbonClientConfiguration.class) }) @Slf4j class FormZuulProxyApplication { @@ -242,17 +251,18 @@ class FormZuulProxyApplication { } @RequestMapping(value = "/fileandform", method = RequestMethod.POST) - public String fileAndForm(@RequestParam MultipartFile file, @RequestParam String field) - throws IOException { + public String fileAndForm(@RequestParam MultipartFile file, + @RequestParam String field) throws IOException { - return "Posted! " + copyToString(file.getInputStream(), defaultCharset()) + "!field!" + field; + return "Posted! " + copyToString(file.getInputStream(), defaultCharset()) + + "!field!" + field; } @RequestMapping(value = "/json", method = RequestMethod.POST) - public String fileAndJson(@RequestPart Part field) - throws IOException { + public String fileAndJson(@RequestPart Part field) throws IOException { - return "Posted! " + copyToString(field.getInputStream(), defaultCharset()) + " as " + field.getContentType(); + return "Posted! " + copyToString(field.getInputStream(), defaultCharset()) + + " as " + field.getContentType(); } @Bean @@ -299,8 +309,7 @@ class FormZuulProxyApplication { new SpringApplicationBuilder(FormZuulProxyApplication.class) .properties("zuul.routes.simple:/simple/**", "zuul.routes.direct.url:http://localhost:9999", - "multipart.maxFileSize:4096MB", - "multipart.maxRequestSize:4096MB") + "multipart.maxFileSize:4096MB", "multipart.maxRequestSize:4096MB") .run(args); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java index 9261d1aa..80c6ae7d 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/FormZuulServletProxyApplicationTests.java @@ -16,15 +16,20 @@ package org.springframework.cloud.netflix.zuul; -import static org.junit.Assert.assertEquals; - import java.io.IOException; import java.io.InputStream; import java.util.Map; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerList; +import com.netflix.zuul.ZuulFilter; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.trace.InMemoryTraceRepository; import org.springframework.boot.actuate.trace.TraceRepository; @@ -55,18 +60,12 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.netflix.loadbalancer.Server; -import com.netflix.loadbalancer.ServerList; -import com.netflix.zuul.ZuulFilter; -import com.netflix.zuul.context.RequestContext; +import static org.junit.Assert.assertEquals; import lombok.extern.slf4j.Slf4j; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest( - classes = FormZuulServletProxyApplication.class, - webEnvironment = WebEnvironment.RANDOM_PORT, - value = "zuul.routes.simple:/simple/**") +@SpringBootTest(classes = FormZuulServletProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = "zuul.routes.simple:/simple/**") @DirtiesContext public class FormZuulServletProxyApplicationTests { @@ -79,15 +78,19 @@ public class FormZuulServletProxyApplicationTests { RequestContext.testSetCurrentContext(context); } + @After + public void unsetTestRequestContext() { + RequestContext.getCurrentContext().clear(); + } + @Test public void postWithForm() { MultiValueMap form = new LinkedMultiValueMap<>(); form.set("foo", "bar"); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - ResponseEntity result = testRestTemplate.exchange( - "/zuul/simple/form", HttpMethod.POST, - new HttpEntity<>(form, headers), String.class); + ResponseEntity result = testRestTemplate.exchange("/zuul/simple/form", + HttpMethod.POST, new HttpEntity<>(form, headers), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Posted! {foo=[bar]}", result.getBody()); } @@ -98,9 +101,8 @@ public class FormZuulServletProxyApplicationTests { form.set("foo", "bar"); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); - ResponseEntity result = testRestTemplate.exchange( - "/zuul/simple/form", HttpMethod.POST, - new HttpEntity<>(form, headers), String.class); + ResponseEntity result = testRestTemplate.exchange("/zuul/simple/form", + HttpMethod.POST, new HttpEntity<>(form, headers), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Posted! {foo=[bar]}", result.getBody()); } @@ -116,9 +118,8 @@ public class FormZuulServletProxyApplicationTests { headers.setContentType(MediaType.MULTIPART_FORM_DATA); headers.set("Transfer-Encoding", "chunked"); headers.setContentLength(-1); - ResponseEntity result = testRestTemplate.exchange( - "/zuul/simple/file", HttpMethod.POST, - new HttpEntity<>(form, headers), String.class); + ResponseEntity result = testRestTemplate.exchange("/zuul/simple/file", + HttpMethod.POST, new HttpEntity<>(form, headers), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Posted! bar", result.getBody()); } @@ -130,9 +131,8 @@ public class FormZuulServletProxyApplicationTests { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf( MediaType.APPLICATION_FORM_URLENCODED_VALUE + "; charset=UTF-8")); - ResponseEntity result = testRestTemplate.exchange( - "/zuul/simple/form", HttpMethod.POST, - new HttpEntity<>(form, headers), String.class); + ResponseEntity result = testRestTemplate.exchange("/zuul/simple/form", + HttpMethod.POST, new HttpEntity<>(form, headers), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Posted! {foo=[bar]}", result.getBody()); } @@ -167,7 +167,8 @@ class FormZuulServletProxyApplication { while (inputStream.read(buffer) >= 0) { log.info("Read more bytes"); } - } else { + } + else { bytes = file.getBytes(); } } @@ -219,8 +220,7 @@ class FormZuulServletProxyApplication { .properties("zuul.routes.simple:/zuul/simple/**", "zuul.routes.direct.url:http://localhost:9999", "zuul.routes.direct.path:/zuul/direct/**", - "multipart.maxFileSize:4096MB", - "multipart.maxRequestSize:4096MB") + "multipart.maxFileSize:4096MB", "multipart.maxRequestSize:4096MB") .run(args); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java index ff1bdc8f..c87c9e4c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/RetryableZuulProxyApplicationTests.java @@ -1,10 +1,15 @@ package org.springframework.cloud.netflix.zuul; -import static org.junit.Assert.assertEquals; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerList; +import com.netflix.zuul.ZuulFilter; +import com.netflix.zuul.context.RequestContext; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.embedded.LocalServerPort; @@ -31,19 +36,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.netflix.loadbalancer.Server; -import com.netflix.loadbalancer.ServerList; -import com.netflix.zuul.ZuulFilter; -import com.netflix.zuul.context.RequestContext; +import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest( - classes = RetryableZuulProxyApplication.class, - webEnvironment = WebEnvironment.RANDOM_PORT, - value = { - "zuul.routes.simple.path: /simple/**", - "zuul.routes.simple.retryable: true", - "ribbon.OkToRetryOnAllOperations: true"}) +@SpringBootTest(classes = RetryableZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "zuul.routes.simple.path: /simple/**", "zuul.routes.simple.retryable: true", + "ribbon.OkToRetryOnAllOperations: true" }) @DirtiesContext public class RetryableZuulProxyApplicationTests { @@ -64,15 +62,19 @@ public class RetryableZuulProxyApplicationTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void postWithForm() { MultiValueMap form = new LinkedMultiValueMap(); form.set("foo", "bar"); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - ResponseEntity result = testRestTemplate.exchange( - "/simple", HttpMethod.POST, - new HttpEntity<>(form, headers), String.class); + ResponseEntity result = testRestTemplate.exchange("/simple", + HttpMethod.POST, new HttpEntity<>(form, headers), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Posted! {foo=[bar]}", result.getBody()); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java index 45c495c6..7d01d099 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ServletPathZuulProxyApplicationTests.java @@ -16,13 +16,15 @@ package org.springframework.cloud.netflix.zuul; -import static org.junit.Assert.assertEquals; - import java.net.URI; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.embedded.LocalServerPort; @@ -46,13 +48,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.netflix.zuul.context.RequestContext; +import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest( - classes = ServletPathZuulProxyApplicationTests.ServletPathZuulProxyApplication.class, - webEnvironment = WebEnvironment.RANDOM_PORT, - value = {"server.servletPath: /app"}) +@SpringBootTest(classes = ServletPathZuulProxyApplicationTests.ServletPathZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "server.servletPath: /app" }) @DirtiesContext public class ServletPathZuulProxyApplicationTests { @@ -74,14 +74,17 @@ public class ServletPathZuulProxyApplicationTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void getOnSelfViaSimpleHostRoutingFilter() { - this.routes.addRoute("/self/**", - "http://localhost:" + this.port + "/app/local"); + this.routes.addRoute("/self/**", "http://localhost:" + this.port + "/app/local"); this.endpoint.reset(); - ResponseEntity result = testRestTemplate.exchange( - "/app/self/1", HttpMethod.GET, - new HttpEntity<>((Void) null), String.class); + ResponseEntity result = testRestTemplate.exchange("/app/self/1", + HttpMethod.GET, new HttpEntity<>((Void) null), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Gotten 1!", result.getBody()); } @@ -89,42 +92,37 @@ public class ServletPathZuulProxyApplicationTests { @Test public void optionsOnRawEndpoint() throws Exception { ResponseEntity result = testRestTemplate.exchange( - RequestEntity - .options(new URI("/app/local/1")) + RequestEntity.options(new URI("/app/local/1")) .header("Origin", "http://localhost:9000") - .header("Access-Control-Request-Method", "GET") - .build(), + .header("Access-Control-Request-Method", "GET").build(), String.class); HttpHeaders httpHeaders = result.getHeaders(); assertEquals(HttpStatus.OK, result.getStatusCode()); - assertEquals("http://localhost:9000", httpHeaders.getFirst("Access-Control-Allow-Origin")); + assertEquals("http://localhost:9000", + httpHeaders.getFirst("Access-Control-Allow-Origin")); } @Test public void optionsOnSelf() throws Exception { - this.routes.addRoute("/self/**", - "http://localhost:" + this.port + "/app/local"); + this.routes.addRoute("/self/**", "http://localhost:" + this.port + "/app/local"); this.endpoint.reset(); ResponseEntity result = testRestTemplate.exchange( - RequestEntity - .options(new URI("/app/self/1")) + RequestEntity.options(new URI("/app/self/1")) .header("Origin", "http://localhost:9000") - .header("Access-Control-Request-Method", "GET") - .build(), + .header("Access-Control-Request-Method", "GET").build(), String.class); HttpHeaders httpHeaders = result.getHeaders(); assertEquals(HttpStatus.OK, result.getStatusCode()); - assertEquals("http://localhost:9000", httpHeaders.getFirst("Access-Control-Allow-Origin")); + assertEquals("http://localhost:9000", + httpHeaders.getFirst("Access-Control-Allow-Origin")); } @Test public void contentOnRawEndpoint() throws Exception { ResponseEntity result = testRestTemplate.exchange( - RequestEntity - .get(new URI("/app/local/1")) - .build(), String.class); + RequestEntity.get(new URI("/app/local/1")).build(), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Gotten 1!", result.getBody()); } @@ -134,9 +132,8 @@ public class ServletPathZuulProxyApplicationTests { this.routes.addRoute(new ZuulRoute("strip", "/strip/**", "strip", "http://localhost:" + this.port + "/app/local", false, false, null)); this.endpoint.reset(); - ResponseEntity result = testRestTemplate.exchange( - "/app/strip", HttpMethod.GET, - new HttpEntity<>((Void) null), String.class); + ResponseEntity result = testRestTemplate.exchange("/app/strip", + HttpMethod.GET, new HttpEntity<>((Void) null), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); // Prefix not stripped to it goes to /local/strip assertEquals("Gotten strip!", result.getBody()); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulProxyApplicationTests.java index cbd76393..40eae407 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulProxyApplicationTests.java @@ -16,17 +16,19 @@ package org.springframework.cloud.netflix.zuul; -import static org.junit.Assert.assertEquals; - import java.net.URI; import java.net.URISyntaxException; import javax.servlet.http.HttpServletRequest; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.embedded.LocalServerPort; @@ -46,13 +48,11 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.netflix.zuul.context.RequestContext; +import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest( - classes = SimpleZuulProxyApplicationTests.SimpleZuulProxyApplication.class, - webEnvironment = WebEnvironment.RANDOM_PORT, - value = {"zuul.forceOriginalQueryStringEncoding: true"}) +@SpringBootTest(classes = SimpleZuulProxyApplicationTests.SimpleZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { + "zuul.forceOriginalQueryStringEncoding: true" }) @DirtiesContext public class SimpleZuulProxyApplicationTests { @@ -77,6 +77,11 @@ public class SimpleZuulProxyApplicationTests { this.endpoint.reset(); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void getOnSelfViaSimpleHostRoutingFilter() { ResponseEntity result = executeSimpleRequest(HttpMethod.GET); @@ -125,15 +130,14 @@ public class SimpleZuulProxyApplicationTests { } private void assertResponseCodeAndBody(ResponseEntity result, - String expectedBody) { + String expectedBody) { assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals(expectedBody, result.getBody()); } private ResponseEntity executeSimpleRequest(HttpMethod httpMethod) { - ResponseEntity result = testRestTemplate.exchange( - "/foo?id=bar", httpMethod, - new HttpEntity<>((Void) null), String.class); + ResponseEntity result = testRestTemplate.exchange("/foo?id=bar", + httpMethod, new HttpEntity<>((Void) null), String.class); return result; } @@ -149,7 +153,7 @@ public class SimpleZuulProxyApplicationTests { return "get " + id; } - @RequestMapping(value = "/bar", method = RequestMethod.GET, params = {"foo"}) + @RequestMapping(value = "/bar", method = RequestMethod.GET, params = { "foo" }) public String complexGet(@RequestParam String foo, HttpServletRequest request) { return request.getQueryString(); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java index 0a5d865e..934b93b0 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SimpleZuulServerApplicationTests.java @@ -16,12 +16,14 @@ package org.springframework.cloud.netflix.zuul; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import com.netflix.zuul.ZuulFilter; +import com.netflix.zuul.context.RequestContext; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -41,13 +43,11 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.netflix.zuul.ZuulFilter; -import com.netflix.zuul.context.RequestContext; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; @RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest( - classes = SimpleZuulServerApplication.class, - webEnvironment = WebEnvironment.RANDOM_PORT) +@SpringBootTest(classes = SimpleZuulServerApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT) @DirtiesContext public class SimpleZuulServerApplicationTests { @@ -70,6 +70,11 @@ public class SimpleZuulServerApplicationTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void bindRoute() { assertNotNull(getRoute("/testing123/**")); @@ -77,8 +82,7 @@ public class SimpleZuulServerApplicationTests { @Test public void getOnSelf() { - ResponseEntity result = testRestTemplate.exchange( - "/", HttpMethod.GET, + ResponseEntity result = testRestTemplate.exchange("/", HttpMethod.GET, new HttpEntity<>((Void) null), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("Hello world", result.getBody()); @@ -86,9 +90,8 @@ public class SimpleZuulServerApplicationTests { @Test public void getOnSelfViaFilter() { - ResponseEntity result = testRestTemplate.exchange( - "/testing123/1", HttpMethod.GET, - new HttpEntity<>((Void) null), String.class); + ResponseEntity result = testRestTemplate.exchange("/testing123/1", + HttpMethod.GET, new HttpEntity<>((Void) null), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ZuulProxyApplicationTests.java index e3db36c8..65662ff1 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/ZuulProxyApplicationTests.java @@ -17,9 +17,15 @@ package org.springframework.cloud.netflix.zuul; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerList; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.embedded.LocalServerPort; import org.springframework.boot.test.context.SpringBootTest; @@ -40,10 +46,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.netflix.loadbalancer.Server; -import com.netflix.loadbalancer.ServerList; -import com.netflix.zuul.context.RequestContext; - import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) @@ -61,10 +63,16 @@ public class ZuulProxyApplicationTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void getHasCorrectTransferEncoding() { ResponseEntity result = new TestRestTemplate().getForEntity( - "http://localhost:" + this.port + "/simple/transferencoding", String.class); + "http://localhost:" + this.port + "/simple/transferencoding", + String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("missing", result.getBody()); } @@ -72,8 +80,8 @@ public class ZuulProxyApplicationTests { @Test public void postHasCorrectTransferEncoding() { ResponseEntity result = new TestRestTemplate().postForEntity( - "http://localhost:" + this.port + "/simple/transferencoding", new HttpEntity<>("hello"), - String.class); + "http://localhost:" + this.port + "/simple/transferencoding", + new HttpEntity<>("hello"), String.class); assertEquals(HttpStatus.OK, result.getStatusCode()); assertEquals("missing", result.getBody()); } @@ -87,7 +95,8 @@ public class ZuulProxyApplicationTests { static class ZuulProxyApplication { @RequestMapping(value = "/transferencoding", method = RequestMethod.GET) - public String get(@RequestHeader(name = "Transfer-Encoding", required = false) String transferEncoding) { + public String get( + @RequestHeader(name = "Transfer-Encoding", required = false) String transferEncoding) { if (transferEncoding == null) { return "missing"; } @@ -95,8 +104,9 @@ public class ZuulProxyApplicationTests { } @RequestMapping(value = "/transferencoding", method = RequestMethod.POST) - public String post(@RequestHeader(name = "Transfer-Encoding", required = false) String transferEncoding, - @RequestBody String hello) { + public String post( + @RequestHeader(name = "Transfer-Encoding", required = false) String transferEncoding, + @RequestBody String hello) { if (transferEncoding == null) { return "missing"; } @@ -119,4 +129,3 @@ public class ZuulProxyApplicationTests { } } - diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java index 66982903..60c90a52 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java @@ -1,20 +1,20 @@ package org.springframework.cloud.netflix.zuul.filters; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; -import static org.junit.Assert.assertEquals; - import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import com.netflix.zuul.context.RequestContext; + import org.apache.http.client.config.CookieSpecs; import org.apache.http.client.config.RequestConfig; import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; @@ -44,7 +44,9 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; -import com.netflix.zuul.context.RequestContext; +import static junit.framework.TestCase.assertFalse; +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = SampleCustomZuulProxyApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { @@ -67,6 +69,11 @@ public class CustomHostRoutingFilterTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void getOnSelfViaCustomHostRoutingFilter() { this.routes.addRoute("/self/**", "http://localhost:" + this.port + "/app"); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelperTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelperTests.java index d0a4a827..bacb91a2 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelperTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelperTests.java @@ -19,9 +19,13 @@ package org.springframework.cloud.netflix.zuul.filters; import java.io.IOException; import java.util.List; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; + import org.springframework.boot.actuate.trace.InMemoryTraceRepository; import org.springframework.boot.actuate.trace.Trace; import org.springframework.boot.actuate.trace.TraceRepository; @@ -32,8 +36,6 @@ import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import com.netflix.zuul.context.RequestContext; - import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasSize; @@ -64,6 +66,11 @@ public class ProxyRequestHelperTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void debug() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("POST", "/"); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/DiscoveryClientRouteLocatorTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/DiscoveryClientRouteLocatorTests.java index 65f7a30b..adda6a87 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/DiscoveryClientRouteLocatorTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/DiscoveryClientRouteLocatorTests.java @@ -20,9 +20,13 @@ import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; + import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.netflix.zuul.filters.Route; @@ -31,8 +35,6 @@ import org.springframework.cloud.netflix.zuul.filters.ZuulProperties.ZuulRoute; import org.springframework.cloud.netflix.zuul.util.RequestUtils; import org.springframework.core.env.ConfigurableEnvironment; -import com.netflix.zuul.context.RequestContext; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -86,6 +88,11 @@ public class DiscoveryClientRouteLocatorTests { setTestRequestcontext(); // re-initialize Zuul context for each test } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void testGetMatchingPath() throws Exception { DiscoveryClientRouteLocator routeLocator = new DiscoveryClientRouteLocator("/", @@ -603,8 +610,7 @@ public class DiscoveryClientRouteLocatorTests { @Test public void testLocalServiceExceptionIgnored() { - given(this.discovery.getServices()) - .willReturn(Collections.emptyList()); + given(this.discovery.getServices()).willReturn(Collections.emptyList()); given(this.discovery.getLocalServiceInstance()).willThrow(new RuntimeException()); DiscoveryClientRouteLocator routeLocator = new DiscoveryClientRouteLocator("/", @@ -680,6 +686,5 @@ public class DiscoveryClientRouteLocatorTests { private void setTestRequestcontext() { RequestContext context = new RequestContext(); RequestContext.testSetCurrentContext(context); - } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java index 650b76a2..c3e71d82 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperIntegrationTests.java @@ -1,16 +1,17 @@ package org.springframework.cloud.netflix.zuul.filters.discovery; -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; -import static org.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapperIntegrationTests.SERVICE_ID; - import java.util.ArrayList; import java.util.List; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerList; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; @@ -36,9 +37,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.netflix.loadbalancer.Server; -import com.netflix.loadbalancer.ServerList; -import com.netflix.zuul.context.RequestContext; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapperIntegrationTests.SERVICE_ID; /** * @author Stéphane Leroy @@ -67,6 +69,11 @@ public class PatternServiceRouteMapperIntegrationTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void getRegexMappedService() { this.endpoint.reset(); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperTests.java index 62b457fc..afca60b9 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/discovery/PatternServiceRouteMapperTests.java @@ -1,10 +1,11 @@ package org.springframework.cloud.netflix.zuul.filters.discovery; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; -import com.netflix.zuul.context.RequestContext; - import static org.junit.Assert.assertEquals; /** @@ -25,6 +26,11 @@ public class PatternServiceRouteMapperTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void test_return_mapped_route_if_serviceid_matches() { PatternServiceRouteMapper toTest = new PatternServiceRouteMapper(SERVICE_PATTERN, diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/post/SendErrorFilterIntegrationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/post/SendErrorFilterIntegrationTests.java index 777dd777..a483c904 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/post/SendErrorFilterIntegrationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/post/SendErrorFilterIntegrationTests.java @@ -19,9 +19,16 @@ package org.springframework.cloud.netflix.zuul.filters.post; import javax.servlet.http.HttpServletRequest; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerList; +import com.netflix.zuul.ZuulFilter; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.embedded.LocalServerPort; @@ -38,11 +45,6 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.netflix.loadbalancer.Server; -import com.netflix.loadbalancer.ServerList; -import com.netflix.zuul.ZuulFilter; -import com.netflix.zuul.context.RequestContext; - import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -50,9 +52,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Spencer Gibb */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = SendErrorFilterIntegrationTests.Config.class, - properties = "zuul.routes.filtertest:/filtertest/**", - webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = SendErrorFilterIntegrationTests.Config.class, properties = "zuul.routes.filtertest:/filtertest/**", webEnvironment = RANDOM_PORT) @DirtiesContext public class SendErrorFilterIntegrationTests { @@ -65,24 +65,32 @@ public class SendErrorFilterIntegrationTests { RequestContext.testSetCurrentContext(context); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void testPreFails() { String url = "http://localhost:" + port + "/filtertest/get?failpre=true"; - ResponseEntity response = new TestRestTemplate().getForEntity(url, String.class); + ResponseEntity response = new TestRestTemplate().getForEntity(url, + String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR); } @Test public void testRouteFails() { String url = "http://localhost:" + port + "/filtertest/get?failroute=true"; - ResponseEntity response = new TestRestTemplate().getForEntity(url, String.class); + ResponseEntity response = new TestRestTemplate().getForEntity(url, + String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR); } @Test public void testPostFails() { String url = "http://localhost:" + port + "/filtertest/get?failpost=true"; - ResponseEntity response = new TestRestTemplate().getForEntity(url, String.class); + ResponseEntity response = new TestRestTemplate().getForEntity(url, + String.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR); } @@ -149,13 +157,13 @@ public class SendErrorFilterIntegrationTests { @Override public boolean shouldFilter() { HttpServletRequest request = RequestContext.getCurrentContext().getRequest(); - return request.getParameter("fail"+filterType()) != null; + return request.getParameter("fail" + filterType()) != null; } @Override public Object run() { HttpServletRequest request = RequestContext.getCurrentContext().getRequest(); - if (request.getParameter("fail"+filterType()) != null) { + if (request.getParameter("fail" + filterType()) != null) { throw new RuntimeException("failing on purpose in " + filterType()); } return null; diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/pre/PreDecorationFilterTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/pre/PreDecorationFilterTests.java index 9fe24f71..6e737316 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/pre/PreDecorationFilterTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/pre/PreDecorationFilterTests.java @@ -22,9 +22,14 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import com.netflix.util.Pair; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; + import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.netflix.zuul.filters.ProxyRequestHelper; import org.springframework.cloud.netflix.zuul.filters.ZuulProperties; @@ -32,9 +37,6 @@ import org.springframework.cloud.netflix.zuul.filters.ZuulProperties.ZuulRoute; import org.springframework.cloud.netflix.zuul.filters.discovery.DiscoveryClientRouteLocator; import org.springframework.mock.web.MockHttpServletRequest; -import com.netflix.util.Pair; -import com.netflix.zuul.context.RequestContext; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -74,6 +76,11 @@ public class PreDecorationFilterTests { ctx.setRequest(this.request); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void basicProperties() throws Exception { assertEquals(5, this.filter.filterOrder()); @@ -103,7 +110,8 @@ public class PreDecorationFilterTests { new ZuulRoute("foo", "/foo/**", "foo", null, false, null, null)); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); - assertEquals("localhost:8080", ctx.getZuulRequestHeaders().get("x-forwarded-host")); + assertEquals("localhost:8080", + ctx.getZuulRequestHeaders().get("x-forwarded-host")); } @Test @@ -118,7 +126,8 @@ public class PreDecorationFilterTests { new ZuulRoute("foo", "/foo/**", "foo", null, false, null, null)); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); - assertEquals("example.com,localhost:8080", ctx.getZuulRequestHeaders().get("x-forwarded-host")); + assertEquals("example.com,localhost:8080", + ctx.getZuulRequestHeaders().get("x-forwarded-host")); assertEquals("443,8080", ctx.getZuulRequestHeaders().get("x-forwarded-port")); assertEquals("https,http", ctx.getZuulRequestHeaders().get("x-forwarded-proto")); } @@ -151,7 +160,8 @@ public class PreDecorationFilterTests { new ZuulRoute("foo", "/foo/**", "foo", null, false, null, null)); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); - assertEquals("localhost:8080", ctx.getZuulRequestHeaders().get("x-forwarded-host")); + assertEquals("localhost:8080", + ctx.getZuulRequestHeaders().get("x-forwarded-host")); assertEquals("443,8080", ctx.getZuulRequestHeaders().get("x-forwarded-port")); assertEquals("https,http", ctx.getZuulRequestHeaders().get("x-forwarded-proto")); } @@ -167,7 +177,8 @@ public class PreDecorationFilterTests { new ZuulRoute("foo", "/foo/**", "foo", null, false, null, null)); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); - assertEquals("localhost:8080", ctx.getZuulRequestHeaders().get("x-forwarded-host")); + assertEquals("localhost:8080", + ctx.getZuulRequestHeaders().get("x-forwarded-host")); assertEquals("80,8080", ctx.getZuulRequestHeaders().get("x-forwarded-port")); assertEquals("http,http", ctx.getZuulRequestHeaders().get("x-forwarded-proto")); } @@ -183,7 +194,8 @@ public class PreDecorationFilterTests { new ZuulRoute("foo", "/foo/**", "foo", null, false, null, null)); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); - assertEquals("localhost:8080", ctx.getZuulRequestHeaders().get("x-forwarded-host")); + assertEquals("localhost:8080", + ctx.getZuulRequestHeaders().get("x-forwarded-host")); assertEquals("456,8080", ctx.getZuulRequestHeaders().get("x-forwarded-port")); assertEquals("http", ctx.getZuulRequestHeaders().get("x-forwarded-proto")); } @@ -200,7 +212,8 @@ public class PreDecorationFilterTests { new ZuulRoute("foo", "/foo/**", "foo", null, false, null, null)); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); - assertEquals("localhost:8080", ctx.getZuulRequestHeaders().get("x-forwarded-host")); + assertEquals("localhost:8080", + ctx.getZuulRequestHeaders().get("x-forwarded-host")); assertEquals("456,8080", ctx.getZuulRequestHeaders().get("x-forwarded-port")); assertEquals("https,http", ctx.getZuulRequestHeaders().get("x-forwarded-proto")); } @@ -216,7 +229,8 @@ public class PreDecorationFilterTests { new ZuulRoute("foo", "/foo/**", "foo", null, false, null, null)); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); - assertEquals("localhost:8080", ctx.getZuulRequestHeaders().get("x-forwarded-host")); + assertEquals("localhost:8080", + ctx.getZuulRequestHeaders().get("x-forwarded-host")); assertEquals("localhost:8080", ctx.getZuulRequestHeaders().get("host")); } @@ -319,8 +333,7 @@ public class PreDecorationFilterTests { assertEquals("localhost", ctx.getZuulRequestHeaders().get("x-forwarded-host")); assertEquals("80", ctx.getZuulRequestHeaders().get("x-forwarded-port")); assertEquals("http", ctx.getZuulRequestHeaders().get("x-forwarded-proto")); - assertEquals("/prefix", - ctx.getZuulRequestHeaders().get("x-forwarded-prefix")); + assertEquals("/prefix", ctx.getZuulRequestHeaders().get("x-forwarded-prefix")); assertEquals("foo", getHeader(ctx.getOriginResponseHeaders(), "x-zuul-serviceid")); } @@ -507,7 +520,7 @@ public class PreDecorationFilterTests { this.properties.setSensitiveHeaders(Collections.singleton("x-bar")); this.request.setRequestURI("/api/foo/1"); ZuulRoute route = new ZuulRoute("/foo/**", "foo"); - route.setSensitiveHeaders(Collections. emptySet()); + route.setSensitiveHeaders(Collections.emptySet()); this.routeLocator.addRoute(route); this.filter.run(); RequestContext ctx = RequestContext.getCurrentContext(); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/LazyLoadOfZuulConfigurationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/LazyLoadOfZuulConfigurationTests.java index 003f4acf..18ca7835 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/LazyLoadOfZuulConfigurationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/LazyLoadOfZuulConfigurationTests.java @@ -14,13 +14,18 @@ * limitations under the License. */ - package org.springframework.cloud.netflix.zuul.filters.route; +import java.util.concurrent.atomic.AtomicInteger; + import com.netflix.loadbalancer.Server; import com.netflix.loadbalancer.ServerList; +import com.netflix.zuul.context.RequestContext; + +import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; @@ -38,8 +43,6 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.concurrent.atomic.AtomicInteger; - import static org.assertj.core.api.Assertions.assertThat; @RunWith(SpringRunner.class) @@ -51,6 +54,11 @@ public class LazyLoadOfZuulConfigurationTests { @Value("${local.server.port}") protected int port; + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + @Test public void testEagerLoading() { // Child context FooConfig should be lazily created.. diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SendForwardFilterTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SendForwardFilterTests.java index 7dd5deae..f25c953d 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SendForwardFilterTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/SendForwardFilterTests.java @@ -18,14 +18,15 @@ package org.springframework.cloud.netflix.zuul.filters.route; import javax.servlet.http.HttpServletRequest; +import com.netflix.zuul.context.RequestContext; + import org.junit.After; import org.junit.Before; import org.junit.Test; + import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; -import com.netflix.zuul.context.RequestContext; - import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.FORWARD_TO_KEY; @@ -37,7 +38,7 @@ public class SendForwardFilterTests { @After public void reset() { - RequestContext.testSetCurrentContext(null); + RequestContext.getCurrentContext().clear(); } @Before diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandFallbackTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandFallbackTests.java index 085e12ae..bfc1f86d 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandFallbackTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandFallbackTests.java @@ -18,32 +18,31 @@ package org.springframework.cloud.netflix.zuul.filters.route.apache; +import com.netflix.zuul.context.RequestContext; + import org.junit.Before; import org.junit.runner.RunWith; + import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.zuul.filters.route.support.RibbonCommandFallbackTests; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringRunner; -import com.netflix.zuul.context.RequestContext; - import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; /** * @author Ryan Baxter */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = RibbonCommandFallbackTests.TestConfig.class, webEnvironment = RANDOM_PORT, - properties = { +@SpringBootTest(classes = RibbonCommandFallbackTests.TestConfig.class, webEnvironment = RANDOM_PORT, properties = { "zuul.routes.simple: /simple/**", "zuul.routes.another: /another/twolevel/**", - "ribbon.ReadTimeout: 1"}) + "ribbon.ReadTimeout: 1" }) @DirtiesContext public class HttpClientRibbonCommandFallbackTests extends RibbonCommandFallbackTests { @Before public void init() { - RequestContext.testSetCurrentContext(null); - RequestContext.getCurrentContext().unset(); + RequestContext.getCurrentContext().clear(); } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandFallbackTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandFallbackTests.java index fe07b64e..00a4713c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandFallbackTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandFallbackTests.java @@ -18,27 +18,27 @@ package org.springframework.cloud.netflix.zuul.filters.route.okhttp; +import com.netflix.zuul.context.RequestContext; + import org.junit.Before; import org.junit.runner.RunWith; + import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.zuul.filters.route.support.RibbonCommandFallbackTests; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.netflix.zuul.context.RequestContext; - /** * @author Ryan Baxter */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = RibbonCommandFallbackTests.TestConfig.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, value = { "zuul.routes.simple: /simple/**", "zuul.routes.another: /another/twolevel/**", - "ribbon.ReadTimeout: 1"}) + "ribbon.ReadTimeout: 1" }) @DirtiesContext public class OkHttpRibbonCommandFallbackTests extends RibbonCommandFallbackTests { @Before public void init() { - RequestContext.testSetCurrentContext(null); - RequestContext.getCurrentContext().unset(); + RequestContext.getCurrentContext().clear(); } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandFallbackTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandFallbackTests.java index 8496dbe4..ff7d3cd7 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandFallbackTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandFallbackTests.java @@ -18,27 +18,27 @@ package org.springframework.cloud.netflix.zuul.filters.route.restclient; +import com.netflix.zuul.context.RequestContext; + import org.junit.Before; import org.junit.runner.RunWith; + import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.netflix.zuul.filters.route.support.RibbonCommandFallbackTests; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.netflix.zuul.context.RequestContext; - /** * @author Ryan Baxter */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = RibbonCommandFallbackTests.TestConfig.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, value = { "zuul.routes.simple: /simple/**", "zuul.routes.another: /another/twolevel/**", - "ribbon.ReadTimeout: 1"}) + "ribbon.ReadTimeout: 1" }) @DirtiesContext public class RestClientRibbonCommandFallbackTests extends RibbonCommandFallbackTests { @Before public void init() { - RequestContext.testSetCurrentContext(null); - RequestContext.getCurrentContext().unset(); + RequestContext.getCurrentContext().clear(); } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java index 41fbabf3..d063ccc5 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/support/ZuulProxyTestBase.java @@ -37,6 +37,7 @@ import com.netflix.zuul.context.RequestContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -114,6 +115,11 @@ public abstract class ZuulProxyTestBase { RequestContext.getCurrentContext().unset(); } + @After + public void clear() { + RequestContext.getCurrentContext().clear(); + } + /** * used to disable patch tests if client doesn't support it */ diff --git a/spring-cloud-netflix-core/src/test/resources/application.yml b/spring-cloud-netflix-core/src/test/resources/application.yml index deba4141..0bbdd7c8 100644 --- a/spring-cloud-netflix-core/src/test/resources/application.yml +++ b/spring-cloud-netflix-core/src/test/resources/application.yml @@ -4,9 +4,6 @@ server: enabled: true min-response-size: 1024 mime-types: application/xml,application/json -logging: - level: - org.springframework.web: INFO spring: application: name: testclient