summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorSean McArthur <sean@seanmonstar.com>2024-07-12 15:51:37 -0700
committerGitHub <noreply@github.com>2024-07-13 00:51:37 +0200
commitf6fd6619e708a515831f707438368d81b0c9aa56 (patch)
tree9c65c76613330a22c5a88c017752a9aa7e0951ac /tests/unit
parent2fca4f11fe22a5d49326b6bf5b3ef039403eb0df (diff)
refactor(fetch): reimplement fetch with hyper instead of reqwest (#24237)
This commit re-implements `ext/fetch` and all dependent crates using `hyper` and `hyper-util`, instead of `reqwest`. The reasoning is that we want to have greater control and access to low level `hyper` APIs when implementing `fetch` API as well as `node:http` module. --------- Co-authored-by: Bartek IwaƄczuk <biwanczuk@gmail.com>
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/fetch_test.ts28
-rw-r--r--tests/unit/http_test.ts16
-rw-r--r--tests/unit/serve_test.ts4
3 files changed, 27 insertions, 21 deletions
diff --git a/tests/unit/fetch_test.ts b/tests/unit/fetch_test.ts
index b549be9a4..bc3822d99 100644
--- a/tests/unit/fetch_test.ts
+++ b/tests/unit/fetch_test.ts
@@ -67,7 +67,7 @@ Deno.test(
await fetch(`http://localhost:${port}`);
},
TypeError,
- "error sending request for url",
+ "client error (Connect)",
);
},
);
@@ -80,7 +80,7 @@ Deno.test(
await fetch("http://nil/");
},
TypeError,
- "error sending request for url",
+ "client error (Connect)",
);
},
);
@@ -688,7 +688,7 @@ Deno.test(
"accept: */*\r\n",
"accept-language: *\r\n",
`user-agent: Deno/${Deno.version.deno}\r\n`,
- "accept-encoding: gzip, br\r\n",
+ "accept-encoding: gzip,br\r\n",
`host: ${addr}\r\n\r\n`,
].join("");
assertEquals(actual, expected);
@@ -720,7 +720,7 @@ Deno.test(
"accept: text/html\r\n",
"accept-language: en-US\r\n",
`user-agent: Deno/${Deno.version.deno}\r\n`,
- "accept-encoding: gzip, br\r\n",
+ "accept-encoding: gzip,br\r\n",
`host: ${addr}\r\n\r\n`,
].join("");
assertEquals(actual, expected);
@@ -750,15 +750,16 @@ Deno.test(
const actual = new TextDecoder().decode((await bufPromise).bytes());
const expected = [
"POST /blah HTTP/1.1\r\n",
+ `content-length: ${body.length}\r\n`,
"hello: World\r\n",
"foo: Bar\r\n",
"content-type: text/plain;charset=UTF-8\r\n",
"accept: */*\r\n",
"accept-language: *\r\n",
`user-agent: Deno/${Deno.version.deno}\r\n`,
- "accept-encoding: gzip, br\r\n",
+ "accept-encoding: gzip,br\r\n",
`host: ${addr}\r\n`,
- `content-length: ${body.length}\r\n\r\n`,
+ `\r\n`,
body,
].join("");
assertEquals(actual, expected);
@@ -789,14 +790,15 @@ Deno.test(
const actual = new TextDecoder().decode((await bufPromise).bytes());
const expected = [
"POST /blah HTTP/1.1\r\n",
+ `content-length: ${body.byteLength}\r\n`,
"hello: World\r\n",
"foo: Bar\r\n",
"accept: */*\r\n",
"accept-language: *\r\n",
`user-agent: Deno/${Deno.version.deno}\r\n`,
- "accept-encoding: gzip, br\r\n",
+ "accept-encoding: gzip,br\r\n",
`host: ${addr}\r\n`,
- `content-length: ${body.byteLength}\r\n\r\n`,
+ `\r\n`,
bodyStr,
].join("");
assertEquals(actual, expected);
@@ -827,7 +829,7 @@ Deno.test(
"accept: */*\r\n",
"accept-language: *\r\n",
`user-agent: Deno/${Deno.version.deno}\r\n`,
- "accept-encoding: gzip, br\r\n",
+ "accept-encoding: gzip,br\r\n",
`host: ${addr}\r\n\r\n`,
].join("");
assertEquals(actual, expected);
@@ -859,7 +861,7 @@ Deno.test(
"accept: */*\r\n",
"accept-language: *\r\n",
`user-agent: Deno/${Deno.version.deno}\r\n`,
- "accept-encoding: gzip, br\r\n\r\n",
+ "accept-encoding: gzip,br\r\n\r\n",
].join("");
assertEquals(actual, expected);
},
@@ -1226,7 +1228,7 @@ Deno.test(
"accept: */*\r\n",
"accept-language: *\r\n",
`user-agent: Deno/${Deno.version.deno}\r\n`,
- "accept-encoding: gzip, br\r\n",
+ "accept-encoding: gzip,br\r\n",
`host: ${addr}\r\n`,
`transfer-encoding: chunked\r\n\r\n`,
"B\r\n",
@@ -1824,7 +1826,7 @@ Deno.test(
await fetch(`http://${addr}/`);
},
TypeError,
- "error sending request",
+ "client error",
);
listener.close();
@@ -1880,7 +1882,7 @@ Deno.test(
await response.arrayBuffer();
},
Error,
- "error decoding response body",
+ "body",
);
listener.close();
diff --git a/tests/unit/http_test.ts b/tests/unit/http_test.ts
index eddb1520b..03c30965f 100644
--- a/tests/unit/http_test.ts
+++ b/tests/unit/http_test.ts
@@ -2572,9 +2572,11 @@ for (const compression of [true, false]) {
const result = await reader.read();
assert(!result.done);
assertEquals(result.value, new Uint8Array([65]));
- const err = await assertRejects(() => reader.read());
- assert(err instanceof TypeError);
- assert(err.message.includes("error decoding response body"));
+ await assertRejects(
+ () => reader.read(),
+ TypeError,
+ "body",
+ );
const httpConn = await server;
httpConn.close();
@@ -2608,9 +2610,11 @@ for (const compression of [true, false]) {
const result = await reader.read();
assert(!result.done);
assertEquals(result.value, new Uint8Array([65]));
- const err = await assertRejects(() => reader.read());
- assert(err instanceof TypeError);
- assert(err.message.includes("error decoding response body"));
+ await assertRejects(
+ () => reader.read(),
+ TypeError,
+ "body",
+ );
const httpConn = await server;
httpConn.close();
diff --git a/tests/unit/serve_test.ts b/tests/unit/serve_test.ts
index 4239221be..ee87d8189 100644
--- a/tests/unit/serve_test.ts
+++ b/tests/unit/serve_test.ts
@@ -3522,7 +3522,7 @@ Deno.test(
fail();
} catch (clientError) {
assert(clientError instanceof TypeError);
- assert(clientError.message.includes("error sending request for url"));
+ assert(clientError.message.includes("client error"));
} finally {
ac.abort();
await server.finished;
@@ -3570,7 +3570,7 @@ Deno.test({
fail();
} catch (clientError) {
assert(clientError instanceof TypeError);
- assert(clientError.message.includes("error sending request for url"));
+ assert(clientError.message.includes("client error"));
} finally {
ac.abort();
await server.finished;