Classify registry normalization diagnostics

This commit is contained in:
2026-08-27 15:57:29 +00:00
parent ccba2ce3f9
commit 6a1fd7bdb6
12 changed files with 247 additions and 206 deletions

View File

@@ -69,3 +69,26 @@ func TestDataQualityResultGroupsFindingsWithoutWarnings(t *testing.T) {
t.Fatalf("diagnostic = %#v", diagnostic)
}
}
func TestCollectGroupsNormalizationFindingsWithBoundedSamples(t *testing.T) {
findings := make([]contracts.Warning, 5)
for index := range findings {
findings[index] = contracts.Warning{
Scope: fmt.Sprintf("records[%d]", index),
ReasonCode: "record_normalized",
Message: fmt.Sprintf("record %d normalized", index),
}
}
groups, err := Collect(findings, contracts.DiagnosticDispositionObservation, contracts.DiagnosticCategoryNormalization)
if err != nil {
t.Fatal(err)
}
if len(groups) != 1 {
t.Fatalf("groups = %#v, want one grouped observation", groups)
}
diagnostic := groups[0]
if diagnostic.Disposition != contracts.DiagnosticDispositionObservation || diagnostic.Category != contracts.DiagnosticCategoryNormalization || diagnostic.OccurrenceCount != 5 || len(diagnostic.Samples) != contracts.MaxDiagnosticSamples || diagnostic.OmittedSampleCount != 2 {
t.Fatalf("diagnostic = %#v", diagnostic)
}
}