Skip to content

Commit 7fee434

Browse files
Test SAC with one consumer
pending to test with 2 consumers
1 parent f25b47c commit 7fee434

File tree

5 files changed

+26
-13
lines changed

5 files changed

+26
-13
lines changed

deps/rabbitmq_management/priv/www/js/tmpl/consumers.ejs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<% if (consumers.length > 0) { %>
2-
<table class="list">
2+
<table class="list" id="consumers">
33
<thead>
44
<tr>
55
<% if (mode == 'queue') { %>

selenium/test/mgt-api.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ module.exports = {
192192
throw new Error(req.responseText)
193193
}
194194
},
195-
createQueue: (url, authorization, vhost, name, queueType = "quorum") => {
195+
createQueue: (url, authorization, vhost, name, arguments = {}) => {
196196
log("Create queue " + JSON.stringify(name)
197197
+ " in vhost " + vhost + " on " + url)
198198
const req = new XMLHttpRequest()
@@ -203,9 +203,7 @@ module.exports = {
203203
req.setRequestHeader('Content-Type', 'application/json')
204204
let payload = {
205205
"durable": true,
206-
"arguments":{
207-
"x-queue-type" : queueType
208-
}
206+
"arguments": arguments
209207
}
210208
req.send(JSON.stringify(payload))
211209
if (req.status == 200 || req.status == 204 || req.status == 201) {

selenium/test/pageobjects/BasePage.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ module.exports = class BasePage {
3737
async goTo(path) {
3838
return driver.get(d.baseUrl + path)
3939
}
40-
40+
async refresh() {
41+
return this.driver.navigate().refresh()
42+
}
4143
async isLoaded () {
4244
return this.waitForDisplayed(MENU_TABS)
4345
}

selenium/test/pageobjects/QueuePage.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@ const STATS_CONSUMER_COUNT = By.css('table#details-queue-stats-table td#consumer
1212

1313
const CONSUMERS_SECTION = By.css('div#queue-consumers-section')
1414
const CONSUMERS_SECTION_TITLE = By.css('div#queue-consumers-section h2')
15+
const CONSUMERS_TABLE = By.css('div#queue-consumers-section table.list#consumers')
1516

1617
module.exports = class QueuePage extends BasePage {
1718
async isLoaded() {
1819
return this.waitForDisplayed(QUEUE_NAME)
1920
}
20-
async refresh() {
21-
return this.driver.navigate().refresh()
22-
}
21+
2322
async getName() {
2423
return this.getText(QUEUE_NAME)
2524
}
@@ -35,6 +34,9 @@ module.exports = class QueuePage extends BasePage {
3534
async clickOnConsumerSection() {
3635
return this.click(CONSUMERS_SECTION)
3736
}
37+
async getConsumersTable() {
38+
return this.getTable(CONSUMERS_TABLE)
39+
}
3840
async ensureDeleteQueueSectionIsVisible() {
3941
await this.click(DELETE_SECTION)
4042
return this.driver.findElement(DELETE_SECTION).isDisplayed()

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

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var untilConnectionEstablished = new Promise((resolve, reject) => {
1818
})
1919
})
2020

21-
describe('Given a quorum queue', function () {
21+
describe('Given a quorum queue configured with SAC', function () {
2222
let login
2323
let queuesAndStreams
2424
let queuePage
@@ -46,7 +46,10 @@ describe('Given a quorum queue', function () {
4646
queueName = "test_" + Math.floor(Math.random() * 1000)
4747

4848
createQueue(getManagementUrl(), basicAuthorization("management", "guest"),
49-
"/", queueName, "quorum")
49+
"/", queueName, {
50+
"x-queue-type": "quorum",
51+
"x-single-active-consumer": true
52+
})
5053

5154
await goToQueue(driver, "/", queueName)
5255
await queuePage.isLoaded()
@@ -57,10 +60,14 @@ describe('Given a quorum queue', function () {
5760
it('it must display its queue-type and durability', async function () {
5861
let table = await queuePage.getFeatures()
5962
assert.equal(table[0].name, "arguments:")
60-
let expectedArguments = [{"name":"x-queue-type:","value":"quorum"}]
63+
let expectedArguments = [
64+
{"name":"x-queue-type:","value":"quorum"}
65+
]
6166
assert.equal(JSON.stringify(table[0].value), JSON.stringify(expectedArguments))
62-
assert.equal(table[1].name, "durable:")
67+
assert.equal(table[1].name, "x-single-active-consumer:")
6368
assert.equal(table[1].value, "true")
69+
assert.equal(table[2].name, "durable:")
70+
assert.equal(table[2].value, "true")
6471
})
6572

6673
it('it should not have any consumers', async function() {
@@ -85,6 +92,10 @@ describe('Given a quorum queue', function () {
8592
}, 5000)
8693
assert.equal("1", await queuePage.getConsumerCount())
8794
assert.equal("Consumers (1)", await queuePage.getConsumersSectionTitle())
95+
await queuePage.clickOnConsumerSection()
96+
let consumerTable = await queuePage.getConsumersTable()
97+
console.log("consumer table: " + JSON.stringify(consumerTable))
98+
assert.equal("single active", consumerTable[0][6])
8899
})
89100

90101
after(function() {

0 commit comments

Comments
 (0)