Skip to content

Commit 175d38f

Browse files
committed
docs: update README with integration test instructions
1 parent c26adaf commit 175d38f

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
[![Quality](https://img.shields.io/badge/quality-demo-red)](https://curity.io/resources/code-examples/status/)
2+
13
# Session Revocation Management Plugins
24

35
A pair of Curity Identity Server plugins that together enable global SSO session revocation. Packaged as a single JAR containing an Event Listener and an Authentication Action that share a Bucket to track active SSO sessions.
@@ -113,6 +115,36 @@ Deploy to a local Curity server (requires `IDSVR_HOME`):
113115
./gradlew deployToLocal
114116
```
115117

118+
## Running Integration Tests
119+
120+
Integration tests spin up the Curity Identity Server in a Testcontainers-managed Docker container, deploy the plugin JAR, and exercise the flows end-to-end with a headless browser.
121+
122+
Requirements:
123+
124+
- **Docker** running locally (the test harness pulls the Curity Identity Server image and starts a container)
125+
- **A valid Curity Identity Server license** (see below for the ways to provide it)
126+
- **GitHub Packages credentials** (same as for `build`) to resolve the SDK and `curity-ps-sdk-commons` test fixtures
127+
128+
The license key can be supplied in any of the following ways (checked in order):
129+
130+
1. `LICENSE_KEY` environment variable in the shell running Gradle
131+
2. A `.env` file in the repository root containing `LICENSE_KEY=<your-license-key>` (see [`.env-example`](.env-example)) — convenient for a per-repo setting
132+
3. `curity.licenseKey` property in `~/.gradle/gradle.properties` — convenient for a global setting shared across Curity plugin repos (same pattern as `gpr.user`/`gpr.token`)
133+
134+
Run all integration tests:
135+
136+
```bash
137+
./gradlew integrationTest
138+
```
139+
140+
Run a single spec:
141+
142+
```bash
143+
./gradlew integrationTest --tests '*.CheckSessionStatusIntegrationSpec'
144+
```
145+
146+
The configuration applied to the container lives in [`src/test/resources/authentication-config.xml`](src/test/resources/authentication-config.xml) and [`src/test/resources/event-listener-config.xml`](src/test/resources/event-listener-config.xml).
147+
116148
## License
117149

118150
This plugin is licensed under the [Apache License, Version 2.0](LICENSE).

0 commit comments

Comments
 (0)