9ad9d6c314
author jenny-s51 <jshandel@redhat.com> 1624022352 -0400 committer jenny-s51 <jshandel@redhat.com> 1625159705 -0400 wip provider details provider details wip move files wip wip wip all provider details remove controllers save and update working address console warnings remove log stmt update test keep aes only remove comments remove unused hook and function remove unused props revert ldap logs fix conflict and remove duplicate function format and cypress test Partial import phase 2 (#702) * Process the JSON and present user options * Finish checkboxes. Refactor. * Add tests * Refactor after rebase * Add more test data for manual testing. * Fix linting errors * Put JsonFileUpload back the way it was. * Clean up comments * Update src/realm-settings/PartialImport.tsx Remove comment Co-authored-by: Jenny <32821331+jenny-s51@users.noreply.github.com> Co-authored-by: Jenny <32821331+jenny-s51@users.noreply.github.com> Localization tab (#685) * localization wip wip localization return key value data as array localization table css lint lint clean up log stmts clean up log stmts * PR feedback from Erik * fix logic for supported locales * update empty state text * set default value * fix cypress test * Update src/realm-settings/RealmSettingsSection.tsx Co-authored-by: Erik Jan de Wit <erikjan.dewit@gmail.com> * fix rsa-generated delete bug; PR feedback frog Erik * revert locale abbreviation * remove log stmts * PR feedback from Erik, fix undefined * fix loader w Erik Co-authored-by: Erik Jan de Wit <erikjan.dewit@gmail.com> add divider on section Prepare for first alpha release (#711) use typeahead for mapper list fix test Default roles: UI Changes from KEYCLOAK-14846 (#693) * defaultRoles wip default role changes done clean up log stmts update snapshot fix masthead test * fix cypress test * fix tabs Comment out Realm role CRUD test (#712) * Bogus change * Bogus change * Comment out Realm role CRUD test Bump postcss-cli from 7.1.1 to 8.3.1 (#718) Bumps [postcss-cli](https://github.com/postcss/postcss-cli) from 7.1.1 to 8.3.1. - [Release notes](https://github.com/postcss/postcss-cli/releases) - [Changelog](https://github.com/postcss/postcss-cli/blob/master/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss-cli/compare/7.1.1...8.3.1) --- updated-dependencies: - dependency-name: postcss-cli dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Bump @testing-library/jest-dom from 5.12.0 to 5.14.1 (#717) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.12.0 to 5.14.1. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v5.12.0...v5.14.1) --- updated-dependencies: - dependency-name: "@testing-library/jest-dom" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fixing issue (#709) * fixing issue fixing: #680 * added kebab on row * added more clear group seperation Bump cypress from 7.4.0 to 7.5.0 (#715) Bump @babel/preset-typescript from 7.13.0 to 7.14.5 (#714) Bumps [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) from 7.13.0 to 7.14.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.14.5/packages/babel-preset-typescript) --- updated-dependencies: - dependency-name: "@babel/preset-typescript" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Bump @testing-library/react from 10.4.6 to 11.2.7 (#716) Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 10.4.6 to 11.2.7. - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/react-testing-library/compare/v10.4.6...v11.2.7) --- updated-dependencies: - dependency-name: "@testing-library/react" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> inherited roles disabled instead of non selectable more style fixes fixed size change title of tab add unassign kebab on row added help item on enable switch test email working, modal wip email connection done remove comment fix cypress test revert test file fdisable email prompting when user email entered prettier update cypress tests fix lint try fix cypress test try longer wait save and test connection make wait longer increase wait fix test disable test connection button if form fields not entered lint afix username/password fields fix test mark suggested change add modal button and input functions fixed default value warning fixing issue fixing: #650 remove provider form add delete cleanup function AESproviderDetails extend wait for video update test test wait after rebase remove comments remove log format format PR feedback from Jon Apply suggestions from Jon's code review Co-authored-by: Jon Koops <jonkoops@gmail.com> remove duplicate form form use array desctructuring Apply suggestions from code review Co-authored-by: Jon Koops <jonkoops@gmail.com> update useroutematch format format back to async pretty cypress test remove email verification switch toggle fix add provider on non-master realm cleaning up fix save fix save for other providers fix fetch fix runtime error remove unused import Apply suggestions from code review suggested changes for non-null assertions Co-authored-by: Jon Koops <jonkoops@gmail.com> make props required make provider type required use realm-settings file for translation format and roll back route changes
238 lines
7.4 KiB
TypeScript
238 lines
7.4 KiB
TypeScript
import SidebarPage from "../support/pages/admin_console/SidebarPage";
|
|
import LoginPage from "../support/pages/LoginPage";
|
|
import RealmSettingsPage from "../support/pages/admin_console/manage/realm_settings/RealmSettingsPage";
|
|
import Masthead from "../support/pages/admin_console/Masthead";
|
|
import ModalUtils from "../support/util/ModalUtils";
|
|
import { keycloakBefore } from "../support/util/keycloak_before";
|
|
import AdminClient from "../support/util/AdminClient";
|
|
import ListingPage from "../support/pages/admin_console/ListingPage";
|
|
|
|
const loginPage = new LoginPage();
|
|
const sidebarPage = new SidebarPage();
|
|
const masthead = new Masthead();
|
|
const modalUtils = new ModalUtils();
|
|
const realmSettingsPage = new RealmSettingsPage();
|
|
|
|
describe("Realm settings", () => {
|
|
const realmName = "Realm_" + (Math.random() + 1).toString(36).substring(7);
|
|
|
|
beforeEach(() => {
|
|
keycloakBefore();
|
|
loginPage.logIn();
|
|
sidebarPage.goToRealm(realmName);
|
|
});
|
|
|
|
before(async () => {
|
|
await new AdminClient().createRealm(realmName);
|
|
});
|
|
|
|
after(async () => {
|
|
await new AdminClient().deleteRealm(realmName);
|
|
});
|
|
|
|
const goToKeys = () => {
|
|
const keysUrl = `/auth/admin/realms/${realmName}/keys`;
|
|
cy.intercept(keysUrl).as("keysFetch");
|
|
cy.getId("rs-keys-tab").click();
|
|
cy.getId("rs-keys-list-tab").click();
|
|
cy.wait(["@keysFetch"]);
|
|
|
|
return this;
|
|
};
|
|
|
|
const goToDetails = () => {
|
|
const keysUrl = `/auth/admin/realms/${realmName}/keys`;
|
|
cy.intercept(keysUrl).as("keysFetch");
|
|
|
|
cy.getId("rs-keys-tab").click();
|
|
cy.getId("rs-providers-tab").click();
|
|
cy.getId("provider-name-link").contains("test_aes-generated").click();
|
|
cy.wait(["@keysFetch"]);
|
|
|
|
return this;
|
|
};
|
|
|
|
const addBundle = () => {
|
|
const localizationUrl = `/auth/admin/realms/${realmName}/localization/en`;
|
|
cy.intercept(localizationUrl).as("localizationFetch");
|
|
|
|
realmSettingsPage.addKeyValuePair(
|
|
"key_" + (Math.random() + 1).toString(36).substring(7),
|
|
"value_" + (Math.random() + 1).toString(36).substring(7)
|
|
);
|
|
|
|
cy.wait(["@localizationFetch"]);
|
|
|
|
return this;
|
|
};
|
|
|
|
it("Go to general tab", function () {
|
|
sidebarPage.goToRealmSettings();
|
|
realmSettingsPage.toggleSwitch(realmSettingsPage.managedAccessSwitch);
|
|
realmSettingsPage.save(realmSettingsPage.generalSaveBtn);
|
|
masthead.checkNotificationMessage("Realm successfully updated");
|
|
realmSettingsPage.toggleSwitch(realmSettingsPage.managedAccessSwitch);
|
|
realmSettingsPage.save(realmSettingsPage.generalSaveBtn);
|
|
masthead.checkNotificationMessage("Realm successfully updated");
|
|
});
|
|
|
|
it("Go to login tab", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
cy.getId("rs-login-tab").click();
|
|
realmSettingsPage.toggleSwitch(realmSettingsPage.userRegSwitch);
|
|
realmSettingsPage.toggleSwitch(realmSettingsPage.forgotPwdSwitch);
|
|
realmSettingsPage.toggleSwitch(realmSettingsPage.rememberMeSwitch);
|
|
realmSettingsPage.toggleSwitch(realmSettingsPage.verifyEmailSwitch);
|
|
});
|
|
|
|
it("Go to email tab", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
cy.getId("rs-email-tab").click();
|
|
|
|
cy.wait(1000);
|
|
|
|
realmSettingsPage.addSenderEmail("example@example.com");
|
|
|
|
realmSettingsPage.toggleCheck(realmSettingsPage.enableSslCheck);
|
|
realmSettingsPage.toggleCheck(realmSettingsPage.enableStartTlsCheck);
|
|
|
|
realmSettingsPage.save(realmSettingsPage.emailSaveBtn);
|
|
|
|
realmSettingsPage.fillHostField("localhost");
|
|
cy.getId(realmSettingsPage.testConnectionButton).click();
|
|
|
|
realmSettingsPage.fillEmailField(
|
|
"example" + (Math.random() + 1).toString(36).substring(7) + "@example.com"
|
|
);
|
|
|
|
cy.getId(realmSettingsPage.modalTestConnectionButton).click();
|
|
|
|
masthead.checkNotificationMessage("Error! Failed to send email.");
|
|
});
|
|
|
|
it("Go to themes tab", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
cy.intercept(`/auth/admin/realms/${realmName}/keys`).as("load");
|
|
|
|
cy.getId("rs-themes-tab").click();
|
|
cy.wait(["@load"]);
|
|
|
|
realmSettingsPage.selectLoginThemeType("keycloak");
|
|
realmSettingsPage.selectAccountThemeType("keycloak");
|
|
realmSettingsPage.selectAdminThemeType("base");
|
|
realmSettingsPage.selectEmailThemeType("base");
|
|
|
|
realmSettingsPage.saveThemes();
|
|
});
|
|
|
|
describe("Events tab", () => {
|
|
const listingPage = new ListingPage();
|
|
|
|
it("Enable user events", () => {
|
|
cy.intercept("GET", `/auth/admin/realms/${realmName}/keys`).as("load");
|
|
sidebarPage.goToRealmSettings();
|
|
cy.getId("rs-realm-events-tab").click();
|
|
cy.wait(["@load"]);
|
|
|
|
realmSettingsPage
|
|
.toggleSwitch(realmSettingsPage.enableEvents)
|
|
.save(realmSettingsPage.eventsUserSave);
|
|
masthead.checkNotificationMessage("Successfully saved configuration");
|
|
|
|
realmSettingsPage.clearEvents("user");
|
|
|
|
modalUtils
|
|
.checkModalMessage(
|
|
"If you clear all events of this realm, all records will be permanently cleared in the database"
|
|
)
|
|
.confirmModal();
|
|
|
|
masthead.checkNotificationMessage("The user events have been cleared");
|
|
|
|
const events = ["Client info", "Client info error"];
|
|
|
|
cy.intercept("GET", `/auth/admin/realms/${realmName}/events/config`).as(
|
|
"fetchConfig"
|
|
);
|
|
realmSettingsPage.addUserEvents(events).clickAdd();
|
|
masthead.checkNotificationMessage("Successfully saved configuration");
|
|
cy.wait(["@fetchConfig"]);
|
|
cy.get(".pf-c-spinner__tail-ball").should("not.exist");
|
|
|
|
for (const event of events) {
|
|
listingPage.searchItem(event, false).itemExist(event);
|
|
}
|
|
});
|
|
});
|
|
|
|
it("Go to keys tab", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
|
|
cy.getId("rs-keys-tab").click();
|
|
});
|
|
|
|
it("add Providers", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
|
|
cy.getId("rs-keys-tab").click();
|
|
|
|
cy.getId("rs-providers-tab").click();
|
|
|
|
realmSettingsPage.toggleAddProviderDropdown();
|
|
|
|
cy.getId("option-aes-generated").click();
|
|
realmSettingsPage.enterConsoleDisplayName("test_aes-generated");
|
|
realmSettingsPage.addProvider();
|
|
|
|
realmSettingsPage.toggleAddProviderDropdown();
|
|
|
|
cy.getId("option-ecdsa-generated").click();
|
|
realmSettingsPage.enterConsoleDisplayName("test_ecdsa-generated");
|
|
realmSettingsPage.addProvider();
|
|
|
|
realmSettingsPage.toggleAddProviderDropdown();
|
|
|
|
cy.getId("option-hmac-generated").click();
|
|
realmSettingsPage.enterConsoleDisplayName("test_hmac-generated");
|
|
realmSettingsPage.addProvider();
|
|
|
|
realmSettingsPage.toggleAddProviderDropdown();
|
|
|
|
cy.getId("option-rsa-generated").click();
|
|
realmSettingsPage.enterConsoleDisplayName("test_rsa-generated");
|
|
realmSettingsPage.addProvider();
|
|
});
|
|
|
|
it("go to details", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
goToDetails();
|
|
});
|
|
|
|
it("Test keys", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
goToKeys();
|
|
|
|
realmSettingsPage.testSelectFilter();
|
|
});
|
|
|
|
it("add locale", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
|
|
cy.getId("rs-localization-tab").click();
|
|
|
|
addBundle();
|
|
|
|
masthead.checkNotificationMessage(
|
|
"Success! The localization text has been created."
|
|
);
|
|
});
|
|
|
|
it("Realm header settings", () => {
|
|
sidebarPage.goToRealmSettings();
|
|
cy.get("#pf-tab-securityDefences-securityDefences").click();
|
|
cy.getId("headers-form-tab-save").should("be.disabled");
|
|
cy.get("#xFrameOptions").clear().type("DENY");
|
|
cy.getId("headers-form-tab-save").should("be.enabled").click();
|
|
masthead.checkNotificationMessage("Realm successfully updated");
|
|
});
|
|
});
|