Development
Working on this repository (the EHS library itself, not an instance).
Build
# Full build (also runs npm ci + ng build for the UI module on first build)
./mvnw clean install
The Angular UI in jeap-error-handling-ui is built by Maven via npm and bundled into the service library
as static resources. Note that the UI build is skipped when target/classes/static/ already exists —
delete that folder to force a rebuild.
Run locally
- Publish a local snapshot of this repository.
- Use the jme-messaging-example
project with a dependency on the snapshot:
start its Docker infrastructure, the OAuth mock server (profile
local), and the Error-SCS backend (profilelocal-ui). - Start the UI with
ng serve(localhost:4200) fromjeap-error-handling-uiin this repository.
Tests
# Backend unit tests
./mvnw -pl jeap-error-handling-service test
# Integration tests (*IT, embedded Kafka + H2) run with the failsafe plugin
./mvnw -pl jeap-error-handling-service verify
# UI unit tests (Jest)
cd jeap-error-handling-ui && npm test
Browser end-to-end tests
The Ui*BrowserIT classes in jeap-error-handling-service drive the bundled Angular UI with
Playwright for Java against the fully booted service (embedded Kafka, H2).
Authentication runs the real OIDC authorization code flow against the OidcAuthorizationMockServer from
jeap-spring-boot-security-starter-test (one instance with role profiles per tested role set, see
UiBrowserTestBase). The tests run with the other integration tests during ./mvnw verify and require a
local Google Chrome installation (Playwright launches it via the chrome channel, no browser download
needed). Run them individually with:
./mvnw -pl jeap-error-handling-service verify -Dit.test='Ui*BrowserIT'
Related
- Getting Started — setting up an EHS instance for a business system
- Architecture — module and component overview