Skip to content

Commit

Permalink
tests: Add e2e for Grafana dex datasources
Browse files Browse the repository at this point in the history
  • Loading branch information
crssnd committed Oct 24, 2023
1 parent 77a9924 commit e3bc483
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 35 deletions.
7 changes: 7 additions & 0 deletions tests/cypress.support.js
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,13 @@ Cypress.Commands.add("dexStaticUserLogin", function(username, loginUrl, cookieNa
cy.session([username, loginUrl, cookieName], () => {
cy.visit(loginUrl)

// this is needed for Grafana
cy.title().then(($title) => {
if ($title === 'Grafana') {
cy.contains("Sign in with dex").click()
}
})

// Conditionally skip connector selection
cy.yqSecrets(".dex.connectors | length")
.then(connectors => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,30 @@
describe("grafana dev", function() {
describe("grafana static dev dex user datasources", function() {
before(function() {
cy.yq("sc", "\"https://\" + .grafana.user.subdomain + \".\" + .global.baseDomain")
.should("not.contain.empty")
.as('baseUrl')
})
beforeEach(function() {
// Cypress does not like trailing dots
cy.yqDig("sc", ".grafana.user.trailingDots")
.should("not.equal", "true")

cy.yq("sc", "\"https://\" + .grafana.user.subdomain + \".\" + .global.baseDomain")
.should("not.be.empty")
.then(cy.visit)
cy.dexStaticUserLogin("[email protected]", this.baseUrl, 'grafana_session_expiry')
cy.on('uncaught:exception', (err, runnable) => {
if (err.statusText.includes("Request was aborted")) {
return false
}
})
})

it("can login via dex with static user", function() {
cy.url()
.should("include", "/login")

cy.contains("Sign in with dex")
.click()

cy.dexStaticLogin()

it('Home is visible', function () {
cy.visit(this.baseUrl)
cy.contains("Home")
.should("exist")
})

it("has configured data sources", function() {
cy.contains("Sign in with dex")
.click()

cy.dexStaticLogin()
cy.visit(this.baseUrl)

cy.get("button[aria-label=\"Toggle menu\"]")
.click()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
describe("grafana admin", function() {
describe("grafana static dex user datasources test", function() {
before(function() {
cy.yq("sc", "\"https://\" + .grafana.ops.subdomain + \".\" + .global.opsDomain")
.should("not.contain.empty")
.as('baseUrl')
})
beforeEach(function() {
// Cypress does not like trailing dots
cy.yqDig("sc", ".grafana.ops.trailingDots")
.should("not.equal", "true")

cy.yq("sc", "\"https://\" + .grafana.ops.subdomain + \".\" + .global.opsDomain")
.should("not.be.empty")
.then(cy.visit)
cy.dexStaticUserLogin("[email protected]", this.baseUrl, 'grafana_session_expiry')
cy.on('uncaught:exception', (err, runnable) => {
if (err.statusText.includes("Request was aborted")) {
return false
}
})
})

it("can login via dex with static user", function() {
cy.url()
.should("include", "/login")

cy.contains("Sign in with dex")
.click()

cy.dexStaticLogin()

it('Home is visible', function () {
cy.visit(this.baseUrl)
cy.contains("Home")
.should("exist")
})

it("has configured data sources", function() {
cy.contains("Sign in with dex")
.click()

cy.dexStaticLogin()
cy.visit(this.baseUrl)

cy.get("button[aria-label=\"Toggle menu\"]")
.click()
Expand All @@ -39,6 +36,7 @@ describe("grafana admin", function() {

cy.contains("Connections")
.click()

cy.contains("Data sources")
.click()

Expand Down

0 comments on commit e3bc483

Please sign in to comment.