Replace TestObservationRegistryAssert.assertThat()

See gh-43235
This commit is contained in:
Johnny Lim 2024-11-21 10:30:52 +09:00 committed by Phillip Webb
parent 59317d590c
commit 4b5b76d7b1
5 changed files with 18 additions and 35 deletions

View File

@ -20,7 +20,6 @@ import io.micrometer.common.KeyValues;
import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistryAssert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
@ -72,8 +71,7 @@ class RestClientObservationConfigurationTests {
RestClient restClient = buildRestClient(context); RestClient restClient = buildRestClient(context);
restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity(); restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity();
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualToIgnoringCase("http.client.requests");
.hasObservationWithNameEqualToIgnoringCase("http.client.requests");
}); });
} }
@ -85,8 +83,7 @@ class RestClientObservationConfigurationTests {
RestClient restClient = buildRestClient(context); RestClient restClient = buildRestClient(context);
restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity(); restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity();
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualToIgnoringCase(observationName);
.hasObservationWithNameEqualToIgnoringCase(observationName);
}); });
} }
@ -96,8 +93,7 @@ class RestClientObservationConfigurationTests {
RestClient restClient = buildRestClient(context); RestClient restClient = buildRestClient(context);
restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity(); restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity();
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualTo("http.client.requests")
.hasObservationWithNameEqualTo("http.client.requests")
.that() .that()
.hasLowCardinalityKeyValue("project", "spring-boot"); .hasLowCardinalityKeyValue("project", "spring-boot");
}); });
@ -118,8 +114,7 @@ class RestClientObservationConfigurationTests {
restClient.get().uri("/test/" + i, String.class).retrieve().toBodilessEntity(); restClient.get().uri("/test/" + i, String.class).retrieve().toBodilessEntity();
} }
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
.hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
MeterRegistry meterRegistry = context.getBean(MeterRegistry.class); MeterRegistry meterRegistry = context.getBean(MeterRegistry.class);
assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(2); assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(2);
assertThat(output).contains("Reached the maximum number of URI tags for 'http.client.requests'.") assertThat(output).contains("Reached the maximum number of URI tags for 'http.client.requests'.")

View File

@ -18,7 +18,6 @@ package org.springframework.boot.actuate.autoconfigure.observation.web.client;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistryAssert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
@ -34,6 +33,7 @@ import org.springframework.http.HttpStatus;
import org.springframework.web.client.RestClient; import org.springframework.web.client.RestClient;
import org.springframework.web.client.RestClient.Builder; import org.springframework.web.client.RestClient.Builder;
import static org.assertj.core.api.Assertions.assertThat;
import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo; import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus; import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus;
@ -59,8 +59,7 @@ class RestClientObservationConfigurationWithoutMetricsTests {
RestClient restClient = buildRestClient(context); RestClient restClient = buildRestClient(context);
restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity(); restClient.get().uri("/projects/{project}", "spring-boot").retrieve().toBodilessEntity();
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualToIgnoringCase("http.client.requests");
.hasObservationWithNameEqualToIgnoringCase("http.client.requests");
}); });
} }

View File

@ -20,7 +20,6 @@ import io.micrometer.common.KeyValues;
import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistryAssert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
@ -70,8 +69,7 @@ class RestTemplateObservationConfigurationTests {
RestTemplate restTemplate = buildRestTemplate(context); RestTemplate restTemplate = buildRestTemplate(context);
restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot"); restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot");
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualToIgnoringCase("http.client.requests");
.hasObservationWithNameEqualToIgnoringCase("http.client.requests");
}); });
} }
@ -83,8 +81,7 @@ class RestTemplateObservationConfigurationTests {
RestTemplate restTemplate = buildRestTemplate(context); RestTemplate restTemplate = buildRestTemplate(context);
restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot"); restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot");
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualToIgnoringCase(observationName);
.hasObservationWithNameEqualToIgnoringCase(observationName);
}); });
} }
@ -94,8 +91,7 @@ class RestTemplateObservationConfigurationTests {
RestTemplate restTemplate = buildRestTemplate(context); RestTemplate restTemplate = buildRestTemplate(context);
restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot"); restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot");
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualTo("http.client.requests")
.hasObservationWithNameEqualTo("http.client.requests")
.that() .that()
.hasLowCardinalityKeyValue("project", "spring-boot"); .hasLowCardinalityKeyValue("project", "spring-boot");
}); });
@ -115,8 +111,7 @@ class RestTemplateObservationConfigurationTests {
restTemplate.getForObject("/test/" + i, String.class); restTemplate.getForObject("/test/" + i, String.class);
} }
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
.hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
MeterRegistry meterRegistry = context.getBean(MeterRegistry.class); MeterRegistry meterRegistry = context.getBean(MeterRegistry.class);
assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(2); assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(2);
assertThat(output).contains("Reached the maximum number of URI tags for 'http.client.requests'.") assertThat(output).contains("Reached the maximum number of URI tags for 'http.client.requests'.")

View File

