Set TESTS_MQTT_BROKER_HOST globally for all jobs with mosquitto services (#989)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: thomasnordquist <7721625+thomasnordquist@users.noreply.github.com>
This commit is contained in:
Copilot
2025-12-23 22:38:32 +01:00
committed by GitHub
parent de367e755f
commit 16c190818c
6 changed files with 22 additions and 17 deletions

View File

@@ -30,6 +30,10 @@ jobs:
packages: write
id-token: write
env:
TESTS_MQTT_BROKER_HOST: localhost
TESTS_MQTT_BROKER_PORT: 1883
services:
# MQTT broker for testing
mosquitto:
@@ -191,8 +195,6 @@ jobs:
MQTT_EXPLORER_USERNAME: test
MQTT_EXPLORER_PASSWORD: test123
BROWSER_MODE_URL: http://localhost:3000
MQTT_BROKER_HOST: localhost
MQTT_BROKER_PORT: 1883
- name: Clean up browser test container
if: always()

View File

@@ -28,6 +28,9 @@ jobs:
volumes:
- ./:/app
options: --user root
env:
TESTS_MQTT_BROKER_HOST: mosquitto
TESTS_MQTT_BROKER_PORT: 1883
services:
mosquitto:
image: eclipse-mosquitto:2
@@ -49,9 +52,6 @@ jobs:
- name: Run Browser UI Tests
timeout-minutes: 10
run: ./scripts/runBrowserTests.sh
env:
MQTT_BROKER_HOST: mosquitto
MQTT_BROKER_PORT: 1883
- name: Upload Test Screenshots
if: always()
uses: actions/upload-artifact@v4
@@ -141,6 +141,9 @@ jobs:
test-browser:
runs-on: ubuntu-latest
env:
TESTS_MQTT_BROKER_HOST: localhost
TESTS_MQTT_BROKER_PORT: 1883
services:
mosquitto:
image: eclipse-mosquitto:2

View File

@@ -10,8 +10,8 @@
# MQTT_EXPLORER_PASSWORD - Password for browser authentication (default: test123)
# PORT - Server port (default: 3000)
# BROWSER_MODE_URL - URL for browser tests (set automatically)
# MQTT_BROKER_HOST - MQTT broker host for tests (required, default: 127.0.0.1)
# MQTT_BROKER_PORT - MQTT broker port for tests (default: 1883)
# TESTS_MQTT_BROKER_HOST - MQTT broker host for tests (required, default: 127.0.0.1)
# TESTS_MQTT_BROKER_PORT - MQTT broker port for tests (default: 1883)
#
set -e
@@ -52,10 +52,10 @@ done
# Run browser tests
export BROWSER_MODE_URL="http://localhost:${PORT}"
export MQTT_BROKER_HOST="${MQTT_BROKER_HOST:-127.0.0.1}"
export MQTT_BROKER_PORT="${MQTT_BROKER_PORT:-1883}"
export TESTS_MQTT_BROKER_HOST="${TESTS_MQTT_BROKER_HOST:-127.0.0.1}"
export TESTS_MQTT_BROKER_PORT="${TESTS_MQTT_BROKER_PORT:-1883}"
echo "Using MQTT broker at $MQTT_BROKER_HOST:$MQTT_BROKER_PORT"
echo "Using MQTT broker at $TESTS_MQTT_BROKER_HOST:$TESTS_MQTT_BROKER_PORT"
yarn test:browser
TEST_EXIT_CODE=$?

View File

@@ -16,9 +16,9 @@ export async function createTestMock(): Promise<mqtt.MqttClient> {
return mqttClient
}
// Use MQTT_BROKER_HOST from environment, default to localhost
const brokerHost = process.env.MQTT_BROKER_HOST || '127.0.0.1'
const brokerPort = process.env.MQTT_BROKER_PORT || '1883'
// Use TESTS_MQTT_BROKER_HOST from environment, default to localhost
const brokerHost = process.env.TESTS_MQTT_BROKER_HOST || '127.0.0.1'
const brokerPort = process.env.TESTS_MQTT_BROKER_PORT || '1883'
const brokerUrl = `mqtt://${brokerHost}:${brokerPort}`
console.log(`Connecting to MQTT broker at ${brokerUrl}`)

View File

@@ -32,7 +32,7 @@ import type { MqttClient } from 'mqtt'
* - Handle MQTT asynchronous operations properly
*
* Prerequisites:
* - MQTT broker running (default: localhost:1883, configurable via MQTT_BROKER_HOST and MQTT_BROKER_PORT)
* - MQTT broker running (default: localhost:1883, configurable via TESTS_MQTT_BROKER_HOST and TESTS_MQTT_BROKER_PORT)
* - Application built with `yarn build`
*/
// tslint:disable:only-arrow-functions ter-prefer-arrow-callback no-unused-expression
@@ -125,8 +125,8 @@ describe('MQTT Explorer Comprehensive UI Tests', function () {
page = await electronApp.firstWindow({ timeout: 30000 })
await page.locator('//label[contains(text(), "Host")]/..//input').waitFor({ timeout: 10000 })
// Use MQTT_BROKER_HOST from environment, default to localhost
const brokerHost = process.env.MQTT_BROKER_HOST || '127.0.0.1'
// Use TESTS_MQTT_BROKER_HOST from environment, default to localhost
const brokerHost = process.env.TESTS_MQTT_BROKER_HOST || '127.0.0.1'
console.log(`Connecting to MQTT broker at ${brokerHost}...`)
await connectTo(brokerHost, page)
await sleep(3000) // Give time for all topics to load

View File

@@ -134,7 +134,7 @@ describe('MQTT Explorer UI Tests', function () {
}
console.log('Connecting to MQTT broker...')
const brokerHost = process.env.MQTT_BROKER_HOST || '127.0.0.1'
const brokerHost = process.env.TESTS_MQTT_BROKER_HOST || '127.0.0.1'
await connectTo(brokerHost, page)
await sleep(3000) // Give time for topics to load
console.log('Setup complete')