From 16c190818cda7c699d5b98992028fcf4115d5ceb Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 23 Dec 2025 22:38:32 +0100 Subject: [PATCH] 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> --- .github/workflows/docker-browser.yml | 6 ++++-- .github/workflows/tests.yml | 9 ++++++--- scripts/runBrowserTests.sh | 10 +++++----- src/spec/mock-mqtt-test.ts | 6 +++--- src/spec/ui-tests-comprehensive.spec.ts | 6 +++--- src/spec/ui-tests.spec.ts | 2 +- 6 files changed, 22 insertions(+), 17 deletions(-) diff --git a/.github/workflows/docker-browser.yml b/.github/workflows/docker-browser.yml index 1fba161..f565a7f 100644 --- a/.github/workflows/docker-browser.yml +++ b/.github/workflows/docker-browser.yml @@ -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() diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 574250e..a83634d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -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 diff --git a/scripts/runBrowserTests.sh b/scripts/runBrowserTests.sh index e350eb4..0f58ab9 100755 --- a/scripts/runBrowserTests.sh +++ b/scripts/runBrowserTests.sh @@ -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=$? diff --git a/src/spec/mock-mqtt-test.ts b/src/spec/mock-mqtt-test.ts index f1385df..9a1b74f 100644 --- a/src/spec/mock-mqtt-test.ts +++ b/src/spec/mock-mqtt-test.ts @@ -16,9 +16,9 @@ export async function createTestMock(): Promise { 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}`) diff --git a/src/spec/ui-tests-comprehensive.spec.ts b/src/spec/ui-tests-comprehensive.spec.ts index 8a772c5..0378336 100644 --- a/src/spec/ui-tests-comprehensive.spec.ts +++ b/src/spec/ui-tests-comprehensive.spec.ts @@ -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 diff --git a/src/spec/ui-tests.spec.ts b/src/spec/ui-tests.spec.ts index 48e1b4a..66734bd 100644 --- a/src/spec/ui-tests.spec.ts +++ b/src/spec/ui-tests.spec.ts @@ -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')