package main import ( "bytes" "encoding/base64" "strings" "testing" ) // One line, one key, nothing else: a shell substitution captures it // without parsing. func TestRunPrintsOnePrivateKey(t *testing.T) { var out bytes.Buffer if err := run(&out); err != nil { t.Fatal(err) } if !strings.HasSuffix(out.String(), "\n") || strings.Count(out.String(), "\n") != 1 { t.Fatalf("want exactly one newline-terminated line, got %q", out.String()) } s := strings.TrimSpace(out.String()) raw, err := base64.RawURLEncoding.DecodeString(s) if err != nil || len(raw) != 32 { t.Fatalf("not a 32-byte base64url key: %q", s) } if strings.ContainsAny(s, "=+/") { t.Fatalf("not unpadded base64url: %q", s) } }