Skip to content

Commit d99f8f9

Browse files
Fix test case
The issue is that some idp initiated flows requires a client_id and secret which for opaque tokens we need to confiugre a different client_id and secret
1 parent d956635 commit d99f8f9

File tree

7 files changed

+67
-10
lines changed

7 files changed

+67
-10
lines changed

selenium/fakeportal/app.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ function access_token(id, secret) {
4747
const params = 'client_id=' + id +
4848
'&client_secret=' + secret +
4949
'&grant_type=client_credentials' +
50-
'&token_format=jwt' +
5150
'&response_type=token';
5251

5352
console.debug("Sending " + url + " with params " + params);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export MGT_CLIENT_ID_FOR_IDP_INITIATED=rabbit_idp_user
2+
export MGT_CLIENT_SECRET_FOR_IDP_INITIATED=rabbit_idp_user
3+
export MGT_UNAUTHORIZED_CLIENT_ID_FOR_IDP_INITIATED=producer_opaque
4+
export MGT_UNAUTHORIZED_CLIENT_SECRET_FOR_IDP_INITIATED=producer_opaque

selenium/test/oauth/spring/application.yml

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,43 @@ spring:
6767
- profile
6868
client-name: mgt_api_client_opaque
6969
token:
70-
access-token-format: reference
70+
access-token-format: reference
71+
producer_opaque:
72+
registration:
73+
provider: spring
74+
client-id: producer_opaque
75+
client-secret: "{noop}producer_opaque"
76+
authorization-grant-types:
77+
- client_credentials
78+
client-authentication-methods:
79+
- client_secret_basic
80+
- client_secret_post
81+
scopes:
82+
- openid
83+
- profile
84+
- rabbitmq.read:*/*
85+
- rabbitmq.write:*/*
86+
- rabbitmq.configure:*/*
87+
client-name: producer_opaque
88+
token:
89+
access-token-format: reference
90+
producer:
91+
registration:
92+
provider: spring
93+
client-id: producer
94+
client-secret: "{noop}producer"
95+
authorization-grant-types:
96+
- client_credentials
97+
client-authentication-methods:
98+
- client_secret_basic
99+
- client_secret_post
100+
scopes:
101+
- openid
102+
- profile
103+
- rabbitmq.read:*/*
104+
- rabbitmq.write:*/*
105+
- rabbitmq.configure:*/*
106+
client-name: producer
71107
rabbit_idp_user:
72108
registration:
73109
provider: spring

selenium/test/oauth/with-idp-initiated/happy-login.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,29 @@ const FakePortalPage = require('../../pageobjects/FakePortalPage')
99
describe('A user with a JWT token', function () {
1010
let overview
1111
let captureScreen
12-
let token
1312
let fakePortal
1413
let driver
1514

15+
let username
16+
let password
17+
1618
before(async function () {
19+
username = process.env.MGT_CLIENT_ID_FOR_IDP_INITIATED || 'rabbit_idp_user'
20+
password = process.env.MGT_CLIENT_SECRET_FOR_IDP_INITIATED || 'rabbit_idp_user'
1721
driver = buildDriver()
1822
overview = new OverviewPage(driver)
1923
captureScreen = captureScreensFor(driver, __filename)
2024
fakePortal = new FakePortalPage(driver)
2125
})
2226

2327
it('can log in presenting the token to the /login URL via fakeportal', async function () {
24-
await fakePortal.goToHome("rabbit_idp_user", "rabbit_idp_user")
28+
await fakePortal.goToHome(username, password)
2529
if (!await fakePortal.isLoaded()) {
2630
throw new Error('Failed to load fakePortal')
2731
}
2832
await fakePortal.login()
2933
await overview.isLoaded()
30-
assert.equal(await overview.getUser(), 'User rabbit_idp_user')
34+
assert.equal(await overview.getUser(), 'User ' + username)
3135
})
3236

3337
after(async function () {

selenium/test/oauth/with-idp-initiated/logout.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,19 @@ describe('When a logged in user', function () {
1010
let overview
1111
let fakePortal
1212
let captureScreen
13+
let username
14+
let password
1315

1416
before(async function () {
1517
driver = buildDriver()
18+
username = process.env.MGT_CLIENT_ID_FOR_IDP_INITIATED || 'rabbit_idp_user'
19+
password = process.env.MGT_CLIENT_SECRET_FOR_IDP_INITIATED || 'rabbit_idp_user'
20+
1621
fakePortal = new FakePortalPage(driver)
1722
overview = new OverviewPage(driver)
1823
captureScreen = captureScreensFor(driver, __filename)
1924

20-
await fakePortal.goToHome()
25+
await fakePortal.goToHome(username, password)
2126
if (!await fakePortal.isLoaded()) {
2227
throw new Error('Failed to load fakePortal')
2328
}

selenium/test/oauth/with-idp-initiated/token-expires.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,22 @@ describe('Once user logs in with its own token', function () {
1212
let homePage
1313
let fakePortal
1414
let captureScreen
15+
let username
16+
let password
17+
1518
this.timeout(17000)
1619

1720
before(async function () {
1821
driver = buildDriver()
22+
username = process.env.MGT_CLIENT_ID_FOR_IDP_INITIATED || 'rabbit_idp_user'
23+
password = process.env.MGT_CLIENT_SECRET_FOR_IDP_INITIATED || 'rabbit_idp_user'
24+
1925
fakePortal = new FakePortalPage(driver)
2026
homePage = new SSOHomePage(driver)
2127
overview = new OverviewPage(driver)
2228
captureScreen = captureScreensFor(driver, __filename)
2329

24-
await fakePortal.goToHome()
30+
await fakePortal.goToHome(username, password)
2531
if (!await fakePortal.isLoaded()) {
2632
throw new Error('Failed to load fakePortal')
2733
}

selenium/test/oauth/with-idp-initiated/unauthorized.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@ const SSOHomePage = require('../../pageobjects/SSOHomePage')
77
const FakePortalPage = require('../../pageobjects/FakePortalPage')
88

99
describe('A user who accesses the /login URL with a token without scopes for the management UI', function () {
10-
let overview
1110
let captureScreen
12-
let token
11+
let username
12+
let password
1313

1414
before(async function () {
1515
driver = buildDriver()
16+
username = process.env.MGT_UNAUTHORIZED_CLIENT_ID_FOR_IDP_INITIATED || 'producer'
17+
password = process.env.MGT_UNAUTHORIZED_CLIENT_SECRET_FOR_IDP_INITIATED || 'producer_secret'
18+
1619
captureScreen = captureScreensFor(driver, __filename)
1720
fakePortal = new FakePortalPage(driver)
1821
homePage = new SSOHomePage(driver)
19-
await fakePortal.goToHome('producer', 'producer_secret')
22+
await fakePortal.goToHome(username, password)
2023
if (!await fakePortal.isLoaded()) {
2124
throw new Error('Failed to load fakePortal')
2225
}

0 commit comments

Comments
 (0)