Skip to content

Commit f509c90

Browse files
committed
Try to fix flakiness of Jetty smoke test
1 parent 203cd54 commit f509c90

File tree

3 files changed

+15
-22
lines changed

3 files changed

+15
-22
lines changed

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jetty/src/main/java/smoketest/jetty/service/HttpHeaderService.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package smoketest.jetty.service;
1818

19-
import smoketest.jetty.util.RandomStringUtil;
19+
import smoketest.jetty.util.StringUtil;
2020

2121
import org.springframework.beans.factory.annotation.Value;
2222
import org.springframework.stereotype.Component;
@@ -28,16 +28,12 @@ public class HttpHeaderService {
2828
private int maxHttpResponseHeaderSize;
2929

3030
/**
31-
* Generates random data. The data is:
32-
* <ol>
33-
* <li>is longer than configured
34-
* <code>server.jetty.max-http-response-header-size</code></li>
35-
* <li>is url encoded by base 64 encode the random value</li>
36-
* </ol>
37-
* @return a base64 encoded string of random bytes
31+
* Generates a header value, which is longer than
32+
* 'server.jetty.max-http-response-header-size'.
33+
* @return the header value
3834
*/
3935
public String getHeaderValue() {
40-
return RandomStringUtil.getRandomBase64EncodedString(this.maxHttpResponseHeaderSize + 1);
36+
return StringUtil.repeat('A', this.maxHttpResponseHeaderSize + 1);
4137
}
4238

4339
}
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,17 @@
1616

1717
package smoketest.jetty.util;
1818

19-
import java.util.Base64;
20-
import java.util.Random;
19+
import java.util.Arrays;
2120

22-
public final class RandomStringUtil {
21+
public final class StringUtil {
2322

24-
private RandomStringUtil() {
23+
private StringUtil() {
2524
}
2625

27-
public static String getRandomBase64EncodedString(int length) {
28-
byte[] responseHeader = new byte[length];
29-
new Random().nextBytes(responseHeader);
30-
return Base64.getEncoder().encodeToString(responseHeader);
26+
public static String repeat(char c, int length) {
27+
char[] chars = new char[length];
28+
Arrays.fill(chars, c);
29+
return new String(chars);
3130
}
3231

3332
}

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jetty/src/test/java/smoketest/jetty/SampleJettyApplicationTests.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,12 @@
2121
import java.util.zip.GZIPInputStream;
2222

2323
import org.junit.jupiter.api.Test;
24-
import org.junit.jupiter.api.extension.ExtendWith;
25-
import smoketest.jetty.util.RandomStringUtil;
24+
import smoketest.jetty.util.StringUtil;
2625

2726
import org.springframework.beans.factory.annotation.Autowired;
2827
import org.springframework.beans.factory.annotation.Value;
2928
import org.springframework.boot.test.context.SpringBootTest;
3029
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
31-
import org.springframework.boot.test.system.OutputCaptureExtension;
3230
import org.springframework.boot.test.web.client.TestRestTemplate;
3331
import org.springframework.http.HttpEntity;
3432
import org.springframework.http.HttpHeaders;
@@ -46,9 +44,9 @@
4644
* @author Andy Wilkinson
4745
* @author Florian Storz
4846
* @author Michael Weidmann
47+
* @author Moritz Halbritter
4948
*/
5049
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
51-
@ExtendWith(OutputCaptureExtension.class)
5250
class SampleJettyApplicationTests {
5351

5452
@Autowired
@@ -85,7 +83,7 @@ void testMaxHttpResponseHeaderSize() {
8583

8684
@Test
8785
void testMaxHttpRequestHeaderSize() {
88-
String headerValue = RandomStringUtil.getRandomBase64EncodedString(this.maxHttpRequestHeaderSize + 1);
86+
String headerValue = StringUtil.repeat('A', this.maxHttpRequestHeaderSize + 1);
8987
HttpHeaders headers = new HttpHeaders();
9088
headers.add("x-max-request-header", headerValue);
9189
HttpEntity<?> httpEntity = new HttpEntity<>(headers);

0 commit comments

Comments
 (0)