diff --git a/manifests/php.yml b/manifests/php.yml index 2c3ed35ceb0..3fb6bf8954f 100644 --- a/manifests/php.yml +++ b/manifests/php.yml @@ -1289,7 +1289,12 @@ manifest: component_version: <1.12.0 tests/docker_ssi/test_docker_ssi_appsec.py::TestDockerSSIAppsecFeatures::test_telemetry_source_ssi: v1.8.3 tests/docker_ssi/test_docker_ssi_crash.py::TestDockerSSICrash::test_crash: missing_feature (No implemented the endpoint /crashme) - tests/ffe/test_agentless_configuration.py: missing_feature (FFL-2705 tracks PHP agentless configuration-source implementation; FFL-2731 tracks the system-tests contract) + tests/ffe/test_agentless_configuration.py::Test_FFE_Agentless_Configuration: irrelevant (PHP requires explicit configuration source selection) + tests/ffe/test_agentless_configuration.py::Test_FFE_Agentless_Explicit_Configuration: + - weblog_declaration: + "*": v1.28.0-dev + laravel11x: incomplete_test_app + symfony7x: incomplete_test_app tests/ffe/test_dynamic_evaluation.py: - weblog_declaration: "*": v1.21.0-dev diff --git a/tests/ffe/test_agentless_configuration.py b/tests/ffe/test_agentless_configuration.py index fbc8b964fd3..3fa37be1883 100644 --- a/tests/ffe/test_agentless_configuration.py +++ b/tests/ffe/test_agentless_configuration.py @@ -1,15 +1,14 @@ -"""Test default agentless UFC delivery before FFE evaluation.""" +"""Test implicit and explicit agentless UFC delivery.""" import json -from utils import features, scenarios, weblog +from utils import context, features, scenarios, weblog +from utils._context._scenarios.agentless_endtoend import FeatureFlaggingAgentlessEndToEndScenario from utils.mocked_backend.ffe import CONFIG_PATH -@scenarios.feature_flagging_and_experimentation_agentless -@features.feature_flags_agentless -class Test_FFE_Agentless_Configuration: - def setup_default_agentless_source(self) -> None: +class AgentlessConfigurationContract: + def setup_agentless_source(self) -> None: self.response = weblog.post( "/ffe", json={ @@ -21,11 +20,24 @@ def setup_default_agentless_source(self) -> None: }, ) - def test_default_agentless_source(self) -> None: + def test_agentless_source(self) -> None: assert self.response.status_code == 200, f"Flag evaluation failed: {self.response.text}" assert json.loads(self.response.text)["value"] == "on-value" - backend_status = scenarios.feature_flagging_and_experimentation_agentless.mock_backend_status() + assert isinstance(context.scenario, FeatureFlaggingAgentlessEndToEndScenario) + backend_status = context.scenario.mock_backend_status() assert backend_status is not None assert backend_status["requests_total"] >= 1 assert backend_status["last_path"] == CONFIG_PATH + + +@scenarios.feature_flagging_and_experimentation_agentless +@features.feature_flags_agentless +class Test_FFE_Agentless_Configuration(AgentlessConfigurationContract): + pass + + +@scenarios.feature_flagging_and_experimentation_agentless_direct +@features.feature_flags_agentless +class Test_FFE_Agentless_Explicit_Configuration(AgentlessConfigurationContract): + pass diff --git a/tests/test_the_test/scenarios.json b/tests/test_the_test/scenarios.json index d7fd1c895b5..f9ec5603c23 100644 --- a/tests/test_the_test/scenarios.json +++ b/tests/test_the_test/scenarios.json @@ -3378,9 +3378,12 @@ "tests/external_processing/test_apm.py::Test_ExternalProcessing_Tracing::test_correct_span_structure": [ "EXTERNAL_PROCESSING" ], - "tests/ffe/test_agentless_configuration.py::Test_FFE_Agentless_Configuration::test_default_agentless_source": [ + "tests/ffe/test_agentless_configuration.py::Test_FFE_Agentless_Configuration::test_agentless_source": [ "FEATURE_FLAGGING_AND_EXPERIMENTATION_AGENTLESS" ], + "tests/ffe/test_agentless_configuration.py::Test_FFE_Agentless_Explicit_Configuration::test_agentless_source": [ + "FEATURE_FLAGGING_AND_EXPERIMENTATION_AGENTLESS_DIRECT" + ], "tests/ffe/test_exposure_egress.py::Test_FFE_Exposure_Egress_Datadog_Agent::test_exposure_egress": [ "FEATURE_FLAGGING_AND_EXPERIMENTATION" ], diff --git a/tests/test_the_test/test_compute_libraries_and_scenarios.py b/tests/test_the_test/test_compute_libraries_and_scenarios.py index f517c4b8424..41e70609bb7 100644 --- a/tests/test_the_test/test_compute_libraries_and_scenarios.py +++ b/tests/test_the_test/test_compute_libraries_and_scenarios.py @@ -828,7 +828,8 @@ def test_agentless_ffe_test_file(self): default_libs_with_dev, 3600, "false", - "DEFAULT,FEATURE_FLAGGING_AND_EXPERIMENTATION_AGENTLESS", + "DEFAULT,FEATURE_FLAGGING_AND_EXPERIMENTATION_AGENTLESS," + "FEATURE_FLAGGING_AND_EXPERIMENTATION_AGENTLESS_DIRECT", "", )