Skip to content

Centralize missing FFE fixture cases#9

Merged
leoromanovsky merged 2 commits into
mainfrom
leo.romanovsky/ffe-canonical-fixtures-20260512
May 13, 2026
Merged

Centralize missing FFE fixture cases#9
leoromanovsky merged 2 commits into
mainfrom
leo.romanovsky/ffe-canonical-fixtures-20260512

Conversation

@leoromanovsky

@leoromanovsky leoromanovsky commented May 12, 2026

Copy link
Copy Markdown
Collaborator

Motivation

FFE SDK consumers have fixture cases that are not present in the canonical ffe-system-test-data repo. Before migrating consumers to git submodules, the canonical source needs to include those shared cases with linked evidence showing where each migrated fixture came from.

Changes

  • Add normalized null-targeting-key fixture coverage.
  • Add normalized numeric ONE_OF default-path fixture coverage from existing consumer fixture files.
  • Rename the migrated Java/.NET test-case-race-conditions.json fixture to test-case-numeric-one-of-default.json because the fixture validates default behavior, not concurrency.
  • Update README and CONTRIBUTING to describe downstream submodule consumption and fixture contribution rules.

Decisions

  • Treat consumer-owned JSON fixtures as the source of truth for this catch-up PR.
  • Normalize migrated fixtures to the canonical schema by adding explicit targetingKey, attributes, result.value, and result.reason fields where older consumer fixtures omitted them.
  • Use descriptive canonical fixture names even when source repos had stale or misleading filenames.
  • Keep PHP out of the consumer list until its OpenFeature client lands.

Evidence

Validation

  • Validated JSON syntax for ufc-config.json and every evaluation-cases/*.json file.
  • Verified every fixture flag references a flag present in ufc-config.json, except the intentional missing-flag fixture.
  • Verified every evaluation case has targetingKey, attributes, result.value, and result.reason.
  • Downstream consumer PRs load this repository as a submodule and loop over evaluation-cases/*.json.

@leoromanovsky
leoromanovsky marked this pull request as ready for review May 13, 2026 01:07
@leoromanovsky
leoromanovsky requested a review from a team as a code owner May 13, 2026 01:07
@leoromanovsky
leoromanovsky requested review from greghuels and sameerank and removed request for a team May 13, 2026 01:07
@leoromanovsky
leoromanovsky merged commit 4446371 into main May 13, 2026
1 check passed
@leoromanovsky
leoromanovsky deleted the leo.romanovsky/ffe-canonical-fixtures-20260512 branch May 13, 2026 15:17
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.

2 participants