summaryrefslogtreecommitdiff
path: root/cli/tests/unit/fetch_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/fetch_test.ts')
-rw-r--r--cli/tests/unit/fetch_test.ts85
1 files changed, 34 insertions, 51 deletions
diff --git a/cli/tests/unit/fetch_test.ts b/cli/tests/unit/fetch_test.ts
index 59489a726..bafb23c2a 100644
--- a/cli/tests/unit/fetch_test.ts
+++ b/cli/tests/unit/fetch_test.ts
@@ -54,30 +54,11 @@ function findClosedPortInRange(
);
}
-function flakyTest(
- fn: (t: Deno.TestContext) => Promise<void>,
-) {
- async function wrapperFn(t: Deno.TestContext) {
- let lastError;
-
- for (let i = 0; i < 3; i++) {
- try {
- await fn(t);
- return;
- } catch (e) {
- lastError = e;
- }
- }
-
- throw lastError;
- }
- Object.defineProperty(wrapperFn, "name", { value: fn.name });
- return wrapperFn;
-}
-
Deno.test(
- { permissions: { net: true } },
- flakyTest(async function fetchConnectionError() {
+ // TODO(bartlomieju): reenable this test
+ // https://github.com/denoland/deno/issues/18350
+ { ignore: Deno.build.os === "windows", permissions: { net: true } },
+ async function fetchConnectionError() {
const port = findClosedPortInRange(4000, 9999);
await assertRejects(
async () => {
@@ -86,7 +67,7 @@ Deno.test(
TypeError,
"error trying to connect",
);
- }),
+ },
);
Deno.test(
@@ -1697,38 +1678,38 @@ function invalidServer(addr: string, body: Uint8Array): Deno.Listener {
Deno.test(
{ permissions: { net: true } },
- flakyTest(
- async function fetchWithInvalidContentLengthAndTransferEncoding(): Promise<
- void
- > {
- const addr = "127.0.0.1:4516";
- const data = "a".repeat(10 << 10);
-
- const body = new TextEncoder().encode(
- `HTTP/1.1 200 OK\r\nContent-Length: ${
- Math.round(data.length * 2)
- }\r\nTransfer-Encoding: chunked\r\n\r\n${
- data.length.toString(16)
- }\r\n${data}\r\n0\r\n\r\n`,
- );
+ async function fetchWithInvalidContentLengthAndTransferEncoding(): Promise<
+ void
+ > {
+ const addr = "127.0.0.1:4516";
+ const data = "a".repeat(10 << 10);
+
+ const body = new TextEncoder().encode(
+ `HTTP/1.1 200 OK\r\nContent-Length: ${
+ Math.round(data.length * 2)
+ }\r\nTransfer-Encoding: chunked\r\n\r\n${
+ data.length.toString(16)
+ }\r\n${data}\r\n0\r\n\r\n`,
+ );
- // if transfer-encoding is sent, content-length is ignored
- // even if it has an invalid value (content-length > totalLength)
- const listener = invalidServer(addr, body);
- const response = await fetch(`http://${addr}/`);
+ // if transfer-encoding is sent, content-length is ignored
+ // even if it has an invalid value (content-length > totalLength)
+ const listener = invalidServer(addr, body);
+ const response = await fetch(`http://${addr}/`);
- const res = await response.arrayBuffer();
- const buf = new TextEncoder().encode(data);
- assertEquals(res.byteLength, buf.byteLength);
- assertEquals(new Uint8Array(res), buf);
+ const res = await response.arrayBuffer();
+ const buf = new TextEncoder().encode(data);
+ assertEquals(res.byteLength, buf.byteLength);
+ assertEquals(new Uint8Array(res), buf);
- listener.close();
- },
- ),
+ listener.close();
+ },
);
Deno.test(
- { permissions: { net: true } },
+ // TODO(bartlomieju): reenable this test
+ // https://github.com/denoland/deno/issues/18350
+ { ignore: Deno.build.os === "windows", permissions: { net: true } },
async function fetchWithInvalidContentLength(): Promise<
void
> {
@@ -1867,7 +1848,9 @@ Deno.test(
);
Deno.test(
- { permissions: { net: true } },
+ // TODO(bartlomieju): reenable this test
+ // https://github.com/denoland/deno/issues/18350
+ { ignore: Deno.build.os === "windows", permissions: { net: true } },
async function fetchRequestBodyErrorCatchable() {
const listener = Deno.listen({ hostname: "127.0.0.1", port: 4514 });
const server = (async () => {