diff --git a/tests/parametric/test_ffe/ffe-system-test-data/SOURCE.md b/tests/parametric/test_ffe/ffe-system-test-data/SOURCE.md index a957d048cf0..f4314eb698e 100644 --- a/tests/parametric/test_ffe/ffe-system-test-data/SOURCE.md +++ b/tests/parametric/test_ffe/ffe-system-test-data/SOURCE.md @@ -3,7 +3,7 @@ These files are copied from the canonical FFE fixture repository. Canonical source: https://github.com/DataDog/ffe-system-test-data -Source commit: c8cc8da239341748dc8c30c2145c0f0b5432c958 +Source commit: fdd48ad2dc30cee7819b3aafb883d1edcd2455db Do not edit these fixtures directly in system-tests. Add or update shared FFE behavior in ffe-system-test-data first, then refresh this snapshot. diff --git a/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/cases/dependent-flags.json b/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/cases/dependent-flags.json index 44e92da23f5..f9c86ff0277 100644 --- a/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/cases/dependent-flags.json +++ b/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/cases/dependent-flags.json @@ -339,5 +339,46 @@ }, "targetingKey": "dependent-cycle", "variationType": "STRING" + }, + { + "description": "Unknown fields inside flagEvaluation, on its condition, and in evaluatorParams are ignored while the prerequisite key is evaluated normally.", + "attributes": {}, + "defaultValue": "caller-default", + "flag": "dependent-unknown-fields-root", + "result": { + "reason": "TARGETING_MATCH", + "value": "direct-match" + }, + "targetingKey": "dependent-unknown-fields", + "variationType": "STRING", + "expectations": { + "noUnmatchedEvents": true, + "exposures": [ + { + "flag": "dependent-leaf-on", + "allocation": "leaf-static", + "variant": "on", + "_count": 1 + }, + { + "flag": "dependent-unknown-fields-root", + "allocation": "dependent-match", + "variant": "matched", + "_count": 1 + } + ], + "evaluationEvents": [ + { + "flag": "dependent-leaf-on", + "errorCode": null, + "_count": 1 + }, + { + "flag": "dependent-unknown-fields-root", + "errorCode": null, + "_count": 1 + } + ] + } } ] diff --git a/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/ufc-config.json b/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/ufc-config.json index dd15f9346cc..cd4b4801e0a 100644 --- a/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/ufc-config.json +++ b/tests/parametric/test_ffe/ffe-system-test-data/evaluation-suites/dependent-flags/ufc-config.json @@ -6,7 +6,8 @@ "unknownEnvironmentField": "ignored" }, "evaluatorParams": { - "maxDependencyDepth": 2 + "maxDependencyDepth": 2, + "unknownEvaluatorField": "ignored" }, "flags": { "dependent-leaf-on": { @@ -862,6 +863,62 @@ "doLog": true } ] + }, + "dependent-unknown-fields-root": { + "key": "dependent-unknown-fields-root", + "enabled": true, + "variationType": "STRING", + "variations": { + "matched": { + "key": "matched", + "value": "direct-match" + }, + "fallback": { + "key": "fallback", + "value": "direct-fallback" + } + }, + "allocations": [ + { + "key": "dependent-match", + "rules": [ + { + "conditions": [ + { + "flagEvaluation": { + "key": "dependent-leaf-on", + "property": "variant" + }, + "operator": "ONE_OF", + "value": [ + "on" + ], + "unknownConditionField": { + "nested": true + } + } + ] + } + ], + "splits": [ + { + "variationKey": "matched", + "shards": [] + } + ], + "doLog": true + }, + { + "key": "fallback", + "splits": [ + { + "variationKey": "fallback", + "shards": [] + } + ], + "doLog": true + } + ] } } }