feat!: DISABLED is a successful evaluation (still defaults)#395
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #395 +/- ##
==========================================
- Coverage 96.28% 95.62% -0.66%
==========================================
Files 47 24 -23
Lines 1750 1029 -721
==========================================
- Hits 1685 984 -701
+ Misses 65 45 -20 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
72c282e to
2006b8f
Compare
toddbaert
reviewed
Jun 1, 2026
d270c7b to
ba08207
Compare
toddbaert
approved these changes
Jun 2, 2026
Member
toddbaert
left a comment
There was a problem hiding this comment.
I pushed some changes to finalize this. Note that for the tests to work, we need to merge this.
suthar26
approved these changes
Jun 2, 2026
JamieSinn
approved these changes
Jun 2, 2026
|
Looks like a version bump is needed on the package deps. |
Member
Ya, this is fixed on the other branch I mentioned. |
Signed-off-by: Jonathan Norris <jonathan.norris@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Mirrors the existing reason=DEFAULT substitution: when the server returns an empty variant alongside DISABLED, surface the caller's code default value rather than the zero proto value. Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
MessageToDict drops the value field entirely for DISABLED responses (no value is sent). Fall back to the caller's default_value via .get() instead of raising KeyError; the substitution branch then surfaces the default with reason=DISABLED. Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
v3.8.0 of the test-harness submodule already bundles disabled.feature in evaluator/gherkin/ and the disabled-* flags in evaluator/flags/testkit-flags.json. The hatch build hook auto-copies both into the testkit, so test_evaluator.py picks the disabled scenarios up via get_features_path() without any local files. Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
ba08207 to
ae05cac
Compare
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.
reason=DISABLEDinstead oferrorCode=FLAG_NOT_FOUND. See the ADR.reason/errorCodeon disabled-flag evaluations.Related Issues
Closes #393
Part of open-feature/flagd#1965
Warning
This PR depends on #396 (RPC
flagd-selectorheader wiring) merging first; the cross-flagset disabled scenario in the RPC e2e suite will fail until that lands. All other RPC e2e + in-process scenarios pass.