chore(deps): bump dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data from b42c4a1 to aaa97e4 - #12189
Conversation
…ystem-test-data Bumps [dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data](https://github.com/DataDog/ffe-system-test-data) from `b42c4a1` to `aaa97e4`. - [Commits](DataDog/ffe-system-test-data@b42c4a1...aaa97e4) --- updated-dependencies: - dependency-name: dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data dependency-version: aaa97e44bb19c9cee7ae079995ddbcc864c6b702 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 26c0f94ccb
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| @@ -1 +1 @@ | |||
| Subproject commit b42c4a104ea70695c8fc3516780951f7434b7906 | |||
| Subproject commit aaa97e44bb19c9cee7ae079995ddbcc864c6b702 | |||
There was a problem hiding this comment.
Don't bump fixtures past supported operators
When :dd-smoke-tests:openfeature:test runs with this submodule revision, OpenFeatureProviderSmokeTest.groovy:152-172 loads every JSON case from the fixture directory, including the newly added semver cases that expect semver-comparison-test to return TARGETING_MATCH. The local implementation still deserializes operators into ConditionOperator, whose enum only has LT/LTE/GT/GTE/MATCHES/NOT_MATCHES/ONE_OF/NOT_ONE_OF/IS_NULL (ConditionOperator.java:3-12), and the parser drops any flag containing an unknown operator (UniversalFlagConfigParser.java:111-114). The new fixture config uses SEMVER_* operators, so those flags are dropped and the semver cases will evaluate as flag-not-found/default instead of the expected variants until semver support is added or those cases are excluded.
Useful? React with 👍 / 👎.
| @@ -1 +1 @@ | |||
| Subproject commit b42c4a104ea70695c8fc3516780951f7434b7906 | |||
| Subproject commit aaa97e44bb19c9cee7ae079995ddbcc864c6b702 | |||
There was a problem hiding this comment.
Don't add malformed-flag fixtures before handling them
This submodule revision adds invalid-config isolation cases such as malformed-allocations-flag, overflow-total-shards-flag, and missing-split-shards-flag, all expecting the caller default with reason DEFAULT. The current parser drops malformed flags (UniversalFlagConfigParser.java:111-114) and the evaluator turns a dropped flag into FLAG_NOT_FOUND/ERROR (DDEvaluator.java:112-115); for the omitted split.shards case, it is not dropped at all because null shards are treated as empty (DDEvaluator.java:144-146 and 207-209), so the trap variation is returned instead. These new cases will fail until malformed flags are represented/evaluated as default or excluded.
Useful? React with 👍 / 👎.
| @@ -1 +1 @@ | |||
| Subproject commit b42c4a104ea70695c8fc3516780951f7434b7906 | |||
| Subproject commit aaa97e44bb19c9cee7ae079995ddbcc864c6b702 | |||
There was a problem hiding this comment.
Don't import POSIX regex fixtures without Java support
The bumped fixtures add a regex-flag case expecting user.name+tag@capture.example to match the new capturing-groups allocation, whose config uses the POSIX-style class [[:alnum:]]. The Java evaluator passes patterns straight to java.util.regex.Pattern (DDEvaluator.java:283-287), where [[:alnum:]] is not interpreted as an alphanumeric class, so that allocation does not match and the smoke test falls through to the default result instead of capturing-groups. Either translate these shared regex fixtures for Java or defer this submodule revision.
Useful? React with 👍 / 👎.
| @@ -1 +1 @@ | |||
| Subproject commit b42c4a104ea70695c8fc3516780951f7434b7906 | |||
| Subproject commit aaa97e44bb19c9cee7ae079995ddbcc864c6b702 | |||
There was a problem hiding this comment.
Don't accept fixtures with changed date reasons yet
The bumped date fixtures now expect dated, otherwise-static allocations (start-and-end-date-test and microsecond-date-test) to return reason DEFAULT, but the Java evaluator still labels any matching allocation with no rules and no shards as STATIC (DDEvaluator.java:417-425). Since OpenFeatureProviderSmokeTest.groovy:131-133 asserts the reason exactly for every fixture case, all of the updated date cases will fail even though the value remains current/active; defer this fixture revision or update the reason mapping first.
Useful? React with 👍 / 👎.
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
There was a problem hiding this comment.
The imported aaa97e4 fixtures require behavior absent from this branch: SEMVER flags are discarded, malformed flags return ERROR, and a split missing shards selects its trap variant. Advancing the submodule now makes the OpenFeature smoke data incompatible with the Java provider.
📊 Validated against 8 scenarios · Open Bits AI session
🤖 Datadog Autotest · Commit 26c0f94 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
| @@ -1 +1 @@ | |||
| Subproject commit b42c4a104ea70695c8fc3516780951f7434b7906 | |||
| Subproject commit aaa97e44bb19c9cee7ae079995ddbcc864c6b702 | |||
There was a problem hiding this comment.
Update the provider before importing these fixtures
The bump makes the OpenFeature smoke suite fail and imports conformance requirements that the current Java provider cannot satisfy.
Assertion details
- Input: Fixture revision aaa97e4, particularly SEMVER_* conditions, malformed allocations, a split without
shards, and an unknown operator. - Expected:
Land support for the imported SEMVER operators and malformed-flag semantics before advancing this gitlink, or defer the dependency bump until that provider work is present. - Actual: All eight representative new cases produced incorrect results. SEMVER flags are discarded because ConditionOperator lacks the SEMVER_* values, malformed and unknown-operator flags resolve as ERROR rather than DEFAULT, and a split missing
shardsselectstrap/STATIC. Fixing compatibility requires coordinated parser, model, evaluator, and test changes rather than a line-bounded edit to this gitlink.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
Bumps dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data from
b42c4a1toaaa97e4.Commits
aaa97e4Merge pull request #22 from greghuels/greg.huels/semver-validation-fixtures4f8ac2dtest: address PR feedback on semver validation fixtures0779293test: add semver validation fixturesc017a15Merge pull request #20 from greghuels/greg.huels/semver-comparison-fixtures7f3112cRefine SEMVER comparison boundaries1d7c325Add SEMVER comparison operator fixturesf3da9aeMerge pull request #18 from DataDog/leo.romanovsky/revert-regex-shard-bound-f...44092cefix: limit rollback to regex fixtures9864c01fix: restore static temporal allocation reasonscb09e08revert: remove regex and shard-bound fixturesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)