@ -18,7 +18,6 @@ package org.springframework.boot.actuate.autoconfigure.observation.web.client;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistryAssert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
@ -34,6 +33,7 @@ import org.springframework.http.HttpStatus;
import org.springframework.test.web.client.MockRestServiceServer; import org.springframework.test.web.client.MockRestServiceServer;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import static org.assertj.core.api.Assertions.assertThat;
import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo; import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus; import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus;
@ -58,8 +58,7 @@ class RestTemplateObservationConfigurationWithoutMetricsTests {
RestTemplate restTemplate = buildRestTemplate(context); RestTemplate restTemplate = buildRestTemplate(context);
restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot"); restTemplate.getForEntity("/projects/{project}", Void.class, "spring-boot");
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualToIgnoringCase("http.client.requests");
.hasObservationWithNameEqualToIgnoringCase("http.client.requests");
}); });
} }

View File

@ -22,7 +22,6 @@ import io.micrometer.common.KeyValues;
import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistryAssert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
@ -84,14 +83,13 @@ class WebClientObservationConfigurationTests {
TestObservationRegistry registry = context.getBean(TestObservationRegistry.class); TestObservationRegistry registry = context.getBean(TestObservationRegistry.class);
WebClient.Builder builder = context.getBean(WebClient.Builder.class); WebClient.Builder builder = context.getBean(WebClient.Builder.class);
WebClient webClient = mockWebClient(builder); WebClient webClient = mockWebClient(builder);
TestObservationRegistryAssert.assertThat(registry).doesNotHaveAnyObservation(); assertThat(registry).doesNotHaveAnyObservation();
webClient.get() webClient.get()
.uri("https://example.org/projects/{project}", "spring-boot") .uri("https://example.org/projects/{project}", "spring-boot")
.retrieve() .retrieve()
.toBodilessEntity() .toBodilessEntity()
.block(Duration.ofSeconds(30)); .block(Duration.ofSeconds(30));
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualTo("http.client.requests")
.hasObservationWithNameEqualTo("http.client.requests")
.that() .that()
.hasLowCardinalityKeyValue("project", "spring-boot"); .hasLowCardinalityKeyValue("project", "spring-boot");
}); });
@ -101,8 +99,7 @@ class WebClientObservationConfigurationTests {
void afterMaxUrisReachedFurtherUrisAreDenied(CapturedOutput output) { void afterMaxUrisReachedFurtherUrisAreDenied(CapturedOutput output) {
this.contextRunner.withPropertyValues("management.metrics.web.client.max-uri-tags=2").run((context) -> { this.contextRunner.withPropertyValues("management.metrics.web.client.max-uri-tags=2").run((context) -> {
TestObservationRegistry registry = getInitializedRegistry(context); TestObservationRegistry registry = getInitializedRegistry(context);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
.hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
MeterRegistry meterRegistry = context.getBean(MeterRegistry.class); MeterRegistry meterRegistry = context.getBean(MeterRegistry.class);
assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(1); assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(1);
// MeterFilter.maximumAllowableTags() works with prefix matching. // MeterFilter.maximumAllowableTags() works with prefix matching.
@ -116,8 +113,7 @@ class WebClientObservationConfigurationTests {
void shouldNotDenyNorLogIfMaxUrisIsNotReached(CapturedOutput output) { void shouldNotDenyNorLogIfMaxUrisIsNotReached(CapturedOutput output) {
this.contextRunner.withPropertyValues("management.metrics.web.client.max-uri-tags=5").run((context) -> { this.contextRunner.withPropertyValues("management.metrics.web.client.max-uri-tags=5").run((context) -> {
TestObservationRegistry registry = getInitializedRegistry(context); TestObservationRegistry registry = getInitializedRegistry(context);
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
.hasNumberOfObservationsWithNameEqualTo("http.client.requests", 3);
MeterRegistry meterRegistry = context.getBean(MeterRegistry.class); MeterRegistry meterRegistry = context.getBean(MeterRegistry.class);
assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(3); assertThat(meterRegistry.find("http.client.requests").timers()).hasSize(3);
assertThat(output).doesNotContain("Reached the maximum number of URI tags for 'http.client.requests'.") assertThat(output).doesNotContain("Reached the maximum number of URI tags for 'http.client.requests'.")
@ -140,14 +136,13 @@ class WebClientObservationConfigurationTests {
private void validateWebClient(WebClient.Builder builder, TestObservationRegistry registry) { private void validateWebClient(WebClient.Builder builder, TestObservationRegistry registry) {
WebClient webClient = mockWebClient(builder); WebClient webClient = mockWebClient(builder);
TestObservationRegistryAssert.assertThat(registry).doesNotHaveAnyObservation(); assertThat(registry).doesNotHaveAnyObservation();
webClient.get() webClient.get()
.uri("https://example.org/projects/{project}", "spring-boot") .uri("https://example.org/projects/{project}", "spring-boot")
.retrieve() .retrieve()
.toBodilessEntity() .toBodilessEntity()
.block(Duration.ofSeconds(30)); .block(Duration.ofSeconds(30));
TestObservationRegistryAssert.assertThat(registry) assertThat(registry).hasObservationWithNameEqualTo("http.client.requests")
.hasObservationWithNameEqualTo("http.client.requests")
.that() .that()
.hasLowCardinalityKeyValue("uri", "/projects/{project}"); .hasLowCardinalityKeyValue("uri", "/projects/{project}");
} }