From 31ec3f98265f2281d47b34d5fe18d1700e46d699 Mon Sep 17 00:00:00 2001 From: Alexander Date: Sat, 9 May 2026 21:31:09 +0200 Subject: [PATCH] Add MonitorAlbum component tests: 21 cases covering all flow diagrams (bufconn + testcontainers + hand-rolled mocks) --- .../monitor-album-error-already-owned.png | Bin 0 -> 43811 bytes .../monitor-album-error-already-owned.puml | 39 + .../flows/monitor-album-error-indexer.png | Bin 0 -> 128401 bytes .../flows/monitor-album-error-indexer.puml | 74 ++ .../flows/monitor-album-error-metadata.png | Bin 0 -> 55662 bytes .../flows/monitor-album-error-metadata.puml | 58 + .../flows/monitor-album-error-poll-worker.png | Bin 0 -> 184272 bytes .../monitor-album-error-poll-worker.puml | 90 ++ .../flows/monitor-album-error-torrent.png | Bin 0 -> 122886 bytes .../flows/monitor-album-error-torrent.puml | 71 ++ .../flows/monitor-album-happy-path.png | Bin 0 -> 167143 bytes .../flows/monitor-album-sequence.puml | 138 ++ go.mod | 38 + go.sum | 81 ++ internal/indexer/service.go | 4 + internal/server.go | 4 + internal/service.go | 29 +- internal/tracker/magnet.go | 4 + internal/workers/poll_download.go | 4 + test/component/fixtures_test.go | 83 ++ test/component/mocks_test.go | 146 +++ test/component/monitor_album_test.go | 1133 +++++++++++++++++ test/component/setup_test.go | 174 +++ 23 files changed, 2166 insertions(+), 4 deletions(-) create mode 100644 docs/architecture/flows/monitor-album-error-already-owned.png create mode 100644 docs/architecture/flows/monitor-album-error-already-owned.puml create mode 100644 docs/architecture/flows/monitor-album-error-indexer.png create mode 100644 docs/architecture/flows/monitor-album-error-indexer.puml create mode 100644 docs/architecture/flows/monitor-album-error-metadata.png create mode 100644 docs/architecture/flows/monitor-album-error-metadata.puml create mode 100644 docs/architecture/flows/monitor-album-error-poll-worker.png create mode 100644 docs/architecture/flows/monitor-album-error-poll-worker.puml create mode 100644 docs/architecture/flows/monitor-album-error-torrent.png create mode 100644 docs/architecture/flows/monitor-album-error-torrent.puml create mode 100644 docs/architecture/flows/monitor-album-happy-path.png create mode 100644 docs/architecture/flows/monitor-album-sequence.puml create mode 100644 test/component/fixtures_test.go create mode 100644 test/component/mocks_test.go create mode 100644 test/component/monitor_album_test.go create mode 100644 test/component/setup_test.go diff --git a/docs/architecture/flows/monitor-album-error-already-owned.png b/docs/architecture/flows/monitor-album-error-already-owned.png new file mode 100644 index 0000000000000000000000000000000000000000..850627354b00ddcf4671073486ef8956962ed04f GIT binary patch literal 43811 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 literal 0 HcmV?d00001 diff --git a/docs/architecture/flows/monitor-album-error-already-owned.puml b/docs/architecture/flows/monitor-album-error-already-owned.puml new file mode 100644 index 0000000..f3d947c --- /dev/null +++ b/docs/architecture/flows/monitor-album-error-already-owned.puml @@ -0,0 +1,39 @@ +@startuml MonitorAlbum - Already Owned (Early Return) +skinparam sequenceMessageAlign center +skinparam responseMessageBelowArrow true +title MonitorAlbum: Album Already Owned in Requested Quality + +actor Client +participant "MusicAgregatorService" as Service +participant "MetadataService" as Metadata +database "metadata-agregator\n(gRPC)" as MetaGRPC +database "PostgreSQL" as DB + +Client -> Service: MonitorAlbum(album_id, quality=LOSSLESS) +Service -> Metadata: GetAlbum(album_id) +Metadata -> MetaGRPC: GetAlbum(id) +MetaGRPC --> Metadata: Album +Metadata -> DB: albums.GetByExternalID() +DB --> Metadata: found (already persisted) +note right: Album exists from\nprevious MonitorAlbum\nor GetArtists discovery +Metadata --> Service: Album + +Service -> DB: albums.GetByExternalID() +DB --> Service: dbAlbum +Service -> DB: albums.SetMonitorState(id, monitored) +note right #lightgreen: Always set monitored\nregardless of outcome + +Service -> DB: downloads.HasAlbumInQuality(id, LOSSLESS, "16-44") +DB --> Service: true +note right #lightgreen: Found existing download\nwith state IN\n('completed', 'seeding') + +Service -> Service: buildMonitorAlbumResponse() +Service -> DB: downloads.GetByAlbumID() +DB --> Service: download (completed, FLAC, /downloads) +Service -> DB: artists.GetByExternalID() +DB --> Service: artist + +Service --> Client: MonitorAlbumResponse +note right #lightgreen: album: monitored, download info\nartist: monitored\nrelease: nil (no new search)\n\nNo indexer search.\nNo torrent client interaction.\nFast response. + +@enduml diff --git a/docs/architecture/flows/monitor-album-error-indexer.png b/docs/architecture/flows/monitor-album-error-indexer.png new file mode 100644 index 0000000000000000000000000000000000000000..21e15da6510f40c7cc314d0adebca0bbbe6414c8 GIT binary patch literal 128401 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%0AQBl!W$5*dj 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 ez@(jj Service: MonitorAlbum(album_id, quality) +note right: metadata fetch + persist succeeded + +Service -> Indexer: Search("Artist Album", tracker) +Indexer --> Service: error (connection refused / timeout) +Service --> Client: error +note right #salmon: Full stop after metadata.\nAlbum is persisted & monitored\nbut no torrent found. + +== Case 2: Indexer returns zero results == + +Client -> Service: MonitorAlbum(album_id, quality) +Service -> Indexer: Search("Artist Album", tracker) +Indexer --> Service: SearchResponse (0 items) +Service -> Service: parseSearchResults → empty +Service -> Service: filterByQuality → empty +Service --> Client: MonitorAlbumResponse +note right #orange: Partial response.\nalbum + artist returned.\nrelease: nil.\nNo torrent added. + +== Case 3: All results have no seeders == + +Client -> Service: MonitorAlbum(album_id, quality) +Service -> Indexer: Search(...) +Indexer --> Service: SearchResponse (5 items, all seeders=0) + +loop for each item + Service -> Service: item.Seeders == 0 → skip + note right: Logged as warning per item +end + +Service -> Service: parsed = empty +Service -> Service: filterByQuality → empty +Service --> Client: MonitorAlbumResponse (no release) + +== Case 4: All magnet resolves fail == + +Client -> Service: MonitorAlbum(album_id, quality) +Service -> Indexer: Search(...) +Indexer --> Service: SearchResponse (3 items) + +loop for each item + Service -> Magnet: Resolve(magnet_uri) + Magnet --> Service: error (timeout / no active peers) + Service -> Service: fallback to title parse + note right: Release parsed from title only.\nFormat may be "unknown".\nNo torrent data (nil). +end + +Service -> Service: filterByQuality(parsed, LOSSLESS) +note right #orange: Title-parsed releases may have\nformat=unknown → not lossless\n→ filtered out +Service --> Client: MonitorAlbumResponse (no release) + +== Case 5: No results match quality filter == + +Client -> Service: MonitorAlbum(album_id, quality=LOSSLESS) +Service -> Indexer: Search(...) +Indexer --> Service: SearchResponse (3 items) +Service -> Service: parseSearchResults → 3 items (all MP3) +Service -> Service: filterByQuality(LOSSLESS) → empty +note right: All releases are lossy.\nQuality filter rejects all. +Service --> Client: MonitorAlbumResponse +note right #orange: album + artist returned.\nrelease: nil.\n"no releases match quality filter" + +@enduml diff --git a/docs/architecture/flows/monitor-album-error-metadata.png b/docs/architecture/flows/monitor-album-error-metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..39e8b421eb3b6b3afd436259d5fc1218e7a4e5db GIT binary patch literal 55662 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 mX`t!FQH1B0ilpUXO@geCw&9)Ml| literal 0 HcmV?d00001 diff --git a/docs/architecture/flows/monitor-album-error-metadata.puml b/docs/architecture/flows/monitor-album-error-metadata.puml new file mode 100644 index 0000000..d0911cf --- /dev/null +++ b/docs/architecture/flows/monitor-album-error-metadata.puml @@ -0,0 +1,58 @@ +@startuml MonitorAlbum - Metadata Fetch Failures +skinparam sequenceMessageAlign center +skinparam responseMessageBelowArrow true +title MonitorAlbum Error: Metadata Fetch Failures + +actor Client +participant "MusicAgregatorService" as Service +participant "MetadataService" as Metadata +database "metadata-agregator\n(gRPC)" as MetaGRPC +database "PostgreSQL" as DB + +== Case 1: metadata-agregator unreachable == + +Client -> Service: MonitorAlbum(album_id, quality) +Service -> Metadata: GetAlbum(album_id) +Metadata -> MetaGRPC: GetAlbum(id) +MetaGRPC --> Metadata: gRPC error (Unavailable) +Metadata --> Service: error: "fetching album: ..." +Service --> Client: error (Unavailable) +note right: Full stop.\nNo DB writes occur.\nNo indexer search. + +== Case 2: Album not found in metadata == + +Client -> Service: MonitorAlbum(album_id, quality) +Service -> Metadata: GetAlbum(album_id) +Metadata -> MetaGRPC: GetAlbum(id) +MetaGRPC --> Metadata: gRPC error (NotFound) +Metadata --> Service: error: "fetching album: ..." +Service --> Client: error (NotFound) +note right: Full stop.\nInvalid album_id.\nNo side effects. + +== Case 3: Album found, but artist persist fails == + +Client -> Service: MonitorAlbum(album_id, quality) +Service -> Metadata: GetAlbum(album_id) +Metadata -> MetaGRPC: GetAlbum(id) +MetaGRPC --> Metadata: Album + +Metadata -> DB: albums.GetByExternalID() +DB --> Metadata: not found + +Metadata -> DB: artists.Create() +DB --> Metadata: error (e.g. connection lost) +note right #salmon: Artist persist fails.\nLogged as warning.\nFlow continues. + +Metadata -> DB: albums.Create() +note right #salmon: artistID is empty\n→ album persist skipped\n(no artist reference) + +Metadata --> Service: Album (metadata only) + +Service -> DB: albums.GetByExternalID() +DB --> Service: not found (album never persisted) +note right #salmon: dbAlbum is nil.\nMonitor state not set.\nOwnership check skipped. + +Service -> Service: continues to indexer search... +note right: Flow proceeds but\ndownload persistence\nwill be skipped later\n(dbAlbum == nil) + +@enduml diff --git a/docs/architecture/flows/monitor-album-error-poll-worker.png b/docs/architecture/flows/monitor-album-error-poll-worker.png new file mode 100644 index 0000000000000000000000000000000000000000..783c2f2b1a6d5f4deaf68218cdadd098dc789e96 GIT binary patch literal 184272 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

