summaryrefslogtreecommitdiff
path: root/std/http/racing_server_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/http/racing_server_test.ts')
-rw-r--r--std/http/racing_server_test.ts81
1 files changed, 0 insertions, 81 deletions
diff --git a/std/http/racing_server_test.ts b/std/http/racing_server_test.ts
deleted file mode 100644
index 8018a4312..000000000
--- a/std/http/racing_server_test.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assert, assertEquals } from "../testing/asserts.ts";
-import { BufReader, BufWriter } from "../io/bufio.ts";
-import { TextProtoReader } from "../textproto/mod.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-let server: Deno.Process<Deno.RunOptions & { stdout: "piped" }>;
-async function startServer(): Promise<void> {
- server = Deno.run({
- cmd: [Deno.execPath(), "run", "--quiet", "-A", "racing_server.ts"],
- cwd: moduleDir,
- stdout: "piped",
- });
- // Once racing server is ready it will write to its stdout.
- assert(server.stdout != null);
- const r = new TextProtoReader(new BufReader(server.stdout));
- const s = await r.readLine();
- assert(s !== null && s.includes("Racing server listening..."));
-}
-function killServer(): void {
- server.close();
- server.stdout.close();
-}
-
-const input = [
- "GET / HTTP/1.1\r\n\r\n",
- "GET / HTTP/1.1\r\n\r\n",
- "GET / HTTP/1.1\r\n\r\n",
- "POST / HTTP/1.1\r\ncontent-length: 4\r\n\r\ndeno",
- "POST / HTTP/1.1\r\ntransfer-encoding: chunked\r\n\r\n4\r\ndeno\r\n0\r\n\r\n",
- "POST / HTTP/1.1\r\ntransfer-encoding: chunked\r\ntrailer: deno\r\n\r\n4\r\ndeno\r\n0\r\n\r\ndeno: land\r\n\r\n",
- "GET / HTTP/1.1\r\n\r\n",
-].join("");
-const HUGE_BODY_SIZE = 1024 * 1024;
-const output = `HTTP/1.1 200 OK
-content-length: 6
-
-Step1
-HTTP/1.1 200 OK
-content-length: ${HUGE_BODY_SIZE}
-
-${"a".repeat(HUGE_BODY_SIZE)}HTTP/1.1 200 OK
-content-length: ${HUGE_BODY_SIZE}
-
-${"b".repeat(HUGE_BODY_SIZE)}HTTP/1.1 200 OK
-content-length: 6
-
-Step4
-HTTP/1.1 200 OK
-content-length: 6
-
-Step5
-HTTP/1.1 200 OK
-content-length: 6
-
-Step6
-HTTP/1.1 200 OK
-content-length: 6
-
-Step7
-`;
-
-Deno.test("serverPipelineRace", async function (): Promise<void> {
- await startServer();
-
- const conn = await Deno.connect({ port: 4501 });
- const r = new TextProtoReader(new BufReader(conn));
- const w = new BufWriter(conn);
- await w.write(new TextEncoder().encode(input));
- await w.flush();
- const outLines = output.split("\n");
- // length - 1 to disregard last empty line
- for (let i = 0; i < outLines.length - 1; i++) {
- const s = await r.readLine();
- assertEquals(s, outLines[i]);
- }
- killServer();
- conn.close();
-});