Quality Check Fix

This commit is contained in:
2026-03-31 22:50:22 +01:00
parent 4b5b6cd1a4
commit 70bdd1639b
3 changed files with 53 additions and 2 deletions

View File

@@ -540,7 +540,20 @@ def non_regression_check(output_requests, old_requests_filename):
f"Config: {rule.get('field_selection')}"
)
for group_name, field_name in sorted(candidate_fields):
# Iterate in config order (field_selection), not alphabetically
field_selection_config = rule.get("field_selection") or []
ordered_candidates = []
seen = set()
for _action, selector in field_selection_config:
sel_group, sel_field = selector.split(".", 1)
for (group_name, field_name) in candidate_fields:
if (group_name, field_name) in seen:
continue
if (sel_group in ("*", group_name)) and (sel_field in ("*", field_name)):
ordered_candidates.append((group_name, field_name))
seen.add((group_name, field_name))
for group_name, field_name in ordered_candidates:
new_val = get_nested_value(new_req, [group_name, field_name])
old_val = get_nested_value(old_req, [group_name, field_name])
if new_val is not None and old_val is not None:
@@ -734,10 +747,14 @@ def non_regression_check(output_requests, old_requests_filename):
for rule in rules:
line_label = rule["line_label"]
if line_label in ["New Requests", "Deleted Requests"]:
if line_label == "New Requests":
count = _process_special_rule(rule, line_label, new_dict, old_dict)
line_results.append((line_label, count, None, "simple"))
elif line_label == "Deleted Requests":
deleted_keys = sorted(set(old_dict.keys()) - set(new_dict.keys()))
line_results.append((line_label, len(deleted_keys), deleted_keys, "deleted_requests"))
elif line_label in ["New Fields", "Deleted Fields"]:
field_list = _process_new_deleted_fields(line_label, new_dict, old_dict)
count = len(field_list)
@@ -778,6 +795,13 @@ def non_regression_check(output_requests, old_requests_filename):
new_display = f"'{new_val}'" if isinstance(new_val, str) else str(new_val)
console.print(f" - {qualified_field}: {old_display}{new_display}")
elif result_type == "deleted_requests":
_print_check_line(line_label, count, status_tuple, indent=1)
logging.warning("Regression check - %s: %d", line_label, count)
for deleted_key in data:
console.print(f" {key_field}: {deleted_key}")
logging.warning(" Deleted request: %s=%s", key_field, deleted_key)
else:
_print_check_line(line_label, count, status_tuple, indent=1)