Files
story/internal/privacy/delete_processor_test.go
T

32 lines
1.0 KiB
Go
Raw Normal View History

2026-08-26 06:41:07 +08:00
package privacy
import (
"context"
"errors"
"strings"
"testing"
)
func TestDeleteProcessorValidationAndSafeErrors(t *testing.T) {
if _, err := NewAccessProcessor(nil); err == nil {
t.Fatal("nil access database was accepted")
}
if _, err := NewDeleteProcessor(nil, nil, nil); err == nil {
t.Fatal("invalid deletion dependencies were accepted")
}
processor := &DeleteProcessor{}
if _, _, err := processor.executeSubtask(context.Background(), deletionRequest{}, "unknown"); err == nil || !strings.Contains(err.Error(), "unsupported") {
t.Fatalf("unsupported subsystem error=%v", err)
}
if got := safeDeletionError(nil); got != "" {
t.Fatalf("nil error text=%q", got)
}
if got := safeDeletionError(errors.New("temporary object-store failure")); got != "temporary object-store failure" {
t.Fatalf("short safe error=%q", got)
}
longText := strings.Repeat("x", 600)
if got := safeDeletionError(errors.New(longText)); len(got) != 450 || strings.Contains(got, "secret") {
t.Fatalf("truncated safe error length=%d", len(got))
}
}