Files
pipu-music/services/api/internal/musicbrainz/client_live_test.go
T
mrleo1nid 39bf7d4b70
ci / module boundaries / boundaries (push) Successful in 10s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m30s
ci / api / api (push) Successful in 58s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m1s
ci / db / db (push) Failing after 25s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m36s
ci / ts / ts (packages + web) (push) Failing after 6m3s
feat(uploads): match release groups with MusicBrainz and AcoustID
2026-10-29 20:44:59 +03:00

33 lines
1.1 KiB
Go

//go:build integration
package musicbrainz
import (
"context"
"github.com/stretchr/testify/require"
"os"
"testing"
"time"
)
// Explicitly opt in: CI does not depend on public metadata services being online.
func TestLiveMetadataProviders(t *testing.T) {
if os.Getenv("PIPU_LIVE_METADATA_TEST") != "1" {
t.Skip("set PIPU_LIVE_METADATA_TEST=1 to query public providers")
}
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
defer cancel()
c := New(memoryCache{}, "PipuMusic/test (https://gitea.hsrv.site/mrleo1nid/pipu-music)")
releases, err := c.Search(ctx, Query{ReleaseID: "99b09d02-9cc9-3fed-8431-f162165a9371"})
require.NoError(t, err)
require.Len(t, releases, 1)
require.NotEmpty(t, releases[0].Title)
require.NotEmpty(t, releases[0].Artist)
require.NotEmpty(t, releases[0].Tracks)
cover, err := c.Cover(ctx, releases[0])
require.NoError(t, err)
require.NotEmpty(t, cover.Data)
require.Contains(t, cover.MIME, "image/")
t.Logf("release=%s tracks=%d cover_bytes=%d exact=%v", releases[0].ID, len(releases[0].Tracks), len(cover.Data), cover.Exact)
}