Polishing in ServletServerHttpRequest

See gh-34675
This commit is contained in:
rstoyanchev
2025-04-01 19:22:34 +01:00
parent b8158df3d6
commit e01ad5a08d
2 changed files with 20 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -182,9 +182,7 @@ class ServletServerHttpRequestTests {
mockRequest.addParameter("name 2", "value 2+1", "value 2+2");
mockRequest.addParameter("name 3", (String) null);
byte[] result = FileCopyUtils.copyToByteArray(request.getBody());
byte[] content = "name+1=value+1&name+2=value+2%2B1&name+2=value+2%2B2&name+3".getBytes(StandardCharsets.UTF_8);
assertThat(result).as("Invalid content returned").isEqualTo(content);
assertFormContent("name+1=value+1&name+2=value+2%2B1&name+2=value+2%2B2&name+3");
}
@Test
@@ -192,9 +190,7 @@ class ServletServerHttpRequestTests {
mockRequest.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
mockRequest.setMethod("POST");
byte[] result = FileCopyUtils.copyToByteArray(request.getBody());
byte[] content = "".getBytes(StandardCharsets.UTF_8);
assertThat(result).as("Invalid content returned").isEqualTo(content);
assertFormContent("");
}
@Test // gh-31327
@@ -206,9 +202,7 @@ class ServletServerHttpRequestTests {
mockRequest.setContent("foo=bar".getBytes(StandardCharsets.UTF_8));
mockRequest.addHeader("Content-Length", 7);
byte[] result = FileCopyUtils.copyToByteArray(request.getBody());
byte[] content = "foo=bar".getBytes(StandardCharsets.UTF_8);
assertThat(result).as("Invalid content returned").isEqualTo(content);
assertFormContent("foo=bar");
}
@Test // gh-32471
@@ -219,9 +213,15 @@ class ServletServerHttpRequestTests {
mockRequest.addParameter("lastName", "Test@er");
mockRequest.addHeader("Content-Length", 26);
int contentLength = assertFormContent("name=Test&lastName=Test%40er");
assertThat(request.getHeaders().getContentLength()).isEqualTo(contentLength);
}
private int assertFormContent(String expected) throws IOException {
byte[] result = FileCopyUtils.copyToByteArray(request.getBody());
assertThat(result).isEqualTo("name=Test&lastName=Test%40er".getBytes(StandardCharsets.UTF_8));
assertThat(request.getHeaders().getContentLength()).isEqualTo(result.length);
byte[] content = expected.getBytes(StandardCharsets.UTF_8);
assertThat(result).as("Invalid content returned").isEqualTo(content);
return result.length;
}
@Test