0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 17:34:47 -05:00

chore: lint server_test.ts (#19175)

Somehow this file had `// deno-lint-ignore-file` directive at the top.

This commit removes it and fixes all the linter violations.
This commit is contained in:
Bartek Iwańczuk 2023-05-18 04:00:17 +02:00 committed by GitHub
parent 62e779f82d
commit 99c30285ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,7 +1,5 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// deno-lint-ignore-file
import { assertMatch } from "https://deno.land/std@v0.42.0/testing/asserts.ts"; import { assertMatch } from "https://deno.land/std@v0.42.0/testing/asserts.ts";
import { Buffer, BufReader, BufWriter } from "../../../test_util/std/io/mod.ts"; import { Buffer, BufReader, BufWriter } from "../../../test_util/std/io/mod.ts";
import { TextProtoReader } from "../testdata/run/textproto.ts"; import { TextProtoReader } from "../testdata/run/textproto.ts";
@ -150,7 +148,6 @@ Deno.test({ permissions: { net: true } }, async function httpServerBasic() {
Deno.test({ permissions: { net: true } }, async function httpServerOnError() { Deno.test({ permissions: { net: true } }, async function httpServerOnError() {
const ac = new AbortController(); const ac = new AbortController();
const promise = deferred();
const listeningPromise = deferred(); const listeningPromise = deferred();
let requestStash: Request | null; let requestStash: Request | null;
@ -183,8 +180,10 @@ Deno.test(
{ permissions: { net: true } }, { permissions: { net: true } },
async function httpServerOnErrorFails() { async function httpServerOnErrorFails() {
const ac = new AbortController(); const ac = new AbortController();
const promise = deferred();
const listeningPromise = deferred(); const listeningPromise = deferred();
// NOTE(bartlomieju): deno lint doesn't know that it's actually used later,
// but TypeScript can't see that either ¯\_(ツ)_/¯
// deno-lint-ignore no-unused-vars
let requestStash: Request | null; let requestStash: Request | null;
const server = Deno.serve({ const server = Deno.serve({
@ -405,7 +404,7 @@ function createUrlTest(
const urlPromise = deferred(); const urlPromise = deferred();
const ac = new AbortController(); const ac = new AbortController();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request: Request) => { handler: (request: Request) => {
urlPromise.resolve(request.url); urlPromise.resolve(request.url);
return new Response(""); return new Response("");
}, },
@ -556,7 +555,7 @@ function createStreamTest(count: number, delay: number, action: string) {
} }
} }
function makeStream(count: number, delay: number): ReadableStream { function makeStream(_count: number, delay: number): ReadableStream {
return new ReadableStream({ return new ReadableStream({
start(controller) { start(controller) {
if (delay == 0) { if (delay == 0) {
@ -572,7 +571,7 @@ function createStreamTest(count: number, delay: number, action: string) {
const ac = new AbortController(); const ac = new AbortController();
const listeningPromise = deferred(); const listeningPromise = deferred();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (_request) => {
return new Response(makeStream(count, delay)); return new Response(makeStream(count, delay));
}, },
port: 4501, port: 4501,
@ -602,8 +601,8 @@ function createStreamTest(count: number, delay: number, action: string) {
}); });
} }
for (let count of [0, 1, 2, 3]) { for (const count of [0, 1, 2, 3]) {
for (let delay of [0, 1, 1000]) { for (const delay of [0, 1, 1000]) {
// Creating a stream that errors in start will throw // Creating a stream that errors in start will throw
if (delay > 0) { if (delay > 0) {
createStreamTest(count, delay, "Throw"); createStreamTest(count, delay, "Throw");
@ -803,7 +802,7 @@ Deno.test({ permissions: { net: true } }, async function httpServerWebSocket() {
const ac = new AbortController(); const ac = new AbortController();
const listeningPromise = deferred(); const listeningPromise = deferred();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
const { const {
response, response,
socket, socket,
@ -925,7 +924,7 @@ Deno.test(
const ac = new AbortController(); const ac = new AbortController();
const listeningPromise = deferred(); const listeningPromise = deferred();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
const { const {
response, response,
socket, socket,
@ -976,7 +975,7 @@ Deno.test(
const ac = new AbortController(); const ac = new AbortController();
const listeningPromise = deferred(); const listeningPromise = deferred();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
const { const {
response, response,
socket, socket,
@ -1011,7 +1010,7 @@ Deno.test(
const ac = new AbortController(); const ac = new AbortController();
const listeningPromise = deferred(); const listeningPromise = deferred();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
const { const {
response, response,
socket, socket,
@ -1020,7 +1019,7 @@ Deno.test(
console.error(e); console.error(e);
fail(); fail();
}; };
socket.onmessage = (m) => { socket.onmessage = (_m) => {
socket.send(request.url.toString()); socket.send(request.url.toString());
socket.close(1001); socket.close(1001);
}; };
@ -1058,7 +1057,7 @@ Deno.test(
let headers: Headers; let headers: Headers;
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
headers = request.headers; headers = request.headers;
promise.resolve(); promise.resolve();
return new Response(""); return new Response("");
@ -1353,7 +1352,7 @@ Deno.test(
await clientConn.read(buf); await clientConn.read(buf);
await promise; await promise;
let responseText = new TextDecoder("iso-8859-1").decode(buf); const responseText = new TextDecoder("iso-8859-1").decode(buf);
clientConn.close(); clientConn.close();
ac.abort(); ac.abort();
@ -1505,7 +1504,7 @@ Deno.test(
const ac = new AbortController(); const ac = new AbortController();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
assertEquals(request.body, null); assertEquals(request.body, null);
promise.resolve(); promise.resolve();
return new Response(new Uint8Array([128])); return new Response(new Uint8Array([128]));
@ -1541,7 +1540,7 @@ Deno.test(
const ac = new AbortController(); const ac = new AbortController();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
assertEquals(request.method, "GET"); assertEquals(request.method, "GET");
assertEquals(request.headers.get("host"), "deno.land"); assertEquals(request.headers.get("host"), "deno.land");
promise.resolve(); promise.resolve();
@ -1575,7 +1574,7 @@ Deno.test(
const ac = new AbortController(); const ac = new AbortController();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
assertEquals(request.method, "GET"); assertEquals(request.method, "GET");
assertEquals(request.headers.get("server"), "hello\tworld"); assertEquals(request.headers.get("server"), "hello\tworld");
promise.resolve(); promise.resolve();
@ -1674,13 +1673,14 @@ Deno.test(
type TestCase = { type TestCase = {
headers?: Record<string, string>; headers?: Record<string, string>;
// deno-lint-ignore no-explicit-any
body: any; body: any;
expects_chunked?: boolean; expectsChunked?: boolean;
expects_con_len?: boolean; expectsConnLen?: boolean;
}; };
function hasHeader(msg: string, name: string): boolean { function hasHeader(msg: string, name: string): boolean {
let n = msg.indexOf("\r\n\r\n") || msg.length; const n = msg.indexOf("\r\n\r\n") || msg.length;
return msg.slice(0, n).includes(name); return msg.slice(0, n).includes(name);
} }
@ -1691,7 +1691,7 @@ function createServerLengthTest(name: string, testCase: TestCase) {
const listeningPromise = deferred(); const listeningPromise = deferred();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: (request) => {
assertEquals(request.method, "GET"); assertEquals(request.method, "GET");
promise.resolve(); promise.resolve();
return new Response(testCase.body, testCase.headers ?? {}); return new Response(testCase.body, testCase.headers ?? {});
@ -1722,23 +1722,23 @@ function createServerLengthTest(name: string, testCase: TestCase) {
msg += decoder.decode(buf.subarray(0, readResult)); msg += decoder.decode(buf.subarray(0, readResult));
try { try {
assert( assert(
testCase.expects_chunked == hasHeader(msg, "Transfer-Encoding:"), testCase.expectsChunked == hasHeader(msg, "Transfer-Encoding:"),
); );
assert(testCase.expects_chunked == hasHeader(msg, "chunked")); assert(testCase.expectsChunked == hasHeader(msg, "chunked"));
assert(testCase.expects_con_len == hasHeader(msg, "Content-Length:")); assert(testCase.expectsConnLen == hasHeader(msg, "Content-Length:"));
const n = msg.indexOf("\r\n\r\n") + 4; const n = msg.indexOf("\r\n\r\n") + 4;
if (testCase.expects_chunked) { if (testCase.expectsChunked) {
assertEquals(msg.slice(n + 1, n + 3), "\r\n"); assertEquals(msg.slice(n + 1, n + 3), "\r\n");
assertEquals(msg.slice(msg.length - 7), "\r\n0\r\n\r\n"); assertEquals(msg.slice(msg.length - 7), "\r\n0\r\n\r\n");
} }
if (testCase.expects_con_len && typeof testCase.body === "string") { if (testCase.expectsConnLen && typeof testCase.body === "string") {
assertEquals(msg.slice(n), testCase.body); assertEquals(msg.slice(n), testCase.body);
} }
break; break;
} catch (e) { } catch {
continue; continue;
} }
} }
@ -1759,60 +1759,60 @@ function stream(s: string): ReadableStream<Uint8Array> {
createServerLengthTest("fixedResponseKnown", { createServerLengthTest("fixedResponseKnown", {
headers: { "content-length": "11" }, headers: { "content-length": "11" },
body: "foo bar baz", body: "foo bar baz",
expects_chunked: false, expectsChunked: false,
expects_con_len: true, expectsConnLen: true,
}); });
createServerLengthTest("fixedResponseUnknown", { createServerLengthTest("fixedResponseUnknown", {
headers: { "content-length": "11" }, headers: { "content-length": "11" },
body: stream("foo bar baz"), body: stream("foo bar baz"),
expects_chunked: true, expectsChunked: true,
expects_con_len: false, expectsConnLen: false,
}); });
createServerLengthTest("fixedResponseKnownEmpty", { createServerLengthTest("fixedResponseKnownEmpty", {
headers: { "content-length": "0" }, headers: { "content-length": "0" },
body: "", body: "",
expects_chunked: false, expectsChunked: false,
expects_con_len: true, expectsConnLen: true,
}); });
createServerLengthTest("chunkedRespondKnown", { createServerLengthTest("chunkedRespondKnown", {
headers: { "transfer-encoding": "chunked" }, headers: { "transfer-encoding": "chunked" },
body: "foo bar baz", body: "foo bar baz",
expects_chunked: false, expectsChunked: false,
expects_con_len: true, expectsConnLen: true,
}); });
createServerLengthTest("chunkedRespondUnknown", { createServerLengthTest("chunkedRespondUnknown", {
headers: { "transfer-encoding": "chunked" }, headers: { "transfer-encoding": "chunked" },
body: stream("foo bar baz"), body: stream("foo bar baz"),
expects_chunked: true, expectsChunked: true,
expects_con_len: false, expectsConnLen: false,
}); });
createServerLengthTest("autoResponseWithKnownLength", { createServerLengthTest("autoResponseWithKnownLength", {
body: "foo bar baz", body: "foo bar baz",
expects_chunked: false, expectsChunked: false,
expects_con_len: true, expectsConnLen: true,
}); });
createServerLengthTest("autoResponseWithUnknownLength", { createServerLengthTest("autoResponseWithUnknownLength", {
body: stream("foo bar baz"), body: stream("foo bar baz"),
expects_chunked: true, expectsChunked: true,
expects_con_len: false, expectsConnLen: false,
}); });
createServerLengthTest("autoResponseWithKnownLengthEmpty", { createServerLengthTest("autoResponseWithKnownLengthEmpty", {
body: "", body: "",
expects_chunked: false, expectsChunked: false,
expects_con_len: true, expectsConnLen: true,
}); });
createServerLengthTest("autoResponseWithUnknownLengthEmpty", { createServerLengthTest("autoResponseWithUnknownLengthEmpty", {
body: stream(""), body: stream(""),
expects_chunked: true, expectsChunked: true,
expects_con_len: false, expectsConnLen: false,
}); });
Deno.test( Deno.test(
@ -2102,9 +2102,10 @@ for (const testCase of compressionTestCases) {
const ac = new AbortController(); const ac = new AbortController();
const listeningPromise = deferred(); const listeningPromise = deferred();
const server = Deno.serve({ const server = Deno.serve({
handler: async (request) => { handler: async (_request) => {
const f = await makeTempFile(testCase.length); const f = await makeTempFile(testCase.length);
promise.resolve(); promise.resolve();
// deno-lint-ignore no-explicit-any
const headers = testCase.out as any; const headers = testCase.out as any;
headers["Content-Length"] = testCase.length.toString(); headers["Content-Length"] = testCase.length.toString();
return new Response(f.readable, { return new Response(f.readable, {
@ -2551,7 +2552,7 @@ Deno.test(
let reqCount = -1; let reqCount = -1;
let timerId: number | undefined; let timerId: number | undefined;
const server = Deno.serve({ const server = Deno.serve({
handler: async (req) => { handler: (_req) => {
reqCount++; reqCount++;
if (reqCount === 0) { if (reqCount === 0) {
const msg = new TextEncoder().encode("data: hello\r\n\r\n"); const msg = new TextEncoder().encode("data: hello\r\n\r\n");