diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f4e8d467e..805240230 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,6 +67,25 @@ jobs: npx playwright test --reporter=list env: OPENIDM_URL: http://localhost:8080 + - name: Start OpenIDM with custom context path /myidm + if: runner.os == 'Linux' + run: | + openidm/shutdown.sh + timeout 1m bash -c 'while [ -f openidm/.openidm.pid ]; do sleep 2; done' || true + rm -rf openidm/logs/* + OPENIDM_OPTS="-Dlogback.configurationFile=conf/logging-config.groovy -Dopenidm.context.path=/myidm" openidm/startup.sh & + timeout 3m bash -c 'until grep -q "OpenIDM ready" openidm/logs/openidm0.log.0 ; do sleep 5; done' || cat openidm/logs/openidm0.log.0 + grep -q "OpenIDM ready" openidm/logs/openidm0.log.0 + ! grep "ERROR" openidm/logs/openidm0.log.0 + ! grep "SEVERE" openidm/logs/openidm0.log.0 + - name: UI Smoke Tests with /myidm context path (Playwright) + if: runner.os == 'Linux' + run: | + cd e2e + npx playwright test --reporter=list + env: + OPENIDM_URL: http://localhost:8080 + OPENIDM_CONTEXT_PATH: /myidm - name: Test on Windows if: runner.os == 'Windows' run: | diff --git a/e2e/ui-smoke-test.spec.mjs b/e2e/ui-smoke-test.spec.mjs index 7d95d8689..d5e58afef 100644 --- a/e2e/ui-smoke-test.spec.mjs +++ b/e2e/ui-smoke-test.spec.mjs @@ -18,6 +18,7 @@ import { test, expect } from "@playwright/test"; const BASE_URL = process.env.OPENIDM_URL || "http://localhost:8080"; +const CONTEXT_PATH = process.env.OPENIDM_CONTEXT_PATH || "/openidm"; const ADMIN_USER = process.env.OPENIDM_ADMIN_USER || "openidm-admin"; const ADMIN_PASS = process.env.OPENIDM_ADMIN_PASS || "openidm-admin"; @@ -119,7 +120,7 @@ test.describe("OpenIDM UI Smoke Tests", () => { }); test("REST API ping is accessible", async ({ request }) => { - const response = await request.get(`${BASE_URL}/openidm/info/ping`, { + const response = await request.get(`${BASE_URL}${CONTEXT_PATH}/info/ping`, { headers: { "X-OpenIDM-Username": ADMIN_USER, "X-OpenIDM-Password": ADMIN_PASS, @@ -131,7 +132,7 @@ test.describe("OpenIDM UI Smoke Tests", () => { }); test("REST API config endpoint is accessible", async ({ request }) => { - const response = await request.get(`${BASE_URL}/openidm/config/ui/configuration`, { + const response = await request.get(`${BASE_URL}${CONTEXT_PATH}/config/ui/configuration`, { headers: { "X-OpenIDM-Username": ADMIN_USER, "X-OpenIDM-Password": ADMIN_PASS,