Relocate temp folder from /tmp to /var
This commit is contained in:
parent
924b451b73
commit
94cba43e75
|
|
@ -72,22 +72,22 @@ jobs:
|
|||
docker build -t mocha-test --target test .
|
||||
|
||||
- name: Run Suites
|
||||
run: |
|
||||
id: run-suites
|
||||
run: |
|
||||
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
${SELENIUM_DIR}/run-suites.sh full-suite-authnz-messaging
|
||||
mkdir -p /tmp/full-suite-authnz-messaging
|
||||
mv /tmp/selenium/* /tmp/full-suite-authnz-messaging
|
||||
CONF_DIR_PREFIX="$(mktemp -d)" RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
${SELENIUM_DIR}/run-suites.sh full-suite-authnz-messaging
|
||||
echo "SELENIUM_ARTIFACTS=$CONF_DIR_PREFIX" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Upload Test Artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4.3.2
|
||||
env:
|
||||
SELENIUM_ARTIFACTS: ${{ steps.run-suites.outputs.SELENIUM_ARTIFACTS }}
|
||||
with:
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
path: |
|
||||
logs/*
|
||||
screens/*
|
||||
/tmp/selenium/*
|
||||
$SELENIUM_ARTIFACTS/*
|
||||
|
||||
summary-selenium:
|
||||
needs:
|
||||
|
|
|
|||
|
|
@ -59,19 +59,16 @@ jobs:
|
|||
- name: Run short UI suites on a standalone rabbitmq server
|
||||
run: |
|
||||
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
CONF_DIR_PREFIX="$(mktemp -d)" RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
${SELENIUM_DIR}/run-suites.sh short-suite-management-ui
|
||||
|
||||
- name: Prepare logs for upload
|
||||
if: ${{ failure() && steps.tests.outcome == 'failed' }}
|
||||
run: |
|
||||
mkdir -p /tmp/short-suite
|
||||
mv /tmp/selenium/* /tmp/short-suite
|
||||
echo "SELENIUM_ARTIFACTS=$CONF_DIR_PREFIX" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Upload Test Artifacts
|
||||
if: ${{ failure() && steps.tests.outcome == 'failed' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
env:
|
||||
SELENIUM_ARTIFACTS: ${{ steps.run-suites.outputs.SELENIUM_ARTIFACTS }}
|
||||
with:
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
path: |
|
||||
/tmp/short-suite
|
||||
$SELENIUM_ARTIFACTS/*
|
||||
|
|
|
|||
|
|
@ -67,19 +67,16 @@ jobs:
|
|||
id: tests
|
||||
run: |
|
||||
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
CONF_DIR_PREFIX="$(mktemp -d)" RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
${SELENIUM_DIR}/run-suites.sh full-suite-management-ui
|
||||
|
||||
- name: Prepare logs for upload
|
||||
if: ${{ failure() && steps.tests.outcome == 'failed' }}
|
||||
run: |
|
||||
mkdir -p /tmp/full-suite
|
||||
mv -v /tmp/selenium/* /tmp/full-suite
|
||||
echo "SELENIUM_ARTIFACTS=$CONF_DIR_PREFIX" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Upload Test Artifacts
|
||||
if: ${{ failure() && steps.tests.outcome == 'failed' }}
|
||||
uses: actions/upload-artifact@v4.3.2
|
||||
env:
|
||||
SELENIUM_ARTIFACTS: ${{ steps.run-suites.outputs.SELENIUM_ARTIFACTS }}
|
||||
with:
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
path: |
|
||||
/tmp/full-suite
|
||||
$SELENIUM_ARTIFACTS/*
|
||||
|
|
|
|||
|
|
@ -30,8 +30,12 @@ find_selenium_dir() {
|
|||
SELENIUM_ROOT_FOLDER=$(find_selenium_dir $SCRIPT)
|
||||
TEST_DIR=$SELENIUM_ROOT_FOLDER/test
|
||||
BIN_DIR=$SELENIUM_ROOT_FOLDER/bin
|
||||
SCREENS=${SELENIUM_ROOT_FOLDER}/screens/${SUITE}
|
||||
CONF_DIR=${CONF_DIR_PREFIX:-/tmp}/selenium/${SUITE}
|
||||
if [[ -z "${CONF_DIR_PREFIX}" ]]; then
|
||||
CONF_DIR_PREFIX=$(mktemp -d)
|
||||
fi
|
||||
CONF_DIR=${CONF_DIR_PREFIX}/selenium/${SUITE}
|
||||
SCREENS=${CONF_DIR}/screens
|
||||
|
||||
LOGS=${CONF_DIR}/logs
|
||||
ENV_FILE=$CONF_DIR/.env
|
||||
OTHER_ENV_FILE=$CONF_DIR/.other.env
|
||||
|
|
@ -116,6 +120,8 @@ init_suite() {
|
|||
|
||||
begin "Initializing suite $SUITE ..."
|
||||
print "> REQUIRED_COMPONENTS: ${REQUIRED_COMPONENTS[*]}"
|
||||
print "> CONF_DIR_PREFIX: ${CONF_DIR_PREFIX} "
|
||||
print "> CONF_DIR: ${CONF_DIR} "
|
||||
print "> TEST_CASES_DIR: ${TEST_CASES_DIR} "
|
||||
print "> TEST_CONFIG_DIR: ${TEST_CONFIG_DIR} "
|
||||
print "> DOCKER_NETWORK: ${DOCKER_NETWORK} "
|
||||
|
|
@ -128,8 +134,8 @@ init_suite() {
|
|||
print "> COMMAND: ${COMMAND}"
|
||||
end "Initialized suite"
|
||||
|
||||
mkdir -p ${LOGS}/${SUITE}
|
||||
mkdir -p ${SCREENS}/${SUITE}
|
||||
mkdir -p ${LOGS}
|
||||
mkdir -p ${SCREENS}
|
||||
}
|
||||
|
||||
build_mocha_image() {
|
||||
|
|
@ -356,8 +362,15 @@ _test() {
|
|||
mocha_test_tag=($(md5sum $SELENIUM_ROOT_FOLDER/package.json))
|
||||
|
||||
generate_node_extra_ca_cert
|
||||
MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR}/node_ca_certs.pem
|
||||
print "> MOUNT_NODE_EXTRA_CA_CERTS: ${MOUNT_NODE_EXTRA_CA_CERTS}"
|
||||
MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR}/node
|
||||
|
||||
EXTRA_ENV_VARS=""
|
||||
EXTRA_MOUNTS=""
|
||||
if [[ -f ${MOUNT_NODE_EXTRA_CA_CERTS}/node_ca_certs.pem ]]; then
|
||||
print "> MOUNT_NODE_EXTRA_CA_CERTS: ${MOUNT_NODE_EXTRA_CA_CERTS}"
|
||||
EXTRA_ENV_VARS="${EXTRA_ENV_VARS} --env NODE_EXTRA_CA_CERTS=/nodejs/node_ca_certs.pem "
|
||||
EXTRA_MOUNTS="${EXTRA_MOUNTS} -v ${MOUNT_NODE_EXTRA_CA_CERTS}:/nodejs "
|
||||
fi
|
||||
|
||||
docker run \
|
||||
--rm \
|
||||
|
|
@ -373,12 +386,12 @@ _test() {
|
|||
--env PROFILES="${PROFILES}" \
|
||||
--env ENV_FILE="/code/.env" \
|
||||
--env RABBITMQ_CERTS=/etc/rabbitmq/certs \
|
||||
--env NODE_EXTRA_CA_CERTS=/nodejs/ca.pem \
|
||||
-v ${MOUNT_NODE_EXTRA_CA_CERTS}:/nodejs/ca.pem \
|
||||
${EXTRA_ENV_VARS} \
|
||||
-v ${TEST_DIR}:/code/test \
|
||||
-v ${TEST_CONFIG_DIR}/certs:/etc/rabbitmq/certs \
|
||||
-v ${SCREENS}:/screens \
|
||||
-v ${ENV_FILE}:/code/.env \
|
||||
${EXTRA_MOUNTS} \
|
||||
mocha-test:${mocha_test_tag} test /code/test${TEST_CASES_PATH}
|
||||
|
||||
TEST_RESULT=$?
|
||||
|
|
@ -674,7 +687,7 @@ test_local() {
|
|||
export SELENIUM_POLLING=${SELENIUM_POLLING:-500}
|
||||
|
||||
generate_node_extra_ca_cert
|
||||
MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR}/node_ca_certs.pem
|
||||
MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR}/node/node_ca_certs.pem
|
||||
|
||||
print "> SELENIUM_TIMEOUT: ${SELENIUM_TIMEOUT}"
|
||||
print "> SELENIUM_POLLING: ${SELENIUM_POLLING}"
|
||||
|
|
@ -738,16 +751,22 @@ save_components_logs() {
|
|||
end "Finished saving logs"
|
||||
}
|
||||
generate_node_extra_ca_cert() {
|
||||
echo "Generating ${CONF_DIR}/node_ca_certs.pem ..."
|
||||
rm -f ${CONF_DIR}/node_ca_certs.pem
|
||||
begin "Generating ${CONF_DIR}/node/node_ca_certs.pem ..."
|
||||
mkdir -p ${CONF_DIR}/node
|
||||
rm -f ${CONF_DIR}/node/node_ca_certs.pem
|
||||
env | while IFS= read -r line; do
|
||||
value=${line#*=}
|
||||
name=${line%%=*}
|
||||
|
||||
if [[ $name == *NODE_EXTRA_CA_CERTS ]]
|
||||
then
|
||||
echo "Adding ${TEST_DIR}/${value} to ${CONF_DIR}/node_ca_certs.pem ..."
|
||||
cat ${TEST_DIR}/${value} >> ${CONF_DIR}/node_ca_certs.pem
|
||||
print "Adding ${TEST_DIR}/${value} to ${CONF_DIR}/node/node_ca_certs.pem ..."
|
||||
cat ${TEST_DIR}/${value} >> ${CONF_DIR}/node/node_ca_certs.pem
|
||||
fi
|
||||
done
|
||||
done
|
||||
if [[ -f ${CONF_DIR}/node/node_ca_certs.pem ]]; then
|
||||
end "Generated ${CONF_DIR}/node/node_ca_certs.pem"
|
||||
else
|
||||
end "Did not generate ${CONF_DIR}/node/node_ca_certs.pem"
|
||||
fi
|
||||
}
|
||||
|
|
@ -17,6 +17,7 @@ while read SUITE
|
|||
do
|
||||
echo -e "=== Running suite (${TOTAL_SUITES}/${GREEN}${#SUCCESSFUL_SUITES[@]}/${RED}${#FAILED_SUITES[@]}${NC}) $SUITE ============================================"
|
||||
echo " "
|
||||
|
||||
ENV_MODES="docker" $SCRIPT/suites/$SUITE
|
||||
TEST_RESULT="$?"
|
||||
TEST_STATUS="${GREEN}Succeeded${NC}"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ const { By, Key, until, Builder } = require('selenium-webdriver')
|
|||
require('chromedriver')
|
||||
const assert = require('assert')
|
||||
const { open: openAmqp, once: onceAmqp, on: onAmqp, close: closeAmqp } = require('../../amqp')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, delay, doWhile } = require('../../utils')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, delay, doUntil } = require('../../utils')
|
||||
|
||||
const LoginPage = require('../../pageobjects/LoginPage')
|
||||
const OverviewPage = require('../../pageobjects/OverviewPage')
|
||||
|
|
@ -98,7 +98,7 @@ describe('Given an amqp10 connection opened, listed and clicked on it', function
|
|||
assert.equal(2, receivedAmqpMessageCount)
|
||||
|
||||
await delay(5*1000) // wait until page refreshes
|
||||
let sessions = await doWhile(function() { return connectionPage.getSessions() },
|
||||
let sessions = await doUntil(function() { return connectionPage.getSessions() },
|
||||
function(obj) { return obj != undefined })
|
||||
let incomingLink = connectionPage.getIncomingLinkInfo(sessions.incoming_links, 0)
|
||||
assert.equal(2, incomingLink.deliveryCount)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
const { By, Key, until, Builder } = require('selenium-webdriver')
|
||||
require('chromedriver')
|
||||
const assert = require('assert')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doWhile, log } = require('../utils')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doUntil, log } = require('../utils')
|
||||
|
||||
const LoginPage = require('../pageobjects/LoginPage')
|
||||
const OverviewPage = require('../pageobjects/OverviewPage')
|
||||
|
|
@ -71,7 +71,7 @@ describe('Exchange management', function () {
|
|||
it('exchange selectable columns', async function () {
|
||||
await overview.clickOnOverviewTab()
|
||||
await overview.clickOnExchangesTab()
|
||||
await doWhile(async function() { return exchanges.getExchangesTable() },
|
||||
await doUntil(async function() { return exchanges.getExchangesTable() },
|
||||
function(table) {
|
||||
return table.length > 0
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
const { By, Key, until, Builder } = require('selenium-webdriver')
|
||||
require('chromedriver')
|
||||
const assert = require('assert')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doWhile } = require('../utils')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doUntil } = require('../utils')
|
||||
|
||||
const LoginPage = require('../pageobjects/LoginPage')
|
||||
const OverviewPage = require('../pageobjects/OverviewPage')
|
||||
|
|
@ -48,7 +48,7 @@ describe('Queues and Streams management', function () {
|
|||
let queueName = "test_" + Math.floor(Math.random() * 1000)
|
||||
await queuesAndStreams.fillInAddNewQueue({"name" : queueName, "type" : "classic"})
|
||||
|
||||
await doWhile(async function() { return queuesAndStreams.getQueuesTable() },
|
||||
await doUntil(async function() { return queuesAndStreams.getQueuesTable() },
|
||||
function(table) {
|
||||
return table.length > 0
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
const { By, Key, until, Builder } = require('selenium-webdriver')
|
||||
require('chromedriver')
|
||||
const assert = require('assert')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doWhile, goToQueue,delay } = require('../utils')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doUntil, goToQueue,delay } = require('../utils')
|
||||
const { createQueue, deleteQueue, getManagementUrl, basicAuthorization } = require('../mgt-api')
|
||||
const { getAmqpUrl : getAmqpUrl } = require('../amqp')
|
||||
const amqplib = require('amqplib');
|
||||
|
|
@ -84,7 +84,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
})
|
||||
|
||||
it('it should have one consumer as active', async function() {
|
||||
await doWhile(async function() {
|
||||
await doUntil(async function() {
|
||||
await queuePage.refresh()
|
||||
await queuePage.isLoaded()
|
||||
return queuePage.getConsumerCount()
|
||||
|
|
@ -94,7 +94,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
assert.equal("1", await queuePage.getConsumerCount())
|
||||
assert.equal("Consumers (1)", await queuePage.getConsumersSectionTitle())
|
||||
await queuePage.clickOnConsumerSection()
|
||||
let consumerTable = await doWhile(async function() {
|
||||
let consumerTable = await doUntil(async function() {
|
||||
return queuePage.getConsumersTable()
|
||||
}, function(table) {
|
||||
return table[0][6].localeCompare("single active") == 0 &&
|
||||
|
|
@ -113,7 +113,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
|
||||
it('the latter consumer should be active and the former waiting', async function() {
|
||||
|
||||
await doWhile(async function() {
|
||||
await doUntil(async function() {
|
||||
await queuePage.refresh()
|
||||
await queuePage.isLoaded()
|
||||
return queuePage.getConsumerCount()
|
||||
|
|
@ -124,7 +124,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
assert.equal("2", await queuePage.getConsumerCount())
|
||||
assert.equal("Consumers (2)", await queuePage.getConsumersSectionTitle())
|
||||
await queuePage.clickOnConsumerSection()
|
||||
let consumerTable = await doWhile(async function() {
|
||||
let consumerTable = await doUntil(async function() {
|
||||
return queuePage.getConsumersTable()
|
||||
}, function(table) {
|
||||
return table.length == 2 && table[0][1] != "" && table[1][1] != ""
|
||||
|
|
@ -151,7 +151,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
error("Failed to close amqp091 connection due to " + error);
|
||||
}
|
||||
// ensure there are no more consumers
|
||||
await doWhile(async function() {
|
||||
await doUntil(async function() {
|
||||
await queuePage.refresh()
|
||||
await queuePage.isLoaded()
|
||||
return queuePage.getConsumerCount()
|
||||
|
|
@ -178,7 +178,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
})
|
||||
|
||||
it('it should have one consumer as active', async function() {
|
||||
await doWhile(async function() {
|
||||
await doUntil(async function() {
|
||||
await queuePage.refresh()
|
||||
await queuePage.isLoaded()
|
||||
return queuePage.getConsumerCount()
|
||||
|
|
@ -188,7 +188,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
assert.equal("1", await queuePage.getConsumerCount())
|
||||
assert.equal("Consumers (1)", await queuePage.getConsumersSectionTitle())
|
||||
await queuePage.clickOnConsumerSection()
|
||||
let consumerTable = await doWhile(async function() {
|
||||
let consumerTable = await doUntil(async function() {
|
||||
return queuePage.getConsumersTable()
|
||||
}, function(table) {
|
||||
return table[0][6].localeCompare("single active") == 0 &&
|
||||
|
|
@ -207,7 +207,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
|
||||
it('the former consumer should still be active and the latter be waiting', async function() {
|
||||
|
||||
await doWhile(async function() {
|
||||
await doUntil(async function() {
|
||||
await queuePage.refresh()
|
||||
await queuePage.isLoaded()
|
||||
return queuePage.getConsumerCount()
|
||||
|
|
@ -218,7 +218,7 @@ describe('Given a quorum queue configured with SAC', function () {
|
|||
assert.equal("2", await queuePage.getConsumerCount())
|
||||
assert.equal("Consumers (2)", await queuePage.getConsumersSectionTitle())
|
||||
await queuePage.clickOnConsumerSection()
|
||||
let consumerTable = await doWhile(async function() {
|
||||
let consumerTable = await doUntil(async function() {
|
||||
return queuePage.getConsumersTable()
|
||||
}, function(table) {
|
||||
return table.length == 2 && table[0][1] != "" && table[1][1] != ""
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ module.exports = {
|
|||
return new CaptureScreenshot(d.driver, require('path').basename(test))
|
||||
},
|
||||
|
||||
doWhile: async (doCallback, booleanCallback, delayMs = 1000, message = "doWhile failed") => {
|
||||
doUntil: async (doCallback, booleanCallback, delayMs = 1000, message = "doUntil failed") => {
|
||||
let done = false
|
||||
let attempts = 10
|
||||
let ret
|
||||
|
|
@ -156,7 +156,7 @@ module.exports = {
|
|||
+ ") with arg " + JSON.stringify(ret) + " ... ")
|
||||
done = booleanCallback(ret)
|
||||
}catch(error) {
|
||||
module.exports.error("Caught " + error + " on doWhile callback...")
|
||||
module.exports.error("Caught " + error + " on doUntil callback...")
|
||||
|
||||
}finally {
|
||||
if (!done) {
|
||||
|
|
@ -184,7 +184,7 @@ module.exports = {
|
|||
+ ") with arg " + JSON.stringify(ret) + " ... ")
|
||||
done = booleanCallback(ret)
|
||||
}catch(error) {
|
||||
module.exports.error("Caught " + error + " on doWhile callback...")
|
||||
module.exports.error("Caught " + error + " on retry callback...")
|
||||
|
||||
}finally {
|
||||
if (!done) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
const { By, Key, until, Builder } = require('selenium-webdriver')
|
||||
require('chromedriver')
|
||||
const assert = require('assert')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doWhile, log, delay } = require('../utils')
|
||||
const { buildDriver, goToHome, captureScreensFor, teardown, doUntil, log, delay } = require('../utils')
|
||||
const { getManagementUrl, basicAuthorization, createVhost, deleteVhost } = require('../mgt-api')
|
||||
|
||||
const LoginPage = require('../pageobjects/LoginPage')
|
||||
|
|
@ -56,7 +56,7 @@ describe('Virtual Hosts in Admin tab', function () {
|
|||
await adminTab.clickOnVhosts()
|
||||
await vhostsTab.isLoaded()
|
||||
await vhostsTab.searchForVhosts("/")
|
||||
await doWhile(async function() { return vhostsTab.getVhostsTable() },
|
||||
await doUntil(async function() { return vhostsTab.getVhostsTable() },
|
||||
function(table) {
|
||||
return table.length>0
|
||||
})
|
||||
|
|
@ -116,7 +116,7 @@ describe('Virtual Hosts in Admin tab', function () {
|
|||
it('vhost is listed with tag', async function () {
|
||||
log("Searching for vhost " + vhost)
|
||||
await vhostsTab.searchForVhosts(vhost)
|
||||
await doWhile(async function() { return vhostsTab.getVhostsTable()},
|
||||
await doUntil(async function() { return vhostsTab.getVhostsTable()},
|
||||
function(table) {
|
||||
log("table: "+ JSON.stringify(table) + " table[0][0]:" + table[0][0])
|
||||
return table.length==1 && table[0][0].localeCompare(vhost) == 0
|
||||
|
|
@ -124,7 +124,7 @@ describe('Virtual Hosts in Admin tab', function () {
|
|||
log("Found vhost " + vhost)
|
||||
await vhostsTab.selectTableColumnsById(["checkbox-vhosts-tags"])
|
||||
|
||||
await doWhile(async function() { return vhostsTab.getVhostsTable() },
|
||||
await doUntil(async function() { return vhostsTab.getVhostsTable() },
|
||||
function(table) {
|
||||
return table.length==1 && table[0][3].localeCompare("selenium-tag") == 0
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue