diff --git a/spring-cloud-netflix-hystrix-contract/pom.xml b/spring-cloud-netflix-hystrix-contract/pom.xml index a9f24128..4f9a3421 100644 --- a/spring-cloud-netflix-hystrix-contract/pom.xml +++ b/spring-cloud-netflix-hystrix-contract/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.1.BUILD-SNAPSHOT + 1.4.0.BUILD-SNAPSHOT .. spring-cloud-netflix-hystrix-contract diff --git a/spring-cloud-netflix-hystrix-contract/src/main/java/org/springframework/cloud/netflix/hystrix/contract/HystrixContractUtils.java b/spring-cloud-netflix-hystrix-contract/src/main/java/org/springframework/cloud/netflix/hystrix/contract/HystrixContractUtils.java index f3811da8..0731c91f 100644 --- a/spring-cloud-netflix-hystrix-contract/src/main/java/org/springframework/cloud/netflix/hystrix/contract/HystrixContractUtils.java +++ b/spring-cloud-netflix-hystrix-contract/src/main/java/org/springframework/cloud/netflix/hystrix/contract/HystrixContractUtils.java @@ -45,17 +45,15 @@ public class HystrixContractUtils { assertThat(origin.get("host")).isNotNull(); assertThat(origin.get("port")).isNotNull(); assertThat(origin.get("serviceId")).isEqualTo("application"); - // TODO: should be server.port? + // TODO: should be server.port (but in a test it's a random port so -1)? assertThat(origin.get("id")).isEqualTo("application:-1"); } - public static void checkData(Map data) { + public static void checkData(Map data, String group, String name) { assertThat(data.get("type")).isEqualTo("HystrixCommand"); - // TODO: should be application.hello - assertThat(data.get("name")).asString().startsWith("application."); + assertThat(data.get("name")).asString().isEqualTo(name); assertThat(data.get("group")).isNotNull(); - // TODO: should be TestApplication - // assertThat(data.get("group")).isEqualTo(TestApplication.class.getSimpleName()); + assertThat(data.get("group")).isEqualTo(group); assertThat(data.get("errorCount")).isEqualTo(0); assertThat(data.get("errorPercentage")).isEqualTo(0); assertThat(data.get("requestCount")).isInstanceOf(java.lang.Integer.class); diff --git a/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/StreamSourceTestBase.java b/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/StreamSourceTestBase.java index 4fb176ab..8d9b5b46 100644 --- a/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/StreamSourceTestBase.java +++ b/spring-cloud-netflix-hystrix-stream/src/test/java/org/springframework/cloud/netflix/hystrix/stream/StreamSourceTestBase.java @@ -30,7 +30,7 @@ import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier; import org.springframework.cloud.netflix.hystrix.contract.HystrixContractUtils; import org.springframework.cloud.netflix.hystrix.stream.StreamSourceTestBase.TestApplication; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -41,7 +41,7 @@ import org.springframework.web.bind.annotation.RestController; * * @author Marius Bogoevici */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @SpringBootTest(classes = TestApplication.class) @AutoConfigureMessageVerifier public abstract class StreamSourceTestBase { @@ -54,16 +54,18 @@ public abstract class StreamSourceTestBase { } public void assertOrigin(Object input) { + System.err.println(input); @SuppressWarnings("unchecked") Map origin = (Map) input; HystrixContractUtils.checkOrigin(origin); } public void assertData(Object input) { - System.err.println(input); + // System.err.println(input); @SuppressWarnings("unchecked") Map data = (Map) input; - HystrixContractUtils.checkData(data); + HystrixContractUtils.checkData(data, TestApplication.class.getSimpleName(), + "application.hello"); } @EnableAutoConfiguration diff --git a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java index 26f55447..d24715b7 100644 --- a/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java +++ b/spring-cloud-netflix-turbine-stream/src/test/java/org/springframework/cloud/netflix/turbine/stream/TurbineStreamTests.java @@ -146,6 +146,10 @@ public class TurbineStreamTests { .headers(response.getHeaders()).body(builder.toString()); } + /** + * Special interceptor that prevents the response from being closed and allows us to + * assert on the contents of an event stream. + */ private class NonClosingInterceptor implements ClientHttpRequestInterceptor { private class NonClosingResponse implements ClientHttpResponse {