feat: Add flag overrides to the contract test service - #454
Draft
kinyoklion wants to merge 1 commit into
Draft
kinyoklion wants to merge 1 commit into
kinyoklion wants to merge 1 commit into
Conversation
The test service advertises the flag-overrides capability and accepts the overrides block of the SDK configuration: filePaths, duplicateKeysHandling, changeDetection, and pollIntervalMs map to the options of LaunchDarkly::Integrations::FileData.override_source on the FDv2 data system builder. Overrides without a data system configuration are an error. The listen gem joins the contract test bundle so that the watching change detection mode can run. The service port can be set with the PORT environment variable and still defaults to 9000.
kinyoklion
force-pushed
the
rlamb/overrides-ruby-file-source
branch
from
September 28, 2026 20:36
605d0ab to
5bda436
Compare
kinyoklion
force-pushed
the
rlamb/overrides-ruby-contract-tests
branch
from
September 28, 2026 20:36
63dd6c6 to
24a8d56
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR is stacked on #453 because the test service configures the file-based override source that PR adds.
The contract test service now advertises the
flag-overridescapability and accepts theoverridesblock of the SDK configuration described in the test harness service specification.filePaths,duplicateKeysHandling,changeDetection, andpollIntervalMsmap to the options ofLaunchDarkly::Integrations::FileData.override_source, which is set on the FDv2 data system builder. Anoverridesblock without adataSystemblock is an error, as in the Go reference service.The
listengem joins the contract test bundle so that the harness's watching change detection tests can run. The service port can be set with thePORTenvironment variable and still defaults to 9000, so the existing Makefile and CI steps are unchanged.Verification against the prebuilt harness (sdk-test-harness branch rlamb/sdk-2657/flag-overrides-tests at 9ad082c,
flag-overridescapability):-run 'flag overrides'ran 38 tests with 0 failures, and the full suite with no filter ran 4733 tests with 0 failures (13 skipped by pre-existing capability and long-running gates). The first run of the watching mode tests failed because the watcher relied onlisten, which could not scan the system temporary directory where the harness writes its files; the watcher change in #449 corrects that, and both runs above were made with it in place.The existing FDv1 and FDv2 file data sources keep their current behavior. This series does not change them; the override feature is additive.