Skip to content

Commit 8004e5d

Browse files
authored
test: 403 response still has postBody (#967)
1 parent 3604aab commit 8004e5d

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

playwright/src/test/java/com/microsoft/playwright/TestPageNetworkRequest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020
import com.microsoft.playwright.options.HttpHeader;
2121
import org.junit.jupiter.api.Test;
2222

23+
import java.nio.charset.StandardCharsets;
2324
import java.util.*;
25+
import java.util.concurrent.ExecutionException;
26+
import java.util.concurrent.Future;
2427
import java.util.concurrent.Semaphore;
2528
import java.util.stream.Collectors;
2629

@@ -93,4 +96,21 @@ void shouldReportAllCookiesInOneHeader() {
9396
String cookie = response.request().allHeaders().get("cookie");
9497
assertEquals("myCookie=myValue; myOtherCookie=myOtherValue", cookie);
9598
}
99+
100+
@Test
101+
void shouldReportPostDataFor403Request() throws InterruptedException, ExecutionException {
102+
server.setRoute("/upload", exchange -> {
103+
exchange.sendResponseHeaders(403, 0);
104+
exchange.getResponseBody().close();
105+
});
106+
Future<Server.Request> serverRequest = server.futureRequest("/upload");
107+
page.navigate(server.EMPTY_PAGE);
108+
Request request = page.waitForRequest("**/*", () -> {
109+
page.evaluate("() => fetch('/upload', { method: 'POST', body: 'test'})");
110+
});
111+
assertEquals("test", new String(serverRequest.get().postBody, StandardCharsets.UTF_8));
112+
assertEquals("test", request.postData());
113+
assertEquals("POST", request.method());
114+
assertEquals(403, request.response().status());
115+
}
96116
}

0 commit comments

Comments
 (0)