Files
wehub-resource-sync ead81af521
Deploy to GitHub Pages / deploy (push) Failing after 0s
CI / go (push) Has been cancelled
CI / build (darwin, macos-14) (push) Has been cancelled
CI / build (windows, windows-2025) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:13 +08:00

46 lines
1.1 KiB
Go

package qobuz
import (
"testing"
)
func TestMD5Hex(t *testing.T) {
tests := []struct {
in string
want string
}{
{"", "d41d8cd98f00b204e9800998ecf8427e"},
{"abc", "900150983cd24fb0d6963f7d28e17f72"},
}
for _, tt := range tests {
if got := md5hex(tt.in); got != tt.want {
t.Errorf("md5hex(%q) = %q, want %q", tt.in, got, tt.want)
}
}
}
// TestTrackFileURLSig pins the request_sig layout for track/getFileUrl against
// a precomputed md5. If the raw string format in trackFileURLSig changes,
// streaming breaks and this test fails.
func TestTrackFileURLSig(t *testing.T) {
// md5("trackgetFileUrlformat_id6intentstreamtrack_id59667831700000000deadbeefsecret")
const want = "bc7a09d686b3e5c1cd32f5268eff1030"
got := trackFileURLSig("5966783", 6, "1700000000", "deadbeefsecret")
if got != want {
t.Fatalf("trackFileURLSig = %q, want %q", got, want)
}
}
func TestValidQuality(t *testing.T) {
for _, q := range []int{5, 6, 7, 27} {
if !validQuality(q) {
t.Errorf("expected quality %d to be valid", q)
}
}
for _, q := range []int{0, 1, 4, 8, 100} {
if validQuality(q) {
t.Errorf("expected quality %d to be invalid", q)
}
}
}