Skip to content

Conversation

@leoromanovsky
Copy link
Contributor

Summary

  • Replace duplicated FFE test JSON files with a git submodule from the canonical ffe-system-test-data repository
  • Update test_dynamic_evaluation.py to load test data from submodule paths

Motivation

FFE test data files were duplicated across multiple repos (system-tests, dd-trace-py, dd-trace-dotnet, dd-trace-java). This creates maintenance burden when updating test cases.

The ffe-system-test-data repo serves as the canonical source of truth, consumed via git submodule.

Dependencies

Test plan

  • Verify submodule is properly initialized on clone
  • Run FFE parametric tests: ./run.sh PARAMETRIC --scenario TEST_FEATURE_FLAG_DYNAMIC_EVALUATION

Replace duplicated FFE test JSON files with a git submodule from
the canonical ffe-system-test-data repository. This ensures test
data stays in sync across all tracer libraries.

Changes:
- Add ffe-data submodule pointing to ffe-system-test-data repo
- Remove duplicated flags-v1.json and test-*.json files
- Update test_dynamic_evaluation.py to load from submodule paths
@leoromanovsky leoromanovsky requested review from a team as code owners January 22, 2026 04:49
@leoromanovsky leoromanovsky marked this pull request as draft January 22, 2026 04:49
@github-actions
Copy link
Contributor

CODEOWNERS have been resolved as:

.gitmodules                                                             @DataDog/system-tests-core
tests/parametric/test_ffe/test_dynamic_evaluation.py                    @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/flags-v1.json                                 @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-boolean-false-assignment.json       @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-boolean-one-of-matches.json         @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-comparator-operator-flag.json       @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-disabled-flag.json                  @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-empty-flag.json                     @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-empty-string-variation.json         @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-falsy-value-assignments.json        @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-flag-with-empty-string.json         @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-integer-flag.json                   @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-kill-switch-flag.json               @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-new-user-onboarding-flag.json       @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-no-allocations-flag.json            @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-null-operator-flag.json             @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-numeric-flag.json                   @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-numeric-one-of.json                 @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-of-7-empty-targeting-key.json       @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-regex-flag.json                     @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-case-start-and-end-date-flag.json        @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-flag-that-does-not-exist.json            @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-json-config-flag.json                    @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-no-allocations-flag.json                 @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-special-characters.json                  @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
tests/parametric/test_ffe/test-string-with-special-characters.json      @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core

@cbeauchesne
Copy link
Collaborator

Side request, could we use for repo name ffe-system-tests-data ?

@leoromanovsky
Copy link
Contributor Author

Side request, could we use for repo name ffe-system-tests-data ?

The feedback being to make the word "test" plural? Yea that sounds fine but overall the expectation isn't that it is 1:1 connected with this system test repo, the files will be linked to individual trace libraries too.

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.

3 participants