mirror of
https://git.sr.ht/~joren/streamrip-go
synced 2026-06-17 23:25:30 +02:00
Make download dedupe source-specific to prevent cross-provider ID collisions. Also correct non-remaster filtering, avoid FLAC tagging on non-FLAC files, and use album IDs for singles folder templating.
51 lines
1.0 KiB
Go
51 lines
1.0 KiB
Go
package store
|
|
|
|
import (
|
|
"context"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestSQLiteStore(t *testing.T) {
|
|
ctx := context.Background()
|
|
path := filepath.Join(t.TempDir(), "test.db")
|
|
|
|
s, err := NewSQLite(path)
|
|
if err != nil {
|
|
t.Fatalf("NewSQLite() error = %v", err)
|
|
}
|
|
defer func() { _ = s.Close() }()
|
|
|
|
ok, err := s.IsDownloaded(ctx, "qobuz", "a")
|
|
if err != nil {
|
|
t.Fatalf("IsDownloaded() error = %v", err)
|
|
}
|
|
if ok {
|
|
t.Fatalf("expected not downloaded")
|
|
}
|
|
|
|
if err = s.MarkDownloaded(ctx, "qobuz", "a"); err != nil {
|
|
t.Fatalf("MarkDownloaded() error = %v", err)
|
|
}
|
|
|
|
ok, err = s.IsDownloaded(ctx, "qobuz", "a")
|
|
if err != nil {
|
|
t.Fatalf("IsDownloaded() error = %v", err)
|
|
}
|
|
if !ok {
|
|
t.Fatalf("expected downloaded")
|
|
}
|
|
|
|
ok, err = s.IsDownloaded(ctx, "tidal", "a")
|
|
if err != nil {
|
|
t.Fatalf("IsDownloaded() error = %v", err)
|
|
}
|
|
if ok {
|
|
t.Fatalf("expected source-specific download tracking")
|
|
}
|
|
|
|
if err = s.MarkFailed(ctx, "qobuz", "track", "1"); err != nil {
|
|
t.Fatalf("MarkFailed() error = %v", err)
|
|
}
|
|
}
|