2021-01-27 12:56:28 +00:00
|
|
|
import LoginPage from "../support/pages/LoginPage";
|
|
|
|
import Masthead from "../support/pages/admin_console/Masthead";
|
|
|
|
import ListingPage from "../support/pages/admin_console/ListingPage";
|
|
|
|
import SidebarPage from "../support/pages/admin_console/SidebarPage";
|
|
|
|
import CreateClientPage from "../support/pages/admin_console/manage/clients/CreateClientPage";
|
2021-02-24 07:59:12 +00:00
|
|
|
import ModalUtils from "../support/util/ModalUtils";
|
2021-02-28 20:02:31 +00:00
|
|
|
import AdvancedTab from "../support/pages/admin_console/manage/clients/AdvancedTab";
|
|
|
|
import AdminClient from "../support/util/AdminClient";
|
2021-01-21 12:09:50 +00:00
|
|
|
|
2021-01-27 12:47:57 +00:00
|
|
|
let itemId = "client_crud";
|
|
|
|
const loginPage = new LoginPage();
|
|
|
|
const masthead = new Masthead();
|
|
|
|
const sidebarPage = new SidebarPage();
|
|
|
|
const listingPage = new ListingPage();
|
|
|
|
const createClientPage = new CreateClientPage();
|
2021-02-24 07:59:12 +00:00
|
|
|
const modalUtils = new ModalUtils();
|
2021-01-27 12:47:57 +00:00
|
|
|
|
2021-01-21 12:09:50 +00:00
|
|
|
describe("Clients test", function () {
|
|
|
|
describe("Client creation", function () {
|
|
|
|
beforeEach(function () {
|
|
|
|
cy.visit("");
|
|
|
|
loginPage.logIn();
|
|
|
|
sidebarPage.goToClients();
|
2021-01-25 17:17:59 +00:00
|
|
|
});
|
2021-01-21 12:09:50 +00:00
|
|
|
|
2021-01-25 17:17:59 +00:00
|
|
|
it("should fail creating client", function () {
|
2021-01-21 12:09:50 +00:00
|
|
|
listingPage.goToCreateItem();
|
|
|
|
|
|
|
|
createClientPage
|
|
|
|
.continue()
|
|
|
|
.checkClientTypeRequiredMessage()
|
|
|
|
.checkClientIdRequiredMessage();
|
|
|
|
|
|
|
|
createClientPage
|
|
|
|
.fillClientData(itemId)
|
|
|
|
.continue()
|
|
|
|
.checkClientTypeRequiredMessage()
|
|
|
|
.checkClientIdRequiredMessage(false);
|
|
|
|
|
|
|
|
createClientPage
|
|
|
|
.fillClientData("")
|
|
|
|
.selectClientType("openid-connect")
|
|
|
|
.continue()
|
|
|
|
.checkClientTypeRequiredMessage(false)
|
|
|
|
.checkClientIdRequiredMessage();
|
|
|
|
|
|
|
|
createClientPage.fillClientData("account").continue().continue();
|
|
|
|
|
|
|
|
// The error should inform about duplicated name/id
|
|
|
|
masthead.checkNotificationMessage(
|
|
|
|
"Could not create client: 'Error: Request failed with status code 409'"
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
2021-01-25 17:17:59 +00:00
|
|
|
it("Client CRUD test", function () {
|
|
|
|
itemId += "_" + (Math.random() + 1).toString(36).substring(7);
|
2021-01-27 12:56:28 +00:00
|
|
|
|
2021-01-25 17:17:59 +00:00
|
|
|
// Create
|
2021-01-21 12:09:50 +00:00
|
|
|
listingPage.itemExist(itemId, false).goToCreateItem();
|
|
|
|
|
|
|
|
createClientPage
|
|
|
|
.selectClientType("openid-connect")
|
|
|
|
.fillClientData(itemId)
|
|
|
|
.continue()
|
|
|
|
.continue();
|
|
|
|
|
|
|
|
masthead.checkNotificationMessage("Client created successfully");
|
|
|
|
|
|
|
|
sidebarPage.goToClients();
|
|
|
|
|
2021-01-27 12:56:28 +00:00
|
|
|
listingPage.searchItem(itemId).itemExist(itemId);
|
2021-01-21 12:09:50 +00:00
|
|
|
|
2021-01-25 17:17:59 +00:00
|
|
|
// Delete
|
2021-02-24 07:59:12 +00:00
|
|
|
listingPage.deleteItem(itemId);
|
|
|
|
modalUtils.checkModalTitle(`Delete ${itemId} ?`).confirmModal();
|
2021-01-21 12:09:50 +00:00
|
|
|
|
|
|
|
masthead.checkNotificationMessage("The client has been deleted");
|
|
|
|
|
|
|
|
listingPage.itemExist(itemId, false);
|
|
|
|
});
|
|
|
|
});
|
2021-02-28 20:02:31 +00:00
|
|
|
|
|
|
|
describe("Advanced tab test", () => {
|
|
|
|
const advancedTab = new AdvancedTab();
|
|
|
|
let client: string;
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
cy.visit("");
|
|
|
|
loginPage.logIn();
|
|
|
|
sidebarPage.goToClients();
|
|
|
|
|
|
|
|
client = "client_" + (Math.random() + 1).toString(36).substring(7);
|
|
|
|
|
|
|
|
listingPage.goToCreateItem();
|
|
|
|
|
|
|
|
createClientPage
|
|
|
|
.selectClientType("openid-connect")
|
|
|
|
.fillClientData(client)
|
|
|
|
.continue()
|
|
|
|
.continue();
|
|
|
|
|
|
|
|
advancedTab.goToTab();
|
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
|
|
new AdminClient().deleteClient(client);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Revocation", () => {
|
|
|
|
advancedTab.checkNone();
|
|
|
|
|
|
|
|
advancedTab.clickSetToNow().checkSetToNow();
|
|
|
|
advancedTab.clickClear().checkNone();
|
|
|
|
|
|
|
|
advancedTab.clickPush();
|
|
|
|
masthead.checkNotificationMessage(
|
|
|
|
"No push sent. No admin URI configured or no registered cluster nodes available"
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Clustering", () => {
|
|
|
|
advancedTab.expandClusterNode().checkTestClusterAvailability(false);
|
|
|
|
|
|
|
|
advancedTab
|
|
|
|
.clickRegisterNodeManually()
|
|
|
|
.fillHost("localhost")
|
|
|
|
.clickSaveHost();
|
|
|
|
advancedTab.checkTestClusterAvailability(true);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Fine grain OpenID connect configuration", () => {
|
|
|
|
const algorithm = "ES384";
|
|
|
|
advancedTab
|
|
|
|
.selectAccessTokenSignatureAlgorithm(algorithm)
|
|
|
|
.clickSaveFineGrain();
|
|
|
|
|
|
|
|
advancedTab
|
|
|
|
.selectAccessTokenSignatureAlgorithm("HS384")
|
|
|
|
.clickReloadFineGrain();
|
|
|
|
advancedTab.checkAccessTokenSignatureAlgorithm(algorithm);
|
|
|
|
});
|
|
|
|
});
|
2021-01-21 12:09:50 +00:00
|
|
|
});
|