Test live data

This commit is contained in:
Marcial Rosales 2024-11-18 13:22:34 +01:00
parent 310b7e91e6
commit 0bc9a49b24
2 changed files with 39 additions and 16 deletions

View File

@ -1,7 +1,7 @@
const { By, Key, until, Builder } = require('selenium-webdriver') const { By, Key, until, Builder } = require('selenium-webdriver')
require('chromedriver') require('chromedriver')
const assert = require('assert') const assert = require('assert')
const { buildDriver, goToHome, captureScreensFor, teardown } = require('../../utils') const { buildDriver, goToHome, captureScreensFor, teardown, delay } = require('../../utils')
const LoginPage = require('../../pageobjects/LoginPage') const LoginPage = require('../../pageobjects/LoginPage')
const OverviewPage = require('../../pageobjects/OverviewPage') const OverviewPage = require('../../pageobjects/OverviewPage')
@ -10,7 +10,7 @@ const ConnectionPage = require('../../pageobjects/ConnectionPage')
var container = require('rhea') // https://github.com/amqp/rhea var container = require('rhea') // https://github.com/amqp/rhea
var receivedAmqpMessageCount = 0 var receivedAmqpMessageCount = 0
var connectionEstablishedPromise = new Promise((resolve, reject) => { var untilConnectionEstablished = new Promise((resolve, reject) => {
container.on('connection_open', function(context) { container.on('connection_open', function(context) {
resolve() resolve()
}) })
@ -20,7 +20,7 @@ container.on('message', function (context) {
receivedAmqpMessageCount++ receivedAmqpMessageCount++
}) })
container.once('sendable', function (context) { container.once('sendable', function (context) {
context.sender.send({body:'Hello World!'}) context.sender.send({body:'first message'})
}) })
@ -54,12 +54,12 @@ describe('Given an amqp10 connection opened, listed and clicked on it', function
target: 'receiver-target', target: 'receiver-target',
name: 'receiver-link' name: 'receiver-link'
}) })
connection.open_sender({ sender = connection.open_sender({
target: 'examples', target: 'examples',
source: 'sender-source', source: 'sender-source',
name: 'sender-link' name: 'sender-link'
}) })
await connectionEstablishedPromise await untilConnectionEstablished
await overview.clickOnConnectionsTab() await overview.clickOnConnectionsTab()
await connectionsPage.isLoaded() await connectionsPage.isLoaded()
@ -74,7 +74,7 @@ describe('Given an amqp10 connection opened, listed and clicked on it', function
let sessions = await connectionPage.getSessions() let sessions = await connectionPage.getSessions()
assert.equal(1, sessions.sessions.length) assert.equal(1, sessions.sessions.length)
let session = connectionPage.getSessionInfo(sessions.sessions, 0) let session = connectionPage.getSessionInfo(sessions.sessions, 0)
//console.log("session: " + JSON.stringify(session)) console.log("session: " + JSON.stringify(session))
assert.equal(0, session.channelNumber) assert.equal(0, session.channelNumber)
assert.equal(1, session.nextIncomingId) assert.equal(1, session.nextIncomingId)
assert.equal(0, session.outgoingUnsettledDeliveries) assert.equal(0, session.outgoingUnsettledDeliveries)
@ -84,17 +84,18 @@ describe('Given an amqp10 connection opened, listed and clicked on it', function
let sessions = await connectionPage.getSessions() let sessions = await connectionPage.getSessions()
assert.equal(1, sessions.incoming_links.length) assert.equal(1, sessions.incoming_links.length)
assert.equal(1, sessions.outgoing_links.length) assert.equal(1, sessions.outgoing_links.length)
let incomingLink = connectionPage.getIncomingLinkInfo(sessions.incoming_links, 0) let incomingLink = connectionPage.getIncomingLinkInfo(sessions.incoming_links, 0)
//console.log("incomingLink: " + JSON.stringify(incomingLink)) console.log("incomingLink: " + JSON.stringify(incomingLink))
assert.equal(1, incomingLink.handle) assert.equal(1, incomingLink.handle)
assert.equal("sender-link", incomingLink.name) assert.equal("sender-link", incomingLink.name)
assert.equal("examples", incomingLink.targetAddress) assert.equal("examples", incomingLink.targetAddress)
assert.equal("mixed", incomingLink.sndSettleMode) assert.equal("mixed", incomingLink.sndSettleMode)
assert.equal("0", incomingLink.unconfirmedMessages) assert.equal("0", incomingLink.unconfirmedMessages)
assert.equal(1, incomingLink.deliveryCount)
let outgoingLink = connectionPage.getOutgoingLinkInfo(sessions.outgoing_links, 0) let outgoingLink = connectionPage.getOutgoingLinkInfo(sessions.outgoing_links, 0)
//console.log("outgoingLink: " + JSON.stringify(outgoingLink)) console.log("outgoingLink: " + JSON.stringify(outgoingLink))
assert.equal(0, outgoingLink.handle) assert.equal(0, outgoingLink.handle)
assert.equal("receiver-link", outgoingLink.name) assert.equal("receiver-link", outgoingLink.name)
assert.equal("examples", outgoingLink.sourceAddress) assert.equal("examples", outgoingLink.sourceAddress)
@ -105,6 +106,28 @@ describe('Given an amqp10 connection opened, listed and clicked on it', function
}) })
it('display live link information', async function () {
var untilMessageReceived = new Promise((resolve, reject) => {
container.on('message', function(context) {
resolve()
})
})
sender.send({body:'second message'})
await untilMessageReceived
assert.equal(2, receivedAmqpMessageCount)
await delay(5*1000) // wait until page refreshes
let sessions = await connectionPage.getSessions()
let session = connectionPage.getSessionInfo(sessions.sessions, 0)
let incomingLink = connectionPage.getIncomingLinkInfo(sessions.incoming_links, 0)
let outgoingLink = connectionPage.getOutgoingLinkInfo(sessions.outgoing_links, 0)
assert.equal(2, incomingLink.deliveryCount)
//console.log("incomingLink: " + JSON.stringify(incomingLink))
//console.log("outgoingLink: " + JSON.stringify(outgoingLink))
})
after(async function () { after(async function () {
await teardown(driver, this, captureScreen) await teardown(driver, this, captureScreen)
try { try {

View File

@ -44,10 +44,10 @@ module.exports = class ConnectionPage extends BasePage {
name: links[index][1], name: links[index][1],
targetAddress: links[index][2], targetAddress: links[index][2],
sndSettleMode: links[index][3], sndSettleMode: links[index][3],
maxMessageSize: links[index][4], maxMessageSize: Number(links[index][4]),
deliveryCount: links[index][5], deliveryCount: Number(links[index][5]),
linkCredit: links[index][6], linkCredit: Number(links[index][6]),
unconfirmedMessages: links[index][7] unconfirmedMessages: Number(links[index][7])
} }
} }
getOutgoingLinkInfo(links, index) { getOutgoingLinkInfo(links, index) {
@ -58,8 +58,8 @@ module.exports = class ConnectionPage extends BasePage {
queueName: links[index][3], queueName: links[index][3],
sendSettled: links[index][4] == "●" ? true : false, sendSettled: links[index][4] == "●" ? true : false,
maxMessageSize: links[index][5], maxMessageSize: links[index][5],
deliveryCount: links[index][6], deliveryCount: Number(links[index][6]),
linkCredit: links[index][7] linkCredit: Number(links[index][7])
} }
} }
} }