From 0007bb1a08e768e5323092c6acd1e103a03e9662 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 8 Apr 2026 14:48:44 +0000 Subject: [PATCH 1/3] Initial plan From ddb2cc88246a62b3dd02d1f24d32db539525a877 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 8 Apr 2026 14:56:49 +0000 Subject: [PATCH 2/3] Add CI test for custom context path /myidm Agent-Logs-Url: https://github.com/OpenIdentityPlatform/OpenIDM/sessions/36248858-6fb3-48ba-8451-c3d8066eb2da Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com> --- .github/workflows/build.yml | 22 ++++++++++++++++++++++ e2e/ui-smoke-test.spec.mjs | 5 +++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f4e8d467e..d93154a59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,6 +67,28 @@ jobs: npx playwright test --reporter=list env: OPENIDM_URL: http://localhost:8080 + - name: Stop OpenIDM (default context path) + if: runner.os == 'Linux' + run: | + openidm/shutdown.sh + timeout 1m bash -c 'while [ -f openidm/.openidm.pid ]; do sleep 2; done' || true + - name: Start OpenIDM with custom context path /myidm + if: runner.os == 'Linux' + run: | + 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, From c3db758e34b3506c82892fa75fcc6783f9830496 Mon Sep 17 00:00:00 2001 From: Valery Kharseko Date: Wed, 8 Apr 2026 18:03:38 +0300 Subject: [PATCH 3/3] Modify OpenIDM startup and shutdown steps Updated OpenIDM startup process in the build workflow. --- .github/workflows/build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d93154a59..805240230 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,14 +67,11 @@ jobs: npx playwright test --reporter=list env: OPENIDM_URL: http://localhost:8080 - - name: Stop OpenIDM (default context path) + - 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 - - name: Start OpenIDM with custom context path /myidm - if: runner.os == 'Linux' - run: | 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