Reproduce issue

This commit is contained in:
Marcial Rosales 2025-05-26 18:22:36 +02:00
parent 4fdbcb33e1
commit d2767983dc
1 changed files with 28 additions and 7 deletions

View File

@ -1,10 +1,11 @@
const { By, Key, until, Builder } = require('selenium-webdriver')
require('chromedriver')
const assert = require('assert')
const { buildDriver, goToHome, captureScreensFor, teardown, doWhile, goToQueue } = require('../utils')
const { buildDriver, goToHome, captureScreensFor, teardown, doWhile, goToQueue,delay } = require('../utils')
const { createQueue, deleteQueue, getManagementUrl, basicAuthorization } = require('../mgt-api')
const { open: openAmqp, once: onceAmqp, on: onAmqp, close: closeAmqp,
openReceiver : openReceiver} = require('../amqp')
const amqplib = require('amqplib');
const LoginPage = require('../pageobjects/LoginPage')
const OverviewPage = require('../pageobjects/OverviewPage')
@ -78,6 +79,8 @@ describe('Given a quorum queue configured with SAC', function () {
describe("given there is a consumer attached to the queue", function () {
let amqp
let amqp091conn
before(async function() {
amqp = openAmqp(queueName)
await untilConnectionEstablished
@ -97,31 +100,41 @@ describe('Given a quorum queue configured with SAC', function () {
let consumerTable = await queuePage.getConsumersTable()
assert.equal("single active", consumerTable[0][6])
assert.equal("●", consumerTable[0][5])
//assert.equal("●", consumerTable[0][5])
})
it('it should have two consumers, after adding a second subscriber', async function() {
openReceiver(amqp, queueName)
console.log("Connecting..")
amqp091conn = await amqplib.connect('amqp://guest:guest@localhost?frameMax=0')
const ch1 = await amqp091conn.createChannel()
console.log("Connected")
// Listener
ch1.consume(queueName, (msg) => {}, {priority: 10})
await doWhile(async function() {
await queuePage.refresh()
await queuePage.isLoaded()
return queuePage.getConsumerCount()
}, function(count) {
return count.localeCompare("2") == 0
return count.localeCompare("2")
}, 5000)
assert.equal("2", await queuePage.getConsumerCount())
assert.equal("Consumers (2)", await queuePage.getConsumersSectionTitle())
await queuePage.clickOnConsumerSection()
let consumerTable = await queuePage.getConsumersTable()
console.log("consumer table: " + JSON.stringify(consumerTable))
let activeConsumer = consumerTable[1][6].localeCompare("single active") == 0 ?
1 : 0
let nonActiveConsumer = activeConsumer == 1 ? 0 : 1
assert.equal("waiting", consumerTable[nonActiveConsumer][6])
assert.equal("○", consumerTable[nonActiveConsumer][5])
//assert.equal("○", consumerTable[nonActiveConsumer][5])
assert.equal("single active", consumerTable[activeConsumer][6])
assert.equal("●", consumerTable[activeConsumer][5])
//assert.equal("●", consumerTable[activeConsumer][5])
await delay(5000)
})
after(function() {
@ -132,6 +145,14 @@ describe('Given a quorum queue configured with SAC', function () {
} catch (error) {
error("Failed to close amqp10 connection due to " + error);
}
try {
if (amqp091conn != null) {
amqp091conn.close()
}
} catch (error) {
error("Failed to close amqp091 connection due to " + error);
}
})
})