From f53dc363b04f500e0d5ff52977243fc657414c1d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Jan 2025 12:24:30 +0000 Subject: [PATCH 1/5] Fix yarn.lock Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- yarn.lock | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index e485fd59d2..89ba84b70e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3485,14 +3485,13 @@ "@vector-im/matrix-wysiwyg-wasm@link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.0-af862ffd231dc0a6b8d6f2cb3601e68456c0ff24-integrity/node_modules/bindings/wysiwyg-wasm": version "0.0.0" - uid "" "@vector-im/matrix-wysiwyg@2.38.0": version "2.38.0" resolved "https://registry.yarnpkg.com/@vector-im/matrix-wysiwyg/-/matrix-wysiwyg-2.38.0.tgz#af862ffd231dc0a6b8d6f2cb3601e68456c0ff24" integrity sha512-cMEVicFYVzFxuSyWON0aVGjAJMcgJZ+LxuLTEp8EGuu8cRacuh0RN5rapb11YVZygzFvE7X1cMedJ/fKd5vRLA== dependencies: - "@vector-im/matrix-wysiwyg-wasm" "link:../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.0-af862ffd231dc0a6b8d6f2cb3601e68456c0ff24-integrity/node_modules/bindings/wysiwyg-wasm" + "@vector-im/matrix-wysiwyg-wasm" "link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.0-af862ffd231dc0a6b8d6f2cb3601e68456c0ff24-integrity/node_modules/bindings/wysiwyg-wasm" "@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" From db73039b4809fd866b0cb7ecdbab9896c7836de6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Jan 2025 12:35:00 +0000 Subject: [PATCH 2/5] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- playwright/e2e/oidc/index.ts | 2 +- playwright/e2e/register/email.spec.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/playwright/e2e/oidc/index.ts b/playwright/e2e/oidc/index.ts index 7631939f00..9afa93fd70 100644 --- a/playwright/e2e/oidc/index.ts +++ b/playwright/e2e/oidc/index.ts @@ -32,7 +32,7 @@ export async function registerAccountMas( summary = await mailpit.listMessages(); expect(summary.messages_count).toBe(1); }).toPass(); - expect(summary.messages[0].To).toEqual(`${username} <${email}>`); + expect(summary.messages[0].To[0].Address).toEqual(email); const [, code] = summary.messages[0].Snippet.match( /Your verification code to confirm this email address is: (\d{6})/, ); diff --git a/playwright/e2e/register/email.spec.ts b/playwright/e2e/register/email.spec.ts index f1346af295..5125c70f64 100644 --- a/playwright/e2e/register/email.spec.ts +++ b/playwright/e2e/register/email.spec.ts @@ -53,7 +53,7 @@ test.describe("Email Registration", async () => { const summary = await mailpitClient.listMessages(); expect(summary.messages_count).toBe(1); - expect(summary.messages[0].To).toEqual("alice@email.com"); + expect(summary.messages[0].To[0].Address).toEqual("alice@email.com"); const [emailLink] = summary.messages[0].Snippet.match(/http.+/); await request.get(emailLink); // "Click" the link in the email From 23c4652c9c5d1d972f23091d767bf6142ef53d6e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Jan 2025 13:01:30 +0000 Subject: [PATCH 3/5] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- playwright/e2e/oidc/index.ts | 10 +++------- playwright/e2e/register/email.spec.ts | 7 +++---- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/playwright/e2e/oidc/index.ts b/playwright/e2e/oidc/index.ts index 9afa93fd70..5efc245309 100644 --- a/playwright/e2e/oidc/index.ts +++ b/playwright/e2e/oidc/index.ts @@ -27,15 +27,11 @@ export async function registerAccountMas( await page.getByRole("textbox", { name: "Confirm Password" }).fill(password); await page.getByRole("button", { name: "Continue" }).click(); - let summary: MailpitMessagesSummaryResponse; + let code: string; await expect(async () => { - summary = await mailpit.listMessages(); - expect(summary.messages_count).toBe(1); + const text = await mailpit.renderMessageText(); + [, code] = text.match(/Your verification code to confirm this email address is: (\d{6})/); }).toPass(); - expect(summary.messages[0].To[0].Address).toEqual(email); - const [, code] = summary.messages[0].Snippet.match( - /Your verification code to confirm this email address is: (\d{6})/, - ); await page.getByRole("textbox", { name: "6-digit code" }).fill(code); await page.getByRole("button", { name: "Continue" }).click(); diff --git a/playwright/e2e/register/email.spec.ts b/playwright/e2e/register/email.spec.ts index 5125c70f64..5ef45ec8fd 100644 --- a/playwright/e2e/register/email.spec.ts +++ b/playwright/e2e/register/email.spec.ts @@ -51,10 +51,9 @@ test.describe("Email Registration", async () => { await expect(page.getByText("An error was encountered when sending the email")).not.toBeVisible(); - const summary = await mailpitClient.listMessages(); - expect(summary.messages_count).toBe(1); - expect(summary.messages[0].To[0].Address).toEqual("alice@email.com"); - const [emailLink] = summary.messages[0].Snippet.match(/http.+/); + const { Links: links } = await mailpitClient.linkCheck(); + expect(links).toHaveLength(1); + const emailLink = links[0].URL; await request.get(emailLink); // "Click" the link in the email await expect(page.getByText("Welcome alice")).toBeVisible(); From 9df36659c459f9625e30225ea91514172b1e39f5 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Jan 2025 13:06:10 +0000 Subject: [PATCH 4/5] delint Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- playwright/e2e/oidc/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/e2e/oidc/index.ts b/playwright/e2e/oidc/index.ts index 5efc245309..ebcf395d47 100644 --- a/playwright/e2e/oidc/index.ts +++ b/playwright/e2e/oidc/index.ts @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { MailpitClient, MailpitMessagesSummaryResponse } from "mailpit-api"; +import { MailpitClient } from "mailpit-api"; import { Page } from "@playwright/test"; import { expect } from "../../element-web-test"; From 0d7963681e5b6a0da41fc3ce3314b9a63bf31f33 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Jan 2025 13:47:59 +0000 Subject: [PATCH 5/5] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- playwright/e2e/oidc/index.ts | 4 +++- playwright/e2e/register/email.spec.ts | 8 +++++--- playwright/testcontainers/mailpit.ts | 5 ++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/playwright/e2e/oidc/index.ts b/playwright/e2e/oidc/index.ts index ebcf395d47..1dcae1c21d 100644 --- a/playwright/e2e/oidc/index.ts +++ b/playwright/e2e/oidc/index.ts @@ -29,7 +29,9 @@ export async function registerAccountMas( let code: string; await expect(async () => { - const text = await mailpit.renderMessageText(); + const messages = await mailpit.listMessages(); + expect(messages.messages[0].To[0].Address).toEqual(email); + const text = await mailpit.renderMessageText(messages.messages[0].ID); [, code] = text.match(/Your verification code to confirm this email address is: (\d{6})/); }).toPass(); diff --git a/playwright/e2e/register/email.spec.ts b/playwright/e2e/register/email.spec.ts index 5ef45ec8fd..d351893f8b 100644 --- a/playwright/e2e/register/email.spec.ts +++ b/playwright/e2e/register/email.spec.ts @@ -51,9 +51,11 @@ test.describe("Email Registration", async () => { await expect(page.getByText("An error was encountered when sending the email")).not.toBeVisible(); - const { Links: links } = await mailpitClient.linkCheck(); - expect(links).toHaveLength(1); - const emailLink = links[0].URL; + const messages = await mailpitClient.listMessages(); + expect(messages.messages).toHaveLength(1); + expect(messages.messages[0].To[0].Address).toEqual("alice@email.com"); + const text = await mailpitClient.renderMessageText(messages.messages[0].ID); + const [emailLink] = text.match(/http.+/); await request.get(emailLink); // "Click" the link in the email await expect(page.getByText("Welcome alice")).toBeVisible(); diff --git a/playwright/testcontainers/mailpit.ts b/playwright/testcontainers/mailpit.ts index 94fbb42c83..c4c025c05c 100644 --- a/playwright/testcontainers/mailpit.ts +++ b/playwright/testcontainers/mailpit.ts @@ -12,7 +12,10 @@ export class MailhogContainer extends GenericContainer { constructor() { super("axllent/mailpit:latest"); - this.withExposedPorts(8025).withWaitStrategy(Wait.forListeningPorts()); + this.withExposedPorts(8025).withWaitStrategy(Wait.forListeningPorts()).withEnvironment({ + MP_SMTP_AUTH_ALLOW_INSECURE: "true", + MP_SMTP_AUTH_ACCEPT_ANY: "true", + }); } public override async start(): Promise {