Skip to content

Commit 20aa1bc

Browse files
Test session expiry when using basic auth
1 parent a96d1fe commit 20aa1bc

File tree

3 files changed

+33
-19
lines changed

3 files changed

+33
-19
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
auth_backends.1 = rabbit_auth_backend_internal
22

3-
management.login_session_timeout = 150
3+
management.login_session_timeout = 1
44
load_definitions = ${IMPORT_DIR}/users.json

deps/rabbitmq_management/selenium/test/basic-auth/session-expired.js

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,35 @@
11
const { By, Key, until, Builder } = require('selenium-webdriver')
22
require('chromedriver')
33
const assert = require('assert')
4-
const { buildDriver, goToHome, captureScreensFor, teardown, delay, idpLoginPage } = require('..utils')
4+
const { buildDriver, goToHome, captureScreensFor, teardown, delay } = require('../utils')
55

6-
const SSOHomePage = require('../pageobjects/SSOHomePage')
7-
const UAALoginPage = require('../pageobjects/UAALoginPage')
8-
const KeycloakLoginPage = require('../pageobjects/KeycloakLoginPage')
6+
const LoginPage = require('../pageobjects/LoginPage')
97
const OverviewPage = require('../pageobjects/OverviewPage')
108

119
describe('Once user is logged in', function () {
1210
let homePage
1311
let idpLogin
1412
let overview
1513
let captureScreen
16-
this.timeout(45000) // hard-coded to 25secs because this test requires 35sec to run
14+
this.timeout(65000) // hard-coded to 25secs because this test requires 35sec to run
1715

1816
before(async function () {
1917
driver = buildDriver()
2018
await goToHome(driver)
21-
homePage = new SSOHomePage(driver)
22-
idpLogin = idpLoginPage(driver)
19+
login = new LoginPage(driver)
2320
overview = new OverviewPage(driver)
2421
captureScreen = captureScreensFor(driver, __filename)
25-
26-
await homePage.clickToLogin()
27-
await idpLogin.login('rabbit_admin', 'rabbit_admin')
22+
await login.login('guest', 'guest')
2823
await overview.isLoaded()
2924

3025
})
3126

32-
it('it has to log back in after the session expires', async function () {
33-
34-
await delay(15000)
35-
const visible = await homePage.isWarningVisible()
36-
assert.ok(visible)
37-
38-
await idpLogin.login('rabbit_admin', 'rabbit_admin')
27+
it('it has to login after the session expires', async function () {
3928

40-
await overview.isLoaded() // still after accessTokenValiditySeconds = 15 sec
29+
await delay(60000)
30+
await login.isLoaded()
31+
await login.login('guest', 'guest')
32+
await overview.isLoaded()
4133
await overview.clickOnConnectionsTab() // and we can still interact with the ui
4234
})
4335

deps/rabbitmq_management/selenium/test/pageobjects/LoginPage.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,26 @@ module.exports = class LoginPage extends BasePage {
2222
async getLoginButton () {
2323
return this.getValue(LOGIN_BUTTON)
2424
}
25+
26+
27+
async isWarningVisible () {
28+
try {
29+
await this.waitForDisplayed(WARNING)
30+
return Promise.resolve(true)
31+
} catch (e) {
32+
return Promise.resolve(false)
33+
}
34+
}
35+
async getWarnings() {
36+
try
37+
{
38+
return driver.findElements(WARNING)
39+
} catch (NoSuchElement) {
40+
return Promise.resolve([])
41+
}
42+
}
43+
async getWarning () {
44+
return this.getText(WARNING)
45+
}
46+
2547
}

0 commit comments

Comments
 (0)