mirror of https://github.com/Budibase/budibase.git
committed by
GitHub
4 changed files with 332 additions and 5 deletions
@ -0,0 +1,178 @@ |
|||
import filterTests from "../../support/filterTests" |
|||
// const interact = require("../support/interact")
|
|||
|
|||
filterTests(["smoke", "all"], () => { |
|||
context("Auth Configuration", () => { |
|||
before(() => { |
|||
cy.login() |
|||
}) |
|||
|
|||
after(() => { |
|||
cy.get(".spectrum-SideNav li").contains("Auth").click() |
|||
cy.location().should(loc => { |
|||
expect(loc.pathname).to.eq("/builder/portal/manage/auth") |
|||
}) |
|||
|
|||
cy.get("[data-cy=new-scope-input]").clear() |
|||
|
|||
cy.get("div.content").scrollTo("bottom") |
|||
cy.get("[data-cy=oidc-active]").click() |
|||
|
|||
cy.get("[data-cy=oidc-active]").should('not.be.checked') |
|||
|
|||
cy.intercept("POST", "/api/global/configs").as("updateAuth") |
|||
cy.get("button[data-cy=oidc-save]").contains("Save").click({force: true}) |
|||
cy.wait("@updateAuth") |
|||
cy.get("@updateAuth").its("response.statusCode").should("eq", 200) |
|||
|
|||
cy.get(".spectrum-Toast-content") |
|||
.contains("Settings saved") |
|||
.should("be.visible") |
|||
}) |
|||
|
|||
it("Should allow updating of the OIDC config", () => { |
|||
cy.get(".spectrum-SideNav li").contains("Auth").click() |
|||
cy.location().should(loc => { |
|||
expect(loc.pathname).to.eq("/builder/portal/manage/auth") |
|||
}) |
|||
cy.get("div.content").scrollTo("bottom") |
|||
cy.get(".spectrum-Toast .spectrum-ClearButton").click() |
|||
|
|||
cy.get("input[data-cy=configUrl]").type("http://budi-auth.com/v2") |
|||
cy.get("input[data-cy=clientID]").type("34ac6a13-f24a-4b52-c70d-fa544ffd11b2") |
|||
cy.get("input[data-cy=clientSecret]").type("12A8Q~4nS_DWhOOJ2vWIRsNyDVsdtXPD.Zxa9df_") |
|||
|
|||
cy.get("button[data-cy=oidc-save]").should("not.be.disabled"); |
|||
|
|||
cy.intercept("POST", "/api/global/configs").as("updateAuth") |
|||
cy.get("button[data-cy=oidc-save]").contains("Save").click({force: true}) |
|||
cy.wait("@updateAuth") |
|||
cy.get("@updateAuth").its("response.statusCode").should("eq", 200) |
|||
|
|||
cy.get(".spectrum-Toast-content") |
|||
.contains("Settings saved") |
|||
.should("be.visible") |
|||
}) |
|||
|
|||
it("Should display default scopes in advanced config.", () => { |
|||
cy.get(".spectrum-SideNav li").contains("Auth").click() |
|||
cy.location().should(loc => { |
|||
expect(loc.pathname).to.eq("/builder/portal/manage/auth") |
|||
}) |
|||
cy.get("div.content").scrollTo("bottom") |
|||
|
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 4) |
|||
|
|||
cy.get(".spectrum-Tags-item").contains("openid") |
|||
cy.get(".spectrum-Tags-item").contains("openid").find(".spectrum-ClearButton").should("not.exist") |
|||
|
|||
cy.get(".spectrum-Tags-item").contains("offline_access") |
|||
cy.get(".spectrum-Tags-item").contains("email") |
|||
cy.get(".spectrum-Tags-item").contains("profile") |
|||
}) |
|||
|
|||
it("Add a new scopes", () => { |
|||
cy.get(".spectrum-SideNav li").contains("Auth").click() |
|||
cy.location().should(loc => { |
|||
expect(loc.pathname).to.eq("/builder/portal/manage/auth") |
|||
}) |
|||
cy.get("div.content").scrollTo("bottom") |
|||
|
|||
cy.get("[data-cy=new-scope-input]").type("Sample{enter}") |
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 5) |
|||
cy.get(".spectrum-Tags-item").contains("Sample") |
|||
|
|||
cy.get(".auth-form input.spectrum-Textfield-input").type("Another ") |
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 6) |
|||
cy.get(".spectrum-Tags-item").contains("Another") |
|||
|
|||
cy.get("button[data-cy=oidc-save]").should("not.be.disabled"); |
|||
|
|||
cy.intercept("POST", "/api/global/configs").as("updateAuth") |
|||
cy.get("button[data-cy=oidc-save]").contains("Save").click({force: true}) |
|||
cy.wait("@updateAuth") |
|||
cy.get("@updateAuth").its("response.statusCode").should("eq", 200) |
|||
|
|||
cy.reload() |
|||
|
|||
cy.get("div.content").scrollTo("bottom") |
|||
|
|||
cy.get(".spectrum-Tags-item").contains("openid") |
|||
cy.get(".spectrum-Tags-item").contains("offline_access") |
|||
cy.get(".spectrum-Tags-item").contains("email") |
|||
cy.get(".spectrum-Tags-item").contains("profile") |
|||
cy.get(".spectrum-Tags-item").contains("Sample") |
|||
cy.get(".spectrum-Tags-item").contains("Another") |
|||
}) |
|||
|
|||
it("Should allow the removal of auth scopes", () => { |
|||
cy.get(".spectrum-SideNav li").contains("Auth").click() |
|||
cy.location().should(loc => { |
|||
expect(loc.pathname).to.eq("/builder/portal/manage/auth") |
|||
}) |
|||
cy.get("div.content").scrollTo("bottom") |
|||
|
|||
cy.get(".spectrum-Tags-item").contains("offline_access").parent().find(".spectrum-ClearButton").click() |
|||
cy.get(".spectrum-Tags-item").contains("profile").parent().find(".spectrum-ClearButton").click() |
|||
|
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 4) |
|||
|
|||
cy.get(".spectrum-Tags-item").contains("offline_access").should("not.exist") |
|||
cy.get(".spectrum-Tags-item").contains("profile").should("not.exist") |
|||
|
|||
cy.get("button[data-cy=oidc-save]").should("not.be.disabled"); |
|||
|
|||
cy.intercept("POST", "/api/global/configs").as("updateAuth") |
|||
cy.get("button[data-cy=oidc-save]").contains("Save").click({force: true}) |
|||
cy.wait("@updateAuth") |
|||
cy.get("@updateAuth").its("response.statusCode").should("eq", 200) |
|||
|
|||
cy.get(".spectrum-Toast-content") |
|||
.contains("Settings saved") |
|||
.should("be.visible") |
|||
|
|||
cy.reload() |
|||
|
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 4) |
|||
|
|||
cy.get(".spectrum-Tags-item").contains("offline_access").should("not.exist") |
|||
cy.get(".spectrum-Tags-item").contains("profile").should("not.exist") |
|||
}) |
|||
|
|||
it("Should allow auth scopes to be reset to the core defaults.", () => { |
|||
cy.get(".spectrum-SideNav li").contains("Auth").click() |
|||
|
|||
cy.get("div.content").scrollTo("bottom") |
|||
|
|||
cy.get("[data-cy=restore-oidc-default-scopes]").click({force: true}) |
|||
|
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 4) |
|||
|
|||
cy.get(".spectrum-Tags-item").contains("openid") |
|||
cy.get(".spectrum-Tags-item").contains("offline_access") |
|||
cy.get(".spectrum-Tags-item").contains("email") |
|||
cy.get(".spectrum-Tags-item").contains("profile") |
|||
}) |
|||
|
|||
it("Should not allow invalid characters in the auth scopes", () => { |
|||
cy.get("[data-cy=new-scope-input]").type("thisIsInvalid\\{enter}") |
|||
cy.get(".spectrum-Form-itemField .error").contains("Auth scopes cannot contain spaces, double quotes or backslashes") |
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 4) |
|||
|
|||
cy.get("[data-cy=new-scope-input]").clear() |
|||
|
|||
cy.get("[data-cy=new-scope-input]").type("alsoInvalid\"{enter}") |
|||
cy.get(".spectrum-Form-itemField .error").contains("Auth scopes cannot contain spaces, double quotes or backslashes") |
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 4) |
|||
|
|||
cy.get("[data-cy=new-scope-input]").clear() |
|||
}) |
|||
|
|||
it("Should not allow duplicate auth scopes", () => { |
|||
cy.get("[data-cy=new-scope-input]").type("offline_access{enter}") |
|||
cy.get(".spectrum-Form-itemField .error").contains("Auth scope already exists") |
|||
cy.get(".spectrum-Tags").find(".spectrum-Tags-item").its("length").should("eq", 4) |
|||
}) |
|||
|
|||
}) |
|||
}) |
|||
Loading…
Reference in new issue