clean_data = [ {'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Charlie'} ]
checker.register_check("Single source of truth", check_sot) one checker
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 clean_data = [ {'id': 1, 'name': 'Alice'}, {'id':
def generate_report(self) -> str: """Generate a formatted report of all check results""" if not self.results: return "No checks have been run yet." summary = { CheckerResult.PASS: 0, CheckerResult.FAIL: 0, CheckerResult.WARNING: 0, CheckerResult.ERROR: 0 } report_lines = [f"\n{'='*60}", f"One Checker Report: {self.name}", f"{'='*60}\n"] for result in self.results: summary[result.result] += 1 status_icon = { CheckerResult.PASS: "✓", CheckerResult.FAIL: "✗", CheckerResult.WARNING: "⚠", CheckerResult.ERROR: "!" }.get(result.result, "?") report_lines.append(f"{status_icon} [{result.result.value.upper()}] {result.check_name}") report_lines.append(f" {result.message}") if result.details: report_lines.append(f" Details: {json.dumps(result.details, indent=2)}") report_lines.append("") report_lines.append(f"{'='*60}") report_lines.append(f"Summary: {summary[CheckerResult.PASS]} passed, " f"{summary[CheckerResult.FAIL]} failed, " f"{summary[CheckerResult.WARNING]} warnings, " f"{summary[CheckerResult.ERROR]} errors") return "\n".join(report_lines) if name == " main ": # Create a OneChecker instance checker = OneChecker("DataConsistencyChecker") clean_data = [ {'id': 1
class OneChecker: """ A feature that verifies if a system maintains "one" of something: - One source of truth - One active configuration - One unique identifier - One consistent state """
# Example 2: Check active configuration configs = { 'dev': {'active': False, 'env': 'development'}, 'prod': {'active': True, 'env': 'production'}, 'staging': {'active': False, 'env': 'staging'} }
return CheckResponse( is_unique=len(duplicates) == 0, duplicates=duplicates, total_items=len(request.data), unique_count=len(seen) )