diff --git a/playwright/e2e/crypto/backups.spec.ts b/playwright/e2e/crypto/backups.spec.ts index 93da85b9b8..ff792f9785 100644 --- a/playwright/e2e/crypto/backups.spec.ts +++ b/playwright/e2e/crypto/backups.spec.ts @@ -27,7 +27,6 @@ async function expectBackupVersionToBe(page: Page, version: string) { // which is faster but leaves us without crypto set up. test.describe("Encryption state after registration", () => { test.use(masHomeserver); - test.skip(isDendrite, "does not yet support MAS"); test("Key backup is enabled by default", async ({ page, mailhogClient, app }) => { await page.goto("/#/login"); @@ -54,7 +53,6 @@ test.describe("Encryption state after registration", () => { test.describe("Key backup reset from elsewhere", () => { test.use(masHomeserver); - test.skip(isDendrite, "does not yet support MAS"); test("Key backup is disabled when reset from elsewhere", async ({ page, mailhogClient, request, homeserver }) => { const testUsername = "alice"; diff --git a/playwright/e2e/crypto/decryption-failure-messages.spec.ts b/playwright/e2e/crypto/decryption-failure-messages.spec.ts index e1952bfec6..529251b223 100644 --- a/playwright/e2e/crypto/decryption-failure-messages.spec.ts +++ b/playwright/e2e/crypto/decryption-failure-messages.spec.ts @@ -28,6 +28,8 @@ test.describe("Cryptography", function () { }); test.describe("decryption failure messages", () => { + test.skip(isDendrite, "Dendrite lacks support for MSC3967 so requires additional auth here"); + test("should handle device-relative historical messages", async ({ homeserver, page, diff --git a/playwright/e2e/oidc/oidc-native.spec.ts b/playwright/e2e/oidc/oidc-native.spec.ts index 60c5bbf025..7c3d7f84ff 100644 --- a/playwright/e2e/oidc/oidc-native.spec.ts +++ b/playwright/e2e/oidc/oidc-native.spec.ts @@ -9,12 +9,10 @@ Please see LICENSE files in the repository root for full details. import { test, expect } from "../../element-web-test.ts"; import { registerAccountMas } from "."; import { ElementAppPage } from "../../pages/ElementAppPage.ts"; -import { isDendrite } from "../../plugins/homeserver/dendrite"; import { masHomeserver } from "../../plugins/homeserver/synapse/masHomeserver.ts"; test.describe("OIDC Native", { tag: ["@no-firefox", "@no-webkit"] }, () => { test.use(masHomeserver); - test.skip(isDendrite, "does not yet support MAS"); test.slow(); // trace recording takes a while here test("can register the oauth2 client and an account", async ({ context, page, homeserver, mailhogClient, mas }) => { diff --git a/playwright/plugins/homeserver/synapse/consentHomeserver.ts b/playwright/plugins/homeserver/synapse/consentHomeserver.ts index 07d1fbbec2..348b6da4fe 100644 --- a/playwright/plugins/homeserver/synapse/consentHomeserver.ts +++ b/playwright/plugins/homeserver/synapse/consentHomeserver.ts @@ -8,10 +8,12 @@ Please see LICENSE files in the repository root for full details. import { Fixtures } from "@playwright/test"; -import { Services } from "../../../services.ts"; +import { Options, Services } from "../../../services.ts"; + +export const consentHomeserver: Fixtures = { + _homeserver: async ({ homeserverType, _homeserver: container, mailhog }, use, testInfo) => { + testInfo.skip(homeserverType !== "synapse", "does not yet support MAS"); -export const consentHomeserver: Fixtures = { - _homeserver: async ({ _homeserver: container, mailhog }, use) => { container .withCopyDirectoriesToContainer([ { source: "playwright/plugins/homeserver/synapse/res", target: "/data/res" }, diff --git a/playwright/plugins/homeserver/synapse/emailHomeserver.ts b/playwright/plugins/homeserver/synapse/emailHomeserver.ts index ab7affdee5..c9a5daea7a 100644 --- a/playwright/plugins/homeserver/synapse/emailHomeserver.ts +++ b/playwright/plugins/homeserver/synapse/emailHomeserver.ts @@ -8,10 +8,11 @@ Please see LICENSE files in the repository root for full details. import { Fixtures } from "@playwright/test"; -import { Services } from "../../../services.ts"; +import { Options, Services } from "../../../services.ts"; -export const emailHomeserver: Fixtures = { - _homeserver: async ({ _homeserver: container, mailhog }, use) => { +export const emailHomeserver: Fixtures = { + _homeserver: async ({ homeserverType, _homeserver: container, mailhog }, use, testInfo) => { + testInfo.skip(homeserverType !== "synapse", "does not yet support MAS"); container.withConfig({ enable_registration_without_verification: undefined, disable_msisdn_registration: undefined, diff --git a/playwright/plugins/homeserver/synapse/legacyOAuthHomeserver.ts b/playwright/plugins/homeserver/synapse/legacyOAuthHomeserver.ts index a6b39e0484..4dc165bb9b 100644 --- a/playwright/plugins/homeserver/synapse/legacyOAuthHomeserver.ts +++ b/playwright/plugins/homeserver/synapse/legacyOAuthHomeserver.ts @@ -9,11 +9,12 @@ Please see LICENSE files in the repository root for full details. import { Fixtures } from "@playwright/test"; import { TestContainers } from "testcontainers"; -import { Services } from "../../../services.ts"; +import { Options, Services } from "../../../services.ts"; import { OAuthServer } from "../../oauth_server"; -export const legacyOAuthHomeserver: Fixtures = { - _homeserver: async ({ _homeserver: container }, use) => { +export const legacyOAuthHomeserver: Fixtures = { + _homeserver: async ({ homeserverType, _homeserver: container }, use, testInfo) => { + testInfo.skip(homeserverType !== "synapse", "does not yet support MAS"); const server = new OAuthServer(); const port = server.start(); diff --git a/playwright/plugins/homeserver/synapse/masHomeserver.ts b/playwright/plugins/homeserver/synapse/masHomeserver.ts index cb144fcaee..4a4c331571 100644 --- a/playwright/plugins/homeserver/synapse/masHomeserver.ts +++ b/playwright/plugins/homeserver/synapse/masHomeserver.ts @@ -8,13 +8,15 @@ Please see LICENSE files in the repository root for full details. import { Fixtures, PlaywrightTestArgs } from "@playwright/test"; -import { Services } from "../../../services.ts"; +import { Options, Services } from "../../../services.ts"; import { Fixtures as BaseFixtures } from "../../../element-web-test.ts"; import { MatrixAuthenticationServiceContainer } from "../../../testcontainers/mas.ts"; -type Fixture = PlaywrightTestArgs & Services & BaseFixtures; +type Fixture = PlaywrightTestArgs & Services & BaseFixtures & Options; export const masHomeserver: Fixtures = { - mas: async ({ _homeserver: homeserver, logger, network, postgres, mailhog }, use) => { + mas: async ({ homeserverType, _homeserver: homeserver, logger, network, postgres, mailhog }, use, testInfo) => { + testInfo.skip(homeserverType !== "synapse", "does not yet support MAS"); + const config = { clients: [ {