feat(uploads): match release groups with MusicBrainz and AcoustID
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
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
This commit is contained in:
1 parent
1e3a149aef
commit
39bf7d4b70
45 files changed
+4792
-417
No files matched your search
@@ -0,0 +1,32 @@
|
||||
//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)
|
||||
}
|
||||
Reference in new issue
Block a user