diff --git a/packages/insomnia-test/tests/cookie/cookie-path-mismatch-not-sent.spec.ts b/packages/insomnia-test/tests/cookie/cookie-path-mismatch-not-sent.spec.ts index 55a5d3aa7c..d39532c8cc 100644 --- a/packages/insomnia-test/tests/cookie/cookie-path-mismatch-not-sent.spec.ts +++ b/packages/insomnia-test/tests/cookie/cookie-path-mismatch-not-sent.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/cookies`; test("Verify Cookie With Mismatched Path Is Not Sent With HTTP Request", async ({ @@ -43,7 +44,7 @@ test("Verify Cookie With Mismatched Path Is Not Sent With HTTP Request", async ( const responseView = await httpRequestFlow.send(request); - const { cookies } = responseView.preview as { cookies: Record }; + const { cookies } = responseView.body as { cookies: Record }; expect(cookies).not.toHaveProperty(mismatchedCookie.key); expect(cookies).toMatchObject({ [matchedCookie.key]: matchedCookie.value }); }); diff --git a/packages/insomnia-test/tests/cookie/cookie-same-key-overwrite.spec.ts b/packages/insomnia-test/tests/cookie/cookie-same-key-overwrite.spec.ts index 6156315830..760b497d77 100644 --- a/packages/insomnia-test/tests/cookie/cookie-same-key-overwrite.spec.ts +++ b/packages/insomnia-test/tests/cookie/cookie-same-key-overwrite.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/cookies`; test("Verify Re-Linking Same Cookie Key Overwrites Previous Value", async ({ @@ -39,7 +40,7 @@ test("Verify Re-Linking Same Cookie Key Overwrites Previous Value", async ({ const responseView = await httpRequestFlow.send(request); - const { cookies } = responseView.preview as { cookies: Record }; + const { cookies } = responseView.body as { cookies: Record }; expect(cookieList.filter((cookie) => cookie.key === key)).toHaveLength(1); expect(cookieList).toMatchObject([{ key, value: freshValue }]); expect(cookies).toMatchObject({ [key]: freshValue }); diff --git a/packages/insomnia-test/tests/cookie/expired-cookie-not-sent.spec.ts b/packages/insomnia-test/tests/cookie/expired-cookie-not-sent.spec.ts index a34e4ff5fe..613b315afa 100644 --- a/packages/insomnia-test/tests/cookie/expired-cookie-not-sent.spec.ts +++ b/packages/insomnia-test/tests/cookie/expired-cookie-not-sent.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/cookies`; test("Verify Expired Cookie Is Not Sent With HTTP Request", async ({ @@ -44,7 +45,7 @@ test("Verify Expired Cookie Is Not Sent With HTTP Request", async ({ const responseView = await httpRequestFlow.send(request); - const { cookies } = responseView.preview as { cookies: Record }; + const { cookies } = responseView.body as { cookies: Record }; expect(cookies).not.toHaveProperty(expiredCookie.key); expect(cookies).toMatchObject({ [activeCookie.key]: activeCookie.value }); }); diff --git a/packages/insomnia-test/tests/cookie/happy-path.spec.ts b/packages/insomnia-test/tests/cookie/happy-path.spec.ts index aec4ffc583..3aa5b2fa91 100644 --- a/packages/insomnia-test/tests/cookie/happy-path.spec.ts +++ b/packages/insomnia-test/tests/cookie/happy-path.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/cookies`; test("Verify Linked Cookie Is Sent With HTTP Request", async ({ user }) => { @@ -47,9 +48,9 @@ test("Verify Linked Cookie Is Sent With HTTP Request", async ({ user }) => { ]); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); - const { cookies } = responseView.preview as { cookies: Record }; + const { cookies } = responseView.body as { cookies: Record }; expect(Object.keys(cookies)).toHaveLength(2); const expectedCookies = Object.fromEntries( diff --git a/packages/insomnia-test/tests/cookie/host-prefix-cookie-requires-host-only.spec.ts b/packages/insomnia-test/tests/cookie/host-prefix-cookie-requires-host-only.spec.ts index fda37d67fd..793d83e900 100644 --- a/packages/insomnia-test/tests/cookie/host-prefix-cookie-requires-host-only.spec.ts +++ b/packages/insomnia-test/tests/cookie/host-prefix-cookie-requires-host-only.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/cookies`; test("Verify __Host- Prefixed Cookie Is Only Sent When Marked HostOnly", async ({ @@ -46,7 +47,7 @@ test("Verify __Host- Prefixed Cookie Is Only Sent When Marked HostOnly", async ( const responseView = await httpRequestFlow.send(request); - const { cookies } = responseView.preview as { cookies: Record }; + const { cookies } = responseView.body as { cookies: Record }; expect(cookies).toMatchObject({ [hostOnlyCookie.key]: hostOnlyCookie.value, }); diff --git a/packages/insomnia-test/tests/cookie/http-only-cookie-always-sent.spec.ts b/packages/insomnia-test/tests/cookie/http-only-cookie-always-sent.spec.ts index 14a30c5488..f8f86e2929 100644 --- a/packages/insomnia-test/tests/cookie/http-only-cookie-always-sent.spec.ts +++ b/packages/insomnia-test/tests/cookie/http-only-cookie-always-sent.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, HTTP_SERVER_HTTPS, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, HTTP_SERVER_HTTPS, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify HttpOnly Cookie Flag Persists And Cookie Is Always Sent Over HTTP And HTTPS", async ({ user, }) => { @@ -45,15 +46,15 @@ test("Verify HttpOnly Cookie Flag Persists And Cookie Is Always Sent Over HTTP A const httpResponse = await httpRequestFlow.send(httpRequest); const httpsResponse = await httpRequestFlow.send(httpsRequest); - expect(httpResponse.statusBar.code).toBe(200); - const { cookies: httpCookies } = httpResponse.preview as { + expect(httpResponse.statusCode).toBe(200); + const { cookies: httpCookies } = httpResponse.body as { cookies: Record; }; expect(httpCookies).toMatchObject({ [httpOnlyCookie.key]: httpOnlyCookie.value, }); - expect(httpsResponse.statusBar.code).toBe(200); - const { cookies: httpsCookies } = httpsResponse.preview as { + expect(httpsResponse.statusCode).toBe(200); + const { cookies: httpsCookies } = httpsResponse.body as { cookies: Record; }; expect(httpsCookies).toMatchObject({ diff --git a/packages/insomnia-test/tests/cookie/raw-cookie-string-editor.spec.ts b/packages/insomnia-test/tests/cookie/raw-cookie-string-editor.spec.ts index 2d99b95f0f..f4c22cc8e0 100644 --- a/packages/insomnia-test/tests/cookie/raw-cookie-string-editor.spec.ts +++ b/packages/insomnia-test/tests/cookie/raw-cookie-string-editor.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/cookies`; test("Verify Editing A Cookie Via The Raw Tab Updates Its Fields And Is Sent", async ({ @@ -40,7 +41,7 @@ test("Verify Editing A Cookie Via The Raw Tab Updates Its Fields And Is Sent", a await cookiePage.close(); const responseView = await httpRequestFlow.send(request); - const { cookies: sentCookies } = responseView.preview as { + const { cookies: sentCookies } = responseView.body as { cookies: Record; }; diff --git a/packages/insomnia-test/tests/cookie/secure-cookie-not-sent-over-http.spec.ts b/packages/insomnia-test/tests/cookie/secure-cookie-not-sent-over-http.spec.ts index 92c9868f1f..ff2a05e1b5 100644 --- a/packages/insomnia-test/tests/cookie/secure-cookie-not-sent-over-http.spec.ts +++ b/packages/insomnia-test/tests/cookie/secure-cookie-not-sent-over-http.spec.ts @@ -1,25 +1,17 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { - HTTP_SERVER, - HTTP_SERVER_HTTPS, - RESOLVING_PROXY_HOST, - RESOLVING_PROXY_SERVER, - test, -} from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; -// Insomnia treats `localhost` as a secure context and sends Secure cookies over -// plain http, so reach the echo server as `insomnia.test` through the resolving proxy. -const HTTP_URL = HTTP_SERVER.replace("localhost", RESOLVING_PROXY_HOST); -const HTTPS_URL = HTTP_SERVER_HTTPS.replace("localhost", RESOLVING_PROXY_HOST); +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, HTTP_SERVER_HTTPS, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; test("Verify Secure Cookie Is Sent Over HTTPS But Not Over Plain HTTP", async ({ user, }) => { + test.fail(true, 'INS-3179'); + const { cookieFlow, httpRequestFlow, workspaceFlow, preferencesFlow } = user.flowManager; @@ -31,37 +23,31 @@ test("Verify Secure Cookie Is Sent Over HTTPS But Not Over Plain HTTP", async ({ new Collection(faker.string.alphanumeric(10)), ); - await preferencesFlow.set({ - validateSSL: false, - proxyEnabled: true, - httpProxy: RESOLVING_PROXY_SERVER, - httpsProxy: RESOLVING_PROXY_SERVER, - noProxy: "", - }); + await preferencesFlow.set({ validateSSL: false }); const httpRequest = await httpRequestFlow.create(collection, { name: faker.string.alphanumeric(10), method: HttpMethod.Get, - url: `${HTTP_URL}/cookies`, + url: `${HTTP_SERVER}/cookies`, }); const httpsRequest = await httpRequestFlow.create(collection, { name: faker.string.alphanumeric(10), method: HttpMethod.Get, - url: `${HTTPS_URL}/cookies`, + url: `${HTTP_SERVER_HTTPS}/cookies`, }); const secureCookie = { key: faker.string.alphanumeric(8), value: faker.string.alphanumeric(8), - domain: RESOLVING_PROXY_HOST, + domain: "localhost", path: "/", secure: true, }; await cookieFlow.link(httpRequest, [secureCookie]); const httpsResponse = await httpRequestFlow.send(httpsRequest); - expect(httpsResponse.statusBar.code).toBe(200); - const { cookies: httpsCookies } = httpsResponse.preview as { + expect(httpsResponse.statusCode).toBe(200); + const { cookies: httpsCookies } = httpsResponse.body as { cookies: Record; }; expect(httpsCookies).toMatchObject({ @@ -69,7 +55,7 @@ test("Verify Secure Cookie Is Sent Over HTTPS But Not Over Plain HTTP", async ({ }); const httpResponse = await httpRequestFlow.send(httpRequest); - const { cookies: httpCookies } = httpResponse.preview as { + const { cookies: httpCookies } = httpResponse.body as { cookies: Record; }; expect(httpCookies).not.toHaveProperty(secureCookie.key); diff --git a/packages/insomnia-test/tests/environment/case-sensitive-variable-names.spec.ts b/packages/insomnia-test/tests/environment/case-sensitive-variable-names.spec.ts index 06d844a2a1..c37a513ae4 100644 --- a/packages/insomnia-test/tests/environment/case-sensitive-variable-names.spec.ts +++ b/packages/insomnia-test/tests/environment/case-sensitive-variable-names.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const lowerCaseVariable = "caseVar"; const upperCaseVariable = "CaseVar"; @@ -60,8 +61,8 @@ test("Verify Variable Names Are Case Sensitive Across Environment Levels", async } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { lower: baseValue, upper: subValue }, }); }); diff --git a/packages/insomnia-test/tests/environment/circular-variable-reference.spec.ts b/packages/insomnia-test/tests/environment/circular-variable-reference.spec.ts index 1eec4ccbfd..bb8ff202ce 100644 --- a/packages/insomnia-test/tests/environment/circular-variable-reference.spec.ts +++ b/packages/insomnia-test/tests/environment/circular-variable-reference.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const variableA = "a"; const variableB = "b"; @@ -52,6 +53,6 @@ test("Verify Circular Variable Reference Resolves To Literal Unresolved Text", a } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ args: { value: `{{${variableA}}}` } }); + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: `{{${variableA}}}` } }); }); diff --git a/packages/insomnia-test/tests/environment/create-and-duplicate-global-environment.spec.ts b/packages/insomnia-test/tests/environment/create-and-duplicate-global-environment.spec.ts index 6a869ae564..a389bf3a05 100644 --- a/packages/insomnia-test/tests/environment/create-and-duplicate-global-environment.spec.ts +++ b/packages/insomnia-test/tests/environment/create-and-duplicate-global-environment.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + test("Verify creating and duplicating a global environment", async ({ user, }) => { @@ -54,6 +55,6 @@ test("Verify creating and duplicating a global environment", async ({ expect(duplicatedEnvironment.id).not.toBe(environment.id); expect(duplicatedEnvironment.name).toBe(duplicatedName); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ args: { value: variableValue } }); + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: variableValue } }); }); diff --git a/packages/insomnia-test/tests/environment/disabled-sub-environment-variable-falls-back-to-base.spec.ts b/packages/insomnia-test/tests/environment/disabled-sub-environment-variable-falls-back-to-base.spec.ts index a30d976b6d..ea120b7685 100644 --- a/packages/insomnia-test/tests/environment/disabled-sub-environment-variable-falls-back-to-base.spec.ts +++ b/packages/insomnia-test/tests/environment/disabled-sub-environment-variable-falls-back-to-base.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const sharedVariable = "shared"; test("Verify a disabled sub-environment variable falls back to the base environment's value", async ({ @@ -59,6 +60,6 @@ test("Verify a disabled sub-environment variable falls back to the base environm } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ args: { value: baseValue } }); + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: baseValue } }); }); diff --git a/packages/insomnia-test/tests/environment/disabled-variable-mid-chain.spec.ts b/packages/insomnia-test/tests/environment/disabled-variable-mid-chain.spec.ts index 00e652aa90..fa409a4d97 100644 --- a/packages/insomnia-test/tests/environment/disabled-variable-mid-chain.spec.ts +++ b/packages/insomnia-test/tests/environment/disabled-variable-mid-chain.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const leafVariable = "leaf"; const midVariable = "mid"; const topVariable = "top"; @@ -62,8 +63,8 @@ test("Verify Disabled Mid-Chain Variable Leaves Reference Unresolved", async ({ } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: `{{${midVariable}}}` }, }); }); diff --git a/packages/insomnia-test/tests/environment/json-raw-editor.spec.ts b/packages/insomnia-test/tests/environment/json-raw-editor.spec.ts index 8b601e5474..8b01bd5b4f 100644 --- a/packages/insomnia-test/tests/environment/json-raw-editor.spec.ts +++ b/packages/insomnia-test/tests/environment/json-raw-editor.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { ProjectType } from "@package/enums/project-types"; -import { test } from "@package/misc/fixtures"; +import { expect } from "@playwright/test"; + +import { ProjectType } from "../../enums/project-types"; +import { test } from "../../misc/fixtures"; import type { - EnvironmentKvPairData} from "@package/models/environment"; + EnvironmentKvPairData} from "../../models/environment"; import { EnvironmentKvPairDataType, -} from "@package/models/environment"; -import { Project } from "@package/models/project"; -import { expect } from "@playwright/test"; +} from "../../models/environment"; +import { Project } from "../../models/project"; test("Verify Environment Raw JSON Editor Reads Back And Persists Edits", async ({ user, diff --git a/packages/insomnia-test/tests/environment/key-value-editor-blank-row.spec.ts b/packages/insomnia-test/tests/environment/key-value-editor-blank-row.spec.ts index 5e44cbe905..02e91246d9 100644 --- a/packages/insomnia-test/tests/environment/key-value-editor-blank-row.spec.ts +++ b/packages/insomnia-test/tests/environment/key-value-editor-blank-row.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { ProjectType } from "@package/enums/project-types"; -import { test } from "@package/misc/fixtures"; +import { expect } from "@playwright/test"; + +import { ProjectType } from "../../enums/project-types"; +import { test } from "../../misc/fixtures"; import type { - EnvironmentKvPairData} from "@package/models/environment"; + EnvironmentKvPairData} from "../../models/environment"; import { EnvironmentKvPairDataType, -} from "@package/models/environment"; -import { Project } from "@package/models/project"; -import { expect } from "@playwright/test"; +} from "../../models/environment"; +import { Project } from "../../models/project"; test("Verify Environment Table Editor's Blank Row Is Not Persisted And Deleting A Row Leaves No Stale Text", async ({ user, diff --git a/packages/insomnia-test/tests/environment/mixed-variables-in-value.spec.ts b/packages/insomnia-test/tests/environment/mixed-variables-in-value.spec.ts index b4a4fb3e58..6506e68759 100644 --- a/packages/insomnia-test/tests/environment/mixed-variables-in-value.spec.ts +++ b/packages/insomnia-test/tests/environment/mixed-variables-in-value.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const firstVariable = "a"; const secondVariable = "b"; @@ -55,8 +56,8 @@ test("Verify Multiple Variables Mixed In A Single Value Resolve Together", async } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: `${firstValue}-${secondValue}` }, }); }); diff --git a/packages/insomnia-test/tests/environment/nested-variable-resolution.spec.ts b/packages/insomnia-test/tests/environment/nested-variable-resolution.spec.ts index 3b5a86ee82..171781a5d4 100644 --- a/packages/insomnia-test/tests/environment/nested-variable-resolution.spec.ts +++ b/packages/insomnia-test/tests/environment/nested-variable-resolution.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const leafVariable = "leaf"; const midVariable = "mid"; const topVariable = "top"; @@ -61,6 +62,6 @@ test("Verify Multi-Level Nested Variable Resolution", async ({ user }) => { } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ args: { value: finalValue } }); + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: finalValue } }); }); diff --git a/packages/insomnia-test/tests/environment/private-environment-secret-variable.spec.ts b/packages/insomnia-test/tests/environment/private-environment-secret-variable.spec.ts index b0f0b1ca66..809df55a92 100644 --- a/packages/insomnia-test/tests/environment/private-environment-secret-variable.spec.ts +++ b/packages/insomnia-test/tests/environment/private-environment-secret-variable.spec.ts @@ -1,17 +1,18 @@ import * as crypto from "node:crypto"; import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; +import { expect } from "@playwright/test"; + +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; import { ENVIRONMENT_TYPE, EnvironmentKvPairDataType, -} from "@package/models/environment"; -import { Project } from "@package/models/project"; -import { expect } from "@playwright/test"; +} from "../../models/environment"; +import { Project } from "../../models/project"; const testWithVaultKey = test.extend({ vaultKey: async ({}, use) => { @@ -82,8 +83,8 @@ testWithVaultKey( }); const responseView = await httpRequestFlow.send(request!); - expect(responseView.statusBar.code).toBe(200); - expect((responseView.preview as { data: string }).data).toBe( + expect(responseView.statusCode).toBe(200); + expect((responseView.body as { data: string }).data).toBe( `${secretValueFoo}\n${secretValueHello}`, ); }, diff --git a/packages/insomnia-test/tests/environment/self-referencing-variable.spec.ts b/packages/insomnia-test/tests/environment/self-referencing-variable.spec.ts index fb756f55a7..a39e78bf01 100644 --- a/packages/insomnia-test/tests/environment/self-referencing-variable.spec.ts +++ b/packages/insomnia-test/tests/environment/self-referencing-variable.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const selfVariable = "a"; test("Verify Self-Referencing Variable Resolves To Literal Unresolved Text", async ({ @@ -44,8 +45,8 @@ test("Verify Self-Referencing Variable Resolves To Literal Unresolved Text", asy } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: `{{${selfVariable}}}` }, }); }); diff --git a/packages/insomnia-test/tests/environment/sub-environment-empty-falls-back-to-base.spec.ts b/packages/insomnia-test/tests/environment/sub-environment-empty-falls-back-to-base.spec.ts index fc7ecdde33..600054e480 100644 --- a/packages/insomnia-test/tests/environment/sub-environment-empty-falls-back-to-base.spec.ts +++ b/packages/insomnia-test/tests/environment/sub-environment-empty-falls-back-to-base.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const sharedVariable = "shared"; test("Verify an empty sub-environment falls back to the base environment until it defines its own value", async ({ @@ -65,8 +66,8 @@ test("Verify an empty sub-environment falls back to the base environment until i ]); const afterOwnValue = await httpRequestFlow.send(request); - expect(beforeOwnValue.statusBar.code).toBe(200); - expect(beforeOwnValue.preview).toMatchObject({ args: { value: baseValue } }); - expect(afterOwnValue.statusBar.code).toBe(200); - expect(afterOwnValue.preview).toMatchObject({ args: { value: subValue } }); + expect(beforeOwnValue.statusCode).toBe(200); + expect(beforeOwnValue.body).toMatchObject({ args: { value: baseValue } }); + expect(afterOwnValue.statusCode).toBe(200); + expect(afterOwnValue.body).toMatchObject({ args: { value: subValue } }); }); diff --git a/packages/insomnia-test/tests/environment/sub-environment-variable-priority.spec.ts b/packages/insomnia-test/tests/environment/sub-environment-variable-priority.spec.ts index f3a7307544..d03f6f7ca6 100644 --- a/packages/insomnia-test/tests/environment/sub-environment-variable-priority.spec.ts +++ b/packages/insomnia-test/tests/environment/sub-environment-variable-priority.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const sharedVariable = "shared"; test("Verify Sub Environment Variable Overrides Base Environment", async ({ @@ -58,6 +59,6 @@ test("Verify Sub Environment Variable Overrides Base Environment", async ({ url: `${HTTP_SERVER}/post?value={{${sharedVariable}}}`, } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ args: { value: subValue } }); + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { value: subValue } }); }); diff --git a/packages/insomnia-test/tests/environment/table-editor-disable-row.spec.ts b/packages/insomnia-test/tests/environment/table-editor-disable-row.spec.ts index 69a1bdf3d3..ba6d1e300b 100644 --- a/packages/insomnia-test/tests/environment/table-editor-disable-row.spec.ts +++ b/packages/insomnia-test/tests/environment/table-editor-disable-row.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { ProjectType } from "@package/enums/project-types"; -import { test } from "@package/misc/fixtures"; +import { expect } from "@playwright/test"; + +import { ProjectType } from "../../enums/project-types"; +import { test } from "../../misc/fixtures"; import type { - EnvironmentKvPairData} from "@package/models/environment"; + EnvironmentKvPairData} from "../../models/environment"; import { EnvironmentKvPairDataType, -} from "@package/models/environment"; -import { Project } from "@package/models/project"; -import { expect } from "@playwright/test"; +} from "../../models/environment"; +import { Project } from "../../models/project"; test("Verify Disabling A Row In The Table Editor Is Reflected On Read-Back", async ({ user, diff --git a/packages/insomnia-test/tests/environment/unlinked-environment-variable.spec.ts b/packages/insomnia-test/tests/environment/unlinked-environment-variable.spec.ts index 0b1f5ba92e..1337423400 100644 --- a/packages/insomnia-test/tests/environment/unlinked-environment-variable.spec.ts +++ b/packages/insomnia-test/tests/environment/unlinked-environment-variable.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { MOCK_API_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { MOCK_API_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import { Project } from "../../models/project"; + const variableName = "unlinked"; test("Verify Unlinked Environment Variable Causes Error", async ({ user }) => { diff --git a/packages/insomnia-test/tests/environment/vault-legacy-format-environment-variables/vault-legacy-format-environment-variables.spec.ts b/packages/insomnia-test/tests/environment/vault-legacy-format-environment-variables/vault-legacy-format-environment-variables.spec.ts index 66852fb28a..1a1816e79c 100644 --- a/packages/insomnia-test/tests/environment/vault-legacy-format-environment-variables/vault-legacy-format-environment-variables.spec.ts +++ b/packages/insomnia-test/tests/environment/vault-legacy-format-environment-variables/vault-legacy-format-environment-variables.spec.ts @@ -2,15 +2,16 @@ import * as crypto from "node:crypto"; import path from "node:path"; import { faker } from "@faker-js/faker"; -import { ProjectType } from "@package/enums/project-types"; -import { test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; +import { expect } from "@playwright/test"; + +import { ProjectType } from "../../../enums/project-types"; +import { test } from "../../../misc/fixtures"; +import { Collection } from "../../../models/collection"; import { ENVIRONMENT_TYPE, EnvironmentKvPairDataType, -} from "@package/models/environment"; -import { Project } from "@package/models/project"; -import { expect } from "@playwright/test"; +} from "../../../models/environment"; +import { Project } from "../../../models/project"; const testWithVaultKey = test.extend({ vaultKey: async ({}, use) => { @@ -57,7 +58,7 @@ testWithVaultKey( await importFlow.importFile( project, - path.join(import.meta.dirname, "vault-legacy-formats.yaml"), + path.join(__dirname, "vault-legacy-formats.yaml"), ); const collection = new Collection("Vault Legacy Format Collection"); await environmentFlow.link(collection, secretEnvironment); @@ -73,12 +74,12 @@ testWithVaultKey( await environmentFlow.activate(collection, "base with vault"); const invalidRequest = await httpRequestFlow.get("legacy-invalid-vault"); - expect(arrayResponse.statusBar.code).toBe(200); - expect((arrayResponse.preview as { data: string }).data).toBe( + expect(arrayResponse.statusCode).toBe(200); + expect((arrayResponse.body as { data: string }).data).toBe( "vault_array_a\nvault_array_b", ); - expect(objectResponse.statusBar.code).toBe(200); - expect((objectResponse.preview as { data: string }).data).toBe("secv1\nsecv2"); + expect(objectResponse.statusCode).toBe(200); + expect((objectResponse.body as { data: string }).data).toBe("secv1\nsecv2"); await expect(httpRequestFlow.send(invalidRequest!)).rejects.toThrow( /vault is a reserved key for insomnia vault/, ); diff --git a/packages/insomnia-test/tests/http-request/after-response-script-test-results.spec.ts b/packages/insomnia-test/tests/http-request/after-response-script-test-results.spec.ts index 2eb52a580d..202cd02eb2 100644 --- a/packages/insomnia-test/tests/http-request/after-response-script-test-results.spec.ts +++ b/packages/insomnia-test/tests/http-request/after-response-script-test-results.spec.ts @@ -1,12 +1,13 @@ import { faker } from '@faker-js/faker'; -import { ContentType } from '@package/enums/content-type'; -import { HttpMethod } from '@package/enums/http-method'; -import { ProjectType } from '@package/enums/project-types'; -import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from '@package/misc/fixtures'; -import { Collection } from '@package/models/collection'; -import { Project } from '@package/models/project'; import { expect } from "@playwright/test"; +import { ContentType } from '../../enums/content-type'; +import { HttpMethod } from '../../enums/http-method'; +import { ProjectType } from '../../enums/project-types'; +import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from '../../misc/fixtures'; +import { Collection } from '../../models/collection'; +import { Project } from '../../models/project'; + const url = `${HTTP_SERVER}/post`; test('Verify insomnia.test/insomnia.expect report PASS/FAIL results, including a transient variable and insomnia.response accessors', async ({ @@ -53,7 +54,7 @@ test('Verify insomnia.test/insomnia.expect report PASS/FAIL results, including a }); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); await expect .poll(() => responseView.tests?.(), { timeout: DEFAULT_TIMEOUT }) .toEqual( diff --git a/packages/insomnia-test/tests/http-request/body-types.spec.ts b/packages/insomnia-test/tests/http-request/body-types.spec.ts index ecb44ad990..e82a76fc0c 100644 --- a/packages/insomnia-test/tests/http-request/body-types.spec.ts +++ b/packages/insomnia-test/tests/http-request/body-types.spec.ts @@ -1,18 +1,19 @@ import path from "node:path"; import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; const uploadFilePath = path.join( - import.meta.dirname, + __dirname, "..", "..", "misc", @@ -49,7 +50,7 @@ test("Send HTTP Request with x-www-form-urlencoded Body", async ({ user }) => { const persisted = await httpRequestFlow.create(collection, request); const responseView = await httpRequestFlow.send(request); - const raw = (responseView.preview as { data: string }).data; + const raw = (responseView.body as { data: string }).data; expect(persisted.body?.mimeType).toBe(ContentType.Form); expect(persisted.body?.params).toMatchObject([ @@ -57,12 +58,12 @@ test("Send HTTP Request with x-www-form-urlencoded Body", async ({ user }) => { { name: "userId", value: userId }, { name: "excluded", disabled: true }, ]); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(Object.fromEntries(new URLSearchParams(raw))).toEqual({ title, userId, }); - expect(responseView.preview).toMatchObject({ + expect(responseView.body).toMatchObject({ headers: expect.objectContaining({ "content-type": expect.stringContaining(ContentType.Form), }), @@ -93,8 +94,8 @@ test("Send HTTP Request with JSON Body", async ({ user }) => { const responseView = await httpRequestFlow.send(request); expect(persisted).toMatchObject(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ json: payload, headers: expect.objectContaining({ "content-type": expect.stringContaining(ContentType.JSON), @@ -127,8 +128,8 @@ test("Send HTTP Request with XML Body", async ({ user }) => { const responseView = await httpRequestFlow.send(request); expect(persisted).toMatchObject(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ data: xml, headers: expect.objectContaining({ "content-type": expect.stringContaining(ContentType.XML), @@ -163,8 +164,8 @@ test("Send HTTP Request with No Body explicitly selected", async ({ user }) => { url: request.url, body: undefined, }); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ data: "", json: null, }); @@ -203,7 +204,7 @@ test("Send HTTP Request with multipart/form-data Body including a file field", a await httpRequestFlow.create(collection, request); const persisted = await httpRequestFlow.get(request.name); const responseView = await httpRequestFlow.send(request); - const raw = (responseView.preview as { data: string }).data; + const raw = (responseView.body as { data: string }).data; expect(persisted?.body?.mimeType).toBe(ContentType.Multipart); expect(persisted?.body?.params?.[0]).toMatchObject({ @@ -212,12 +213,12 @@ test("Send HTTP Request with multipart/form-data Body including a file field", a }); expect(persisted?.body?.params?.[1]?.name).toBe("upload"); expect(persisted?.body?.params?.[1]?.fileName).toContain("upload-sample.txt"); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(raw).toContain('name="title"'); expect(raw).toContain(title); expect(raw).toContain('name="upload"; filename="upload-sample.txt"'); expect(raw).toContain("insomnia-e2e-upload-fixture"); - expect(responseView.preview).toMatchObject({ + expect(responseView.body).toMatchObject({ headers: expect.objectContaining({ "content-type": expect.stringContaining(ContentType.Multipart), }), diff --git a/packages/insomnia-test/tests/http-request/cancel-in-flight-request.spec.ts b/packages/insomnia-test/tests/http-request/cancel-in-flight-request.spec.ts index 15fcdddf8d..a5cad22158 100644 --- a/packages/insomnia-test/tests/http-request/cancel-in-flight-request.spec.ts +++ b/packages/insomnia-test/tests/http-request/cancel-in-flight-request.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { RequestState } from "@package/enums/request-state"; -import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { RequestState } from "../../enums/request-state"; +import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify Cancelling an In-Flight HTTP Request Shows a Cancellation Message and a Later Request Still Succeeds", async ({ user, }) => { @@ -50,6 +51,6 @@ test("Verify Cancelling an In-Flight HTTP Request Shows a Cancellation Message a const laterResponse = await httpRequestFlow.send(laterRequest); expect(requestStateAfterCancel).toBe(RequestState.Idle); - expect(cancelledResponse.statusBar.code).toBeUndefined(); - expect(laterResponse.statusBar.code).toBe(200); + expect(cancelledResponse.statusCode).toBeUndefined(); + expect(laterResponse.statusCode).toBe(200); }); diff --git a/packages/insomnia-test/tests/http-request/chained-response-tag.spec.ts b/packages/insomnia-test/tests/http-request/chained-response-tag.spec.ts index 8617983480..c114aa83a9 100644 --- a/packages/insomnia-test/tests/http-request/chained-response-tag.spec.ts +++ b/packages/insomnia-test/tests/http-request/chained-response-tag.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; const bodyJsonPathFilter = "b64::JC5kYXRh::46b"; @@ -50,6 +51,6 @@ test("Verify A Response Tag Chain Resolves Through Multiple Requests", async ({ const responseView = await httpRequestFlow.send(third); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ data: "first and second and third" }); + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ data: "first and second and third" }); }); diff --git a/packages/insomnia-test/tests/http-request/custom-ca-root-certificate.spec.ts b/packages/insomnia-test/tests/http-request/custom-ca-root-certificate.spec.ts index 7db107a3d8..a2fbf13ee4 100644 --- a/packages/insomnia-test/tests/http-request/custom-ca-root-certificate.spec.ts +++ b/packages/insomnia-test/tests/http-request/custom-ca-root-certificate.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { certPath } from "@package/misc/certs"; -import { DEFAULT_TIMEOUT, HTTP_SERVER_CUSTOM_CA_HTTPS, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { certPath } from "../../misc/certs"; +import { DEFAULT_TIMEOUT, HTTP_SERVER_CUSTOM_CA_HTTPS, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER_CUSTOM_CA_HTTPS}/post`; test("Verify Custom CA Root Certificate Establishes Trust For HTTPS Request", async ({ @@ -29,9 +30,9 @@ test("Verify Custom CA Root Certificate Establishes Trust For HTTPS Request", as url, }); const responseBeforeCa = await httpRequestFlow.send(requestBeforeCa); - expect(responseBeforeCa.statusBar.code).toBeUndefined(); + expect(responseBeforeCa.statusCode).toBeUndefined(); await expect - .poll(() => responseBeforeCa.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseBeforeCa.console?.(), { timeout: DEFAULT_TIMEOUT }) .toMatch(/unable to get local issuer certificate/i); await certificatesFlow.setCaCertificate( @@ -45,8 +46,8 @@ test("Verify Custom CA Root Certificate Establishes Trust For HTTPS Request", as url, }); const responseAfterCa = await httpRequestFlow.send(requestAfterCa); - expect(responseAfterCa.statusBar.code).toBe(200); - expect(responseAfterCa.preview).toMatchObject({ + expect(responseAfterCa.statusCode).toBe(200); + expect(responseAfterCa.body).toMatchObject({ headers: expect.objectContaining({ host: "localhost:4062" }), }); }); diff --git a/packages/insomnia-test/tests/http-request/folder-level-replace-in-utility.spec.ts b/packages/insomnia-test/tests/http-request/folder-level-replace-in-utility.spec.ts index fba91beab0..cc024ea2df 100644 --- a/packages/insomnia-test/tests/http-request/folder-level-replace-in-utility.spec.ts +++ b/packages/insomnia-test/tests/http-request/folder-level-replace-in-utility.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Folder } from "@package/models/folder"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Folder } from "../../models/folder"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify a folder-level script wrapping insomnia.variables.replaceIn resolves synchronously for a downstream request consuming it without await", async ({ @@ -44,9 +45,9 @@ test("Verify a folder-level script wrapping insomnia.variables.replaceIn resolve const responseView = await httpRequestFlow.send(request); await expect - .poll(() => responseView.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseView.console?.(), { timeout: DEFAULT_TIMEOUT }) .toMatch(/log: string \S+/); - const consoleText = await responseView.console(); + const consoleText = await responseView.console?.(); expect(consoleText).not.toContain("Promise"); expect(consoleText).not.toContain("undefined"); }); diff --git a/packages/insomnia-test/tests/http-request/generate-code-target-client-switch.spec.ts b/packages/insomnia-test/tests/http-request/generate-code-target-client-switch.spec.ts index 77ce9ae65f..55bd3645df 100644 --- a/packages/insomnia-test/tests/http-request/generate-code-target-client-switch.spec.ts +++ b/packages/insomnia-test/tests/http-request/generate-code-target-client-switch.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/get`; test("Verify switching the Generate Code dialog's target language and client library regenerates the snippet", async ({ diff --git a/packages/insomnia-test/tests/http-request/generate-code.spec.ts b/packages/insomnia-test/tests/http-request/generate-code.spec.ts index d45399be88..305ee77cc5 100644 --- a/packages/insomnia-test/tests/http-request/generate-code.spec.ts +++ b/packages/insomnia-test/tests/http-request/generate-code.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify Generate Code Produces A Matching cURL Snippet", async ({ diff --git a/packages/insomnia-test/tests/http-request/import-params-from-url-http.spec.ts b/packages/insomnia-test/tests/http-request/import-params-from-url-http.spec.ts index 3abfad881d..af3f759142 100644 --- a/packages/insomnia-test/tests/http-request/import-params-from-url-http.spec.ts +++ b/packages/insomnia-test/tests/http-request/import-params-from-url-http.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify Import from URL Moves Query String Into Params and Preserves It on Send", async ({ user, }) => { @@ -42,9 +43,9 @@ test("Verify Import from URL Moves Query String Into Params and Preserves It on expect.objectContaining({ name: paramName2, value: paramValue2 }), ]), ); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); await expect - .poll(() => responseView.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseView.console?.(), { timeout: DEFAULT_TIMEOUT }) .toContain( `Preparing request to ${baseUrl}?${paramName1}=${paramValue1}&${paramName2}=${paramValue2}`, ); diff --git a/packages/insomnia-test/tests/http-request/ipv6-local-address.spec.ts b/packages/insomnia-test/tests/http-request/ipv6-local-address.spec.ts index 2f0c3baffb..c70e0d5a28 100644 --- a/packages/insomnia-test/tests/http-request/ipv6-local-address.spec.ts +++ b/packages/insomnia-test/tests/http-request/ipv6-local-address.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = "http://[::1]:4060/post"; test("Verify HTTP request succeeds against a local IPv6 address", async ({ @@ -31,7 +32,7 @@ test("Verify HTTP request succeeds against a local IPv6 address", async ({ }); const responseView = await httpRequestFlow.send(request!); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.statusBar.message).toBe("OK"); - expect(responseView.preview).toMatchObject({ data: bodyText }); + expect(responseView.statusCode).toBe(200); + expect(responseView.statusMessage).toBe("OK"); + expect(responseView.body).toMatchObject({ data: bodyText }); }); diff --git a/packages/insomnia-test/tests/http-request/key-value-editor-blank-row.spec.ts b/packages/insomnia-test/tests/http-request/key-value-editor-blank-row.spec.ts index cd3299f7e3..f25555a094 100644 --- a/packages/insomnia-test/tests/http-request/key-value-editor-blank-row.spec.ts +++ b/packages/insomnia-test/tests/http-request/key-value-editor-blank-row.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify Trailing Blank Row In Headers And Params Is Not Persisted Until Typed Into", async ({ user, }) => { @@ -38,7 +39,7 @@ test("Verify Trailing Blank Row In Headers And Params Is Not Persisted Until Typ const paramsAfter = await httpRequestPage.getParams(); const isBlank = (pair: { name: string; value: string }) => - [pair.name, pair.value].every((text) => text === ""); + pair.name === "" && pair.value === ""; expect(request).toBeDefined(); expect(headersBefore.some(isBlank)).toBe(false); diff --git a/packages/insomnia-test/tests/http-request/liquid-template-isolation.spec.ts b/packages/insomnia-test/tests/http-request/liquid-template-isolation.spec.ts index 1869e974fb..065db97a88 100644 --- a/packages/insomnia-test/tests/http-request/liquid-template-isolation.spec.ts +++ b/packages/insomnia-test/tests/http-request/liquid-template-isolation.spec.ts @@ -1,14 +1,15 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify LiquidJS control flow tags render correctly", async ({ user }) => { @@ -48,8 +49,8 @@ test("Verify LiquidJS control flow tags render correctly", async ({ user }) => { } satisfies HttpRequest); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ data: `${envValue}-big-123-yes`, }); }); diff --git a/packages/insomnia-test/tests/http-request/mtls-client-certificate.spec.ts b/packages/insomnia-test/tests/http-request/mtls-client-certificate.spec.ts index e299704b91..0a73dda247 100644 --- a/packages/insomnia-test/tests/http-request/mtls-client-certificate.spec.ts +++ b/packages/insomnia-test/tests/http-request/mtls-client-certificate.spec.ts @@ -1,14 +1,15 @@ import path from "node:path"; import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { certPath } from "@package/misc/certs"; -import { DEFAULT_TIMEOUT, HTTP_SERVER_MTLS, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { certPath } from "../../misc/certs"; +import { DEFAULT_TIMEOUT, HTTP_SERVER_MTLS, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER_MTLS}/post`; test("Verify Client Certificate Toggle Controls mTLS Enforcement For HTTP Request", async ({ @@ -19,7 +20,7 @@ test("Verify Client Certificate Toggle Controls mTLS Enforcement For HTTP Reques await preferencesFlow.set({ validateSSL: false, - dataFolders: [path.join(import.meta.dirname, "../../misc/fixtures")], + dataFolders: [path.join(__dirname, "../../misc/fixtures")], }); const project = await workspaceFlow.createProject( @@ -36,9 +37,9 @@ test("Verify Client Certificate Toggle Controls mTLS Enforcement For HTTP Reques url, }); const responseBeforeCert = await httpRequestFlow.send(requestBeforeCert); - expect(responseBeforeCert.statusBar.code).toBeUndefined(); + expect(responseBeforeCert.statusCode).toBeUndefined(); await expect - .poll(() => responseBeforeCert.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseBeforeCert.console?.(), { timeout: DEFAULT_TIMEOUT }) .toMatch(/certificate required/i); await certificatesFlow.addClientCertificate(collection, { @@ -53,8 +54,8 @@ test("Verify Client Certificate Toggle Controls mTLS Enforcement For HTTP Reques url, }); const responseWithCert = await httpRequestFlow.send(requestWithCert); - expect(responseWithCert.statusBar.code).toBe(200); - expect(responseWithCert.preview).toMatchObject({ + expect(responseWithCert.statusCode).toBe(200); + expect(responseWithCert.body).toMatchObject({ headers: expect.objectContaining({ host: "localhost:4063" }), }); @@ -70,8 +71,8 @@ test("Verify Client Certificate Toggle Controls mTLS Enforcement For HTTP Reques url, }); const responseAfterDisable = await httpRequestFlow.send(requestAfterDisable); - expect(responseAfterDisable.statusBar.code).toBeUndefined(); + expect(responseAfterDisable.statusCode).toBeUndefined(); await expect - .poll(() => responseAfterDisable.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseAfterDisable.console?.(), { timeout: DEFAULT_TIMEOUT }) .toMatch(/certificate required/i); }); diff --git a/packages/insomnia-test/tests/http-request/oauth1-authentication.spec.ts b/packages/insomnia-test/tests/http-request/oauth1-authentication.spec.ts index 2bbf6b03ba..656de48d18 100644 --- a/packages/insomnia-test/tests/http-request/oauth1-authentication.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth1-authentication.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { AuthTypeOAuth1 } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { AuthTypeOAuth1 } from "../../models/http-request"; +import { Project } from "../../models/project"; + test("Verify OAuth 1.0 auth fields persist and sign the sent request", async ({ user, }) => { @@ -39,10 +40,10 @@ test("Verify OAuth 1.0 auth fields persist and sign the sent request", async ({ }); const responseView = await httpRequestFlow.send(request); - const authHeader = (responseView.preview as { headers: Record }) + const authHeader = (responseView.body as { headers: Record }) .headers.authorization; - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(authHeader).toContain("OAuth "); expect(authHeader).toContain( `oauth_consumer_key="${authentication.consumerKey}"`, diff --git a/packages/insomnia-test/tests/http-request/oauth2-authorization-code-pkce.spec.ts b/packages/insomnia-test/tests/http-request/oauth2-authorization-code-pkce.spec.ts index e57645cb64..087cb9ddbc 100644 --- a/packages/insomnia-test/tests/http-request/oauth2-authorization-code-pkce.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth2-authorization-code-pkce.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { AuthTypeOAuth2 } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { AuthTypeOAuth2 } from "../../models/http-request"; +import { Project } from "../../models/project"; + for (const pkceMethod of ["S256", "plain"] as const) { test(`Verify Authorization Code grant with PKCE (${pkceMethod}) is verified server-side and authorizes the sent request`, async ({ user, @@ -48,14 +49,14 @@ for (const pkceMethod of ["S256", "plain"] as const) { ).json(); const responseView = await httpRequestFlow.send(request); - const body = responseView.preview as { authorization?: string }; + const body = responseView.body as { authorization?: string }; expect(tokens.accessToken).not.toBe(""); expect(lastTokenRequest.grantType).toBe("authorization_code"); expect(lastTokenRequest.pkceUsed).toBe(true); expect(lastTokenRequest.pkceMethod).toBe(pkceMethod); expect(lastTokenRequest.pkceVerified).toBe(true); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(body.authorization).toBe(`Bearer ${tokens.accessToken}`); }); } diff --git a/packages/insomnia-test/tests/http-request/oauth2-authorization-code.spec.ts b/packages/insomnia-test/tests/http-request/oauth2-authorization-code.spec.ts index 3406ab1206..8542357895 100644 --- a/packages/insomnia-test/tests/http-request/oauth2-authorization-code.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth2-authorization-code.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { AuthTypeOAuth2 } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { AuthTypeOAuth2 } from "../../models/http-request"; +import { Project } from "../../models/project"; + test("Verify Authorization Code grant fetches tokens via a popup and authorizes the sent request", async ({ user, }) => { @@ -45,13 +46,13 @@ test("Verify Authorization Code grant fetches tokens via a popup and authorizes ).json(); const responseView = await httpRequestFlow.send(request); - const body = responseView.preview as { authorization?: string }; + const body = responseView.body as { authorization?: string }; expect(tokens.accessToken).not.toBe(""); expect(tokens.refreshToken).not.toBe(""); expect(tokens.identityToken).not.toBe(""); expect(lastTokenRequest.grantType).toBe("authorization_code"); expect(lastTokenRequest.pkceUsed).toBe(false); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(body.authorization).toBe(`Bearer ${tokens.accessToken}`); }); diff --git a/packages/insomnia-test/tests/http-request/oauth2-client-credentials.spec.ts b/packages/insomnia-test/tests/http-request/oauth2-client-credentials.spec.ts index 9daadff8c4..0dfd3b0555 100644 --- a/packages/insomnia-test/tests/http-request/oauth2-client-credentials.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth2-client-credentials.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { AuthTypeOAuth2 } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { AuthTypeOAuth2 } from "../../models/http-request"; +import { Project } from "../../models/project"; + test("Verify Client Credentials grant fetches tokens with no popup and authorizes the sent request", async ({ user, insomnia, @@ -46,11 +47,11 @@ test("Verify Client Credentials grant fetches tokens with no popup and authorize ).json(); const responseView = await httpRequestFlow.send(request); - const body = responseView.preview as { authorization?: string }; + const body = responseView.body as { authorization?: string }; expect(tokens.accessToken).not.toBe(""); expect(windowsAfterFetch).toBe(windowsBeforeFetch); expect(lastTokenRequest.grantType).toBe("client_credentials"); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(body.authorization).toBe(`Bearer ${tokens.accessToken}`); }); diff --git a/packages/insomnia-test/tests/http-request/oauth2-folder-inherited-auth.spec.ts b/packages/insomnia-test/tests/http-request/oauth2-folder-inherited-auth.spec.ts index 65caeec89e..c7d41dea1b 100644 --- a/packages/insomnia-test/tests/http-request/oauth2-folder-inherited-auth.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth2-folder-inherited-auth.spec.ts @@ -1,13 +1,14 @@ import { faker } from "@faker-js/faker"; -import { AuthType } from "@package/enums/auth-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Folder } from "@package/models/folder"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { AuthType } from "../../enums/auth-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Folder } from "../../models/folder"; +import { Project } from "../../models/project"; + test("Verify a request set to Inherit from parent picks up its folder's OAuth 2.0 authentication", async ({ user, }) => { @@ -44,9 +45,9 @@ test("Verify a request set to Inherit from parent picks up its folder's OAuth 2. await httpRequestPage.auth.setAuthType(AuthType.Inherit); const responseView = await httpRequestFlow.send(request); - const body = responseView.preview as { authorization?: string }; + const body = responseView.body as { authorization?: string }; expect(folderTokens.accessToken).not.toBe(""); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(body.authorization).toBe(`Bearer ${folderTokens.accessToken}`); }); diff --git a/packages/insomnia-test/tests/http-request/oauth2-implicit.spec.ts b/packages/insomnia-test/tests/http-request/oauth2-implicit.spec.ts index d2265168cf..8de3fac64e 100644 --- a/packages/insomnia-test/tests/http-request/oauth2-implicit.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth2-implicit.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { OAUTH2_CLIENT_ID, OAUTH2_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { AuthTypeOAuth2 } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { OAUTH2_CLIENT_ID, OAUTH2_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { AuthTypeOAuth2 } from "../../models/http-request"; +import { Project } from "../../models/project"; + test("Verify Implicit grant with response type ID Token fetches only an identity token", async ({ user, }) => { @@ -75,10 +76,10 @@ test("Verify Implicit grant with response type ID and Access Token authorizes th const tokens = await httpRequestFlow.fetchOAuth2Tokens(request); const responseView = await httpRequestFlow.send(request); - const body = responseView.preview as { authorization?: string }; + const body = responseView.body as { authorization?: string }; expect(tokens.identityToken).not.toBe(""); expect(tokens.accessToken).not.toBe(""); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(body.authorization).toBe(`Bearer ${tokens.accessToken}`); }); diff --git a/packages/insomnia-test/tests/http-request/oauth2-password.spec.ts b/packages/insomnia-test/tests/http-request/oauth2-password.spec.ts index edcbb85c64..cd1d8021d6 100644 --- a/packages/insomnia-test/tests/http-request/oauth2-password.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth2-password.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_PASSWORD, OAUTH2_SERVER, OAUTH2_USERNAME, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { AuthTypeOAuth2 } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_PASSWORD, OAUTH2_SERVER, OAUTH2_USERNAME, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { AuthTypeOAuth2 } from "../../models/http-request"; +import { Project } from "../../models/project"; + test("Verify Resource Owner Password Credentials grant fetches tokens with no popup and authorizes the sent request", async ({ user, insomnia, @@ -48,12 +49,12 @@ test("Verify Resource Owner Password Credentials grant fetches tokens with no po ).json(); const responseView = await httpRequestFlow.send(request); - const body = responseView.preview as { authorization?: string }; + const body = responseView.body as { authorization?: string }; expect(tokens.accessToken).not.toBe(""); expect(tokens.refreshToken).not.toBe(""); expect(windowsAfterFetch).toBe(windowsBeforeFetch); expect(lastTokenRequest.grantType).toBe("password"); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(body.authorization).toBe(`Bearer ${tokens.accessToken}`); }); diff --git a/packages/insomnia-test/tests/http-request/oauth2-token-refresh-clear.spec.ts b/packages/insomnia-test/tests/http-request/oauth2-token-refresh-clear.spec.ts index 7946749ebf..0360eb31af 100644 --- a/packages/insomnia-test/tests/http-request/oauth2-token-refresh-clear.spec.ts +++ b/packages/insomnia-test/tests/http-request/oauth2-token-refresh-clear.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { AuthTypeOAuth2 } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, OAUTH2_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { AuthTypeOAuth2 } from "../../models/http-request"; +import { Project } from "../../models/project"; + test("Verify refreshing an existing OAuth 2.0 token issues a new access token without reopening the authorization window", async ({ user, insomnia, diff --git a/packages/insomnia-test/tests/http-request/pre-request-script-async-completion.spec.ts b/packages/insomnia-test/tests/http-request/pre-request-script-async-completion.spec.ts index c4688ea4a9..4412756d7d 100644 --- a/packages/insomnia-test/tests/http-request/pre-request-script-async-completion.spec.ts +++ b/packages/insomnia-test/tests/http-request/pre-request-script-async-completion.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify pending async work in a pre-request script (Promise, setTimeout, sendRequest callback/await) is settled before the request is sent, and a synchronous replaceIn call in the same script is unaffected by it", async ({ @@ -76,8 +77,8 @@ test("Verify pending async work in a pre-request script (Promise, setTimeout, se }); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ json: { asyncDoneViaPromise: true, asyncDoneViaTimeout: true, diff --git a/packages/insomnia-test/tests/http-request/pre-request-script-cookies.spec.ts b/packages/insomnia-test/tests/http-request/pre-request-script-cookies.spec.ts index af5eaae532..21ca5962ba 100644 --- a/packages/insomnia-test/tests/http-request/pre-request-script-cookies.spec.ts +++ b/packages/insomnia-test/tests/http-request/pre-request-script-cookies.spec.ts @@ -1,11 +1,12 @@ import { faker } from '@faker-js/faker'; -import { HttpMethod } from '@package/enums/http-method'; -import { ProjectType } from '@package/enums/project-types'; -import { HTTP_SERVER, test } from '@package/misc/fixtures'; -import { Collection } from '@package/models/collection'; -import { Project } from '@package/models/project'; import { expect } from "@playwright/test"; +import { HttpMethod } from '../../enums/http-method'; +import { ProjectType } from '../../enums/project-types'; +import { HTTP_SERVER, test } from '../../misc/fixtures'; +import { Collection } from '../../models/collection'; +import { Project } from '../../models/project'; + test('Verify pre-request script manages cookies via insomnia.cookies.jar() and they are sent with the request', async ({ user, }) => { @@ -34,8 +35,8 @@ test('Verify pre-request script manages cookies via insomnia.cookies.jar() and t }); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toEqual({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toEqual({ cookies: { [keptName]: keptValue, [objectName]: objectValue }, }); }); diff --git a/packages/insomnia-test/tests/http-request/pre-request-script-custom-error.spec.ts b/packages/insomnia-test/tests/http-request/pre-request-script-custom-error.spec.ts index 1eb3d22c57..c52326cc35 100644 --- a/packages/insomnia-test/tests/http-request/pre-request-script-custom-error.spec.ts +++ b/packages/insomnia-test/tests/http-request/pre-request-script-custom-error.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify a thrown error in pre-request script surfaces in the response console", async ({ @@ -31,7 +32,7 @@ test("Verify a thrown error in pre-request script surfaces in the response conso const responseView = await httpRequestFlow.send(request); await expect - .poll(() => responseView.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseView.console?.(), { timeout: DEFAULT_TIMEOUT }) .toContain(errorMessage); }); @@ -57,6 +58,6 @@ test("Verify accessing an invalid field in pre-request script surfaces in the re const responseView = await httpRequestFlow.send(request); await expect - .poll(() => responseView.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseView.console?.(), { timeout: DEFAULT_TIMEOUT }) .toContain("Cannot read properties of undefined (reading 'set')"); }); diff --git a/packages/insomnia-test/tests/http-request/pre-request-script-environment-variables.spec.ts b/packages/insomnia-test/tests/http-request/pre-request-script-environment-variables.spec.ts index c717c08310..86ac2aca7e 100644 --- a/packages/insomnia-test/tests/http-request/pre-request-script-environment-variables.spec.ts +++ b/packages/insomnia-test/tests/http-request/pre-request-script-environment-variables.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify pre-request script overrides base environment values through the environment chain and persists set/get variables", async ({ @@ -60,8 +61,8 @@ test("Verify pre-request script overrides base environment values through the en }); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ json: { fallbackToBase: fallbackValue, scriptValue: envScriptValue, diff --git a/packages/insomnia-test/tests/http-request/pre-request-script-eval-and-modules.spec.ts b/packages/insomnia-test/tests/http-request/pre-request-script-eval-and-modules.spec.ts index 37fbdcd03d..1f017e857c 100644 --- a/packages/insomnia-test/tests/http-request/pre-request-script-eval-and-modules.spec.ts +++ b/packages/insomnia-test/tests/http-request/pre-request-script-eval-and-modules.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify pre-request script can eval() and require Node built-in modules, external modules, and insomnia-collection classes", async ({ @@ -99,8 +100,8 @@ test("Verify pre-request script can eval() and require Node built-in modules, ex }); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ json: { evalResult: 16, hash: parsedUrl.hash, diff --git a/packages/insomnia-test/tests/http-request/pre-request-script-request-manipulation.spec.ts b/packages/insomnia-test/tests/http-request/pre-request-script-request-manipulation.spec.ts index f783bc9383..702708b600 100644 --- a/packages/insomnia-test/tests/http-request/pre-request-script-request-manipulation.spec.ts +++ b/packages/insomnia-test/tests/http-request/pre-request-script-request-manipulation.spec.ts @@ -1,11 +1,12 @@ import { faker } from '@faker-js/faker'; -import { HttpMethod } from '@package/enums/http-method'; -import { ProjectType } from '@package/enums/project-types'; -import { HTTP_SERVER, test } from '@package/misc/fixtures'; -import { Collection } from '@package/models/collection'; -import { Project } from '@package/models/project'; import { expect } from "@playwright/test"; +import { HttpMethod } from '../../enums/http-method'; +import { ProjectType } from '../../enums/project-types'; +import { HTTP_SERVER, test } from '../../misc/fixtures'; +import { Collection } from '../../models/collection'; +import { Project } from '../../models/project'; + const url = `${HTTP_SERVER}/post`; test('Verify pre-request script manipulates request headers, query params and body via insomnia.request', async ({ @@ -40,8 +41,8 @@ test('Verify pre-request script manipulates request headers, query params and bo }); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ data: rawContent, args: { added: addedParam, keepMe: updatedParam }, headers: expect.objectContaining({ @@ -49,8 +50,8 @@ test('Verify pre-request script manipulates request headers, query params and bo 'x-upsert': upsertedValue, }), }); - expect((responseView.preview as { args: Record; headers: object }).args).not.toHaveProperty('removeMe'); - expect((responseView.preview as { args: Record; headers: object }).headers).not.toHaveProperty('x-remove'); + expect((responseView.body as { args: Record; headers: object }).args).not.toHaveProperty('removeMe'); + expect((responseView.body as { args: Record; headers: object }).headers).not.toHaveProperty('x-remove'); }); test('Verify pre-request script sets bearer auth via insomnia.request.auth', async ({ user }) => { @@ -77,8 +78,8 @@ test('Verify pre-request script sets bearer auth via insomnia.request.auth', asy }); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ headers: expect.objectContaining({ authorization: `${prefix} ${token}`, }), @@ -110,8 +111,8 @@ test('Verify pre-request script sets basic auth via insomnia.request.auth', asyn const responseView = await httpRequestFlow.send(request); const expectedEncodedCredentials = Buffer.from(`${username}:${password}`, 'utf8').toString('base64'); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ headers: expect.objectContaining({ authorization: `Basic ${expectedEncodedCredentials}`, }), @@ -155,11 +156,11 @@ test('Verify pre-request script applies apikey, AWS v4, Hawk and OAuth 1.0 auth responses[authName] = await httpRequestFlow.send(request); } - const headersOf = (name: string) => (responses[name].preview as { headers: Record }).headers; + const headersOf = (name: string) => (responses[name].body as { headers: Record }).headers; expect(headersOf('apiKeyHeader')).toMatchObject({ [apiKeyName.toLowerCase()]: apiKeyValue, }); - expect(responses.apiKeyQuery.preview).toMatchObject({ + expect(responses.apiKeyQuery.body).toMatchObject({ args: { [apiKeyName]: apiKeyValue }, }); expect(headersOf('awsV4').authorization).toContain(`AWS4-HMAC-SHA256 Credential=${accessKey}/`); diff --git a/packages/insomnia-test/tests/http-request/pre-request-script-send-request-body-modes.spec.ts b/packages/insomnia-test/tests/http-request/pre-request-script-send-request-body-modes.spec.ts index f8d1a0af17..b403d899f3 100644 --- a/packages/insomnia-test/tests/http-request/pre-request-script-send-request-body-modes.spec.ts +++ b/packages/insomnia-test/tests/http-request/pre-request-script-send-request-body-modes.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify pre-request script's sendRequest serializes raw, urlencoded, graphql, and formdata bodies correctly", async ({ @@ -49,14 +50,14 @@ test("Verify pre-request script's sendRequest serializes raw, urlencoded, graphq const responseView = await httpRequestFlow.send(request); const results = ( - responseView.preview as { json: { results: Record } } + responseView.body as { json: { results: Record } } ).json.results; const raw = JSON.parse(results.raw); const urlencoded = JSON.parse(results.urlencoded); const graphql = JSON.parse(results.graphql); const formdata = JSON.parse(results.formdata); - expect(responseView.statusBar.code).toBe(200); + expect(responseView.statusCode).toBe(200); expect(raw.data).toBe(rawValue); expect(urlencoded.data).toBe("a=1&b=2"); expect(graphql.json).toMatchObject({ diff --git a/packages/insomnia-test/tests/http-request/query-method.spec.ts b/packages/insomnia-test/tests/http-request/query-method.spec.ts index 1b1e59aa98..4584976f49 100644 --- a/packages/insomnia-test/tests/http-request/query-method.spec.ts +++ b/packages/insomnia-test/tests/http-request/query-method.spec.ts @@ -1,14 +1,15 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { CurlCommand } from "@package/models/curl-command"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { CurlCommand } from "../../models/curl-command"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; const body = `{"title": "${faker.string.alphanumeric(8)}"}`; const command = `curl -X QUERY "${url}" -H "Content-Type: application/json" -d '${body}'`; @@ -36,6 +37,6 @@ test("Verify sending a QUERY request with a body", async ({ user }) => { method: HttpMethod.Query, body: { mimeType: ContentType.JSON, text: body }, } satisfies HttpRequest); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ data: body }); + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ data: body }); }); diff --git a/packages/insomnia-test/tests/http-request/query-params-transformed-correctly.spec.ts b/packages/insomnia-test/tests/http-request/query-params-transformed-correctly.spec.ts index 5e08c18fbb..332433dd72 100644 --- a/packages/insomnia-test/tests/http-request/query-params-transformed-correctly.spec.ts +++ b/packages/insomnia-test/tests/http-request/query-params-transformed-correctly.spec.ts @@ -1,12 +1,13 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { EnvironmentKvPairDataType } from "@package/models/environment"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { EnvironmentKvPairDataType } from "../../models/environment"; +import { Project } from "../../models/project"; + test("Verify query params from the URL, template tags, and the Parameters tab are merged and special characters are escaped correctly", async ({ user, }) => { @@ -52,21 +53,20 @@ test("Verify query params from the URL, template tags, and the Parameters tab ar name: faker.string.alphanumeric(10), method: HttpMethod.Post, url: `${HTTP_SERVER}/post?key=fromUrl&key={{ fromUrlValue }}`, + params: [ + { name: "key", value: "{{ fromEditorValue }}" }, + { name: "key", value: "/" }, + { name: "space", value: spaceValue }, + { name: "ampersand", value: ampersandValue }, + { name: "equals", value: equalsValue }, + { name: "hash", value: hashValue }, + { name: "chinese", value: chineseValue }, + ], }); - - await httpRequestFlow.setParamsBulk(request, [ - { name: "key", value: "{{ fromEditorValue }}" }, - { name: "key", value: "/" }, - { name: "space", value: spaceValue }, - { name: "ampersand", value: ampersandValue }, - { name: "equals", value: equalsValue }, - { name: "hash", value: hashValue }, - { name: "chinese", value: chineseValue }, - ]); const responseView = await httpRequestFlow.send(request); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ args: { key: ["fromUrl", fromUrlValue, fromEditorValue, "/"], space: spaceValue, diff --git a/packages/insomnia-test/tests/http-request/replace-in-synchronous-behavior.spec.ts b/packages/insomnia-test/tests/http-request/replace-in-synchronous-behavior.spec.ts index 84ed3fe7af..d1bec6f7a2 100644 --- a/packages/insomnia-test/tests/http-request/replace-in-synchronous-behavior.spec.ts +++ b/packages/insomnia-test/tests/http-request/replace-in-synchronous-behavior.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { DEFAULT_TIMEOUT, HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify insomnia.environment.replaceIn resolves and returns a string synchronously", async ({ @@ -36,9 +37,9 @@ test("Verify insomnia.environment.replaceIn resolves and returns a string synchr const responseView = await httpRequestFlow.send(request); await expect - .poll(() => responseView.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseView.console?.(), { timeout: DEFAULT_TIMEOUT }) .toContain(`log: string ${variableValue}`); - const consoleText = await responseView.console(); + const consoleText = await responseView.console?.(); expect(consoleText).not.toContain("Promise"); }); @@ -70,6 +71,6 @@ test("Verify a script that awaits insomnia.environment.replaceIn as a workaround const responseView = await httpRequestFlow.send(request); await expect - .poll(() => responseView.console(), { timeout: DEFAULT_TIMEOUT }) + .poll(() => responseView.console?.(), { timeout: DEFAULT_TIMEOUT }) .toContain(`log: string ${variableValue}`); }); diff --git a/packages/insomnia-test/tests/template-tag/cookie-tag-reads-linked-cookie.spec.ts b/packages/insomnia-test/tests/template-tag/cookie-tag-reads-linked-cookie.spec.ts index f5344b4d1b..7861830902 100644 --- a/packages/insomnia-test/tests/template-tag/cookie-tag-reads-linked-cookie.spec.ts +++ b/packages/insomnia-test/tests/template-tag/cookie-tag-reads-linked-cookie.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify the cookie Tag Reads a Value from a Linked Cookie", async ({ user, }) => { diff --git a/packages/insomnia-test/tests/template-tag/edit-existing-tag-argument.spec.ts b/packages/insomnia-test/tests/template-tag/edit-existing-tag-argument.spec.ts index 7111a018f1..aa9690a49c 100644 --- a/packages/insomnia-test/tests/template-tag/edit-existing-tag-argument.spec.ts +++ b/packages/insomnia-test/tests/template-tag/edit-existing-tag-argument.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify Switching an Existing Tag's Argument Updates its Live Preview", async ({ user, }) => { diff --git a/packages/insomnia-test/tests/template-tag/external-vault-credentials.spec.ts b/packages/insomnia-test/tests/template-tag/external-vault-credentials.spec.ts index 34ec0ead41..4f25e1d005 100644 --- a/packages/insomnia-test/tests/template-tag/external-vault-credentials.spec.ts +++ b/packages/insomnia-test/tests/template-tag/external-vault-credentials.spec.ts @@ -1,13 +1,18 @@ import { faker } from "@faker-js/faker"; -import { ContentType } from "@package/enums/content-type"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import type { HttpRequest } from "@package/models/http-request"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; -import type { AWSCredentialType, HashiCorpCredentialType, HashiCorpVaultAuthMethod } from "insomnia-data"; +import { + AWSCredentialType, + HashiCorpCredentialType, + HashiCorpVaultAuthMethod, +} from "insomnia-data"; + +import { ContentType } from "../../enums/content-type"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import type { HttpRequest } from "../../models/http-request"; +import { Project } from "../../models/project"; test("Verify AWS/GCP/HashiCorp Cloud Credentials Resolve via the Vault Template Tag", async ({ user, @@ -34,7 +39,7 @@ test("Verify AWS/GCP/HashiCorp Cloud Credentials Resolve via the Vault Template provider: "aws", name: awsCredentialName, credentials: { - type: "file" as AWSCredentialType.file, + type: AWSCredentialType.file, section: faker.string.alphanumeric(8), region: faker.string.alphanumeric(8), }, @@ -48,8 +53,8 @@ test("Verify AWS/GCP/HashiCorp Cloud Credentials Resolve via the Vault Template provider: "hashicorp", name: hashicorpCredentialName, credentials: { - type: "onPrem" as HashiCorpCredentialType.onPrem, - authMethod: "appRole" as HashiCorpVaultAuthMethod.appRole, + type: HashiCorpCredentialType.onPrem, + authMethod: HashiCorpVaultAuthMethod.appRole, serverAddress: "http://127.0.0.1", role_id: faker.string.alphanumeric(8), secret_id: faker.string.alphanumeric(8), @@ -94,12 +99,12 @@ test("Verify AWS/GCP/HashiCorp Cloud Credentials Resolve via the Vault Template expect(awsResult.preview).toBe("aws-secret-value"); expect(gcpResult.preview).toBe("gcp-secret-value"); expect(hashicorpResult.preview).toBe("hashicorp-secret-value"); - expect((responseView.preview as { data: string }).data).toContain("aws-secret-value"); - expect((responseView.preview as { data: string }).data).toContain("gcp-secret-value"); - expect((responseView.preview as { data: string }).data).toContain( + expect((responseView.body as { data: string }).data).toContain("aws-secret-value"); + expect((responseView.body as { data: string }).data).toContain("gcp-secret-value"); + expect((responseView.body as { data: string }).data).toContain( "hashicorp-secret-value", ); - expect((secondResponse.preview as { data: string }).data).toContain( + expect((secondResponse.body as { data: string }).data).toContain( "aws-secret-value", ); }); diff --git a/packages/insomnia-test/tests/template-tag/file-tag-reads-allowed-file/file-tag-reads-allowed-file.spec.ts b/packages/insomnia-test/tests/template-tag/file-tag-reads-allowed-file/file-tag-reads-allowed-file.spec.ts index afc0d2c506..f8c43597d6 100644 --- a/packages/insomnia-test/tests/template-tag/file-tag-reads-allowed-file/file-tag-reads-allowed-file.spec.ts +++ b/packages/insomnia-test/tests/template-tag/file-tag-reads-allowed-file/file-tag-reads-allowed-file.spec.ts @@ -1,14 +1,15 @@ import path from "node:path"; import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; -const filePath = path.join(import.meta.dirname, "fixture.txt"); +import { HttpMethod } from "../../../enums/http-method"; +import { ProjectType } from "../../../enums/project-types"; +import { test } from "../../../misc/fixtures"; +import { Collection } from "../../../models/collection"; +import { Project } from "../../../models/project"; + +const filePath = path.join(__dirname, "fixture.txt"); test("Verify the file Tag Reads Contents from an Allowed Folder", async ({ user, @@ -16,7 +17,7 @@ test("Verify the file Tag Reads Contents from an Allowed Folder", async ({ const { workspaceFlow, httpRequestFlow, preferencesFlow, templateTagFlow } = user.flowManager; - await preferencesFlow.set({ dataFolders: [import.meta.dirname] }); + await preferencesFlow.set({ dataFolders: [__dirname] }); const project = await workspaceFlow.createProject( new Project(faker.string.alphanumeric(10), ProjectType.Local), diff --git a/packages/insomnia-test/tests/template-tag/happy-path.spec.ts b/packages/insomnia-test/tests/template-tag/happy-path.spec.ts index 43e23aa1d9..c81380bc5e 100644 --- a/packages/insomnia-test/tests/template-tag/happy-path.spec.ts +++ b/packages/insomnia-test/tests/template-tag/happy-path.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify Inserting a Template Tag and Reading its Live Preview", async ({ user, }) => { diff --git a/packages/insomnia-test/tests/template-tag/header-name-template-tag-resolves.spec.ts b/packages/insomnia-test/tests/template-tag/header-name-template-tag-resolves.spec.ts index 4a041e3be6..75fa323786 100644 --- a/packages/insomnia-test/tests/template-tag/header-name-template-tag-resolves.spec.ts +++ b/packages/insomnia-test/tests/template-tag/header-name-template-tag-resolves.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + test("Verify a Header With a Templated Name Resolves and Sends Correctly", async ({ user, }) => { @@ -32,8 +33,8 @@ test("Verify a Header With a Templated Name Resolves and Sends Correctly", async }); const responseView = await httpRequestFlow.send(request!); - expect(responseView.statusBar.code).toBe(200); - expect(responseView.preview).toMatchObject({ + expect(responseView.statusCode).toBe(200); + expect(responseView.body).toMatchObject({ headers: expect.objectContaining({ "x-7cd8e9f98e9104085ea06e39b87faf36": "plain-value", }), diff --git a/packages/insomnia-test/tests/template-tag/header-templates.spec.ts b/packages/insomnia-test/tests/template-tag/header-templates.spec.ts index bdb91f73e9..93b0b2b553 100644 --- a/packages/insomnia-test/tests/template-tag/header-templates.spec.ts +++ b/packages/insomnia-test/tests/template-tag/header-templates.spec.ts @@ -1,11 +1,12 @@ import { faker } from "@faker-js/faker"; -import { HttpMethod } from "@package/enums/http-method"; -import { ProjectType } from "@package/enums/project-types"; -import { HTTP_SERVER, test } from "@package/misc/fixtures"; -import { Collection } from "@package/models/collection"; -import { Project } from "@package/models/project"; import { expect } from "@playwright/test"; +import { HttpMethod } from "../../enums/http-method"; +import { ProjectType } from "../../enums/project-types"; +import { HTTP_SERVER, test } from "../../misc/fixtures"; +import { Collection } from "../../models/collection"; +import { Project } from "../../models/project"; + const url = `${HTTP_SERVER}/post`; test("Verify a Header With a Template Tag in Its Value", async ({ user }) => { @@ -32,7 +33,7 @@ test("Verify a Header With a Template Tag in Its Value", async ({ user }) => { }); const responseView = await httpRequestFlow.send(request!); - expect(responseView.preview).toMatchObject({ + expect(responseView.body).toMatchObject({ headers: expect.objectContaining({ "x-header-name": "aGVhZGVyLXZhbHVl", }),