summaryrefslogtreecommitdiff
path: root/cli/tests/unit/serve_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/serve_test.ts')
-rw-r--r--cli/tests/unit/serve_test.ts42
1 files changed, 37 insertions, 5 deletions
diff --git a/cli/tests/unit/serve_test.ts b/cli/tests/unit/serve_test.ts
index cfe74e659..2e7836b6a 100644
--- a/cli/tests/unit/serve_test.ts
+++ b/cli/tests/unit/serve_test.ts
@@ -965,7 +965,8 @@ function createStreamTest(count: number, delay: number, action: string) {
try {
await listeningPromise;
- const resp = await fetch(`http://127.0.0.1:${servePort}/`);
+ const client = Deno.createHttpClient({});
+ const resp = await fetch(`http://127.0.0.1:${servePort}/`, { client });
if (action == "Throw") {
await assertRejects(async () => {
await resp.text();
@@ -980,6 +981,7 @@ function createStreamTest(count: number, delay: number, action: string) {
assertEquals(text, expected);
}
+ client.close();
} finally {
ac.abort();
await server.shutdown();
@@ -1096,12 +1098,14 @@ Deno.test(
});
await listeningPromise;
- const resp = await fetch(`http://127.0.0.1:${servePort}/`);
+ const client = Deno.createHttpClient({});
+ const resp = await fetch(`http://127.0.0.1:${servePort}/`, { client });
const respBody = await resp.text();
assertEquals("", respBody);
ac.abort();
await server.finished;
+ client.close();
},
);
@@ -1138,12 +1142,14 @@ Deno.test(
});
await listeningPromise;
- const resp = await fetch(`http://127.0.0.1:${servePort}/`);
+ const client = Deno.createHttpClient({});
+ const resp = await fetch(`http://127.0.0.1:${servePort}/`, { client });
// Incorrectly implemented reader ReadableStream should reject.
assertStringIncludes(await resp.text(), "Failed to execute 'enqueue'");
await errorPromise;
ac.abort();
await server.finished;
+ client.close();
},
);
@@ -1187,6 +1193,7 @@ Deno.test(
Deno.test({ permissions: { net: true } }, async function httpServerWebSocket() {
const ac = new AbortController();
const listeningPromise = deferred();
+ const done = deferred();
const server = Deno.serve({
handler: (request) => {
const {
@@ -1201,6 +1208,7 @@ Deno.test({ permissions: { net: true } }, async function httpServerWebSocket() {
socket.send(m.data);
socket.close(1001);
};
+ socket.onclose = () => done.resolve();
return response;
},
port: servePort,
@@ -1221,6 +1229,7 @@ Deno.test({ permissions: { net: true } }, async function httpServerWebSocket() {
ws.onopen = () => ws.send("foo");
await def;
+ await done;
ac.abort();
await server.finished;
});
@@ -1308,6 +1317,7 @@ Deno.test(
{ permissions: { net: true } },
async function httpServerWebSocketUpgradeTwice() {
const ac = new AbortController();
+ const done = deferred();
const listeningPromise = deferred();
const server = Deno.serve({
handler: (request) => {
@@ -1330,6 +1340,7 @@ Deno.test(
socket.send(m.data);
socket.close(1001);
};
+ socket.onclose = () => done.resolve();
return response;
},
port: servePort,
@@ -1350,6 +1361,7 @@ Deno.test(
ws.onopen = () => ws.send("foo");
await def;
+ await done;
ac.abort();
await server.finished;
},
@@ -1359,6 +1371,7 @@ Deno.test(
{ permissions: { net: true } },
async function httpServerWebSocketCloseFast() {
const ac = new AbortController();
+ const done = deferred();
const listeningPromise = deferred();
const server = Deno.serve({
handler: (request) => {
@@ -1367,6 +1380,7 @@ Deno.test(
socket,
} = Deno.upgradeWebSocket(request);
socket.onopen = () => socket.close();
+ socket.onclose = () => done.resolve();
return response;
},
port: servePort,
@@ -1385,6 +1399,7 @@ Deno.test(
ws.onclose = () => def.resolve();
await def;
+ await done;
ac.abort();
await server.finished;
},
@@ -1394,6 +1409,7 @@ Deno.test(
{ permissions: { net: true } },
async function httpServerWebSocketCanAccessRequest() {
const ac = new AbortController();
+ const done = deferred();
const listeningPromise = deferred();
const server = Deno.serve({
handler: (request) => {
@@ -1409,6 +1425,7 @@ Deno.test(
socket.send(request.url.toString());
socket.close(1001);
};
+ socket.onclose = () => done.resolve();
return response;
},
port: servePort,
@@ -1430,6 +1447,7 @@ Deno.test(
ws.onopen = () => ws.send("foo");
await def;
+ await done;
ac.abort();
await server.finished;
},
@@ -1588,9 +1606,11 @@ Deno.test(
);
const { readable, writable } = new TransformStream();
+ const client = Deno.createHttpClient({});
const resp = await fetch(`http://127.0.0.1:${servePort}/`, {
method: "POST",
body: readable,
+ client,
});
await promise;
@@ -1598,6 +1618,7 @@ Deno.test(
await testDuplex(resp.body.getReader(), writable.getWriter());
ac.abort();
await server.finished;
+ client.close();
},
);
@@ -1632,9 +1653,11 @@ Deno.test(
);
const { readable, writable } = new TransformStream();
+ const client = Deno.createHttpClient({});
const resp = await fetch(`http://127.0.0.1:${servePort}/`, {
method: "POST",
body: readable,
+ client,
});
await promise;
@@ -1642,6 +1665,7 @@ Deno.test(
await testDuplex(resp.body.getReader(), writable.getWriter());
ac.abort();
await server.finished;
+ client.close();
},
);
@@ -2600,9 +2624,12 @@ for (const testCase of compressionTestCases) {
});
try {
await listeningPromise;
+ const client = Deno.createHttpClient({});
const resp = await fetch(`http://127.0.0.1:${servePort}/`, {
headers: testCase.in as HeadersInit,
+ client,
});
+ client.close();
await promise;
const body = await resp.arrayBuffer();
if (testCase.expect == null) {
@@ -3192,14 +3219,16 @@ Deno.test(
let count = 0;
const server = Deno.serve({
async onListen({ port }: { port: number }) {
- const res1 = await fetch(`http://localhost:${port}/`);
+ const client = Deno.createHttpClient({});
+ const res1 = await fetch(`http://localhost:${port}/`, { client });
assertEquals(await res1.text(), "hello world 1");
- const res2 = await fetch(`http://localhost:${port}/`);
+ const res2 = await fetch(`http://localhost:${port}/`, { client });
assertEquals(await res2.text(), "hello world 2");
promise.resolve();
ac.abort();
+ client.close();
},
signal: ac.signal,
}, () => {
@@ -3252,13 +3281,16 @@ Deno.test(
try {
const port = await listeningPromise;
+ const client = Deno.createHttpClient({});
const resp = await fetch(`http://localhost:${port}/`, {
headers: { connection: "close" },
method: "POST",
body: '{"sus":true}',
+ client,
});
const text = await resp.text();
assertEquals(text, "ok");
+ client.close();
} finally {
ac.abort();
await server.finished;