From ddbe061b1bb6f778f4a682183b9a550b4de5954b Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Thu, 16 Nov 2023 12:27:28 +0100 Subject: [PATCH] chore: remove "node-fetch" --- CONTRIBUTING.md | 1 - package.json | 2 -- pnpm-lock.yaml | 19 +++----------- .../graphql-api/anonymous-operations.test.ts | 1 - test/node/graphql-api/cookies.node.test.ts | 1 - test/node/graphql-api/extensions.node.test.ts | 1 - test/node/msw-api/context/delay.node.test.ts | 1 - .../node/msw-api/req/passthrough.node.test.ts | 1 - .../life-cycle-events/on.node.test.ts | 1 - .../removeAllListeners.node.test.ts | 1 - .../removeListener.node.test.ts | 1 - .../setup-server/resetHandlers.node.test.ts | 1 - .../setup-server/restoreHandlers.node.test.ts | 1 - .../custom-transformers.node.test.ts | 1 - .../scenarios/fake-timers.node.test.ts | 2 +- .../scenarios/fall-through.node.test.ts | 1 - .../setup-server/scenarios/fetch.node.test.ts | 1 - .../scenarios/generator.node.test.ts | 1 - .../on-unhandled-request/bypass.node.test.ts | 1 - .../callback-throws.node.test.ts | 16 +++++++++--- .../callback.node.test.ts | 1 - .../on-unhandled-request/default.node.test.ts | 1 - .../on-unhandled-request/error.node.test.ts | 25 ++++++++++++++++--- .../on-unhandled-request/warn.node.test.ts | 1 - .../scenarios/relative-url.node.test.ts | 1 - .../msw-api/setup-server/use.node.test.ts | 1 - .../body/body-arraybuffer.node.test.ts | 1 - .../request/body/body-json.node.test.ts | 1 - .../request/body/body-text.node.test.ts | 1 - .../request/matching/all.node.test.ts | 1 - .../matching/path-params-decode.node.test.ts | 1 - .../response/body-binary.node.test.ts | 14 +++++------ .../rest-api/response/body-text.node.test.ts | 1 - .../rest-api/response/body-xml.node.test.ts | 1 - 34 files changed, 44 insertions(+), 62 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aeb201b69..0fbf45f23 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -213,7 +213,6 @@ Let's replicate the same `GET /books` integration test in Node.js. ```ts // test/node/example.test.ts -import fetch from 'node-fetch' import { http, HttpResponse } from 'msw' import { setupServer } from 'msw/node' diff --git a/package.json b/package.json index 5791d2a58..7b9697240 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,6 @@ "inquirer": "^8.2.0", "is-node-process": "^1.2.0", "js-levenshtein": "^1.1.6", - "node-fetch": "^2.6.7", "outvariant": "^1.4.0", "path-to-regexp": "^6.2.0", "strict-event-emitter": "^0.5.0", @@ -146,7 +145,6 @@ "@types/glob": "^8.1.0", "@types/json-bigint": "^1.0.1", "@types/node": "18.x", - "@types/node-fetch": "^2.5.11", "@types/puppeteer": "^5.4.4", "@typescript-eslint/eslint-plugin": "^5.11.0", "@typescript-eslint/parser": "^5.11.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9460d03c..126845dae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,7 +25,6 @@ specifiers: '@types/js-levenshtein': ^1.1.1 '@types/json-bigint': ^1.0.1 '@types/node': 18.x - '@types/node-fetch': ^2.5.11 '@types/puppeteer': ^5.4.4 '@types/statuses': ^2.0.1 '@typescript-eslint/eslint-plugin': ^5.11.0 @@ -57,7 +56,6 @@ specifiers: jsdom: ^22.1.0 json-bigint: ^1.0.0 lint-staged: ^13.0.3 - node-fetch: ^2.6.7 outvariant: ^1.4.0 page-with: ^0.6.1 path-to-regexp: ^6.2.0 @@ -96,7 +94,6 @@ dependencies: inquirer: 8.2.5 is-node-process: 1.2.0 js-levenshtein: 1.1.6 - node-fetch: 2.6.9 outvariant: 1.4.0 path-to-regexp: 6.2.1 strict-event-emitter: 0.5.0 @@ -117,7 +114,6 @@ devDependencies: '@types/glob': 8.1.0 '@types/json-bigint': 1.0.1 '@types/node': 18.17.14 - '@types/node-fetch': 2.6.2 '@types/puppeteer': 5.4.7 '@typescript-eslint/eslint-plugin': 5.52.0_aaw67h7nkydj3qj4plp2jqjmxe '@typescript-eslint/parser': 5.52.0_jeuwjvsopuo23ctsjsevxmvjsi @@ -7796,18 +7792,6 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch/2.6.9: - resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - /node-forge/0.10.0: resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==} engines: {node: '>= 6.0.0'} @@ -9806,6 +9790,7 @@ packages: /tr46/0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true /tr46/1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -10416,6 +10401,7 @@ packages: /webidl-conversions/3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true /webidl-conversions/4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -10623,6 +10609,7 @@ packages: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + dev: true /whatwg-url/7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} diff --git a/test/node/graphql-api/anonymous-operations.test.ts b/test/node/graphql-api/anonymous-operations.test.ts index 33cf02ce0..1783f4b58 100644 --- a/test/node/graphql-api/anonymous-operations.test.ts +++ b/test/node/graphql-api/anonymous-operations.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpServer } from '@open-draft/test-server/http' import { HttpResponse, graphql } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/graphql-api/cookies.node.test.ts b/test/node/graphql-api/cookies.node.test.ts index 5d1a1ec91..353aa8c66 100644 --- a/test/node/graphql-api/cookies.node.test.ts +++ b/test/node/graphql-api/cookies.node.test.ts @@ -2,7 +2,6 @@ * @vitest-environment node */ import cookieUtils from '@bundled-es-modules/cookie' -import fetch from 'node-fetch' import { graphql as executeGraphql, buildSchema } from 'graphql' import { graphql, HttpResponse } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/graphql-api/extensions.node.test.ts b/test/node/graphql-api/extensions.node.test.ts index a706df659..9c4c374f7 100644 --- a/test/node/graphql-api/extensions.node.test.ts +++ b/test/node/graphql-api/extensions.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import type { ExecutionResult } from 'graphql' import { buildSchema, graphql as executeGraphql } from 'graphql' import { graphql, HttpResponse } from 'msw' diff --git a/test/node/msw-api/context/delay.node.test.ts b/test/node/msw-api/context/delay.node.test.ts index 22e353481..0d97beda9 100644 --- a/test/node/msw-api/context/delay.node.test.ts +++ b/test/node/msw-api/context/delay.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { delay, HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' import { performance } from 'perf_hooks' diff --git a/test/node/msw-api/req/passthrough.node.test.ts b/test/node/msw-api/req/passthrough.node.test.ts index fec7975c9..fe99aa75b 100644 --- a/test/node/msw-api/req/passthrough.node.test.ts +++ b/test/node/msw-api/req/passthrough.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, passthrough, http } from 'msw' import { setupServer } from 'msw/node' import { HttpServer } from '@open-draft/test-server/http' diff --git a/test/node/msw-api/setup-server/life-cycle-events/on.node.test.ts b/test/node/msw-api/setup-server/life-cycle-events/on.node.test.ts index 9237a7d81..6e4178bae 100644 --- a/test/node/msw-api/setup-server/life-cycle-events/on.node.test.ts +++ b/test/node/msw-api/setup-server/life-cycle-events/on.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' import { HttpServer } from '@open-draft/test-server/http' diff --git a/test/node/msw-api/setup-server/life-cycle-events/removeAllListeners.node.test.ts b/test/node/msw-api/setup-server/life-cycle-events/removeAllListeners.node.test.ts index 451be3c55..82447acd2 100644 --- a/test/node/msw-api/setup-server/life-cycle-events/removeAllListeners.node.test.ts +++ b/test/node/msw-api/setup-server/life-cycle-events/removeAllListeners.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' import { HttpServer } from '@open-draft/test-server/http' diff --git a/test/node/msw-api/setup-server/life-cycle-events/removeListener.node.test.ts b/test/node/msw-api/setup-server/life-cycle-events/removeListener.node.test.ts index 39fbdbed1..3cc52de08 100644 --- a/test/node/msw-api/setup-server/life-cycle-events/removeListener.node.test.ts +++ b/test/node/msw-api/setup-server/life-cycle-events/removeListener.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' import { HttpServer } from '@open-draft/test-server/http' diff --git a/test/node/msw-api/setup-server/resetHandlers.node.test.ts b/test/node/msw-api/setup-server/resetHandlers.node.test.ts index 4982c9052..8ec9593ec 100644 --- a/test/node/msw-api/setup-server/resetHandlers.node.test.ts +++ b/test/node/msw-api/setup-server/resetHandlers.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/restoreHandlers.node.test.ts b/test/node/msw-api/setup-server/restoreHandlers.node.test.ts index 117d2dfeb..9267f6cd6 100644 --- a/test/node/msw-api/setup-server/restoreHandlers.node.test.ts +++ b/test/node/msw-api/setup-server/restoreHandlers.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/scenarios/custom-transformers.node.test.ts b/test/node/msw-api/setup-server/scenarios/custom-transformers.node.test.ts index f0aec6dae..d9f209cb2 100644 --- a/test/node/msw-api/setup-server/scenarios/custom-transformers.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/custom-transformers.node.test.ts @@ -1,4 +1,3 @@ -import fetch from 'node-fetch' import * as JSONbig from 'json-bigint' import { http, HttpResponse } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/scenarios/fake-timers.node.test.ts b/test/node/msw-api/setup-server/scenarios/fake-timers.node.test.ts index 7aacf0430..2ba2cd653 100644 --- a/test/node/msw-api/setup-server/scenarios/fake-timers.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/fake-timers.node.test.ts @@ -1,4 +1,4 @@ -import fetch from 'node-fetch' +// @vitest-environment node import { setupServer } from 'msw/node' import { HttpResponse, http } from 'msw' diff --git a/test/node/msw-api/setup-server/scenarios/fall-through.node.test.ts b/test/node/msw-api/setup-server/scenarios/fall-through.node.test.ts index f609c519d..7f2c07c52 100644 --- a/test/node/msw-api/setup-server/scenarios/fall-through.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/fall-through.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/scenarios/fetch.node.test.ts b/test/node/msw-api/setup-server/scenarios/fetch.node.test.ts index 64af804a1..ad02705d0 100644 --- a/test/node/msw-api/setup-server/scenarios/fetch.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/fetch.node.test.ts @@ -1,4 +1,3 @@ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/scenarios/generator.node.test.ts b/test/node/msw-api/setup-server/scenarios/generator.node.test.ts index 518711f7b..c7c6419ec 100644 --- a/test/node/msw-api/setup-server/scenarios/generator.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/generator.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/bypass.node.test.ts b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/bypass.node.test.ts index c7d557911..7f54ad80a 100644 --- a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/bypass.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/bypass.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpServer } from '@open-draft/test-server/http' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback-throws.node.test.ts b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback-throws.node.test.ts index 0bc030006..aff450f17 100644 --- a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback-throws.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback-throws.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { setupServer } from 'msw/node' import { HttpResponse, http } from 'msw' @@ -29,10 +28,19 @@ afterAll(() => { }) test('prevents a request when a custom callback throws an exception', async () => { - const getResponse = () => fetch('https://example.com') + const makeRequest = () => { + return fetch('https://example.com') + .then(() => { + throw new Error('Must not resolve') + }) + .catch((error) => error) + } + + const requestError = await makeRequest() // Request should be cancelled with a fetch error, since the callback threw. - await expect(getResponse()).rejects.toThrow( - 'request to https://example.com/ failed, reason: Custom error for GET https://example.com/', + expect(requestError.message).toBe('Failed to fetch') + expect(requestError.cause).toEqual( + new Error('Custom error for GET https://example.com/'), ) }) diff --git a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback.node.test.ts b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback.node.test.ts index eb1220fe3..6f6dc6e40 100644 --- a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/callback.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { setupServer } from 'msw/node' import { HttpResponse, http } from 'msw' diff --git a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/default.node.test.ts b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/default.node.test.ts index 99a29b152..ec2fe7e01 100644 --- a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/default.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/default.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { setupServer } from 'msw/node' import { HttpResponse, http } from 'msw' diff --git a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/error.node.test.ts b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/error.node.test.ts index b0b7ac859..36f022abd 100644 --- a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/error.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/error.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpServer } from '@open-draft/test-server/http' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' @@ -56,11 +55,29 @@ afterAll(async () => { test('errors on unhandled request when using the "error" value', async () => { const endpointUrl = httpServer.http.url('/') - const makeRequest = () => fetch(endpointUrl) + const makeRequest = () => { + return fetch(endpointUrl) + .then(() => { + throw new Error('Must not resolve') + }) + .catch((error) => { + return error + }) + } - await expect(() => makeRequest()).rejects.toThrow( - `request to ${endpointUrl} failed, reason: [MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.`, + const requestError = await makeRequest() + + expect(requestError.message).toBe('Failed to fetch') + /** + * @note Undici wraps fetch rejections in a generic "Failed to fetch" error, + * forwarding the actual rejection in the "error.cause" property. + */ + expect(requestError.cause).toEqual( + new Error( + '[MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.', + ), ) + expect(console.error) .toHaveBeenCalledWith(`[MSW] Error: intercepted a request without a matching request handler: diff --git a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/warn.node.test.ts b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/warn.node.test.ts index 31bba3f9d..5545c46ac 100644 --- a/test/node/msw-api/setup-server/scenarios/on-unhandled-request/warn.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/on-unhandled-request/warn.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { setupServer } from 'msw/node' import { HttpResponse, http } from 'msw' diff --git a/test/node/msw-api/setup-server/scenarios/relative-url.node.test.ts b/test/node/msw-api/setup-server/scenarios/relative-url.node.test.ts index 047649eee..e68b7784e 100644 --- a/test/node/msw-api/setup-server/scenarios/relative-url.node.test.ts +++ b/test/node/msw-api/setup-server/scenarios/relative-url.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/msw-api/setup-server/use.node.test.ts b/test/node/msw-api/setup-server/use.node.test.ts index 8d0c9ad04..9e4aaeeea 100644 --- a/test/node/msw-api/setup-server/use.node.test.ts +++ b/test/node/msw-api/setup-server/use.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { SetupServer, setupServer } from 'msw/node' import { RequestHandler as ExpressRequestHandler } from 'express' diff --git a/test/node/rest-api/request/body/body-arraybuffer.node.test.ts b/test/node/rest-api/request/body/body-arraybuffer.node.test.ts index 17e71235e..0586535f2 100644 --- a/test/node/rest-api/request/body/body-arraybuffer.node.test.ts +++ b/test/node/rest-api/request/body/body-arraybuffer.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { http, HttpResponse } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/rest-api/request/body/body-json.node.test.ts b/test/node/rest-api/request/body/body-json.node.test.ts index 96a79325b..ab3e37725 100644 --- a/test/node/rest-api/request/body/body-json.node.test.ts +++ b/test/node/rest-api/request/body/body-json.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' import { encodeBuffer } from '@mswjs/interceptors' diff --git a/test/node/rest-api/request/body/body-text.node.test.ts b/test/node/rest-api/request/body/body-text.node.test.ts index f3adf3622..34cba4a31 100644 --- a/test/node/rest-api/request/body/body-text.node.test.ts +++ b/test/node/rest-api/request/body/body-text.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' import { encodeBuffer } from '@mswjs/interceptors' diff --git a/test/node/rest-api/request/matching/all.node.test.ts b/test/node/rest-api/request/matching/all.node.test.ts index ed37db181..2f38314a6 100644 --- a/test/node/rest-api/request/matching/all.node.test.ts +++ b/test/node/rest-api/request/matching/all.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch, { Response } from 'node-fetch' import { HttpServer } from '@open-draft/test-server/http' import { HttpMethods, http, HttpResponse } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/rest-api/request/matching/path-params-decode.node.test.ts b/test/node/rest-api/request/matching/path-params-decode.node.test.ts index cfc7a29b4..d3a682ae7 100644 --- a/test/node/rest-api/request/matching/path-params-decode.node.test.ts +++ b/test/node/rest-api/request/matching/path-params-decode.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/rest-api/response/body-binary.node.test.ts b/test/node/rest-api/response/body-binary.node.test.ts index 1913e1ccc..e69beb393 100644 --- a/test/node/rest-api/response/body-binary.node.test.ts +++ b/test/node/rest-api/response/body-binary.node.test.ts @@ -3,7 +3,6 @@ */ import * as path from 'path' import * as fs from 'fs' -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' @@ -30,27 +29,28 @@ afterAll(() => server.close()) test('returns given buffer in the mocked response', async () => { const response = await fetch('http://test.mswjs.io/image') const { status, headers } = response - const actualImageBuffer = await response.buffer() + const actualImageBuffer = await response.arrayBuffer() const expectedImageBuffer = getImageBuffer() expect(status).toBe(200) expect(headers.get('content-length')).toBe( actualImageBuffer.byteLength.toString(), ) - expect(Buffer.compare(actualImageBuffer, expectedImageBuffer)).toBe(0) + expect( + Buffer.compare(Buffer.from(actualImageBuffer), expectedImageBuffer), + ).toBe(0) }) test('returns given blob in the mocked response', async () => { const response = await fetch('http://test.mswjs.io/image') const { status, headers } = response const blob = await response.blob() - - const [, blobBufferSymbol] = Object.getOwnPropertySymbols(blob) - const actualImageBuffer = blob[blobBufferSymbol] as Buffer const expectedImageBuffer = getImageBuffer() expect(status).toBe(200) expect(blob.type).toBe('image/jpeg') expect(blob.size).toBe(Number(headers.get('content-length'))) - expect(Buffer.compare(actualImageBuffer, expectedImageBuffer)).toBe(0) + expect( + Buffer.compare(Buffer.from(await blob.arrayBuffer()), expectedImageBuffer), + ).toBe(0) }) diff --git a/test/node/rest-api/response/body-text.node.test.ts b/test/node/rest-api/response/body-text.node.test.ts index c911744cf..ee028b0f7 100644 --- a/test/node/rest-api/response/body-text.node.test.ts +++ b/test/node/rest-api/response/body-text.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/test/node/rest-api/response/body-xml.node.test.ts b/test/node/rest-api/response/body-xml.node.test.ts index 2ff8370ed..38501ba4d 100644 --- a/test/node/rest-api/response/body-xml.node.test.ts +++ b/test/node/rest-api/response/body-xml.node.test.ts @@ -1,7 +1,6 @@ /** * @vitest-environment node */ -import fetch from 'node-fetch' import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node'