Upgrade to Cypress 12 (#4356)
This commit is contained in:
parent
ddc0b3ebaf
commit
be95626cdd
40 changed files with 510 additions and 223 deletions
|
@ -16,6 +16,7 @@ export default defineConfig({
|
|||
videoCompression: false,
|
||||
numTestsKeptInMemory: 30,
|
||||
videoUploadOnPasses: false,
|
||||
experimentalMemoryManagement: true,
|
||||
|
||||
retries: {
|
||||
runMode: 3,
|
||||
|
|
|
@ -13,8 +13,8 @@ describe("Policies", () => {
|
|||
describe("OTP policies tab", () => {
|
||||
const otpPoliciesPage = new OTPPolicies();
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToAuthentication();
|
||||
otpPoliciesPage.goToTab();
|
||||
});
|
||||
|
@ -34,8 +34,8 @@ describe("Policies", () => {
|
|||
describe("Webauthn policies tabs", () => {
|
||||
const webauthnPage = new WebAuthnPolicies();
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToAuthentication();
|
||||
});
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ describe("Authentication - Policies - CIBA", () => {
|
|||
after(() => adminClient.deleteRealm(realmName));
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(realmName);
|
||||
sidebarPage.goToAuthentication();
|
||||
CIBAPolicyPage.goToTab();
|
||||
|
|
|
@ -17,22 +17,21 @@ const masthead = new Masthead();
|
|||
const sidebarPage = new SidebarPage();
|
||||
const commonPage = new CommonPage();
|
||||
const listingPage = new ListingPage();
|
||||
const realmName = "test" + crypto.randomUUID();
|
||||
|
||||
describe("Authentication test", () => {
|
||||
const detailPage = new FlowDetails();
|
||||
const duplicateFlowModal = new DuplicateFlowModal();
|
||||
const modalUtil = new ModalUtils();
|
||||
|
||||
before(() => {
|
||||
cy.wrap(adminClient.createRealm("test"));
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
sidebarPage.goToRealm("test");
|
||||
});
|
||||
before(() => adminClient.createRealm(realmName));
|
||||
|
||||
after(() => adminClient.deleteRealm("test"));
|
||||
after(() => adminClient.deleteRealm(realmName));
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(realmName);
|
||||
sidebarPage.goToAuthentication();
|
||||
});
|
||||
|
||||
|
@ -190,19 +189,17 @@ describe("Authentication test", () => {
|
|||
describe("Required actions", () => {
|
||||
const requiredActionsPage = new RequiredActions();
|
||||
|
||||
before(() => {
|
||||
cy.wrap(adminClient.createRealm("test"));
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
sidebarPage.goToRealm("test");
|
||||
});
|
||||
before(() => adminClient.createRealm(realmName));
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(realmName);
|
||||
sidebarPage.goToAuthentication();
|
||||
requiredActionsPage.goToTab();
|
||||
});
|
||||
|
||||
after(() => adminClient.deleteRealm("test"));
|
||||
after(() => adminClient.deleteRealm(realmName));
|
||||
|
||||
it("should enable delete account", () => {
|
||||
const action = "Delete Account";
|
||||
|
@ -236,8 +233,8 @@ describe("Password policies tab", () => {
|
|||
const passwordPoliciesPage = new PasswordPolicies();
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToAuthentication();
|
||||
passwordPoliciesPage.goToTab();
|
||||
});
|
||||
|
|
|
@ -22,29 +22,29 @@ describe("Client authentication subtab", () => {
|
|||
const permissionsSubTab = new PermissionsTab();
|
||||
const clientId = "client-authentication-" + crypto.randomUUID();
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
sidebarPage.goToClients();
|
||||
listingPage.searchItem(clientId).goToItemDetails(clientId);
|
||||
clientDetailsPage.goToAuthorizationTab();
|
||||
|
||||
cy.wrap(
|
||||
adminClient.createClient({
|
||||
protocol: "openid-connect",
|
||||
clientId,
|
||||
publicClient: false,
|
||||
authorizationServicesEnabled: true,
|
||||
serviceAccountsEnabled: true,
|
||||
standardFlowEnabled: true,
|
||||
})
|
||||
);
|
||||
});
|
||||
before(() =>
|
||||
adminClient.createClient({
|
||||
protocol: "openid-connect",
|
||||
clientId,
|
||||
publicClient: false,
|
||||
authorizationServicesEnabled: true,
|
||||
serviceAccountsEnabled: true,
|
||||
standardFlowEnabled: true,
|
||||
})
|
||||
);
|
||||
|
||||
after(() => {
|
||||
adminClient.deleteClient(clientId);
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClients();
|
||||
listingPage.searchItem(clientId).goToItemDetails(clientId);
|
||||
clientDetailsPage.goToAuthorizationTab();
|
||||
});
|
||||
|
||||
it("Should update the resource server settings", () => {
|
||||
policiesSubTab.setPolicy("DISABLED").formUtils().save();
|
||||
masthead.checkNotificationMessage("Resource successfully updated", true);
|
||||
|
|
|
@ -12,13 +12,10 @@ describe("Client registration policies subtab", () => {
|
|||
const sidebarPage = new SidebarPage();
|
||||
const clientRegistrationPage = new ClientRegistrationPage();
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
sidebarPage.goToClients();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClients();
|
||||
clientRegistrationPage.goToClientRegistrationTab();
|
||||
sidebarPage.waitForPageLoad();
|
||||
});
|
||||
|
|
|
@ -55,12 +55,9 @@ describe("Client Scopes test", () => {
|
|||
});
|
||||
|
||||
describe("Client Scope filter list items", () => {
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClientScopes();
|
||||
});
|
||||
|
||||
|
@ -134,12 +131,10 @@ describe("Client Scopes test", () => {
|
|||
|
||||
describe("Client Scope modify list items", () => {
|
||||
const itemName = clientScopeName + 0;
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClientScopes();
|
||||
});
|
||||
|
||||
|
@ -198,12 +193,9 @@ describe("Client Scopes test", () => {
|
|||
});
|
||||
|
||||
describe("Client Scope delete list items ", () => {
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClientScopes();
|
||||
});
|
||||
|
||||
|
@ -258,12 +250,9 @@ describe("Client Scopes test", () => {
|
|||
});
|
||||
|
||||
describe("Client Scope creation", () => {
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClientScopes();
|
||||
});
|
||||
|
||||
|
|
|
@ -23,8 +23,6 @@ describe("Clients SAML tests", () => {
|
|||
clientId: samlClientName,
|
||||
publicClient: false,
|
||||
});
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
after(() => {
|
||||
|
@ -32,6 +30,8 @@ describe("Clients SAML tests", () => {
|
|||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClients();
|
||||
listingPage.searchItem(samlClientName).goToItemDetails(samlClientName);
|
||||
});
|
||||
|
@ -63,8 +63,6 @@ describe("Clients SAML tests", () => {
|
|||
clientId,
|
||||
protocol: "saml",
|
||||
});
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
after(() => {
|
||||
|
@ -72,6 +70,8 @@ describe("Clients SAML tests", () => {
|
|||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClients();
|
||||
listingPage.searchItem(clientId).goToItemDetails(clientId);
|
||||
cy.findByTestId("keysTab").click();
|
||||
|
@ -123,8 +123,6 @@ describe("Clients SAML tests", () => {
|
|||
clientId,
|
||||
protocol: "saml",
|
||||
});
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
after(() => {
|
||||
|
@ -132,6 +130,8 @@ describe("Clients SAML tests", () => {
|
|||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToClients();
|
||||
listingPage.searchItem(clientId).goToItemDetails(clientId);
|
||||
});
|
||||
|
|
|
@ -69,8 +69,8 @@ describe("Clients test", () => {
|
|||
});
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
commonPage.tableToolbarUtils().searchItem(clientId);
|
||||
cy.intercept("/admin/realms/master/clients/*").as("fetchClient");
|
||||
|
@ -232,12 +232,9 @@ describe("Clients test", () => {
|
|||
});
|
||||
|
||||
describe("Client creation", () => {
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
});
|
||||
|
||||
|
@ -438,7 +435,6 @@ describe("Clients test", () => {
|
|||
|
||||
it("Should fail to create imported client with empty ID", () => {
|
||||
commonPage.sidebar().goToClients();
|
||||
commonPage.masthead().closeAllAlertMessages();
|
||||
cy.findByTestId("importClient").click();
|
||||
cy.findByTestId("kc-client-id").click();
|
||||
cy.findByText("Save").click();
|
||||
|
@ -484,30 +480,19 @@ describe("Clients test", () => {
|
|||
|
||||
describe("Roles tab test", () => {
|
||||
const rolesTab = new ClientRolesTab();
|
||||
let client: string;
|
||||
const client = "client_" + crypto.randomUUID();
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
commonPage.sidebar().goToClients();
|
||||
|
||||
client = "client_" + crypto.randomUUID();
|
||||
|
||||
commonPage.tableToolbarUtils().createClient();
|
||||
|
||||
createClientPage
|
||||
.selectClientType("openid-connect")
|
||||
.fillClientData(client)
|
||||
.continue()
|
||||
.continue()
|
||||
.save();
|
||||
commonPage
|
||||
.masthead()
|
||||
.checkNotificationMessage("Client created successfully", true);
|
||||
});
|
||||
before(() =>
|
||||
adminClient.createClient({
|
||||
clientId: client,
|
||||
protocol: "openid-connect",
|
||||
publicClient: false,
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
commonPage.tableToolbarUtils().searchItem(client);
|
||||
commonPage.tableUtils().clickRowItemLink(client);
|
||||
|
@ -696,12 +681,9 @@ describe("Clients test", () => {
|
|||
const advancedTab = new AdvancedTab();
|
||||
let client: string;
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
client = "client_" + crypto.randomUUID();
|
||||
commonPage.tableToolbarUtils().createClient();
|
||||
|
@ -814,9 +796,7 @@ describe("Clients test", () => {
|
|||
const serviceAccountTab = new RoleMappingTab("user");
|
||||
const serviceAccountName = "service-account-client";
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
before(() =>
|
||||
adminClient.createClient({
|
||||
protocol: "openid-connect",
|
||||
clientId: serviceAccountName,
|
||||
|
@ -824,10 +804,12 @@ describe("Clients test", () => {
|
|||
authorizationServicesEnabled: true,
|
||||
serviceAccountsEnabled: true,
|
||||
standardFlowEnabled: true,
|
||||
});
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
});
|
||||
|
||||
|
@ -943,8 +925,8 @@ describe("Clients test", () => {
|
|||
describe("Mapping tab", () => {
|
||||
const mappingClient = "mapping-client";
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
commonPage.tableToolbarUtils().searchItem(mappingClient);
|
||||
commonPage.tableUtils().clickRowItemLink(mappingClient);
|
||||
|
@ -978,17 +960,17 @@ describe("Clients test", () => {
|
|||
describe("Keys tab test", () => {
|
||||
const keysName = "keys-client";
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
before(() =>
|
||||
adminClient.createClient({
|
||||
protocol: "openid-connect",
|
||||
clientId: keysName,
|
||||
publicClient: false,
|
||||
});
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
commonPage.tableToolbarUtils().searchItem(keysName);
|
||||
commonPage.tableUtils().clickRowItemLink(keysName);
|
||||
|
@ -1014,9 +996,9 @@ describe("Clients test", () => {
|
|||
describe("Realm client", () => {
|
||||
const clientName = "master-realm";
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
commonPage.sidebar().goToClients();
|
||||
commonPage.tableToolbarUtils().searchItem(clientName);
|
||||
commonPage.tableUtils().clickRowItemLink(clientName);
|
||||
|
@ -1045,15 +1027,19 @@ describe("Clients test", () => {
|
|||
describe("Bearer only", () => {
|
||||
const clientId = "bearer-only";
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
before(() =>
|
||||
adminClient.createClient({
|
||||
clientId,
|
||||
protocol: "openid-connect",
|
||||
publicClient: false,
|
||||
bearerOnly: true,
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
|
||||
commonPage.sidebar().goToClients();
|
||||
cy.intercept("/admin/realms/master/clients/*").as("fetchClient");
|
||||
commonPage.tableToolbarUtils().searchItem(clientId);
|
||||
|
|
|
@ -33,7 +33,7 @@ describe("Events tests", () => {
|
|||
const eventsTestUser = {
|
||||
eventsTestUserId: "",
|
||||
userRepresentation: {
|
||||
username: "events-test",
|
||||
username: "events-test" + crypto.randomUUID(),
|
||||
enabled: true,
|
||||
credentials: [{ value: "events-test" }],
|
||||
},
|
||||
|
@ -53,8 +53,8 @@ describe("Events tests", () => {
|
|||
|
||||
describe("User events list", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToEvents();
|
||||
});
|
||||
|
||||
|
@ -89,8 +89,8 @@ describe("Events tests", () => {
|
|||
];
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToEvents();
|
||||
});
|
||||
|
||||
|
@ -106,6 +106,7 @@ describe("Events tests", () => {
|
|||
|
||||
masthead.signOut();
|
||||
loginPage.logIn();
|
||||
cy.visit("/");
|
||||
|
||||
sidebarPage.goToEvents();
|
||||
eventsPage.tabUtils().checkIsCurrentTab(EventsTab.UserEvents);
|
||||
|
@ -250,8 +251,8 @@ describe("Events tests", () => {
|
|||
|
||||
describe("Admin events list", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToEvents();
|
||||
eventsPage.goToAdminEventsTab();
|
||||
});
|
||||
|
@ -288,8 +289,8 @@ describe("Events tests", () => {
|
|||
const operationTypes = ["UPDATE"];
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToEvents();
|
||||
eventsPage.goToAdminEventsTab();
|
||||
});
|
||||
|
@ -361,8 +362,8 @@ describe("Events tests", () => {
|
|||
|
||||
describe("Search admin events", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToEvents();
|
||||
eventsPage.goToAdminEventsTab();
|
||||
});
|
||||
|
@ -413,8 +414,8 @@ describe("Events tests", () => {
|
|||
|
||||
describe("Check more button opens auth and representation dialogs", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToEvents();
|
||||
eventsPage.goToAdminEventsTab();
|
||||
});
|
||||
|
|
|
@ -52,8 +52,8 @@ describe("Group test", () => {
|
|||
after(() => adminClient.deleteGroups());
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToGroups();
|
||||
groupName = groupNamePrefix + crypto.randomUUID();
|
||||
groupNames.push(groupName);
|
||||
|
|
|
@ -36,8 +36,8 @@ describe("OIDC identity provider test", () => {
|
|||
const secret = "123";
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToIdentityProviders();
|
||||
});
|
||||
|
||||
|
|
|
@ -35,12 +35,9 @@ describe("SAML identity provider test", () => {
|
|||
describe("SAML identity provider creation", () => {
|
||||
const samlProviderName = "saml";
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToIdentityProviders();
|
||||
});
|
||||
|
||||
|
|
|
@ -41,8 +41,8 @@ describe("Identity provider test", () => {
|
|||
const deleteSuccessMsg = "Provider successfully deleted.";
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToIdentityProviders();
|
||||
});
|
||||
|
||||
|
|
|
@ -26,8 +26,8 @@ const goToAcctMgtTest = () => {
|
|||
|
||||
describe("Masthead tests in desktop mode", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
});
|
||||
|
||||
it("Test dropdown in desktop mode", () => {
|
||||
|
@ -50,8 +50,8 @@ describe("Masthead tests in desktop mode", () => {
|
|||
|
||||
describe("Masthead tests with kebab menu", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
masthead.setMobileMode(true);
|
||||
});
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ describe("Partial realm export", () => {
|
|||
const realmSettings = new RealmSettings();
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(REALM_NAME).goToRealmSettings();
|
||||
realmSettings.clickActionMenu();
|
||||
modal.open();
|
||||
|
|
|
@ -14,21 +14,19 @@ describe("Partial import test", () => {
|
|||
const realmSettings = new RealmSettings();
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(TEST_REALM);
|
||||
sidebarPage.goToRealmSettings();
|
||||
realmSettings.clickActionMenu();
|
||||
});
|
||||
|
||||
before(() => {
|
||||
cy.wrap(null).then(() =>
|
||||
Promise.all([
|
||||
adminClient.createRealm(TEST_REALM),
|
||||
adminClient.createRealm(TEST_REALM_2),
|
||||
])
|
||||
);
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
sidebarPage.goToRealm(TEST_REALM);
|
||||
});
|
||||
before(() =>
|
||||
Promise.all([
|
||||
adminClient.createRealm(TEST_REALM),
|
||||
adminClient.createRealm(TEST_REALM_2),
|
||||
])
|
||||
);
|
||||
|
||||
after(async () => {
|
||||
await Promise.all([
|
||||
|
|
|
@ -21,8 +21,8 @@ const rolesTab = new ClientRolesTab();
|
|||
|
||||
describe("Realm roles test", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealmRoles();
|
||||
});
|
||||
|
||||
|
|
|
@ -16,6 +16,8 @@ describe("Realm settings client policies tab tests", () => {
|
|||
const realmSettingsPage = new RealmSettingsPage(realmName);
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage
|
||||
.waitForPageLoad()
|
||||
.goToRealm(realmName)
|
||||
|
@ -24,11 +26,7 @@ describe("Realm settings client policies tab tests", () => {
|
|||
realmSettingsPage.goToClientPoliciesTab().goToClientPoliciesList();
|
||||
});
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
adminClient.createRealm(realmName);
|
||||
loginPage.logIn();
|
||||
});
|
||||
before(() => adminClient.createRealm(realmName));
|
||||
|
||||
after(() => {
|
||||
adminClient.deleteRealm(realmName);
|
||||
|
|
|
@ -18,19 +18,15 @@ describe("Realm settings client profiles tab tests", () => {
|
|||
const realmSettingsPage = new RealmSettingsPage(realmName);
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.waitForPageLoad().goToRealm(realmName).goToRealmSettings();
|
||||
realmSettingsPage.goToClientPoliciesTab().goToClientProfilesList();
|
||||
});
|
||||
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
adminClient.createRealm(realmName);
|
||||
loginPage.logIn();
|
||||
});
|
||||
before(() => adminClient.createRealm(realmName));
|
||||
|
||||
after(async () => {
|
||||
await adminClient.deleteRealm(realmName);
|
||||
});
|
||||
after(() => adminClient.deleteRealm(realmName));
|
||||
|
||||
it("Go to client policies profiles tab", () => {
|
||||
realmSettingsPage.shouldDisplayProfilesTab();
|
||||
|
|
|
@ -18,8 +18,8 @@ describe("Realm settings events tab tests", () => {
|
|||
const listingPage = new ListingPage();
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(realmName);
|
||||
});
|
||||
|
||||
|
@ -424,8 +424,8 @@ describe("Realm settings events tab tests", () => {
|
|||
|
||||
describe("Realm settings events tab tests", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealmSettings();
|
||||
cy.findByTestId("rs-realm-events-tab").click();
|
||||
cy.findByTestId("rs-event-listeners-tab").click();
|
||||
|
|
|
@ -14,8 +14,8 @@ describe("Realm settings general tab tests", () => {
|
|||
const realmName = "Realm_" + crypto.randomUUID();
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(realmName);
|
||||
});
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ describe("Realm settings tabs tests", () => {
|
|||
const realmName = "Realm_" + crypto.randomUUID();
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(realmName);
|
||||
});
|
||||
|
||||
|
|
|
@ -26,17 +26,17 @@ describe("User profile tabs", () => {
|
|||
const realmName = "Realm_" + crypto.randomUUID();
|
||||
const attributeName = "Test";
|
||||
|
||||
before(() => {
|
||||
before(() =>
|
||||
adminClient.createRealm(realmName, {
|
||||
attributes: { userProfileEnabled: "true" },
|
||||
});
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
after(() => adminClient.deleteRealm(realmName));
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealm(realmName);
|
||||
sidebarPage.goToRealmSettings();
|
||||
});
|
||||
|
@ -107,7 +107,7 @@ describe("User profile tabs", () => {
|
|||
getAttributesGroupTab();
|
||||
listingPage.deleteItem("Test");
|
||||
modalUtils.confirmModal();
|
||||
listingPage.itemExist("Test", false);
|
||||
listingPage.checkEmptyList();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -20,9 +20,9 @@ const editedRealmName = "Edited-Test-realm-" + crypto.randomUUID();
|
|||
const testDisabledName = "Test-Disabled";
|
||||
|
||||
describe("Realm tests", () => {
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
});
|
||||
|
||||
after(() =>
|
||||
|
@ -113,6 +113,7 @@ describe("Realm tests", () => {
|
|||
});
|
||||
|
||||
it("should change to Test realm", () => {
|
||||
sidebarPage.goToRealm(editedRealmName);
|
||||
sidebarPage.getCurrentRealm().should("eq", editedRealmName);
|
||||
|
||||
sidebarPage
|
||||
|
|
|
@ -21,13 +21,11 @@ describe("Realm settings - User registration tab", () => {
|
|||
|
||||
const groupName = "The default group";
|
||||
|
||||
before(() => {
|
||||
adminClient.createGroup(groupName);
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
before(() => adminClient.createGroup(groupName));
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToRealmSettings();
|
||||
userRegistration.goToTab();
|
||||
});
|
||||
|
|
|
@ -16,9 +16,10 @@ const groupPage = new GroupPage();
|
|||
describe("Sessions test", () => {
|
||||
const admin = "admin";
|
||||
const client = "security-admin-console";
|
||||
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToSessions();
|
||||
});
|
||||
|
||||
|
|
|
@ -55,8 +55,8 @@ const changeSuccessMsg =
|
|||
|
||||
describe("User Fed Kerberos tests", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToUserFederation();
|
||||
});
|
||||
|
||||
|
|
|
@ -74,8 +74,8 @@ const modifyDateMapper = "modify date";
|
|||
|
||||
describe("User Fed LDAP mapper tests", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToUserFederation();
|
||||
});
|
||||
|
||||
|
|
|
@ -77,8 +77,8 @@ const MsadAccountControlsMapper = "MSAD account controls";
|
|||
|
||||
describe("User Fed LDAP mapper tests", () => {
|
||||
beforeEach(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToUserFederation();
|
||||
});
|
||||
|
||||
|
|
|
@ -97,12 +97,9 @@ const ldapTestFailMsg =
|
|||
"Error when trying to connect to LDAP. See server.log for details. LDAP test error";
|
||||
|
||||
describe("User Federation LDAP tests", () => {
|
||||
before(() => {
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToUserFederation();
|
||||
cy.intercept("GET", "/admin/realms/master").as("getProvider");
|
||||
});
|
||||
|
|
|
@ -35,23 +35,21 @@ describe("User creation", () => {
|
|||
let itemIdWithCred = "user_crud_cred";
|
||||
const itemCredential = "Password";
|
||||
|
||||
before(() => {
|
||||
before(async () => {
|
||||
for (let i = 0; i <= 2; i++) {
|
||||
groupName += "_" + crypto.randomUUID();
|
||||
adminClient.createGroup(groupName);
|
||||
await adminClient.createGroup(groupName);
|
||||
groupsList = [...groupsList, groupName];
|
||||
}
|
||||
keycloakBefore();
|
||||
loginPage.logIn();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
loginPage.logIn();
|
||||
keycloakBefore();
|
||||
sidebarPage.goToUsers();
|
||||
});
|
||||
|
||||
after(() => {
|
||||
adminClient.deleteGroups();
|
||||
});
|
||||
after(() => adminClient.deleteGroups());
|
||||
|
||||
it("Go to create User page", () => {
|
||||
createUserPage.goToCreateUser();
|
||||
|
|
|
@ -23,12 +23,3 @@ import "./commands";
|
|||
if (!Cypress.env("KEYCLOAK_SERVER")) {
|
||||
Cypress.env("KEYCLOAK_SERVER", "http://localhost:8180");
|
||||
}
|
||||
|
||||
// Always preserve session related cookies.
|
||||
Cypress.Cookies.defaults({
|
||||
preserve: isSessionCookie,
|
||||
});
|
||||
|
||||
function isSessionCookie({ name }: Cypress.Cookie) {
|
||||
return name.startsWith("KEYCLOAK_") || name.startsWith("AUTH_SESSION_");
|
||||
}
|
||||
|
|
|
@ -14,20 +14,30 @@ export default class LoginPage {
|
|||
}
|
||||
|
||||
logIn(userName = "admin", password = "admin") {
|
||||
cy.get('[role="progressbar"]').should("not.exist");
|
||||
cy.get(this.oldLoadContainer).should("not.exist");
|
||||
cy.get(this.loadContainer).should("not.exist");
|
||||
cy.session(
|
||||
[userName, password],
|
||||
() => {
|
||||
cy.visit("/");
|
||||
cy.get('[role="progressbar"]').should("not.exist");
|
||||
cy.get(this.oldLoadContainer).should("not.exist");
|
||||
cy.get(this.loadContainer).should("not.exist");
|
||||
|
||||
cy.get("body")
|
||||
.children()
|
||||
.then((children) => {
|
||||
if (children.length == 1) {
|
||||
cy.get(this.userNameInput).type(userName);
|
||||
cy.get(this.passwordInput).type(password);
|
||||
cy.get("body")
|
||||
.children()
|
||||
.then((children) => {
|
||||
if (children.length == 1) {
|
||||
cy.get(this.userNameInput).type(userName);
|
||||
cy.get(this.passwordInput).type(password);
|
||||
|
||||
cy.get(this.submitBtn).click();
|
||||
}
|
||||
});
|
||||
cy.get('[role="progressbar"]').should("not.exist");
|
||||
cy.get(this.submitBtn).click();
|
||||
}
|
||||
});
|
||||
},
|
||||
{
|
||||
validate() {
|
||||
cy.get('[role="progressbar"]').should("not.exist");
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ export default class Masthead extends CommonElements {
|
|||
signOut() {
|
||||
this.userDropdown().click();
|
||||
cy.get("#sign-out").click();
|
||||
Cypress.session.clearAllSavedSessions();
|
||||
}
|
||||
|
||||
accountManagement() {
|
||||
|
|
|
@ -26,7 +26,7 @@ export default class FlowDetails {
|
|||
const executionId = rowDetails.children().attr("data-id");
|
||||
cy.intercept(
|
||||
"POST",
|
||||
`/admin/realms/test/authentication/executions/${executionId}/lower-priority`
|
||||
`/admin/realms/test*/authentication/executions/${executionId}/lower-priority`
|
||||
).as("priority");
|
||||
callback();
|
||||
cy.wait("@priority");
|
||||
|
|
|
@ -85,17 +85,17 @@ export default class ProviderSAMLSettings extends PageObject {
|
|||
}
|
||||
|
||||
public typeSsoServiceUrl(url: string) {
|
||||
cy.findByTestId(this.ssoServiceUrl).click().clear().type(url);
|
||||
cy.findByTestId(this.ssoServiceUrl).clear().type(url);
|
||||
return this;
|
||||
}
|
||||
|
||||
public typeSingleLogoutServiceUrl(url: string) {
|
||||
cy.findByTestId(this.singleLogoutServiceUrl).click().clear().type(url);
|
||||
cy.findByTestId(this.singleLogoutServiceUrl).clear().type(url);
|
||||
return this;
|
||||
}
|
||||
|
||||
public typeX509Certs(cert: string) {
|
||||
cy.findByTestId(this.validatingX509Certs).click().clear().type(cert);
|
||||
cy.findByTestId(this.validatingX509Certs).clear().type(cert);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ export default class SessionsPage {
|
|||
cy.findByTestId(this.actionDropdown).should("exist").click();
|
||||
cy.findByTestId(this.revocationActionItem).should("exist").click();
|
||||
cy.findByTestId(this.setToNowButton).should("exist").click();
|
||||
Cypress.session.clearAllSavedSessions();
|
||||
}
|
||||
|
||||
checkNotBeforeValueExists() {
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
"@types/react": "^17.0.53",
|
||||
"@types/react-dom": "^17.0.18",
|
||||
"@vitejs/plugin-react": "^2.2.0",
|
||||
"cypress": "^11.2.0",
|
||||
"cypress": "^12.5.1",
|
||||
"del": "^7.0.0",
|
||||
"jsdom": "^21.1.0",
|
||||
"ldap-server-mock": "^6.0.1",
|
||||
|
|
337
package-lock.json
generated
337
package-lock.json
generated
|
@ -100,7 +100,7 @@
|
|||
"@types/react": "^17.0.53",
|
||||
"@types/react-dom": "^17.0.18",
|
||||
"@vitejs/plugin-react": "^2.2.0",
|
||||
"cypress": "^11.2.0",
|
||||
"cypress": "^12.5.1",
|
||||
"del": "^7.0.0",
|
||||
"jsdom": "^21.1.0",
|
||||
"ldap-server-mock": "^6.0.1",
|
||||
|
@ -111,6 +111,314 @@
|
|||
"webpack": "^5.75.0"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/@types/node": {
|
||||
"version": "14.18.36",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz",
|
||||
"integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"apps/admin-ui/node_modules/bluebird": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
||||
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
|
||||
"dev": true
|
||||
},
|
||||
"apps/admin-ui/node_modules/cli-truncate": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
|
||||
"integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"slice-ansi": "^3.0.0",
|
||||
"string-width": "^4.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/commander": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
|
||||
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/cypress": {
|
||||
"version": "12.5.1",
|
||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-12.5.1.tgz",
|
||||
"integrity": "sha512-ZmCmJ3lsyeOpBfh410m5+AO2CO1AxAzFBt7k6/uVbNcrNZje1vdiwYTpj2ksPKg9mjr9lR6V8tmlDNMvr4H/YQ==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@cypress/request": "^2.88.10",
|
||||
"@cypress/xvfb": "^1.2.4",
|
||||
"@types/node": "^14.14.31",
|
||||
"@types/sinonjs__fake-timers": "8.1.1",
|
||||
"@types/sizzle": "^2.3.2",
|
||||
"arch": "^2.2.0",
|
||||
"blob-util": "^2.0.2",
|
||||
"bluebird": "^3.7.2",
|
||||
"buffer": "^5.6.0",
|
||||
"cachedir": "^2.3.0",
|
||||
"chalk": "^4.1.0",
|
||||
"check-more-types": "^2.24.0",
|
||||
"cli-cursor": "^3.1.0",
|
||||
"cli-table3": "~0.6.1",
|
||||
"commander": "^5.1.0",
|
||||
"common-tags": "^1.8.0",
|
||||
"dayjs": "^1.10.4",
|
||||
"debug": "^4.3.2",
|
||||
"enquirer": "^2.3.6",
|
||||
"eventemitter2": "6.4.7",
|
||||
"execa": "4.1.0",
|
||||
"executable": "^4.1.1",
|
||||
"extract-zip": "2.0.1",
|
||||
"figures": "^3.2.0",
|
||||
"fs-extra": "^9.1.0",
|
||||
"getos": "^3.2.1",
|
||||
"is-ci": "^3.0.0",
|
||||
"is-installed-globally": "~0.4.0",
|
||||
"lazy-ass": "^1.6.0",
|
||||
"listr2": "^3.8.3",
|
||||
"lodash": "^4.17.21",
|
||||
"log-symbols": "^4.0.0",
|
||||
"minimist": "^1.2.6",
|
||||
"ospath": "^1.2.2",
|
||||
"pretty-bytes": "^5.6.0",
|
||||
"proxy-from-env": "1.0.0",
|
||||
"request-progress": "^3.0.0",
|
||||
"semver": "^7.3.2",
|
||||
"supports-color": "^8.1.1",
|
||||
"tmp": "~0.2.1",
|
||||
"untildify": "^4.0.0",
|
||||
"yauzl": "^2.10.0"
|
||||
},
|
||||
"bin": {
|
||||
"cypress": "bin/cypress"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.0.0 || ^16.0.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"dev": true
|
||||
},
|
||||
"apps/admin-ui/node_modules/execa": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
|
||||
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cross-spawn": "^7.0.0",
|
||||
"get-stream": "^5.0.0",
|
||||
"human-signals": "^1.1.1",
|
||||
"is-stream": "^2.0.0",
|
||||
"merge-stream": "^2.0.0",
|
||||
"npm-run-path": "^4.0.0",
|
||||
"onetime": "^5.1.0",
|
||||
"signal-exit": "^3.0.2",
|
||||
"strip-final-newline": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/fs-extra": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
|
||||
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"at-least-node": "^1.0.0",
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^6.0.1",
|
||||
"universalify": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/get-stream": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"pump": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/human-signals": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
|
||||
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.12.0"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/is-stream": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/listr2": {
|
||||
"version": "3.14.0",
|
||||
"resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
|
||||
"integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cli-truncate": "^2.1.0",
|
||||
"colorette": "^2.0.16",
|
||||
"log-update": "^4.0.0",
|
||||
"p-map": "^4.0.0",
|
||||
"rfdc": "^1.3.0",
|
||||
"rxjs": "^7.5.1",
|
||||
"through": "^2.3.8",
|
||||
"wrap-ansi": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"enquirer": ">= 2.3.0 < 3"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"enquirer": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/mimic-fn": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/npm-run-path": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"path-key": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/onetime": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"mimic-fn": "^2.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/pump": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
|
||||
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"end-of-stream": "^1.1.0",
|
||||
"once": "^1.3.1"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/slice-ansi": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
|
||||
"integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"astral-regex": "^2.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/string-width": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/strip-final-newline": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
||||
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"apps/admin-ui/node_modules/supports-color": {
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"apps/keycloak-server": {
|
||||
"dependencies": {
|
||||
"@octokit/rest": "^19.0.7",
|
||||
|
@ -7130,6 +7438,7 @@
|
|||
"integrity": "sha512-u61UGwtu7lpsNWLUma/FKNOsrjcI6wleNmda/TyKHe0dOBcVjbCPlp1N6uwFZ0doXev7f/91YDpU9bqDCFeBLA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@cypress/request": "^2.88.10",
|
||||
"@cypress/xvfb": "^1.2.4",
|
||||
|
@ -7185,19 +7494,22 @@
|
|||
"version": "14.18.36",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz",
|
||||
"integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/cypress/node_modules/bluebird": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
||||
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/cypress/node_modules/cli-truncate": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
|
||||
"integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"slice-ansi": "^3.0.0",
|
||||
"string-width": "^4.2.0"
|
||||
|
@ -7214,6 +7526,7 @@
|
|||
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
|
||||
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
|
@ -7222,13 +7535,15 @@
|
|||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/cypress/node_modules/execa": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
|
||||
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cross-spawn": "^7.0.0",
|
||||
"get-stream": "^5.0.0",
|
||||
|
@ -7252,6 +7567,7 @@
|
|||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
|
||||
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"at-least-node": "^1.0.0",
|
||||
"graceful-fs": "^4.2.0",
|
||||
|
@ -7267,6 +7583,7 @@
|
|||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"pump": "^3.0.0"
|
||||
},
|
||||
|
@ -7282,6 +7599,7 @@
|
|||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
|
||||
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8.12.0"
|
||||
}
|
||||
|
@ -7291,6 +7609,7 @@
|
|||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
|
@ -7300,6 +7619,7 @@
|
|||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
|
@ -7312,6 +7632,7 @@
|
|||
"resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
|
||||
"integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cli-truncate": "^2.1.0",
|
||||
"colorette": "^2.0.16",
|
||||
|
@ -7339,6 +7660,7 @@
|
|||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
|
@ -7348,6 +7670,7 @@
|
|||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"path-key": "^3.0.0"
|
||||
},
|
||||
|
@ -7360,6 +7683,7 @@
|
|||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"mimic-fn": "^2.1.0"
|
||||
},
|
||||
|
@ -7375,6 +7699,7 @@
|
|||
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
|
||||
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"end-of-stream": "^1.1.0",
|
||||
"once": "^1.3.1"
|
||||
|
@ -7385,6 +7710,7 @@
|
|||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
|
||||
"integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"astral-regex": "^2.0.0",
|
||||
|
@ -7399,6 +7725,7 @@
|
|||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
|
@ -7413,6 +7740,7 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
||||
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
|
@ -7422,6 +7750,7 @@
|
|||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue