Repository navigation
test: Wire wrapper, context comparison and FDv1 fallback options in the contract test service - #418
Open
kinyoklion wants to merge 1 commit into
Open
kinyoklion wants to merge 1 commit into
kinyoklion wants to merge 1 commit into
Conversation
…he contract test service Declare context-type, context-comparison, wrapper and fdv1-fallback, and drop a suppression that matches no test on the pinned v3 harness. Generated-by: termag
kinyoklion
marked this pull request as ready for review
November 3, 2026 17:56
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
The contract test service now declares four capabilities that the SDK already supports, so the harness tests they gate now run:
context-type: thecontextBuildandcontextConverthandlers already existed. This turns on thecontext type/buildandcontext type/converttests.context-comparison: adds thecontextComparisoncommand, which builds both contexts and compares them withLDContext.equals.wrapper: mapswrappertoHttpConfigurationBuilder.wrapper. The harness sends an empty string for an unset name or version, so the service treats it as unset.fdv1-fallback(v3): readsdataSystem.fdv1Fallback. Its base URI becomes the polling endpoint, which the SDK's FDv1 fallback synchronizer uses. This turns on thestreaming/fdv2/FDv1 fallback directivetests.It also removes
streaming/fdv2/fallback to FDv1 handlingfromtestharness-suppressions-fdv2.txt. No test at v3.2.0-alpha.10 has that name.Tested with this PR's CI. The emulator does not boot locally on this aarch64 host, which has no KVM, so I only built the APK locally.
Opened from termag
Note
Overview
The Android contract test service advertises four new harness capabilities (
context-type,context-comparison,wrapper,fdv1-fallback) so gated conformance tests can run against behavior the SDK already implements.Config wiring: harness
wrappername/version map toHttpConfigurationBuilder.wrapper, with empty strings treated as unset so headers are not sent blank. When a data system config is used,dataSystem.fdv1Fallback.baseUrisets the top-level polling endpoint used by the SDK’s FDv1 fallback synchronizer.New command:
contextComparisonbuilds two contexts (single or multi-kind, attributes, literal/path private attributes) and returns whetherLDContext.equalsmatches.Harness list: removes the obsolete suppression
streaming/fdv2/fallback to FDv1 handlingfromtestharness-suppressions-fdv2.txt.Reviewed by Cursor Bugbot for commit 79b3e4e. Bugbot is set up for automated code reviews on this repo. Configure here.