128 lines
3.5 KiB
TypeScript
128 lines
3.5 KiB
TypeScript
export default class CreateKerberosProviderPage {
|
|
kerberosNameInput: string;
|
|
kerberosRealmInput: string;
|
|
kerberosPrincipalInput: string;
|
|
kerberosKeytabInput: string;
|
|
|
|
kerberosEnabledInput: string;
|
|
|
|
kerberosCacheDayInput: string;
|
|
kerberosCacheDayList: string;
|
|
kerberosCacheHourInput: string;
|
|
kerberosCacheHourList: string;
|
|
kerberosCacheMinuteInput: string;
|
|
kerberosCacheMinuteList: string;
|
|
kerberosCachePolicyInput: string;
|
|
kerberosCachePolicyList: string;
|
|
|
|
saveBtn: string;
|
|
cancelBtn: string;
|
|
|
|
constructor() {
|
|
// KerberosSettingsRequired required input values
|
|
this.kerberosNameInput = "data-testid=kerberos-name";
|
|
this.kerberosRealmInput = "data-testid=kerberos-realm";
|
|
this.kerberosPrincipalInput = "data-testid=kerberos-principal";
|
|
this.kerberosKeytabInput = "data-testid=kerberos-keytab";
|
|
|
|
// SettingsCache input values
|
|
this.kerberosCacheDayInput = "#kc-eviction-day";
|
|
this.kerberosCacheDayList = "#kc-eviction-day + ul";
|
|
this.kerberosCacheHourInput = "#kc-eviction-hour";
|
|
this.kerberosCacheHourList = "#kc-eviction-hour + ul";
|
|
this.kerberosCacheMinuteInput = "#kc-eviction-minute";
|
|
this.kerberosCacheMinuteList = "#kc-eviction-minute + ul";
|
|
this.kerberosCachePolicyInput = "#kc-cache-policy";
|
|
this.kerberosCachePolicyList = "#kc-cache-policy + ul";
|
|
|
|
// Kerberos settings enabled switch
|
|
this.kerberosEnabledInput = "#Kerberos-switch";
|
|
|
|
// Kerberos action buttons
|
|
this.saveBtn = "data-testid=kerberos-save";
|
|
this.cancelBtn = "data-testid=kerberos-cancel";
|
|
}
|
|
|
|
changeTime(oldTime: string, newTime: string) {
|
|
cy.contains(oldTime).click();
|
|
cy.contains(newTime).click();
|
|
return this;
|
|
}
|
|
|
|
deleteCardFromCard(card: string) {
|
|
cy.get(`[data-testid=${card}-dropdown]`).click();
|
|
cy.get('[data-testid="card-delete"]').click();
|
|
return this;
|
|
}
|
|
|
|
deleteCardFromMenu(providerType: string, card: string) {
|
|
this.clickExistingCard(card);
|
|
cy.get('[data-testid="action-dropdown"]').click();
|
|
cy.get(`[data-testid="delete-${providerType}-cmd"]`).click();
|
|
return this;
|
|
}
|
|
|
|
// Required fields - these always must be filled out when testing a save
|
|
fillKerberosRequiredData(
|
|
name: string,
|
|
realm: string,
|
|
principal: string,
|
|
keytab: string
|
|
) {
|
|
if (name) {
|
|
cy.get(`[${this.kerberosNameInput}]`).type(name);
|
|
}
|
|
if (realm) {
|
|
cy.get(`[${this.kerberosRealmInput}]`).type(realm);
|
|
}
|
|
if (principal) {
|
|
cy.get(`[${this.kerberosPrincipalInput}]`).type(principal);
|
|
}
|
|
if (keytab) {
|
|
cy.get(`[${this.kerberosKeytabInput}]`).type(keytab);
|
|
}
|
|
return this;
|
|
}
|
|
|
|
selectCacheType(cacheType: string) {
|
|
cy.get(this.kerberosCachePolicyInput).click();
|
|
cy.get(this.kerberosCachePolicyList).contains(cacheType).click();
|
|
return this;
|
|
}
|
|
|
|
clickExistingCard(cardName: string) {
|
|
cy.get('[data-testid="keycloak-card-title"]').contains(cardName).click();
|
|
cy.wait(1000);
|
|
return this;
|
|
}
|
|
|
|
clickMenuCommand(menu: string, command: string) {
|
|
cy.contains("button", menu).click();
|
|
cy.contains("li", command).click();
|
|
return this;
|
|
}
|
|
|
|
clickNewCard(providerType: string) {
|
|
cy.get(`[data-testid=${providerType}-card]`).click();
|
|
cy.wait(1000);
|
|
return this;
|
|
}
|
|
|
|
disableEnabledSwitch() {
|
|
cy.get(this.kerberosEnabledInput).uncheck({ force: true });
|
|
}
|
|
|
|
enableEnabledSwitch() {
|
|
cy.get(this.kerberosEnabledInput).check({ force: true });
|
|
}
|
|
|
|
save() {
|
|
cy.get(`[${this.saveBtn}]`).click();
|
|
return this;
|
|
}
|
|
|
|
cancel() {
|
|
cy.get(`[${this.cancelBtn}]`).click();
|
|
return this;
|
|
}
|
|
}
|