def run_all_checks(self) -> List[OneCheckReport]: """Execute all registered checks""" self.results = [] # Built-in checks that can be customized via registration for name, check_func in self.checks: result = check_func() self.results.append(result) return self.results
# Run all checks and generate report checker.run_all_checks() print(checker.generate_report()) one checker
# one_checker.py """ One Checker - Ensures data consistency and uniqueness across system components """ from typing import Any, Dict, List, Callable, Optional from dataclasses import dataclass from enum import Enum import json def run_all_checks(self) ->
def check_one_to_one_relationship(self, left_data: List, right_data: List, left_key: str, right_key: str) -> OneCheckReport: """Check that relationships are one-to-one, not one-to-many""" left_keys = [item[left_key] for item in left_data] right_keys = [item[right_key] for item in right_data] # Check if any left key maps to multiple right items from collections import Counter right_counts = Counter(right_keys) violations = [] for key in set(left_keys): if right_counts.get(key, 0) > 1: violations.append({ 'key': key, 'count': right_counts[key] }) if violations: return OneCheckReport( check_name="One-to-one relationship check", result=CheckerResult.FAIL, message=f"Found {len(violations)} keys with multiple relationships", details={'violations': violations} ) else: return OneCheckReport( check_name="One-to-one relationship check", result=CheckerResult.PASS, message="All relationships are one-to-one" ) right_key: str) ->
return CheckResponse( is_unique=len(duplicates) == 0, duplicates=duplicates, total_items=len(request.data), unique_count=len(seen) )
def check_sot(): return checker.check_single_source_of_truth(sources)
checker.register_check("Single source of truth", check_sot)