mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-09 23:12:06 -03:30
Adjust the test to dynamically remove all sessions
This will handle even those sessions created by other tests. Closes #41545 Signed-off-by: Alexander Schwartz <aschwart@redhat.com>
This commit is contained in:
parent
e7c98a4714
commit
c1b00ac15a
@ -25,11 +25,20 @@ test.describe("Sign out test", () => {
|
||||
page2.getByTestId("account-security/device-activity"),
|
||||
).toBeVisible();
|
||||
await page2.getByTestId("account-security/device-activity").click();
|
||||
await expect(page2.getByTestId("row-0")).toContainText("Current session");
|
||||
const count = await page2
|
||||
.locator('[aria-label="device-sessions-content"]')
|
||||
.count();
|
||||
|
||||
await page2
|
||||
.getByRole("button", { name: "Sign out", exact: true })
|
||||
.click();
|
||||
await page2.getByRole("button", { name: "Confirm" }).click();
|
||||
for (let i = 0; i < count - 1; ++i) {
|
||||
await page2
|
||||
.getByRole("button", { name: "Sign out", exact: true })
|
||||
.first()
|
||||
.click();
|
||||
await page2.getByRole("button", { name: "Confirm" }).click();
|
||||
await page2.getByText("Signed out").isVisible();
|
||||
await page2.getByTestId("global-alerts").locator("button").click();
|
||||
}
|
||||
|
||||
// reload pages in browsers, one should stay logged in, the other should be logged out
|
||||
await page1.reload();
|
||||
@ -63,6 +72,9 @@ test.describe("Sign out test", () => {
|
||||
.getByRole("button", { name: "Sign out all devices", exact: true })
|
||||
.click();
|
||||
await page2.getByRole("button", { name: "Confirm" }).click();
|
||||
await expect(
|
||||
page2.getByRole("heading", { name: "Sign in to your account" }),
|
||||
).toBeVisible();
|
||||
|
||||
// reload pages in browsers, one should stay logged in, the other should be logged out
|
||||
await page1.reload();
|
||||
|
||||
@ -1,15 +1,23 @@
|
||||
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
||||
import { test as setup } from "@playwright/test";
|
||||
|
||||
import { importRealm } from "./admin-client";
|
||||
import { deleteRealm, importRealm } from "./admin-client";
|
||||
import groupsRealm from "./realms/groups-realm.json" assert { type: "json" };
|
||||
import resourcesRealm from "./realms/resources-realm.json" assert { type: "json" };
|
||||
import userProfileRealm from "./realms/user-profile-realm.json" assert { type: "json" };
|
||||
import verifiableCredentialsRealm from "./realms/verifiable-credentials-realm.json" assert { type: "json" };
|
||||
|
||||
setup("import realm", async () => {
|
||||
await importRealm(groupsRealm as RealmRepresentation);
|
||||
await importRealm(resourcesRealm as RealmRepresentation);
|
||||
await importRealm(userProfileRealm as RealmRepresentation);
|
||||
await importRealm(verifiableCredentialsRealm as RealmRepresentation);
|
||||
await Promise.allSettled([
|
||||
deleteRealm(groupsRealm.realm),
|
||||
deleteRealm(resourcesRealm.realm),
|
||||
deleteRealm(userProfileRealm.realm),
|
||||
deleteRealm(verifiableCredentialsRealm.realm),
|
||||
]);
|
||||
await Promise.all([
|
||||
importRealm(groupsRealm),
|
||||
importRealm(resourcesRealm as RealmRepresentation),
|
||||
importRealm(userProfileRealm),
|
||||
importRealm(verifiableCredentialsRealm as RealmRepresentation),
|
||||
]);
|
||||
});
|
||||
|
||||
@ -1,9 +1,15 @@
|
||||
import { test as setup } from "@playwright/test";
|
||||
import { deleteRealm } from "./admin-client";
|
||||
import groupsRealm from "./realms/groups-realm.json" assert { type: "json" };
|
||||
import resourcesRealm from "./realms/resources-realm.json" assert { type: "json" };
|
||||
import userProfileRealm from "./realms/user-profile-realm.json" assert { type: "json" };
|
||||
import verifiableCredentialsRealm from "./realms/verifiable-credentials-realm.json" assert { type: "json" };
|
||||
|
||||
setup("delete realm", async () => {
|
||||
await deleteRealm("photoz");
|
||||
await deleteRealm("groups");
|
||||
await deleteRealm("user-profile");
|
||||
await deleteRealm("verifiable-credentials");
|
||||
await Promise.all([
|
||||
deleteRealm(groupsRealm.realm),
|
||||
deleteRealm(resourcesRealm.realm),
|
||||
deleteRealm(userProfileRealm.realm),
|
||||
deleteRealm(verifiableCredentialsRealm.realm),
|
||||
]);
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user