package xrpc import ( "strings" "testing" ) func TestRequireSha(t *testing.T) { if err := requireSha(strings.Repeat("a", 40)); err != nil { t.Fatalf("valid SHA rejected: %v", err) } if err := requireSha(strings.Repeat("z", 40)); err != nil { t.Fatalf("40-character non-hex SHA rejected: %v", err) } for name, sha := range map[string]string{ "short": strings.Repeat("a", 39), "long": strings.Repeat("a", 41), } { t.Run(name, func(t *testing.T) { if err := requireSha(sha); err == nil { t.Fatalf("invalid SHA %q accepted", sha) } }) } }