Skip to content

Commit c41de74

Browse files
Pass authorization to mgt-api calls
1 parent ff6bb97 commit c41de74

File tree

6 files changed

+27
-27
lines changed

6 files changed

+27
-27
lines changed

selenium/test/mgt-api.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -114,18 +114,17 @@ module.exports = {
114114
throw new Error(req.responseText)
115115
}
116116
},
117-
createVhost: (url, name, description = "", tags = []) => {
117+
createVhost: (url, authorization, name, description = "", tags = []) => {
118118
let vhost = {
119119
"description": description,
120120
"tags": tags
121121
}
122122
log("Create vhost " + JSON.stringify(vhost)
123123
+ " with name " + name + " on " + url)
124124
const req = new XMLHttpRequest()
125-
let base64Credentials = btoa('administrator-only' + ":" + 'guest')
126125
let finalUrl = url + "/api/vhosts/" + encodeURIComponent(name)
127126
req.open('PUT', finalUrl, false)
128-
req.setRequestHeader("Authorization", "Basic " + base64Credentials)
127+
req.setRequestHeader("Authorization", authorization)
129128
req.setRequestHeader('Content-Type', 'application/json')
130129

131130
req.send(JSON.stringify(vhost))
@@ -158,13 +157,12 @@ module.exports = {
158157
throw new Error(req.responseText)
159158
}
160159
},
161-
deleteVhost: (url, vhost) => {
160+
deleteVhost: (url, authorization, vhost) => {
162161
log("Deleting vhost " + vhost)
163162
const req = new XMLHttpRequest()
164-
let base64Credentials = btoa('administrator-only' + ":" + 'guest')
165163
let finalUrl = url + "/api/vhosts/" + encodeURIComponent(vhost)
166164
req.open('DELETE', finalUrl, false)
167-
req.setRequestHeader("Authorization", "Basic " + base64Credentials)
165+
req.setRequestHeader("Authorization", authorization)
168166

169167
req.send()
170168
if (req.status == 200 || req.status == 204) {
@@ -194,15 +192,14 @@ module.exports = {
194192
throw new Error(req.responseText)
195193
}
196194
},
197-
createQueue: (url, name, vhost, queueType = "quorum") => {
195+
createQueue: (url, authorization, vhost, name, queueType = "quorum") => {
198196
log("Create queue " + JSON.stringify(name)
199197
+ " in vhost " + vhost + " on " + url)
200198
const req = new XMLHttpRequest()
201-
let base64Credentials = btoa('administrator-only' + ":" + 'guest')
202199
let finalUrl = url + "/api/queues/" + encodeURIComponent(vhost) + "/"
203200
+ encodeURIComponent(name)
204201
req.open('PUT', finalUrl, false)
205-
req.setRequestHeader("Authorization", "Basic " + base64Credentials)
202+
req.setRequestHeader("Authorization", authorization)
206203
req.setRequestHeader('Content-Type', 'application/json')
207204
let payload = {
208205
"durable": true,
@@ -219,14 +216,13 @@ module.exports = {
219216
throw new Error(req.responseText)
220217
}
221218
},
222-
deleteQueue: (url, name, vhost) => {
219+
deleteQueue: (url, authorization, vhost, name) => {
223220
log("Deleting queue " + name + " on vhost " + vhost)
224221
const req = new XMLHttpRequest()
225-
let base64Credentials = btoa('administrator-only' + ":" + 'guest')
226222
let finalUrl = url + "/api/queues/" + encodeURIComponent(vhost) + "/"
227223
+ encodeURIComponent(name)
228224
req.open('DELETE', finalUrl, false)
229-
req.setRequestHeader("Authorization", "Basic " + base64Credentials)
225+
req.setRequestHeader("Authorization", authorization)
230226

231227
req.send()
232228
if (req.status == 200 || req.status == 204) {

selenium/test/pageobjects/BasePage.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ module.exports = class BasePage {
3434
this.interactionDelay = parseInt(process.env.SELENIUM_INTERACTION_DELAY) || 0 // slow down interactions (when rabbit is behind a http proxy)
3535
}
3636

37+
async goTo(path) {
38+
return driver.get(d.baseUrl + path)
39+
}
3740

3841
async isLoaded () {
3942
return this.waitForDisplayed(MENU_TABS)

selenium/test/pageobjects/QueuePage.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
const { By, Key, until, Builder } = require('selenium-webdriver')
22

33
const BasePage = require('./BasePage')
4-
const { goTo } = require('../utils')
54

65

76
const QUEUE_NAME = By.css('div#main h1 b')
@@ -16,9 +15,7 @@ module.exports = class QueuePage extends BasePage {
1615
async getName() {
1716
return this.getText(QUEUE_NAME)
1817
}
19-
async goToQueue(vhost, queue) {
20-
return goTo('#/queues/' + encodeURIComponent(vhost) + '/' + encodeURIComponent(queue))
21-
}
18+
2219
async ensureDeleteQueueSectionIsVisible() {
2320
await this.click(DELETE_SECTION)
2421
return this.driver.findElement(DELETE_SECTION).isDisplayed()

selenium/test/queuesAndStreams/view-qq-consumers.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
const { By, Key, until, Builder } = require('selenium-webdriver')
22
require('chromedriver')
33
const assert = require('assert')
4-
const { buildDriver, goToHome, captureScreensFor, teardown, delay, goToExchanges } = require('../utils')
5-
const { createQueue, deleteQueue, getManagementUrl } = require('../mgt-api')
4+
const { buildDriver, goToHome, captureScreensFor, teardown, delay, goToQueue } = require('../utils')
5+
const { createQueue, deleteQueue, getManagementUrl, basicAuthorization } = require('../mgt-api')
66

77
const LoginPage = require('../pageobjects/LoginPage')
88
const OverviewPage = require('../pageobjects/OverviewPage')
@@ -37,19 +37,21 @@ describe('Given a quorum queue', function () {
3737
await overview.clickOnQueuesTab()
3838
queueName = "test_" + Math.floor(Math.random() * 1000)
3939

40-
createQueue(getManagementUrl(), queueName, "/", "quorum")
40+
createQueue(getManagementUrl(), basicAuthorization("management", "guest"),
41+
"/", queueName, "quorum")
4142

4243
})
4344

4445
it('add quorum queue and view it', async function () {
45-
await queuePage.goToQueue("/", queueName)
46+
await goToQueue(driver, "/", queueName)
4647
await queuePage.isLoaded()
4748
assert.equal(queueName, await queuePage.getName())
4849

4950
})
5051

5152
after(async function () {
5253
await teardown(driver, this, captureScreen)
53-
deleteQueue(getManagementUrl(), "/", queueName)
54+
deleteQueue(getManagementUrl(), basicAuthorization("management", "guest"),
55+
"/", queueName)
5456
})
5557
})

selenium/test/utils.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,11 @@ module.exports = {
127127
},
128128

129129
goToExchanges: (d) => {
130-
return this.goTo('#/exchanges')
130+
return d.driver.get(d.baseUrl + '#/exchanges')
131131
},
132132

133-
goTo: (d, path) => {
134-
return d.ddriver.get(d.baseUrl + path)
133+
goToQueue(d, vhost, queue) {
134+
return d.driver.get(d.baseUrl + '#/queues/' + encodeURIComponent(vhost) + '/' + encodeURIComponent(queue))
135135
},
136136

137137
delay: async (msec, ref) => {

selenium/test/vhosts/admin-vhosts.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const { By, Key, until, Builder } = require('selenium-webdriver')
22
require('chromedriver')
33
const assert = require('assert')
44
const { buildDriver, goToHome, captureScreensFor, teardown, doWhile, log, delay } = require('../utils')
5-
const { getManagementUrl, createVhost, deleteVhost } = require('../mgt-api')
5+
const { getManagementUrl, basicAuthorization, createVhost, deleteVhost } = require('../mgt-api')
66

77
const LoginPage = require('../pageobjects/LoginPage')
88
const OverviewPage = require('../pageobjects/OverviewPage')
@@ -107,7 +107,8 @@ describe('Virtual Hosts in Admin tab', function () {
107107
let vhost = "test_" + Math.floor(Math.random() * 1000)
108108
before(async function() {
109109
log("Creating vhost")
110-
createVhost(getManagementUrl(), vhost, "selenium", "selenium-tag")
110+
createVhost(getManagementUrl(), basicAuthorization('administraotor', 'guest'),
111+
vhost, "selenium", "selenium-tag")
111112
// await overview.clickOnOverviewTab()
112113
await overview.clickOnAdminTab()
113114
await adminTab.clickOnVhosts()
@@ -131,7 +132,8 @@ describe('Virtual Hosts in Admin tab', function () {
131132
})
132133
after(async function () {
133134
log("Deleting vhost")
134-
deleteVhost(getManagementUrl(), vhost)
135+
deleteVhost(getManagementUrl(), basicAuthorization("administrator", "guest"),
136+
vhost)
135137
})
136138

137139
})

0 commit comments

Comments
 (0)