Files
QTransfer/internal/qobuz/client_integration_test.go
2026-04-03 21:26:08 +02:00

49 lines
1.1 KiB
Go

package qobuz
import (
"context"
"os"
"testing"
"time"
)
func TestLiveLoginVerifyAndSearch(t *testing.T) {
username := os.Getenv("QOBUZ_IT_USERNAME")
password := os.Getenv("QOBUZ_IT_PASSWORD")
if username == "" || password == "" {
t.Skip("set QOBUZ_IT_USERNAME and QOBUZ_IT_PASSWORD to run live integration test")
}
appID := os.Getenv("QOBUZ_IT_APP_ID")
if appID == "" {
appID = "312369995"
}
appSecret := os.Getenv("QOBUZ_IT_APP_SECRET")
if appSecret == "" {
appSecret = "e79f8b9be485692b0e5f9dd895826368"
}
ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second)
defer cancel()
c := NewClient(appID, appSecret)
if err := c.Login(ctx, username, password); err != nil {
t.Fatalf("login failed: %v", err)
}
if c.token == "" {
t.Fatalf("login succeeded but token is empty")
}
if err := c.VerifyAuth(ctx); err != nil {
t.Fatalf("verify auth failed: %v", err)
}
tracks, err := c.SearchTracks(ctx, "Daft Punk One More Time", 5)
if err != nil {
t.Fatalf("search failed: %v", err)
}
if len(tracks) == 0 {
t.Fatalf("search returned no results")
}
}