|
|
@ -75,6 +75,7 @@ import org.springframework.web.util.DefaultUriBuilderFactory;
|
|
|
|
import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST;
|
|
|
|
import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST;
|
|
|
|
import static com.tencent.polaris.test.common.TestUtils.SERVER_ADDRESS_ENV;
|
|
|
|
import static com.tencent.polaris.test.common.TestUtils.SERVER_ADDRESS_ENV;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
|
|
|
|
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
|
|
|
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
|
|
|
|
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
|
|
|
|
import static org.springframework.test.web.client.match.MockRestRequestMatchers.method;
|
|
|
|
import static org.springframework.test.web.client.match.MockRestRequestMatchers.method;
|
|
|
|
import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
|
|
|
|
import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
|
|
|
@ -142,12 +143,14 @@ public class PolarisCircuitBreakerRestTemplateIntegrationTest {
|
|
|
|
assertThat(defaultRestTemplate.getForObject("http://localhost:18001/example/service/b/info", String.class)).isEqualTo("fallback");
|
|
|
|
assertThat(defaultRestTemplate.getForObject("http://localhost:18001/example/service/b/info", String.class)).isEqualTo("fallback");
|
|
|
|
mockServer.verify();
|
|
|
|
mockServer.verify();
|
|
|
|
mockServer.reset();
|
|
|
|
mockServer.reset();
|
|
|
|
|
|
|
|
assertThatThrownBy(() -> {
|
|
|
|
|
|
|
|
restTemplateFallbackFromPolaris.getForObject("/example/service/b/info", String.class);
|
|
|
|
|
|
|
|
}).isInstanceOf(IllegalStateException.class);
|
|
|
|
assertThat(restTemplateFallbackFromCode.getForObject("/example/service/b/info", String.class)).isEqualTo("\"this is a fallback class\"");
|
|
|
|
assertThat(restTemplateFallbackFromCode.getForObject("/example/service/b/info", String.class)).isEqualTo("\"this is a fallback class\"");
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|
assertThat(restTemplateFallbackFromCode2.getForObject("/example/service/b/info", String.class)).isEqualTo("\"this is a fallback class\"");
|
|
|
|
assertThat(restTemplateFallbackFromCode2.getForObject("/example/service/b/info", String.class)).isEqualTo("\"this is a fallback class\"");
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|
assertThat(restTemplateFallbackFromCode3.getForEntity("/example/service/b/info", String.class)
|
|
|
|
assertThat(restTemplateFallbackFromCode3.getForEntity("/example/service/b/info", String.class).getStatusCode()).isEqualTo(HttpStatus.OK);
|
|
|
|
.getStatusCode()).isEqualTo(HttpStatus.OK);
|
|
|
|
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|
assertThat(restTemplateFallbackFromCode4.getForObject("/example/service/b/info", String.class)).isEqualTo("fallback");
|
|
|
|
assertThat(restTemplateFallbackFromCode4.getForObject("/example/service/b/info", String.class)).isEqualTo("fallback");
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|
Utils.sleepUninterrupted(2000);
|
|
|
|