Deflake more tests using existing username
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
@@ -19,19 +19,19 @@ test.use(masHomeserver);
|
|||||||
test.describe("Encryption state after registration", () => {
|
test.describe("Encryption state after registration", () => {
|
||||||
test.skip(isDendrite, "does not yet support MAS");
|
test.skip(isDendrite, "does not yet support MAS");
|
||||||
|
|
||||||
test("Key backup is enabled by default", async ({ page, mailhogClient, app }) => {
|
test("Key backup is enabled by default", async ({ page, mailhogClient, app }, testInfo) => {
|
||||||
await page.goto("/#/login");
|
await page.goto("/#/login");
|
||||||
await page.getByRole("button", { name: "Continue" }).click();
|
await page.getByRole("button", { name: "Continue" }).click();
|
||||||
await registerAccountMas(page, mailhogClient, "alice", "alice@email.com", "Pa$sW0rD!");
|
await registerAccountMas(page, mailhogClient, `alice_${testInfo.testId}`, "alice@email.com", "Pa$sW0rD!");
|
||||||
|
|
||||||
await app.settings.openUserSettings("Security & Privacy");
|
await app.settings.openUserSettings("Security & Privacy");
|
||||||
await expect(page.getByText("This session is backing up your keys.")).toBeVisible();
|
await expect(page.getByText("This session is backing up your keys.")).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("user is prompted to set up recovery", async ({ page, mailhogClient, app }) => {
|
test("user is prompted to set up recovery", async ({ page, mailhogClient, app }, testInfo) => {
|
||||||
await page.goto("/#/login");
|
await page.goto("/#/login");
|
||||||
await page.getByRole("button", { name: "Continue" }).click();
|
await page.getByRole("button", { name: "Continue" }).click();
|
||||||
await registerAccountMas(page, mailhogClient, "alice", "alice@email.com", "Pa$sW0rD!");
|
await registerAccountMas(page, mailhogClient, `alice_${testInfo.testId}`, "alice@email.com", "Pa$sW0rD!");
|
||||||
|
|
||||||
await page.getByRole("button", { name: "Add room" }).click();
|
await page.getByRole("button", { name: "Add room" }).click();
|
||||||
await page.getByRole("menuitem", { name: "New room" }).click();
|
await page.getByRole("menuitem", { name: "New room" }).click();
|
||||||
@@ -45,8 +45,13 @@ test.describe("Encryption state after registration", () => {
|
|||||||
test.describe("Key backup reset from elsewhere", () => {
|
test.describe("Key backup reset from elsewhere", () => {
|
||||||
test.skip(isDendrite, "does not yet support MAS");
|
test.skip(isDendrite, "does not yet support MAS");
|
||||||
|
|
||||||
test("Key backup is disabled when reset from elsewhere", async ({ page, mailhogClient, request, homeserver }) => {
|
test("Key backup is disabled when reset from elsewhere", async ({
|
||||||
const testUsername = "alice";
|
page,
|
||||||
|
mailhogClient,
|
||||||
|
request,
|
||||||
|
homeserver,
|
||||||
|
}, testInfo) => {
|
||||||
|
const testUsername = `alice_${testInfo.testId}`;
|
||||||
const testPassword = "Pa$sW0rD!";
|
const testPassword = "Pa$sW0rD!";
|
||||||
|
|
||||||
// there's a delay before keys are uploaded so the error doesn't appear immediately: use a fake
|
// there's a delay before keys are uploaded so the error doesn't appear immediately: use a fake
|
||||||
|
|||||||
@@ -17,13 +17,13 @@ test.use(legacyOAuthHomeserver);
|
|||||||
test.describe("SSO login", () => {
|
test.describe("SSO login", () => {
|
||||||
test.skip(isDendrite, "does not yet support SSO");
|
test.skip(isDendrite, "does not yet support SSO");
|
||||||
|
|
||||||
test("logs in with SSO and lands on the home screen", async ({ page, homeserver }) => {
|
test("logs in with SSO and lands on the home screen", async ({ page, homeserver }, testInfo) => {
|
||||||
// If this test fails with a screen showing "Timeout connecting to remote server", it is most likely due to
|
// If this test fails with a screen showing "Timeout connecting to remote server", it is most likely due to
|
||||||
// your firewall settings: Synapse is unable to reach the OIDC server.
|
// your firewall settings: Synapse is unable to reach the OIDC server.
|
||||||
//
|
//
|
||||||
// If you are using ufw, try something like:
|
// If you are using ufw, try something like:
|
||||||
// sudo ufw allow in on docker0
|
// sudo ufw allow in on docker0
|
||||||
//
|
//
|
||||||
await doTokenRegistration(page, homeserver);
|
await doTokenRegistration(page, homeserver, testInfo);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ test.use({
|
|||||||
test.use(legacyOAuthHomeserver);
|
test.use(legacyOAuthHomeserver);
|
||||||
test.describe("Soft logout with SSO user", () => {
|
test.describe("Soft logout with SSO user", () => {
|
||||||
test.use({
|
test.use({
|
||||||
user: async ({ page, homeserver }, use) => {
|
user: async ({ page, homeserver }, use, testInfo) => {
|
||||||
const user = await doTokenRegistration(page, homeserver);
|
const user = await doTokenRegistration(page, homeserver, testInfo);
|
||||||
|
|
||||||
// Eventually, we should end up at the home screen.
|
// Eventually, we should end up at the home screen.
|
||||||
await expect(page).toHaveURL(/\/#\/home$/);
|
await expect(page).toHaveURL(/\/#\/home$/);
|
||||||
|
|||||||
@@ -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.
|
Please see LICENSE files in the repository root for full details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Page, expect } from "@playwright/test";
|
import { Page, expect, TestInfo } from "@playwright/test";
|
||||||
|
|
||||||
import { Credentials, HomeserverInstance } from "../../plugins/homeserver";
|
import { Credentials, HomeserverInstance } from "../../plugins/homeserver";
|
||||||
|
|
||||||
@@ -15,6 +15,7 @@ import { Credentials, HomeserverInstance } from "../../plugins/homeserver";
|
|||||||
export async function doTokenRegistration(
|
export async function doTokenRegistration(
|
||||||
page: Page,
|
page: Page,
|
||||||
homeserver: HomeserverInstance,
|
homeserver: HomeserverInstance,
|
||||||
|
testInfo: TestInfo,
|
||||||
): Promise<Credentials & { displayName: string }> {
|
): Promise<Credentials & { displayName: string }> {
|
||||||
await page.goto("/#/login");
|
await page.goto("/#/login");
|
||||||
|
|
||||||
@@ -35,7 +36,7 @@ export async function doTokenRegistration(
|
|||||||
|
|
||||||
// Synapse prompts us to pick a user ID
|
// Synapse prompts us to pick a user ID
|
||||||
await expect(page.getByRole("heading", { name: "Create your account" })).toBeVisible();
|
await expect(page.getByRole("heading", { name: "Create your account" })).toBeVisible();
|
||||||
await page.getByRole("textbox", { name: "Username (required)" }).fill("alice");
|
await page.getByRole("textbox", { name: "Username (required)" }).fill(`alice_${testInfo.testId}`);
|
||||||
|
|
||||||
// wait for username validation to start, and complete
|
// wait for username validation to start, and complete
|
||||||
await expect(page.locator("#field-username-output")).toHaveText("");
|
await expect(page.locator("#field-username-output")).toHaveText("");
|
||||||
|
|||||||
@@ -17,7 +17,13 @@ test.describe("OIDC Native", { tag: ["@no-firefox", "@no-webkit"] }, () => {
|
|||||||
test.skip(isDendrite, "does not yet support MAS");
|
test.skip(isDendrite, "does not yet support MAS");
|
||||||
test.slow(); // trace recording takes a while here
|
test.slow(); // trace recording takes a while here
|
||||||
|
|
||||||
test("can register the oauth2 client and an account", async ({ context, page, homeserver, mailhogClient, mas }) => {
|
test("can register the oauth2 client and an account", async ({
|
||||||
|
context,
|
||||||
|
page,
|
||||||
|
homeserver,
|
||||||
|
mailhogClient,
|
||||||
|
mas,
|
||||||
|
}, testInfo) => {
|
||||||
const tokenUri = `${mas.baseUrl}/oauth2/token`;
|
const tokenUri = `${mas.baseUrl}/oauth2/token`;
|
||||||
const tokenApiPromise = page.waitForRequest(
|
const tokenApiPromise = page.waitForRequest(
|
||||||
(request) => request.url() === tokenUri && request.postDataJSON()["grant_type"] === "authorization_code",
|
(request) => request.url() === tokenUri && request.postDataJSON()["grant_type"] === "authorization_code",
|
||||||
@@ -25,7 +31,7 @@ test.describe("OIDC Native", { tag: ["@no-firefox", "@no-webkit"] }, () => {
|
|||||||
|
|
||||||
await page.goto("/#/login");
|
await page.goto("/#/login");
|
||||||
await page.getByRole("button", { name: "Continue" }).click();
|
await page.getByRole("button", { name: "Continue" }).click();
|
||||||
await registerAccountMas(page, mailhogClient, "alice", "alice@email.com", "Pa$sW0rD!");
|
await registerAccountMas(page, mailhogClient, `alice_${testInfo.testId}`, "alice@email.com", "Pa$sW0rD!");
|
||||||
|
|
||||||
// Eventually, we should end up at the home screen.
|
// Eventually, we should end up at the home screen.
|
||||||
await expect(page).toHaveURL(/\/#\/home$/, { timeout: 10000 });
|
await expect(page).toHaveURL(/\/#\/home$/, { timeout: 10000 });
|
||||||
|
|||||||
Reference in New Issue
Block a user