Skip to content

feat: add experiment run polling helper#61

Open
rowing0328 wants to merge 1 commit into
litmuschaos:masterfrom
rowing0328:master
Open

feat: add experiment run polling helper#61
rowing0328 wants to merge 1 commit into
litmuschaos:masterfrom
rowing0328:master

Conversation

@rowing0328

@rowing0328 rowing0328 commented Jun 22, 2026

Copy link
Copy Markdown

Summary

Adds a polling helper for chaos experiment runs so SDK users can wait until a run reaches a terminal phase.

Changes

  • Added LitmusClient.waitForExperimentRun(...)
  • Added ExperimentRunPoller to repeatedly fetch experiment run status
  • Added ExperimentRunTimeoutException
  • Added unit tests for polling behavior, timeout handling, terminal statuses, and interruption
  • Added live integration test support for ExperimentRunLiveTest
  • Tagged live-server tests with @Tag("integration")
  • Updated Maven Surefire config so integration tests are excluded from the default test run
  • Documented local/live integration test execution in CONTRIBUTING.md

Verification

  • ./mvnw test
  • ./mvnw test -Dgroups=integration -DexcludedGroups=
  • ./mvnw package
  • ./mvnw javadoc:javadoc
  • ./mvnw -Dtest=ExperimentRunLiveTest -DexcludedGroups= test

Live LitmusChaos verification was run against a local Multipass Kubernetes cluster.

Verified experiment run:

  • Experiment: codex-polling-live-test
  • Run ID: f65debdf-1ae2-4c98-a22f-65f5ac808282
  • Workflow status: Succeeded
  • Litmus UI status: COMPLETED
  • SDK live test result: Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

Notes

Default test execution still does not require a running LitmusChaos server. Live integration tests require explicit environment variables and -DexcludedGroups=.

Related

Closes #58

@rowing0328 rowing0328 changed the title feat: experiment-run-polling-helper feat: add experiment run polling helper Jun 22, 2026
Constraint: Default tests must pass without a running LitmusChaos server.

Rejected: Running live Litmus tests by default | It makes OSS CI depend on local server state and credentials.

Confidence: high

Scope-risk: narrow

Directive: Keep live Litmus tests opt-in and document required environment variables.

Tested: ./mvnw test; ./mvnw test -Dgroups=integration -DexcludedGroups=; ./mvnw package; ./mvnw javadoc:javadoc; ./mvnw -Dtest=ExperimentRunLiveTest -DexcludedGroups= test with local LitmusChaos run f65debdf-1ae2-4c98-a22f-65f5ac808282

Signed-off-by: rowing0328 <dev.hyoseung@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add experiment run polling helper

1 participant