File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed
Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -1112,6 +1112,32 @@ def test_ml_integration_jobs_exist(self):
11121112 f"The following ({ len (failures )} ) rules are missing a valid `machine_learning_job_id`:\n { err_msg } "
11131113 )
11141114
1115+ def test_preserve_upstream_protected_rule_id_name (self ):
1116+ """
1117+ Ensure upstream referenced rule IDs and rule names remain unchanged
1118+ """
1119+ protected_rules = {"9a1a2dae-0b5f-4c3d-8305-a268d404c306" : "Endpoint Security (Elastic Defend)" }
1120+
1121+ # map current rules by id and name for quick lookup
1122+ current_rules = {rule .contents .data .get ("rule_id" ): rule .contents .data .get ("name" ) for rule in self .all_rules }
1123+ failures = []
1124+ for rule_id , rule_name in protected_rules .items ():
1125+ if rule_id in current_rules :
1126+ if rule_name != current_rules .get (rule_id ):
1127+ failures .append (
1128+ f"Protected rule_id { rule_id } name modified from '{ rule_name } ' to '{ current_rules .get (rule_id )} ' - review upstream impact"
1129+ )
1130+ else :
1131+ failures .append (
1132+ f"Protected rule: { rule_name } rule_id: { rule_id } missing/modified - review upstream impact"
1133+ )
1134+
1135+ if failures :
1136+ fail_msg = """
1137+ The following protected prebuilt rules have missing/modified rule IDs or names \n
1138+ """
1139+ self .fail (fail_msg + "\n " .join (failures ))
1140+
11151141
11161142class TestRuleTiming (BaseRuleTest ):
11171143 """Test rule timing and timestamps."""
You can’t perform that action at this time.
0 commit comments