summaryrefslogtreecommitdiff
path: root/tests/unit_node/http_test.ts
diff options
context:
space:
mode:
authorYoshiya Hinosawa <stibium121@gmail.com>2024-07-27 22:47:47 +0900
committerGitHub <noreply@github.com>2024-07-27 22:47:47 +0900
commit99e811f5eb8070cfa41272c9e630c7767cac22c2 (patch)
tree949e16ae8bf6adaf8feebc9d972745742c28764a /tests/unit_node/http_test.ts
parent086fa283489f39fadc38e691654c9503ac8a9ace (diff)
test(ext/node): reduce http_test flakiness (#24742)
Diffstat (limited to 'tests/unit_node/http_test.ts')
-rw-r--r--tests/unit_node/http_test.ts11
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/unit_node/http_test.ts b/tests/unit_node/http_test.ts
index c9a1ec3ea..d4cf5941f 100644
--- a/tests/unit_node/http_test.ts
+++ b/tests/unit_node/http_test.ts
@@ -1325,9 +1325,10 @@ Deno.test("[node/http] http.request() post streaming body works", async () => {
}
});
- const deferred = Promise.withResolvers<void>();
+ const responseEnded = Promise.withResolvers<void>();
+ const fileClosed = Promise.withResolvers<void>();
const timeout = setTimeout(() => {
- deferred.reject(new Error("timeout"));
+ responseEnded.reject(new Error("timeout"));
}, 5000);
server.listen(0, () => {
// deno-lint-ignore no-explicit-any
@@ -1359,7 +1360,7 @@ Deno.test("[node/http] http.request() post streaming body works", async () => {
const response = JSON.parse(responseBody);
assertEquals(res.statusCode, 200);
assertEquals(response.bytes, contentLength);
- deferred.resolve();
+ responseEnded.resolve();
});
});
@@ -1369,8 +1370,10 @@ Deno.test("[node/http] http.request() post streaming body works", async () => {
const readStream = fs.createReadStream(filePath);
readStream.pipe(req);
+ readStream.on("close", fileClosed.resolve);
});
- await deferred.promise;
+ await responseEnded.promise;
+ await fileClosed.promise;
assertEquals(server.listening, true);
server.close();
clearTimeout(timeout);