From 1ee05cc180479f61937dc05a1bbd4988cbadf58e Mon Sep 17 00:00:00 2001 From: rstoyanchev Date: Mon, 3 Nov 2025 09:51:25 +0000 Subject: [PATCH] Update contribution Closes gh-35698 --- .../client/DefaultRestTestClientBuilder.java | 2 +- .../DefaultRestTestClientBuilderTests.java | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilder.java index 5d3f400d8bc..5957e345103 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilder.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilder.java @@ -166,7 +166,7 @@ class DefaultRestTestClientBuilder> implemen } return new DefaultRestTestClient( - this.restClientBuilder, this.entityResultConsumer, this); + this.restClientBuilder, this.entityResultConsumer, new DefaultRestTestClientBuilder<>(this)); } diff --git a/spring-test/src/test/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilderTests.java b/spring-test/src/test/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilderTests.java index ec32a834426..6858dda306a 100644 --- a/spring-test/src/test/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilderTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/servlet/client/DefaultRestTestClientBuilderTests.java @@ -20,13 +20,24 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; +/** + * Unit tests for {@link RestTestClient.Builder}. + */ class DefaultRestTestClientBuilderTests { @Test - void testMutateHasNoSideEffects() { - RestTestClient baseTestClient = new DefaultRestTestClientBuilder().baseUrl("http://localhost").build(); - baseTestClient.mutate().defaultHeader("foo", "bar").build(); - baseTestClient.mutate().defaultHeaders(headers -> assertThat(headers.containsHeader("foo")).isFalse()); + void mutateOriginalBuilderHasNoSideEffects() { + RestTestClient.Builder builder = new DefaultRestTestClientBuilder<>().baseUrl("http://localhost"); + RestTestClient client = builder.build(); + builder.defaultHeader("foo", "bar"); + client.mutate().defaultHeaders(headers -> assertThat(headers.containsHeader("foo")).isFalse()); + } + + @Test + void mutateSameClientTwiceHasNoSideEffects() { + RestTestClient client = new DefaultRestTestClientBuilder<>().baseUrl("http://localhost").build(); + client.mutate().defaultHeader("foo", "bar").build(); + client.mutate().defaultHeaders(headers -> assertThat(headers.containsHeader("foo")).isFalse()); } }