feat(network): Support for downloading releases from Sonarr

This commit is contained in:
2024-11-22 19:33:29 -07:00
parent cea4632a22
commit 896c50909a
8 changed files with 96 additions and 19 deletions
+33 -1
View File
@@ -25,7 +25,7 @@ mod test {
};
use crate::models::sonarr_models::{
BlocklistItem, DownloadRecord, DownloadsResponse, Episode, EpisodeFile, MediaInfo,
SonarrTaskName,
SonarrReleaseDownloadBody, SonarrTaskName,
};
use crate::models::sonarr_models::{
BlocklistResponse, SonarrHistoryData, SonarrHistoryItem, SonarrHistoryWrapper,
@@ -599,6 +599,38 @@ mod test {
async_server.assert_async().await;
}
#[tokio::test]
async fn test_handle_download_sonarr_release_event_uses_provided_params() {
let params = SonarrReleaseDownloadBody {
guid: "1234".to_owned(),
indexer_id: 2,
series_id: Some(1),
..SonarrReleaseDownloadBody::default()
};
let (async_server, app_arc, _server) = mock_servarr_api(
RequestMethod::Post,
Some(json!({
"guid": "1234",
"indexerId": 2,
"seriesId": 1
})),
Some(json!({})),
None,
SonarrEvent::DownloadRelease(params.clone()),
None,
None,
)
.await;
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network
.handle_sonarr_event(SonarrEvent::DownloadRelease(params))
.await
.is_ok());
async_server.assert_async().await;
}
#[rstest]
#[tokio::test]
async fn test_handle_get_sonarr_blocklist_event(#[values(true, false)] use_custom_sorting: bool) {