Add CARING examples and coverage
Some checks failed
CI / Build and Test (push) Has been cancelled
CI / Lint (push) Has been cancelled

This commit is contained in:
2026-05-17 06:05:18 +02:00
parent 49655e40e0
commit 18054bd160
10 changed files with 318 additions and 1 deletions

View File

@@ -50,6 +50,30 @@ func TestLoadPolicyPackageMarkdownValidates(t *testing.T) {
}
}
func TestRedactPolicyPackageMarkdownValidates(t *testing.T) {
pkg, err := policy.LoadAndValidateFile(context.Background(), filepath.Join("..", "..", "examples", "caring", "redact_policy_package.md"))
if err != nil {
t.Fatalf("LoadAndValidateFile: %v", err)
}
if !pkg.Valid {
t.Fatalf("pkg.Valid = false\n%s", formatValidation(pkg.Validation))
}
if len(pkg.Validation.Fixtures) != 1 {
t.Fatalf("Validation.Fixtures len = %d; want 1", len(pkg.Validation.Fixtures))
}
fixture := pkg.Validation.Fixtures[0]
if !fixture.Passed {
t.Fatalf("fixture failed: %s\nactual: %+v", fixture.Error, fixture.Actual)
}
if fixture.Actual.Effect != api.DecisionEffectRedact {
t.Fatalf("fixture.Actual.Effect = %q; want redact", fixture.Actual.Effect)
}
if len(fixture.Actual.Obligations) != 1 || fixture.Actual.Obligations[0].Type != "mask_fields" {
t.Fatalf("fixture.Actual.Obligations = %+v; want mask_fields", fixture.Actual.Obligations)
}
}
func TestCaringFindingsAreAdvisoryUntilEnforced(t *testing.T) {
doc := inlinePolicy(false, "allow")
pkg, err := policy.Load([]byte(doc), "inline-policy.md")