-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathtest_group_rules.py
More file actions
97 lines (86 loc) · 4.44 KB
/
Copy pathtest_group_rules.py
File metadata and controls
97 lines (86 loc) · 4.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# right now, no rules are defined for groups
# it means that we cannot b y design make some group part of another group
# waiting for a clean solution to this problem, let's just test it
from utils import scenarios, scenario_groups
from utils._context._scenarios import get_all_scenarios
@scenarios.test_the_test
def test_appsec():
for scenario in get_all_scenarios():
if scenario_groups.appsec_rasp in scenario.scenario_groups:
assert scenario_groups.appsec_rasp in scenario.scenario_groups
@scenarios.test_the_test
def test_tracer_release():
# make an exclusion list
dormant_agentless_scenario = scenarios.feature_flagging_and_experimentation_agentless
assert dormant_agentless_scenario.include_agent is False
assert dormant_agentless_scenario.use_proxy is False
assert scenario_groups.ffe in dormant_agentless_scenario.scenario_groups
assert scenario_groups.all not in dormant_agentless_scenario.scenario_groups
assert scenario_groups.end_to_end not in dormant_agentless_scenario.scenario_groups
assert scenario_groups.tracer_release not in dormant_agentless_scenario.scenario_groups
serverless_exposure_scenario = scenarios.feature_flagging_and_experimentation_agentless_serverless
assert serverless_exposure_scenario.include_agent is False
assert serverless_exposure_scenario.use_proxy is True
assert scenario_groups.ffe in serverless_exposure_scenario.scenario_groups
assert scenario_groups.all not in serverless_exposure_scenario.scenario_groups
assert scenario_groups.end_to_end not in serverless_exposure_scenario.scenario_groups
assert scenario_groups.tracer_release not in serverless_exposure_scenario.scenario_groups
not_in_tracer_release_group = [
# list of scenario that will never be part of tracer release
scenarios.fuzzer,
dormant_agentless_scenario,
serverless_exposure_scenario,
scenarios.mock_the_test,
scenarios.mock_the_test_2,
scenarios.test_the_test,
scenarios.todo,
# targetting OTEL
scenarios.otel_integrations,
scenarios.otel_log_e2e,
scenarios.otel_metric_e2e,
scenarios.otel_tracing_e2e,
scenarios.otel_collector,
# to be added once stability is proven
scenarios.chaos_installer_auto_injection,
scenarios.container_auto_injection_install_script_appsec,
scenarios.container_auto_injection_install_script_profiling,
scenarios.container_auto_injection_install_script,
scenarios.docker_ssi,
scenarios.docker_ssi_appsec,
scenarios.docker_ssi_crashtracking,
scenarios.docker_ssi_servicenaming,
scenarios.host_auto_injection_install_script_appsec,
scenarios.host_auto_injection_install_script_profiling,
scenarios.host_auto_injection_install_script,
scenarios.installer_auto_injection,
scenarios.installer_not_supported_auto_injection,
scenarios.k8s_lib_injection_no_ac_uds,
scenarios.k8s_lib_injection_no_ac,
scenarios.k8s_lib_injection_operator,
scenarios.k8s_lib_injection_appsec_disabled,
scenarios.k8s_lib_injection_appsec_enabled,
scenarios.k8s_lib_injection_profiling_disabled,
scenarios.k8s_lib_injection_profiling_enabled,
scenarios.k8s_lib_injection_profiling_override,
scenarios.k8s_lib_injection_spark_djm,
scenarios.k8s_lib_injection_uds,
scenarios.k8s_lib_injection,
scenarios.k8s_injector_dev_single_service,
scenarios.local_auto_injection_install_script,
scenarios.simple_auto_injection_appsec,
scenarios.simple_auto_injection_profiling,
scenarios.simple_installer_auto_injection,
scenarios.multi_installer_auto_injection,
scenarios.otel_collector_e2e,
]
for scenario in get_all_scenarios():
if scenario in not_in_tracer_release_group:
assert scenario_groups.tracer_release not in scenario.scenario_groups, (
f"Scenario {scenario} should not be part of {scenario_groups.tracer_release}"
)
if scenario_groups.tracer_release not in scenario.scenario_groups:
assert scenario in not_in_tracer_release_group, (
f"Scenario {scenario.name} is not part of {scenario_groups.tracer_release.name} group"
)
if scenario in not_in_tracer_release_group:
assert scenario_groups.tracer_release not in scenario.scenario_groups