import LoginPage from "../support/pages/LoginPage"; import SidebarPage from "../support/pages/admin-ui/SidebarPage"; import SessionsPage from "../support/pages/admin-ui/manage/sessions/SessionsPage"; import CommonPage from "../support/pages/CommonPage"; import ListingPage from "../support/pages/admin-ui/ListingPage"; import GroupPage from "../support/pages/admin-ui/manage/groups/GroupPage"; import { keycloakBefore } from "../support/util/keycloak_hooks"; const loginPage = new LoginPage(); const sidebarPage = new SidebarPage(); const sessionsPage = new SessionsPage(); const commonPage = new CommonPage(); const listingPage = new ListingPage(); const groupPage = new GroupPage(); describe("Sessions test", () => { const admin = "admin"; const client = "security-admin-console"; beforeEach(() => { loginPage.logIn(); keycloakBefore(); sidebarPage.goToSessions(); }); describe("Sessions list view", () => { it("check item values", () => { listingPage.searchItem(client, false); commonPage .tableUtils() .checkRowItemExists(admin) .checkRowItemExists(client); }); it("go to item accessed clients link", () => { listingPage.searchItem(client, false); commonPage.tableUtils().clickRowItemLink(client); }); }); describe("Search", () => { it("search existing session", () => { listingPage.searchItem(admin, false); listingPage.itemExist(admin, true); groupPage.assertNoSearchResultsMessageExist(false); }); it("search non-existant session", () => { listingPage.searchItem("non-existant-session", false); groupPage.assertNoSearchResultsMessageExist(true); }); }); describe("revocation", () => { it("Clear revocation notBefore", () => { sessionsPage.clearNotBefore(); }); it("Check if notBefore cleared", () => { sessionsPage.checkNotBeforeCleared(); }); it("Set revocation notBefore", () => { sessionsPage.setToNow(); }); it("Check if notBefore saved", () => { sessionsPage.checkNotBeforeValueExists(); }); it("Push when URI not configured", () => { sessionsPage.pushRevocation(); commonPage .masthead() .checkNotificationMessage( "No push sent. No admin URI configured or no registered cluster nodes available", ); }); }); describe("Accessibility tests for sessions", () => { beforeEach(() => { loginPage.logIn(); keycloakBefore(); sidebarPage.goToSessions(); cy.injectAxe(); }); it("Check a11y violations on load/ sessions", () => { cy.checkA11y(); }); it("Check a11y violations on revocation dialog", () => { cy.findByTestId("action-dropdown").click(); cy.findByTestId("revocation").click(); cy.checkA11y(); cy.findByTestId("cancel").click(); }); it("Check a11y violations on sign out all active sessions dialog", () => { cy.findByTestId("action-dropdown").click(); cy.findByTestId("logout-all").click(); cy.checkA11y(); cy.findByTestId("cancel").click(); }); }); });