Skip to content

refactor(openfeature): use ffe-system-test-data submodule for UFC fixtures#10977

Draft
leoromanovsky wants to merge 5 commits intomasterfrom
leo.romanovsky/centralize-ffe-fixtures
Draft

refactor(openfeature): use ffe-system-test-data submodule for UFC fixtures#10977
leoromanovsky wants to merge 5 commits intomasterfrom
leo.romanovsky/centralize-ffe-fixtures

Conversation

@leoromanovsky
Copy link
Contributor

Motivation

Stacked on #10971. Replaces local fixture copies with a git submodule pointing at ffe-system-test-data — single source of truth for UFC evaluation fixtures across all SDKs.

Changes

  • Added ffe-system-test-data as git submodule in test resources
  • Updated DDEvaluatorFixtureTest.java to read from submodule path
  • Deleted local fixture copies
  • Added dependabot config for automatic submodule update PRs

Decisions

  • Submodule placed at test resources level for classpath access
  • Dependabot configured for weekly submodule checks

…ng TARGETING_MATCH

- Add Split parameter to resolveVariant for three-way reason computation
- Return STATIC for flags with no rules and no shards (simple flags)
- Return SPLIT for flags with no rules but with shards (shard-based flags)
- Return TARGETING_MATCH for flags with rules (rule-based flags)
- Update 9 test assertions: 7 to STATIC, 2 to SPLIT
- Add ufc-config.json (canonical server configuration)
- Add 24 evaluation-case JSON files from dd-trace-go
- Files are byte-identical copies of Go reference fixtures
…cal cases

- JUnit 5 @testfactory generates dynamic tests from 24 evaluation-case JSON files
- Parses ufc-config.json into ServerConfiguration using Moshi with DateAdapter
- Asserts both value and reason for each fixture case
- Handles Java/Go divergences: Java returns ERROR where Go returns DEFAULT
  for missing flags and empty allocations
- Skips null attribute values in context building (null = missing)
- Add ffe-system-test-data as git submodule in test resources
- Update DDEvaluatorFixtureTest to read from submodule path
- Delete old local copies of ufc-config.json and evaluation-cases/
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.

1 participant