Mswfqe_D}w&EW>>J{5;#q@rq3@ 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 vPvOMcp+h7;ovty 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 ZF{?8h;*@>{GB7YOc)I$ztaD0e0s!4~B;o)7 literal 0 HcmV?d00001 diff --git a/docs/architecture/flows/monitor-album-error-poll-worker.puml b/docs/architecture/flows/monitor-album-error-poll-worker.puml new file mode 100644 index 0000000..8b94e87 --- /dev/null +++ b/docs/architecture/flows/monitor-album-error-poll-worker.puml @@ -0,0 +1,90 @@ +@startuml MonitorAlbum - Async Poll Worker Failures +skinparam sequenceMessageAlign center +skinparam responseMessageBelowArrow true +title MonitorAlbum: Async Download Poll Worker Failures + +participant "River Queue" as River +participant "PollDownloadWorker" as Worker +participant "TorrentClient\n(qBittorrent)" as QBit +database "PostgreSQL" as DB + +note over Worker: These occur asynchronously\nafter MonitorAlbum returns.\nClient already received response. + +== Case 1: qBittorrent unreachable during poll == + +River -> Worker: Work(PollDownloadArgs) +Worker -> QBit: Find(hash) +QBit --> Worker: error (connection refused) +note right #orange: Logged as error.\nJob rescheduled. + +Worker -> River: Insert(PollDownloadArgs) +note right: Reschedule after check_interval (30s).\nRetries indefinitely until\nqBit becomes available. + +== Case 2: Torrent disappeared from qBittorrent == + +River -> Worker: Work(PollDownloadArgs) +Worker -> QBit: Find(hash) +QBit --> Worker: empty results +note right #salmon: Torrent was removed\nfrom qBit externally. + +Worker -> DB: downloads.SetFailed(id, "torrent not found in client") +note right: Download marked as failed.\nNo further polls scheduled.\nNo retry. + +== Case 3: Torrent in error state == + +River -> Worker: Work(PollDownloadArgs) +Worker -> QBit: Find(hash) +QBit --> Worker: TorrentInfo{state: "error"} +note right #salmon: qBit reports torrent error.\n(e.g. tracker unreachable,\ncorrupt data, disk full) + +Worker -> DB: downloads.SetFailed(id, "torrent error state") +note right: Download marked as failed.\nNo further polls.\nTorrent remains in qBit. + +== Case 4: Download completes, but SetCompleted fails == + +River -> Worker: Work(PollDownloadArgs) +Worker -> QBit: Find(hash) +QBit --> Worker: TorrentInfo{progress: 1.0, savePath: "/downloads"} + +Worker -> DB: downloads.SetCompleted(id, "/downloads") +DB --> Worker: error (DB connection lost) +note right #salmon: Worker returns error.\nRiver will retry the job\n(built-in retry policy).\nDownload stays in\n"downloading" state. + +== Case 5: File scan fails after completion == + +River -> Worker: Work(PollDownloadArgs) +Worker -> QBit: Find(hash) +QBit --> Worker: TorrentInfo{progress: 1.0, path: "/downloads/Album"} + +Worker -> DB: downloads.SetCompleted(id, "/downloads") +DB --> Worker: OK +note right #lightgreen: Download marked completed. + +Worker -> Worker: scanAndHashFiles("/downloads/Album") +Worker --> Worker: error (permission denied / path not found) +note right #orange: Logged as error.\nDownload IS completed.\nBut download_files NOT populated.\nGetAlbum won't show file info\nfor individual tracks. + +== Case 6: File persist fails == + +River -> Worker: Work(PollDownloadArgs) +Worker -> QBit: Find(hash) +QBit --> Worker: TorrentInfo{progress: 1.0} + +Worker -> DB: downloads.SetCompleted(id, savePath) +Worker -> Worker: scanAndHashFiles → 12 files +Worker -> DB: download_files.CreateBatch(files) +DB --> Worker: error (duplicate / constraint) +note right #orange: Download is completed.\nFiles not persisted.\nNon-fatal: returns nil.\nNo retry. + +== Case 7: App crash during download (startup recovery) == + +note over River, Worker: Application restarts.\nRiver picks up persisted jobs. + +River -> Worker: RecoverOrphanedDownloads() +Worker -> DB: downloads.GetActive() +DB --> Worker: [Download{state: downloading, hash: ...}] + +Worker -> River: Insert(PollDownloadArgs, UniqueOpts{ByArgs}) +note right #lightgreen: Deduplicated insert.\nIf River job already exists\n→ no duplicate.\nIf job was lost → recovered.\nPolling resumes. + +@enduml diff --git a/docs/architecture/flows/monitor-album-error-torrent.png b/docs/architecture/flows/monitor-album-error-torrent.png new file mode 100644 index 0000000000000000000000000000000000000000..fde6aed67899240fabdee762813b746a0c146a97 GIT binary patch literal 122886 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 Mr>mdKI;Vst05=^AYXATM literal 0 HcmV?d00001 diff --git a/docs/architecture/flows/monitor-album-error-torrent.puml b/docs/architecture/flows/monitor-album-error-torrent.puml new file mode 100644 index 0000000..db39ce5 --- /dev/null +++ b/docs/architecture/flows/monitor-album-error-torrent.puml @@ -0,0 +1,71 @@ +@startuml MonitorAlbum - Torrent Client Failures +skinparam sequenceMessageAlign center +skinparam responseMessageBelowArrow true +title MonitorAlbum Error: Torrent Client Failures + +actor Client +participant "MusicAgregatorService" as Service +participant "TorrentClient\n(qBittorrent)" as QBit +database "PostgreSQL" as DB + +note over Service: Metadata fetched, indexer searched,\nbest release selected. + +== Case 1: qBittorrent unreachable == + +Service -> QBit: Find(hash) +QBit --> Service: error (connection refused) +note right: Find() fails → skip existence check + +Service -> QBit: AddMagnet(uri) +QBit --> Service: error (connection refused) +Service --> Client: error +note right #salmon: Album is persisted & monitored.\nNo torrent added.\nNo download record created. + +== Case 2: Torrent already exists in qBit == + +Service -> QBit: Find(hash) +QBit --> Service: [TorrentInfo{state: stalledUP}] +note right #lightgreen: Torrent found.\nSkip AddMagnet/AddTorrent. + +Service -> DB: torrents.Create (upsert) +Service -> DB: torrents.GetByInfoHash +DB --> Service: savedTorrent + +Service -> DB: downloads.GetActiveByTorrentID(torrent_id) +DB --> Service: Download{state: completed} +note right #lightgreen: Active download exists.\nSkip duplicate insert. + +Service --> Client: MonitorAlbumResponse +note right: Returns album + artist + release.\nNo duplicate download created.\nNo error. + +== Case 3: AddTorrent fails (no torrent data) == + +Service -> QBit: Find(hash) +QBit --> Service: not found + +note right: best.torrentData is nil\n(magnet resolve failed,\nfell back to title parse) + +Service -> Service: len(best.torrentData) == 0 +Service --> Client: error "no torrent data available" +note right #salmon: Magnet link but no\ntorrent data resolved.\nCannot add to client. + +== Case 4: Torrent persists, but download insert fails == + +Service -> QBit: AddMagnet(uri) +QBit --> Service: OK + +Service -> DB: torrents.Create (upsert) +Service -> DB: torrents.GetByInfoHash +DB --> Service: savedTorrent + +Service -> DB: downloads.GetActiveByTorrentID +DB --> Service: not found + +Service -> DB: downloads.Create(download) +DB --> Service: error (constraint violation) +note right #salmon: Logged as error.\nTorrent is in qBit but\nno download record.\nResponse still returned\n(non-fatal within saveTorrentAndDownload).\nNo poll job scheduled. + +Service --> Client: MonitorAlbumResponse +note right #orange: Response includes release info.\nDownload info may be missing.\nTorrent is downloading in qBit\nbut untracked in DB. + +@enduml diff --git a/docs/architecture/flows/monitor-album-happy-path.png b/docs/architecture/flows/monitor-album-happy-path.png new file mode 100644 index 0000000000000000000000000000000000000000..79f2220a449d1ec798204ab54c9723dac585e8fb GIT binary patch literal 167143 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�&2HR42V; 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

dhd06n*KC> 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%0DenN5U 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 literal 0 HcmV?d00001 diff --git a/docs/architecture/flows/monitor-album-sequence.puml b/docs/architecture/flows/monitor-album-sequence.puml new file mode 100644 index 0000000..478c6f2 --- /dev/null +++ b/docs/architecture/flows/monitor-album-sequence.puml @@ -0,0 +1,138 @@ +@startuml MonitorAlbum Happy Path +skinparam sequenceMessageAlign center +skinparam responseMessageBelowArrow true + +actor Client +participant "gRPC Server" as Server +participant "MusicAgregatorService" as Service +participant "MetadataService" as Metadata +database "metadata-agregator\n(gRPC)" as MetaGRPC +database "PostgreSQL" as DB +participant "IndexerService\n(Jackett)" as Indexer +participant "MagnetResolver" as Magnet +participant "TorrentClient\n(qBittorrent)" as QBit +participant "River Queue" as River +participant "PollDownloadWorker" as PollWorker + +== 1. Fetch Album Metadata == + +Client -> Server: MonitorAlbum(album_id, quality, tracker) +Server -> Service: MonitorAlbum(ctx, req) + +Service -> Metadata: GetAlbum(album_id) +Metadata -> MetaGRPC: GetAlbum(id) +MetaGRPC --> Metadata: Album (title, artists, genres, ...) + +Metadata -> DB: albums.GetByExternalID(external_id) +note right: Check if album already persisted +DB --> Metadata: not found + +Metadata -> DB: artists.Create(artist, state=monitored) +note right: Upsert artist\nnever downgrades\nmonitored/excluded +Metadata -> DB: albums.Create(album, state=monitored) +note right: Upsert album\nnever downgrades\nmonitored/excluded +Metadata --> Service: Album + +== 2. Set Monitor State == + +Service -> DB: albums.GetByExternalID(external_id) +DB --> Service: dbAlbum +Service -> DB: albums.SetMonitorState(id, monitored) +note right: Explicitly mark\nalbum as monitored + +== 3. Check If Already Owned == + +Service -> DB: downloads.HasAlbumInQuality(album_id, format, quality) +DB --> Service: false (not owned) + +== 4. Search Indexers == + +Service -> Indexer: Search(artist + album title, tracker) +Indexer -> Indexer: Jackett API\n/api/v2.0/indexers/all/results +Indexer --> Service: SearchResponse (N items) + +== 5. Parse & Resolve Releases == + +loop for each search result (with download link & seeders > 0) + alt magnet link + Service -> Magnet: Resolve(magnet_uri) + note right: DHT lookup, 30s timeout\n15s early exit if peers\nbut none active + Magnet --> Service: torrent metadata (files, hash, size) + Service -> Service: ParseTorrent(torrentData, album) + else HTTP torrent link + Service -> Service: downloadTorrentData(url) + Service -> Service: ParseTorrent(torrentData, album) + end + note right: Extract: format, bitDepth, sampleRate,\nsource, trackCount, coverArt, cueSheet, ripLog +end + +== 6. Filter & Select Best == + +Service -> Service: filterByQuality(parsed, quality) +note right: Match LOSSLESS/LOSSY/UNSPECIFIED\nagainst release format +Service -> Service: selectBestRelease(filtered) +note right: Highest seeder count wins + +== 7. Add to Torrent Client == + +Service -> QBit: Find(hash) +QBit --> Service: not found + +alt magnet link + Service -> QBit: AddMagnet(magnet_uri) +else torrent file + Service -> QBit: AddTorrent(file) +end +QBit --> Service: OK + +== 8. Persist Torrent & Download == + +Service -> DB: torrents.Create(torrent) +note right: Upsert on info_hash\nupdates seeders/peers +Service -> DB: torrents.GetByInfoHash(hash) +DB --> Service: savedTorrent (with DB id) + +Service -> DB: downloads.GetActiveByTorrentID(torrent_id) +DB --> Service: not found (no active download) + +Service -> DB: downloads.Create(download) +note right: state = "downloading"\nformat, quality, qbit_hash +DB --> Service: download (with DB id) + +== 9. Schedule Download Poll == + +Service -> River: Insert(PollDownloadArgs) +note right: download_id, torrent_hash\ncheck_interval = 30s\nscheduled_at = now + 30s +River --> Service: job scheduled + +== 10. Build & Return Response == + +Service -> DB: albums.GetByExternalID(external_id) +DB --> Service: dbAlbum (refreshed) +Service -> DB: downloads.GetByAlbumID(album_id) +DB --> Service: downloads (with state) +Service -> DB: artists.GetByExternalID(artist_external_id) +DB --> Service: dbArtist + +Service --> Server: MonitorAlbumResponse +note right: album: id, title, monitor_state=monitored,\n download: state, format, quality\nartist: id, name, monitor_state\nrelease: hash, format, seeders, tracks +Server --> Client: MonitorAlbumResponse + +== 11. Async: Download Polling (River Worker) == + +River -> PollWorker: Work(PollDownloadArgs) +PollWorker -> QBit: Find(hash) +QBit --> PollWorker: TorrentInfo (progress, state, path) + +alt progress < 100% + PollWorker -> River: Insert(PollDownloadArgs) + note right: Reschedule after check_interval +else progress == 100% + PollWorker -> DB: downloads.SetCompleted(id, save_path) + PollWorker -> PollWorker: scanAndHashFiles(content_path) + note right: Walk directory, identify audio files\n(.flac, .mp3, .aac, ...)\nSHA-256 hash each file + PollWorker -> DB: download_files.CreateBatch(files) + note right: file_path, file_size, file_type,\nsha256_hash, verified_at +end + +@enduml diff --git a/go.mod b/go.mod index 645b51c..de748bb 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,9 @@ go 1.26.2 require github.com/rs/zerolog v1.35.1 require ( + dario.cat/mergo v1.0.2 // indirect + github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect github.com/RoaringBitmap/roaring v1.2.3 // indirect github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/anacrolix/btree v0.0.0-20251201064447-d86c3fa41bd8 // indirect @@ -29,15 +32,27 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/bits-and-blooms/bitset v1.2.2 // indirect github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/containerd/errdefs v1.0.0 // indirect + github.com/containerd/errdefs/pkg v0.3.0 // indirect + github.com/containerd/log v0.1.0 // indirect + github.com/containerd/platforms v0.2.1 // indirect + github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/distribution/reference v0.6.0 // indirect + github.com/docker/go-connections v0.6.0 // indirect + github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect + github.com/ebitengine/purego v0.10.0 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-llsqlite/adapter v0.0.0-20230927005056-7f5ce7f0c916 // indirect github.com/go-llsqlite/crawshaw v0.5.6-0.20250312230104-194977a03421 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect github.com/google/btree v1.1.2 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/uuid v1.6.0 // indirect @@ -49,15 +64,29 @@ require ( github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect github.com/jackc/pgx/v5 v5.9.2 // indirect github.com/jackc/puddle/v2 v2.2.2 // indirect + github.com/klauspost/compress v1.18.5 // indirect github.com/klauspost/cpuid/v2 v2.2.3 // indirect github.com/kr/pretty v0.3.1 // indirect + github.com/lufia/plan9stats v0.0.0-20251013123823-9fd1530e3ec3 // indirect + github.com/magiconair/properties v1.8.10 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/minio/sha256-simd v1.0.0 // indirect + github.com/moby/docker-image-spec v1.3.1 // indirect + github.com/moby/go-archive v0.2.0 // indirect + github.com/moby/moby/api v1.54.1 // indirect + github.com/moby/moby/client v0.4.0 // indirect + github.com/moby/patternmatcher v0.6.1 // indirect + github.com/moby/sys/sequential v0.6.0 // indirect + github.com/moby/sys/user v0.4.0 // indirect + github.com/moby/sys/userns v0.1.0 // indirect + github.com/moby/term v0.5.2 // indirect github.com/mr-tron/base58 v1.2.0 // indirect github.com/mschoch/smat v0.2.0 // indirect github.com/multiformats/go-multihash v0.2.3 // indirect github.com/multiformats/go-varint v0.0.6 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.1.1 // indirect github.com/pion/datachannel v1.5.9 // indirect github.com/pion/dtls/v3 v3.0.3 // indirect github.com/pion/ice/v4 v4.0.2 // indirect @@ -76,6 +105,7 @@ require ( github.com/pion/webrtc/v4 v4.0.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect github.com/prometheus/client_golang v1.23.2 // indirect github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/common v0.66.1 // indirect @@ -89,16 +119,24 @@ require ( github.com/riverqueue/river/rivertype v0.35.1 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417 // indirect + github.com/shirou/gopsutil/v4 v4.26.3 // indirect + github.com/sirupsen/logrus v1.9.4 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/stretchr/testify v1.11.1 // indirect + github.com/testcontainers/testcontainers-go v0.42.0 // indirect + github.com/testcontainers/testcontainers-go/modules/postgres v0.42.0 // indirect github.com/tidwall/btree v1.8.1 // indirect github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.2.0 // indirect github.com/tidwall/pretty v1.2.1 // indirect github.com/tidwall/sjson v1.2.5 // indirect + github.com/tklauser/go-sysconf v0.3.16 // indirect + github.com/tklauser/numcpus v0.11.0 // indirect github.com/wlynxg/anet v0.0.3 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect go.opentelemetry.io/otel v1.43.0 // indirect go.opentelemetry.io/otel/metric v1.43.0 // indirect go.opentelemetry.io/otel/trace v1.43.0 // indirect diff --git a/go.sum b/go.sum index 9ca90de..3c07303 100644 --- a/go.sum +++ b/go.sum @@ -2,7 +2,13 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= crawshaw.io/iox v0.0.0-20181124134642-c51c3df30797/go.mod h1:sXBiorCo8c46JlQV3oXPKINnZ8mcqnye1EkVkqsectk= crawshaw.io/sqlite v0.3.2/go.mod h1:igAO5JulrQ1DbdZdtVq48mnZUBAPOeFzer7VhDWNtW4= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/RoaringBitmap/roaring v0.4.7/go.mod h1:8khRDP4HmeXns4xIj9oGrKSz7XTQiJx2zgh7AcNke4w= github.com/RoaringBitmap/roaring v0.4.17/go.mod h1:D3qVegWTmfCaX4Bl5CrBE9hfrSrrXIr8KVNvRsDi1NI= @@ -89,16 +95,34 @@ github.com/bradfitz/iter v0.0.0-20140124041915-454541ec3da2/go.mod h1:PyRFw1Lt2w github.com/bradfitz/iter v0.0.0-20190303215204-33e6a9893b0c/go.mod h1:PyRFw1Lt2wKX4ZVSQ2mk+PeDa1rxyObEDlApuIsUKuo= github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8 h1:GKTyiRCL6zVf5wWaqKnf+7Qs6GbEPfd4iMOitWzXJx8= github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8/go.mod h1:spo1JLcs67NmW1aVLEgtA8Yy1elc+X8y5SRW1sFW4Og= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= +github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= +github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= +github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= +github.com/cpuguy83/dockercfg v0.3.2 h1:DlJTyZGBDlXqUZ2Dk2Q3xHs/FtnooJJVaad2S9GKorA= +github.com/cpuguy83/dockercfg v0.3.2/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= +github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20180421182945-02af3965c54e/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= @@ -106,8 +130,12 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/ebitengine/purego v0.10.0 h1:QIw4xfpWT6GWTzaW5XEKy3HXoqrJGx1ijYHzTF0/ISU= +github.com/ebitengine/purego v0.10.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.9.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -130,6 +158,9 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -197,6 +228,8 @@ github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVY github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y70BU= @@ -213,6 +246,10 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lufia/plan9stats v0.0.0-20251013123823-9fd1530e3ec3 h1:PwQumkgq4/acIiZhtifTV5OUqqiP82UAl0h87xj/l9k= +github.com/lufia/plan9stats v0.0.0-20251013123823-9fd1530e3ec3/go.mod h1:autxFIvghDt3jPTLoqZ9OZ7s9qTGNAWmYCjVFWPX/zg= +github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= +github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -220,6 +257,24 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/go-archive v0.2.0 h1:zg5QDUM2mi0JIM9fdQZWC7U8+2ZfixfTYoHL7rWUcP8= +github.com/moby/go-archive v0.2.0/go.mod h1:mNeivT14o8xU+5q1YnNrkQVpK+dnNe/K6fHqnTg4qPU= +github.com/moby/moby/api v1.54.1 h1:TqVzuJkOLsgLDDwNLmYqACUuTehOHRGKiPhvH8V3Nn4= +github.com/moby/moby/api v1.54.1/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= +github.com/moby/moby/client v0.4.0 h1:S+2XegzHQrrvTCvF6s5HFzcrywWQmuVnhOXe2kiWjIw= +github.com/moby/moby/client v0.4.0/go.mod h1:QWPbvWchQbxBNdaLSpoKpCdf5E+WxFAgNHogCWDoa7g= +github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U= +github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= +github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= +github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= +github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= +github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= +github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= +github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= +github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= +github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= @@ -239,6 +294,10 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= +github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= @@ -281,6 +340,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= @@ -333,8 +394,12 @@ github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417/go.mod h1:qe5TWALJ8/a1 github.com/rs/zerolog v1.35.1 h1:m7xQeoiLIiV0BCEY4Hs+j2NG4Gp2o2KPKmhnnLiazKI= github.com/rs/zerolog v1.35.1/go.mod h1:EjML9kdfa/RMA7h/6z6pYmq1ykOuA8/mjWaEvGI+jcw= github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46/go.mod h1:uAQ5PCi+MFsC7HjREoAz1BU+Mq60+05gifQSsHSDG/8= +github.com/shirou/gopsutil/v4 v4.26.3 h1:2ESdQt90yU3oXF/CdOlRCJxrP+Am1aBYubTMTfxJ1qc= +github.com/shirou/gopsutil/v4 v4.26.3/go.mod h1:LZ6ewCSkBqUpvSOf+LsTGnRinC6iaNUNMGBtDkJBaLQ= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/assertions v0.0.0-20190215210624-980c5ac6f3ac/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= @@ -359,6 +424,10 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/testcontainers/testcontainers-go v0.42.0 h1:He3IhTzTZOygSXLJPMX7n44XtK+qhjat1nI9cneBbUY= +github.com/testcontainers/testcontainers-go v0.42.0/go.mod h1:vZjdY1YmUA1qEForxOIOazfsrdyORJAbhi0bp8plN30= +github.com/testcontainers/testcontainers-go/modules/postgres v0.42.0 h1:GCbb1ndrF7OTDiIvxXyItaDab4qkzTFJ48LKFdM7EIo= +github.com/testcontainers/testcontainers-go/modules/postgres v0.42.0/go.mod h1:IRPBaI8jXdrNfD0e4Zm7Fbcgaz5shKxOQv4axiL09xs= github.com/tidwall/btree v1.8.1 h1:27ehoXvm5AG/g+1VxLS1SD3vRhp/H7LuEfwNvddEdmA= github.com/tidwall/btree v1.8.1/go.mod h1:jBbTdUWhSZClZWoDg54VnvV7/54modSOzDN7VXftj1A= github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= @@ -375,12 +444,18 @@ github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6 github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tklauser/go-sysconf v0.3.16 h1:frioLaCQSsF5Cy1jgRBrzr6t502KIIwQ0MArYICU0nA= +github.com/tklauser/go-sysconf v0.3.16/go.mod h1:/qNL9xxDhc7tx3HSRsLWNnuzbVfh3e7gh/BmM179nYI= +github.com/tklauser/numcpus v0.11.0 h1:nSTwhKH5e1dMNsCdVBukSZrURJRoHbSEQjdEbY+9RXw= +github.com/tklauser/numcpus v0.11.0/go.mod h1:z+LwcLq54uWZTX0u/bGobaV34u6V7KNlTZejzM6/3MQ= github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/wlynxg/anet v0.0.3 h1:PvR53psxFXstc12jelG6f1Lv4MWqE0tI76/hHGjh9rg= github.com/wlynxg/anet v0.0.3/go.mod h1:eay5PRQr7fIVAMbTbchTnO9gG65Hg/uYGdc7mguHxoA= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -388,6 +463,8 @@ go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= @@ -462,17 +539,21 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200413165638-669c56c373c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/internal/indexer/service.go b/internal/indexer/service.go index 533b529..ec548bf 100644 --- a/internal/indexer/service.go +++ b/internal/indexer/service.go @@ -11,6 +11,10 @@ import ( "homelab.lan/music-agregator/internal/config" ) +type Searcher interface { + Search(query string, limit int32, indexer string) (*SearchResponse, error) +} + type IndexerService struct { indexer Indexer } diff --git a/internal/server.go b/internal/server.go index 028658f..06debb1 100644 --- a/internal/server.go +++ b/internal/server.go @@ -29,6 +29,10 @@ func NewMusicAgregatorServer(cfg config.Config, riverClient *river.Client[pgx.Tx }, nil } +func NewMusicAgregatorServerWithService(service *MusicAgregatorService) *MusicAgregatorServer { + return &MusicAgregatorServer{service: service} +} + func (s *MusicAgregatorServer) GetArtists(ctx context.Context, req *pb.GetArtistsRequest) (*pb.GetArtistsResponse, error) { return s.service.GetArtists(ctx, req) } diff --git a/internal/service.go b/internal/service.go index 6eac160..3fb4c9a 100644 --- a/internal/service.go +++ b/internal/service.go @@ -34,9 +34,9 @@ type parsedItem struct { type MusicAgregatorService struct { config config.Config metadata *metadata.MetadataService - indexer *indexer.IndexerService + indexer indexer.Searcher torrentClient torrent.TorrentClient - magnetResolver *torrentParser.MagnetResolver + magnetResolver torrentParser.Resolver riverClient *river.Client[pgx.Tx] torrents *database.TorrentRepository downloads *database.DownloadRepository @@ -83,9 +83,30 @@ func NewMusicAgregatorService(cfg config.Config, riverClient *river.Client[pgx.T }, nil } +func NewMusicAgregatorServiceWithDeps( + metadata *metadata.MetadataService, + searcher indexer.Searcher, + torrentClient torrent.TorrentClient, + magnetResolver torrentParser.Resolver, + riverClient *river.Client[pgx.Tx], + db *database.DB, +) *MusicAgregatorService { + return &MusicAgregatorService{ + metadata: metadata, + indexer: searcher, + torrentClient: torrentClient, + magnetResolver: magnetResolver, + riverClient: riverClient, + torrents: database.NewTorrentRepository(db.Pool), + downloads: database.NewDownloadRepository(db.Pool), + artists: database.NewArtistRepository(db.Pool), + downloadFiles: database.NewDownloadFileRepository(db.Pool), + } +} + func (s *MusicAgregatorService) Close() { - if s.magnetResolver != nil { - s.magnetResolver.Close() + if closer, ok := s.magnetResolver.(interface{ Close() }); ok { + closer.Close() } } diff --git a/internal/tracker/magnet.go b/internal/tracker/magnet.go index 49f2139..fe7a3d5 100644 --- a/internal/tracker/magnet.go +++ b/internal/tracker/magnet.go @@ -11,6 +11,10 @@ import ( "github.com/rs/zerolog/log" ) +type Resolver interface { + Resolve(magnetURI string) ([]byte, error) +} + type MagnetResolver struct { client *torrent.Client timeout time.Duration diff --git a/internal/workers/poll_download.go b/internal/workers/poll_download.go index 9eccc8d..f776e21 100644 --- a/internal/workers/poll_download.go +++ b/internal/workers/poll_download.go @@ -106,6 +106,10 @@ func (w *PollDownloadWorker) onCompleted(ctx context.Context, args PollDownloadA } func (w *PollDownloadWorker) reschedule(ctx context.Context, args PollDownloadArgs) error { + if w.RiverClient == nil { + log.Warn().Str("download_id", args.DownloadID).Msg("no river client, cannot reschedule poll_download") + return nil + } _, err := w.RiverClient.Insert(ctx, args, &river.InsertOpts{ ScheduledAt: time.Now().Add(args.CheckInterval), }) diff --git a/test/component/fixtures_test.go b/test/component/fixtures_test.go new file mode 100644 index 0000000..1ca42b8 --- /dev/null +++ b/test/component/fixtures_test.go @@ -0,0 +1,83 @@ +package component + +import ( + metadataPb "homelab.lan/music-agregator/gen/metadata/v1" + "homelab.lan/music-agregator/internal/indexer" +) + +func newMetadataAlbum(id, title, artistID, artistName string) *metadataPb.Album { + return &metadataPb.Album{ + Id: id, + Title: title, + AlbumType: "album", + ReleaseDate: "2024-01-15", + TotalTracks: 10, + TotalDiscs: 1, + CoverUrl: "https://example.com/cover.jpg", + Artists: []*metadataPb.ArtistCredit{ + { + Artist: &metadataPb.Artist{ + Id: artistID, + Name: artistName, + }, + Role: "primary", + Position: 1, + }, + }, + Label: &metadataPb.Label{ + Id: "label-1", + Name: "Test Label", + }, + Genres: []*metadataPb.Genre{ + {Id: "genre-1", Name: "Rock"}, + {Id: "genre-2", Name: "Alternative"}, + }, + } +} + +func newMetadataTrack(id, title string, trackNum int32) *metadataPb.Track { + return &metadataPb.Track{ + Id: id, + Title: title, + DurationMs: 240000, + Isrc: "US-XYZ-24-00001", + Explicit: false, + DiscNumber: 1, + TrackNumber: trackNum, + Artists: []*metadataPb.ArtistCredit{ + { + Artist: &metadataPb.Artist{ + Id: "artist-1", + Name: "Test Artist", + }, + Role: "primary", + Position: 1, + }, + }, + } +} + +func newSearchResponse(items ...*indexer.SearchItemResult) *indexer.SearchResponse { + return &indexer.SearchResponse{ + Items: items, + } +} + +func newSearchItem(title string, seeders int, downloadLink string) *indexer.SearchItemResult { + return &indexer.SearchItemResult{ + Title: title, + DownloadLink: downloadLink, + Size: 500 * 1024 * 1024, + Tracker: "test-tracker", + Seeders: seeders, + Peers: seeders / 2, + } +} + +func newTorrentData() []byte { + return []byte("d8:announce35:http://tracker.example.com/announce4:infod6:lengthi1024e4:name9:test.flac12:piece lengthi16384e6:pieces20:01234567890123456789ee") +} + +func newTorrentDataMP3() []byte { + return []byte("d8:announce35:http://tracker.example.com/announce4:infod6:lengthi1024e4:name8:test.mp312:piece lengthi16384e6:pieces20:01234567890123456789ee") +} diff --git a/test/component/mocks_test.go b/test/component/mocks_test.go new file mode 100644 index 0000000..bc27730 --- /dev/null +++ b/test/component/mocks_test.go @@ -0,0 +1,146 @@ +package component + +import ( + "context" + "fmt" + + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + metadataPb "homelab.lan/music-agregator/gen/metadata/v1" + "homelab.lan/music-agregator/internal/indexer" + "homelab.lan/music-agregator/internal/torrent" +) + +type mockMetadataClient struct { + GetAlbumFunc func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) + GetArtistAlbumsFunc func(ctx context.Context, in *metadataPb.GetArtistAlbumsRequest, opts ...grpc.CallOption) (*metadataPb.GetArtistAlbumsResponse, error) + GetAlbumTracksFunc func(ctx context.Context, in *metadataPb.GetAlbumTracksRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumTracksResponse, error) + GetArtistFunc func(ctx context.Context, in *metadataPb.GetArtistRequest, opts ...grpc.CallOption) (*metadataPb.GetArtistResponse, error) + SearchArtistsFunc func(ctx context.Context, in *metadataPb.SearchArtistsRequest, opts ...grpc.CallOption) (*metadataPb.SearchArtistsResponse, error) + GetTrackFunc func(ctx context.Context, in *metadataPb.GetTrackRequest, opts ...grpc.CallOption) (*metadataPb.GetTrackResponse, error) + SearchAlbumsFunc func(ctx context.Context, in *metadataPb.SearchAlbumsRequest, opts ...grpc.CallOption) (*metadataPb.SearchAlbumsResponse, error) + SyncArtistFunc func(ctx context.Context, in *metadataPb.SyncArtistRequest, opts ...grpc.CallOption) (*metadataPb.SyncArtistResponse, error) +} + +func (m *mockMetadataClient) GetAlbum(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + if m.GetAlbumFunc != nil { + return m.GetAlbumFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +func (m *mockMetadataClient) GetArtistAlbums(ctx context.Context, in *metadataPb.GetArtistAlbumsRequest, opts ...grpc.CallOption) (*metadataPb.GetArtistAlbumsResponse, error) { + if m.GetArtistAlbumsFunc != nil { + return m.GetArtistAlbumsFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +func (m *mockMetadataClient) GetAlbumTracks(ctx context.Context, in *metadataPb.GetAlbumTracksRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumTracksResponse, error) { + if m.GetAlbumTracksFunc != nil { + return m.GetAlbumTracksFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +func (m *mockMetadataClient) GetArtist(ctx context.Context, in *metadataPb.GetArtistRequest, opts ...grpc.CallOption) (*metadataPb.GetArtistResponse, error) { + if m.GetArtistFunc != nil { + return m.GetArtistFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +func (m *mockMetadataClient) SearchArtists(ctx context.Context, in *metadataPb.SearchArtistsRequest, opts ...grpc.CallOption) (*metadataPb.SearchArtistsResponse, error) { + if m.SearchArtistsFunc != nil { + return m.SearchArtistsFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +func (m *mockMetadataClient) GetTrack(ctx context.Context, in *metadataPb.GetTrackRequest, opts ...grpc.CallOption) (*metadataPb.GetTrackResponse, error) { + if m.GetTrackFunc != nil { + return m.GetTrackFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +func (m *mockMetadataClient) SearchAlbums(ctx context.Context, in *metadataPb.SearchAlbumsRequest, opts ...grpc.CallOption) (*metadataPb.SearchAlbumsResponse, error) { + if m.SearchAlbumsFunc != nil { + return m.SearchAlbumsFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +func (m *mockMetadataClient) SyncArtist(ctx context.Context, in *metadataPb.SyncArtistRequest, opts ...grpc.CallOption) (*metadataPb.SyncArtistResponse, error) { + if m.SyncArtistFunc != nil { + return m.SyncArtistFunc(ctx, in, opts...) + } + return nil, status.Error(codes.Unimplemented, "not mocked") +} + +type mockTorrentClient struct { + LoginFunc func(username, password string) (string, error) + ListFunc func() ([]torrent.TorrentInfo, error) + FindFunc func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) + AddTorrentFunc func(file torrent.TorrentFile) error + AddMagnetFunc func(magnetURI string) error +} + +func (m *mockTorrentClient) Login(username, password string) (string, error) { + if m.LoginFunc != nil { + return m.LoginFunc(username, password) + } + return "", fmt.Errorf("not mocked") +} + +func (m *mockTorrentClient) List() ([]torrent.TorrentInfo, error) { + if m.ListFunc != nil { + return m.ListFunc() + } + return nil, fmt.Errorf("not mocked") +} + +func (m *mockTorrentClient) Find(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + if m.FindFunc != nil { + return m.FindFunc(opts) + } + return nil, fmt.Errorf("not mocked") +} + +func (m *mockTorrentClient) AddTorrent(file torrent.TorrentFile) error { + if m.AddTorrentFunc != nil { + return m.AddTorrentFunc(file) + } + return fmt.Errorf("not mocked") +} + +func (m *mockTorrentClient) AddMagnet(magnetURI string) error { + if m.AddMagnetFunc != nil { + return m.AddMagnetFunc(magnetURI) + } + return fmt.Errorf("not mocked") +} + +type mockSearcher struct { + SearchFunc func(query string, limit int32, indexer string) (*indexer.SearchResponse, error) +} + +func (m *mockSearcher) Search(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + if m.SearchFunc != nil { + return m.SearchFunc(query, limit, idx) + } + return nil, fmt.Errorf("not mocked") +} + +type mockResolver struct { + ResolveFunc func(magnetURI string) ([]byte, error) +} + +func (m *mockResolver) Resolve(magnetURI string) ([]byte, error) { + if m.ResolveFunc != nil { + return m.ResolveFunc(magnetURI) + } + return nil, fmt.Errorf("not mocked") +} diff --git a/test/component/monitor_album_test.go b/test/component/monitor_album_test.go new file mode 100644 index 0000000..67f4262 --- /dev/null +++ b/test/component/monitor_album_test.go @@ -0,0 +1,1133 @@ +package component + +import ( + "context" + "os" + "path/filepath" + "testing" + + "github.com/riverqueue/river" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + metadataPb "homelab.lan/music-agregator/gen/metadata/v1" + pb "homelab.lan/music-agregator/gen/music_agregator/v1" + "homelab.lan/music-agregator/internal/database" + "homelab.lan/music-agregator/internal/indexer" + "homelab.lan/music-agregator/internal/torrent" + "homelab.lan/music-agregator/internal/workers" +) + +func TestMonitorAlbum_HappyPath(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Artist - Test Album [FLAC]", 50, "magnet:?xt=urn:btih:abc123&dn=test"), + newSearchItem("Test Artist - Test Album [MP3 320]", 10, "magnet:?xt=urn:btih:def456&dn=test"), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return newTorrentData(), nil + } + + suite.mocks.torrent.FindFunc = func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{}, nil + } + + suite.mocks.torrent.AddMagnetFunc = func(magnetURI string) error { + return nil + } + + ctx := context.Background() + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Album) + assert.NotEmpty(t, resp.Album.Id) + assert.Equal(t, "Test Album", resp.Album.Title) + assert.Equal(t, pb.MonitorState_MONITOR_STATE_MONITORED, resp.Album.MonitorState) + require.NotNil(t, resp.Artist) + assert.NotEmpty(t, resp.Artist.Id) + assert.Equal(t, "Test Artist", resp.Artist.Name) + assert.Equal(t, pb.MonitorState_MONITOR_STATE_MONITORED, resp.Artist.MonitorState) + require.NotNil(t, resp.Release) + assert.NotEmpty(t, resp.Release.InfoHash) + assert.Equal(t, int32(50), resp.Release.Seeders) + + var artistMonitorState string + err = suite.pool.QueryRow(ctx, "SELECT monitor_state FROM artists WHERE external_id = $1", "artist-ext-id").Scan(&artistMonitorState) + require.NoError(t, err) + assert.Equal(t, "monitored", artistMonitorState) + + var albumMonitorState string + err = suite.pool.QueryRow(ctx, "SELECT monitor_state FROM albums WHERE external_id = $1", "test-album-ext-id").Scan(&albumMonitorState) + require.NoError(t, err) + assert.Equal(t, "monitored", albumMonitorState) + + var torrentCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM torrents").Scan(&torrentCount) + require.NoError(t, err) + assert.Equal(t, 1, torrentCount) + + var downloadState string + err = suite.pool.QueryRow(ctx, "SELECT state FROM downloads").Scan(&downloadState) + require.NoError(t, err) + assert.Equal(t, "downloading", downloadState) +} + +func TestMonitorAlbum_MetadataUnavailable(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return nil, status.Error(codes.Unavailable, "connection refused") + } + + ctx := context.Background() + _, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.Error(t, err) + + var count int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM artists").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) + + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM albums").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) + + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM torrents").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) + + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) +} + +func TestMonitorAlbum_MetadataNotFound(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return nil, status.Error(codes.NotFound, "album not found") + } + + ctx := context.Background() + _, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "nonexistent-album", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.Error(t, err) + + var count int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM artists").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) + + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM albums").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) +} + +func TestMonitorAlbum_ArtistPersistFails(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: &metadataPb.Album{ + Id: "orphan-album-ext-id", + Title: "Orphan Album", + AlbumType: "album", + ReleaseDate: "2024-01-15", + TotalTracks: 10, + Artists: []*metadataPb.ArtistCredit{}, + }, + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Orphan Album [FLAC]", 50, "magnet:?xt=urn:btih:abc123&dn=test"), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return newTorrentData(), nil + } + + suite.mocks.torrent.FindFunc = func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{}, nil + } + + suite.mocks.torrent.AddMagnetFunc = func(magnetURI string) error { + return nil + } + + ctx := context.Background() + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "orphan-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Release) + assert.Nil(t, resp.Album) + + var count int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) + + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM torrents").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) +} + +func TestMonitorAlbum_AlreadyOwned(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('owned-album-ext-id', $1, 'Owned Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'monitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, 'existing-hash', 'test-tracker', 'Owned Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID).Scan(&torrentID) + require.NoError(t, err) + + _, err = suite.pool.Exec(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash, save_path) + VALUES ($1, $2, 'QUALITY_LOSSLESS', '16-44', 'completed', 'existing-hash', '/music/owned') + `, torrentID, albumID) + require.NoError(t, err) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("owned-album-ext-id", "Owned Album", "artist-ext-id", "Test Artist"), + }, nil + } + + var indexerCalled bool + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + indexerCalled = true + return newSearchResponse(), nil + } + + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "owned-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Album) + assert.Equal(t, pb.MonitorState_MONITOR_STATE_MONITORED, resp.Album.MonitorState) + require.NotNil(t, resp.Album.Download) + assert.Equal(t, "completed", resp.Album.Download.State) + assert.Nil(t, resp.Release) + assert.False(t, indexerCalled) + + var downloadCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&downloadCount) + require.NoError(t, err) + assert.Equal(t, 1, downloadCount) +} + +func TestMonitorAlbum_IndexerDown(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return nil, assert.AnError + } + + ctx := context.Background() + _, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.Error(t, err) + + var artistMonitorState string + err = suite.pool.QueryRow(ctx, "SELECT monitor_state FROM artists WHERE external_id = $1", "artist-ext-id").Scan(&artistMonitorState) + require.NoError(t, err) + assert.Equal(t, "monitored", artistMonitorState) + + var albumMonitorState string + err = suite.pool.QueryRow(ctx, "SELECT monitor_state FROM albums WHERE external_id = $1", "test-album-ext-id").Scan(&albumMonitorState) + require.NoError(t, err) + assert.Equal(t, "monitored", albumMonitorState) +} + +func TestMonitorAlbum_IndexerNoResults(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse(), nil + } + + ctx := context.Background() + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Album) + require.NotNil(t, resp.Artist) + assert.Nil(t, resp.Release) + + var count int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM torrents").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) + + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&count) + require.NoError(t, err) + assert.Equal(t, 0, count) +} + +func TestMonitorAlbum_AllSeedersZero(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Album FLAC 1", 0, "magnet:?xt=urn:btih:abc1"), + newSearchItem("Test Album FLAC 2", 0, "magnet:?xt=urn:btih:abc2"), + newSearchItem("Test Album FLAC 3", 0, "magnet:?xt=urn:btih:abc3"), + ), nil + } + + ctx := context.Background() + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Album) + require.NotNil(t, resp.Artist) + assert.Nil(t, resp.Release) +} + +func TestMonitorAlbum_AllMagnetsFail(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Album 1", 50, "magnet:?xt=urn:btih:abc1"), + newSearchItem("Test Album 2", 30, "magnet:?xt=urn:btih:abc2"), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return nil, assert.AnError + } + + ctx := context.Background() + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Album) + require.NotNil(t, resp.Artist) + assert.Nil(t, resp.Release) +} + +func TestMonitorAlbum_NoQualityMatch(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Album MP3 320", 50, "magnet:?xt=urn:btih:abc1"), + newSearchItem("Test Album MP3 V0", 30, "magnet:?xt=urn:btih:abc2"), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return newTorrentDataMP3(), nil + } + + ctx := context.Background() + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Album) + require.NotNil(t, resp.Artist) + assert.Nil(t, resp.Release) +} + +func TestMonitorAlbum_QBitDown(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Album [FLAC]", 50, "magnet:?xt=urn:btih:abc123"), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return newTorrentData(), nil + } + + suite.mocks.torrent.FindFunc = func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return nil, assert.AnError + } + + suite.mocks.torrent.AddMagnetFunc = func(magnetURI string) error { + return assert.AnError + } + + ctx := context.Background() + _, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.Error(t, err) + + var artistCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM artists").Scan(&artistCount) + require.NoError(t, err) + assert.Equal(t, 1, artistCount) + + var albumCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM albums").Scan(&albumCount) + require.NoError(t, err) + assert.Equal(t, 1, albumCount) + + var torrentCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM torrents").Scan(&torrentCount) + require.NoError(t, err) + assert.Equal(t, 0, torrentCount) + + var downloadCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&downloadCount) + require.NoError(t, err) + assert.Equal(t, 0, downloadCount) +} + +func TestMonitorAlbum_TorrentAlreadyExists(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'unmonitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + torrentHash := "6ff7af15d0745a3e29d1b9620191cfe01ad3cc70" + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, $2, 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID, torrentHash).Scan(&torrentID) + require.NoError(t, err) + + _, err = suite.pool.Exec(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'completed', $3) + `, torrentID, albumID, torrentHash) + require.NoError(t, err) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Album FLAC", 50, "magnet:?xt=urn:btih:"+torrentHash), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return newTorrentData(), nil + } + + suite.mocks.torrent.FindFunc = func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{{State: "stalledUP"}}, nil + } + + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Release) + + var downloadCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&downloadCount) + require.NoError(t, err) + assert.Equal(t, 1, downloadCount) +} + +func TestMonitorAlbum_AddMagnetFails(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Album FLAC", 50, "magnet:?xt=urn:btih:abc123"), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return newTorrentData(), nil + } + + suite.mocks.torrent.FindFunc = func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{}, nil + } + + suite.mocks.torrent.AddMagnetFunc = func(magnetURI string) error { + return assert.AnError + } + + ctx := context.Background() + _, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.Error(t, err) + + var albumCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM albums").Scan(&albumCount) + require.NoError(t, err) + assert.Equal(t, 1, albumCount) + + var downloadCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&downloadCount) + require.NoError(t, err) + assert.Equal(t, 0, downloadCount) +} + +func TestMonitorAlbum_DuplicateDownloadSkipped(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'unmonitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + torrentHash := "6ff7af15d0745a3e29d1b9620191cfe01ad3cc70" + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, $2, 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID, torrentHash).Scan(&torrentID) + require.NoError(t, err) + + _, err = suite.pool.Exec(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'downloading', $3) + `, torrentID, albumID, torrentHash) + require.NoError(t, err) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + return newSearchResponse( + newSearchItem("Test Album FLAC", 50, "magnet:?xt=urn:btih:"+torrentHash), + ), nil + } + + suite.mocks.magnet.ResolveFunc = func(magnetURI string) ([]byte, error) { + return newTorrentData(), nil + } + + suite.mocks.torrent.FindFunc = func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{{State: "downloading"}}, nil + } + + resp, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + require.NotNil(t, resp.Release) + + var downloadCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM downloads").Scan(&downloadCount) + require.NoError(t, err) + assert.Equal(t, 1, downloadCount) +} + +func TestMonitorAlbum_SearchQueryFormat(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + suite.mocks.metadata.GetAlbumFunc = func(ctx context.Context, in *metadataPb.GetAlbumRequest, opts ...grpc.CallOption) (*metadataPb.GetAlbumResponse, error) { + return &metadataPb.GetAlbumResponse{ + Album: newMetadataAlbum("test-album-ext-id", "Test Album", "artist-ext-id", "Test Artist"), + }, nil + } + + var capturedQuery string + suite.mocks.indexer.SearchFunc = func(query string, limit int32, idx string) (*indexer.SearchResponse, error) { + capturedQuery = query + return newSearchResponse(), nil + } + + ctx := context.Background() + _, err := suite.client.MonitorAlbum(ctx, &pb.MonitorAlbumRequest{ + AlbumId: "test-album-ext-id", + Quality: pb.QualityType_QUALITY_LOSSLESS, + }) + + require.NoError(t, err) + assert.Equal(t, "Test Artist Test Album", capturedQuery) +} + +func TestPollWorker_QBitUnreachable(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'monitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, 'poll-hash-123', 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID).Scan(&torrentID) + require.NoError(t, err) + + var downloadID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'downloading', 'poll-hash-123') + RETURNING id + `, torrentID, albumID).Scan(&downloadID) + require.NoError(t, err) + + mockTorrent := &mockTorrentClient{ + FindFunc: func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return nil, assert.AnError + }, + } + + worker := &workers.PollDownloadWorker{ + TorrentClient: mockTorrent, + Downloads: database.NewDownloadRepository(suite.pool), + DownloadFiles: database.NewDownloadFileRepository(suite.pool), + RiverClient: nil, + } + + job := &river.Job[workers.PollDownloadArgs]{ + Args: workers.PollDownloadArgs{ + DownloadID: downloadID, + TorrentHash: "poll-hash-123", + }, + } + + err = worker.Work(ctx, job) + require.NoError(t, err) + + var state string + err = suite.pool.QueryRow(ctx, "SELECT state FROM downloads WHERE id = $1", downloadID).Scan(&state) + require.NoError(t, err) + assert.Equal(t, "downloading", state) +} + +func TestPollWorker_TorrentDisappeared(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'monitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, 'disappeared-hash', 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID).Scan(&torrentID) + require.NoError(t, err) + + var downloadID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'downloading', 'disappeared-hash') + RETURNING id + `, torrentID, albumID).Scan(&downloadID) + require.NoError(t, err) + + mockTorrent := &mockTorrentClient{ + FindFunc: func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{}, nil + }, + } + + worker := &workers.PollDownloadWorker{ + TorrentClient: mockTorrent, + Downloads: database.NewDownloadRepository(suite.pool), + DownloadFiles: database.NewDownloadFileRepository(suite.pool), + RiverClient: nil, + } + + job := &river.Job[workers.PollDownloadArgs]{ + Args: workers.PollDownloadArgs{ + DownloadID: downloadID, + TorrentHash: "disappeared-hash", + }, + } + + err = worker.Work(ctx, job) + require.NoError(t, err) + + var state, errorMsg string + err = suite.pool.QueryRow(ctx, "SELECT state, error_message FROM downloads WHERE id = $1", downloadID).Scan(&state, &errorMsg) + require.NoError(t, err) + assert.Equal(t, "failed", state) + assert.Equal(t, "torrent not found in client", errorMsg) +} + +func TestPollWorker_TorrentError(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'monitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, 'error-hash', 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID).Scan(&torrentID) + require.NoError(t, err) + + var downloadID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'downloading', 'error-hash') + RETURNING id + `, torrentID, albumID).Scan(&downloadID) + require.NoError(t, err) + + mockTorrent := &mockTorrentClient{ + FindFunc: func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{{State: "error"}}, nil + }, + } + + worker := &workers.PollDownloadWorker{ + TorrentClient: mockTorrent, + Downloads: database.NewDownloadRepository(suite.pool), + DownloadFiles: database.NewDownloadFileRepository(suite.pool), + RiverClient: nil, + } + + job := &river.Job[workers.PollDownloadArgs]{ + Args: workers.PollDownloadArgs{ + DownloadID: downloadID, + TorrentHash: "error-hash", + }, + } + + err = worker.Work(ctx, job) + require.NoError(t, err) + + var state, errorMsg string + err = suite.pool.QueryRow(ctx, "SELECT state, error_message FROM downloads WHERE id = $1", downloadID).Scan(&state, &errorMsg) + require.NoError(t, err) + assert.Equal(t, "failed", state) + assert.Equal(t, "torrent error state", errorMsg) +} + +func TestPollWorker_CompletedSuccess(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + tempDir := t.TempDir() + flacFile1 := filepath.Join(tempDir, "01-track.flac") + flacFile2 := filepath.Join(tempDir, "02-track.flac") + require.NoError(t, os.WriteFile(flacFile1, []byte("fake flac data 1"), 0644)) + require.NoError(t, os.WriteFile(flacFile2, []byte("fake flac data 2"), 0644)) + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'monitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, 'completed-hash', 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID).Scan(&torrentID) + require.NoError(t, err) + + var downloadID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'downloading', 'completed-hash') + RETURNING id + `, torrentID, albumID).Scan(&downloadID) + require.NoError(t, err) + + mockTorrent := &mockTorrentClient{ + FindFunc: func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{{ + Progress: 1.0, + SavePath: "/downloads", + ContentPath: tempDir, + }}, nil + }, + } + + worker := &workers.PollDownloadWorker{ + TorrentClient: mockTorrent, + Downloads: database.NewDownloadRepository(suite.pool), + DownloadFiles: database.NewDownloadFileRepository(suite.pool), + RiverClient: nil, + } + + job := &river.Job[workers.PollDownloadArgs]{ + Args: workers.PollDownloadArgs{ + DownloadID: downloadID, + TorrentHash: "completed-hash", + }, + } + + err = worker.Work(ctx, job) + require.NoError(t, err) + + var state string + var savePath *string + err = suite.pool.QueryRow(ctx, "SELECT state, save_path FROM downloads WHERE id = $1", downloadID).Scan(&state, &savePath) + require.NoError(t, err) + assert.Equal(t, "completed", state) + require.NotNil(t, savePath) + assert.Equal(t, "/downloads", *savePath) + + var fileCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM download_files WHERE download_id = $1", downloadID).Scan(&fileCount) + require.NoError(t, err) + assert.Equal(t, 2, fileCount) + + var fileTypes []string + rows, err := suite.pool.Query(ctx, "SELECT file_type FROM download_files WHERE download_id = $1", downloadID) + require.NoError(t, err) + defer rows.Close() + for rows.Next() { + var ft string + require.NoError(t, rows.Scan(&ft)) + fileTypes = append(fileTypes, ft) + } + assert.Contains(t, fileTypes, "flac") +} + +func TestPollWorker_FileScanFails(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'monitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, 'scan-fail-hash', 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID).Scan(&torrentID) + require.NoError(t, err) + + var downloadID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'downloading', 'scan-fail-hash') + RETURNING id + `, torrentID, albumID).Scan(&downloadID) + require.NoError(t, err) + + mockTorrent := &mockTorrentClient{ + FindFunc: func(opts torrent.FindOptions) ([]torrent.TorrentInfo, error) { + return []torrent.TorrentInfo{{ + Progress: 1.0, + SavePath: "/downloads", + ContentPath: "/nonexistent/path/that/does/not/exist", + }}, nil + }, + } + + worker := &workers.PollDownloadWorker{ + TorrentClient: mockTorrent, + Downloads: database.NewDownloadRepository(suite.pool), + DownloadFiles: database.NewDownloadFileRepository(suite.pool), + RiverClient: nil, + } + + job := &river.Job[workers.PollDownloadArgs]{ + Args: workers.PollDownloadArgs{ + DownloadID: downloadID, + TorrentHash: "scan-fail-hash", + }, + } + + err = worker.Work(ctx, job) + require.NoError(t, err) + + var state string + err = suite.pool.QueryRow(ctx, "SELECT state FROM downloads WHERE id = $1", downloadID).Scan(&state) + require.NoError(t, err) + assert.Equal(t, "completed", state) + + var fileCount int + err = suite.pool.QueryRow(ctx, "SELECT COUNT(*) FROM download_files WHERE download_id = $1", downloadID).Scan(&fileCount) + require.NoError(t, err) + assert.Equal(t, 0, fileCount) +} + +func TestRecoverOrphaned_FindsActiveDownloads(t *testing.T) { + suite := setupSuite(t) + cleanTables(t, suite.pool) + + ctx := context.Background() + + var artistID string + err := suite.pool.QueryRow(ctx, ` + INSERT INTO artists (external_id, name, artist_type, country, genres, image_url, monitor_state) + VALUES ('artist-ext-id', 'Test Artist', 'person', 'US', ARRAY['Rock'], 'http://img.com', 'monitored') + RETURNING id + `).Scan(&artistID) + require.NoError(t, err) + + var albumID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO albums (external_id, artist_id, title, album_type, total_tracks, total_discs, label, genres, cover_url, monitor_state) + VALUES ('test-album-ext-id', $1, 'Test Album', 'album', 10, 1, 'Test Label', ARRAY['Rock'], 'http://cover.com', 'monitored') + RETURNING id + `, artistID).Scan(&albumID) + require.NoError(t, err) + + var torrentID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO torrents (album_id, info_hash, tracker, title, format, quality, source, seeders, peers, size) + VALUES ($1, 'orphan-hash', 'test-tracker', 'Test Album FLAC', 'FLAC', '16-44', 'CD', 100, 50, 500000000) + RETURNING id + `, albumID).Scan(&torrentID) + require.NoError(t, err) + + var downloadID string + err = suite.pool.QueryRow(ctx, ` + INSERT INTO downloads (torrent_id, album_id, format, quality, state, qbit_hash) + VALUES ($1, $2, 'FLAC', '16-44', 'downloading', 'orphan-hash') + RETURNING id + `, torrentID, albumID).Scan(&downloadID) + require.NoError(t, err) + + downloads := database.NewDownloadRepository(suite.pool) + active, err := downloads.GetActive(ctx) + require.NoError(t, err) + require.Len(t, active, 1) + assert.Equal(t, downloadID, active[0].ID) + assert.Equal(t, "orphan-hash", active[0].QbitHash) + assert.Equal(t, "downloading", active[0].State) +} diff --git a/test/component/setup_test.go b/test/component/setup_test.go new file mode 100644 index 0000000..a6183af --- /dev/null +++ b/test/component/setup_test.go @@ -0,0 +1,174 @@ +package component + +import ( + "context" + "net" + "os" + "path/filepath" + "runtime" + "testing" + "time" + + "github.com/jackc/pgx/v5/pgxpool" + "github.com/stretchr/testify/require" + "github.com/testcontainers/testcontainers-go" + "github.com/testcontainers/testcontainers-go/modules/postgres" + "github.com/testcontainers/testcontainers-go/wait" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/test/bufconn" + + pb "homelab.lan/music-agregator/gen/music_agregator/v1" + "homelab.lan/music-agregator/internal" + "homelab.lan/music-agregator/internal/database" + "homelab.lan/music-agregator/internal/metadata" +) + +const bufSize = 1024 * 1024 + +type testMocks struct { + metadata *mockMetadataClient + torrent *mockTorrentClient + indexer *mockSearcher + magnet *mockResolver +} + +type testSuite struct { + db *database.DB + grpcConn *grpc.ClientConn + client pb.MusicAgregatorServiceClient + pool *pgxpool.Pool + mocks *testMocks +} + +func setupSuite(t *testing.T) *testSuite { + ctx := context.Background() + + schemaPath := getSchemaPath(t) + schemaSQL, err := os.ReadFile(schemaPath) + require.NoError(t, err, "failed to read schema file") + + pgContainer, err := postgres.Run(ctx, + "postgres:16-alpine", + postgres.WithDatabase("music_agregator_test"), + postgres.WithUsername("test"), + postgres.WithPassword("test"), + postgres.WithInitScripts(), + testcontainers.WithWaitStrategy( + wait.ForLog("database system is ready to accept connections"). + WithOccurrence(2). + WithStartupTimeout(30*time.Second), + ), + ) + require.NoError(t, err, "failed to start postgres container") + + t.Cleanup(func() { + if err := pgContainer.Terminate(ctx); err != nil { + t.Logf("failed to terminate postgres container: %v", err) + } + }) + + connStr, err := pgContainer.ConnectionString(ctx, "sslmode=disable") + require.NoError(t, err, "failed to get connection string") + + pool, err := pgxpool.New(ctx, connStr) + require.NoError(t, err, "failed to create pgxpool") + + t.Cleanup(func() { + pool.Close() + }) + + _, err = pool.Exec(ctx, string(schemaSQL)) + require.NoError(t, err, "failed to apply schema") + + db := &database.DB{Pool: pool} + + mocks := &testMocks{ + metadata: &mockMetadataClient{}, + torrent: &mockTorrentClient{}, + indexer: &mockSearcher{}, + magnet: &mockResolver{}, + } + + metadataSvc := metadata.NewMetadataService(mocks.metadata, db) + + service := internal.NewMusicAgregatorServiceWithDeps( + metadataSvc, + mocks.indexer, + mocks.torrent, + mocks.magnet, + nil, + db, + ) + + server := internal.NewMusicAgregatorServerWithService(service) + + lis := bufconn.Listen(bufSize) + grpcServer := grpc.NewServer() + server.Register(grpcServer) + + go func() { + if err := grpcServer.Serve(lis); err != nil { + t.Logf("grpc server error: %v", err) + } + }() + + t.Cleanup(func() { + grpcServer.GracefulStop() + }) + + conn, err := grpc.NewClient( + "passthrough://bufnet", + grpc.WithContextDialer(func(ctx context.Context, _ string) (net.Conn, error) { + return lis.DialContext(ctx) + }), + grpc.WithTransportCredentials(insecure.NewCredentials()), + ) + require.NoError(t, err, "failed to create grpc client connection") + + t.Cleanup(func() { + conn.Close() + }) + + client := pb.NewMusicAgregatorServiceClient(conn) + + return &testSuite{ + db: db, + grpcConn: conn, + client: client, + pool: pool, + mocks: mocks, + } +} + +func getSchemaPath(t *testing.T) string { + _, currentFile, _, ok := runtime.Caller(0) + require.True(t, ok, "failed to get current file path") + + testDir := filepath.Dir(currentFile) + schemaPath := filepath.Join(testDir, "..", "..", "..", "containers", "database", "music-agregator", "002_schema.sql") + + if _, err := os.Stat(schemaPath); os.IsNotExist(err) { + schemaPath = filepath.Join(testDir, "..", "..", "containers", "database", "music-agregator", "002_schema.sql") + } + + return schemaPath +} + +func cleanTables(t *testing.T, pool *pgxpool.Pool) { + ctx := context.Background() + + tables := []string{ + "download_files", + "downloads", + "torrents", + "tracks", + "albums", + "artists", + } + + for _, table := range tables { + _, err := pool.Exec(ctx, "TRUNCATE TABLE "+table+" CASCADE") + require.NoError(t, err, "failed to truncate table %s", table) + } +}