Improved unit test coverage in radarr_network to ensure the handler calls the correct functions.
This commit is contained in:
+101
-63
@@ -1040,27 +1040,16 @@ mod test {
|
||||
assert_str_eq!(event.resource(), expected_resource);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_extract_movie_id_filtered_movies() {
|
||||
let id = Number::from(1);
|
||||
let app_arc = Arc::new(Mutex::new(App::default()));
|
||||
app_arc
|
||||
.lock()
|
||||
.await
|
||||
.data
|
||||
.radarr_data
|
||||
.filtered_movies
|
||||
.set_items(vec![Movie {
|
||||
id: id.clone(),
|
||||
..Movie::default()
|
||||
}]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
assert_eq!(network.extract_movie_id().await, 1);
|
||||
#[test]
|
||||
fn test_from_radarr_event() {
|
||||
assert_eq!(
|
||||
NetworkEvent::Radarr(RadarrEvent::HealthCheck),
|
||||
NetworkEvent::from(RadarrEvent::HealthCheck)
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_healthcheck() {
|
||||
async fn test_handle_get_healthcheck_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Get,
|
||||
None,
|
||||
@@ -1070,13 +1059,13 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_healthcheck().await;
|
||||
network.handle_radarr_event(RadarrEvent::HealthCheck).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_diskspace() {
|
||||
async fn test_handle_get_diskspace_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Get,
|
||||
None,
|
||||
@@ -1095,7 +1084,7 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_diskspace().await;
|
||||
network.handle_radarr_event(RadarrEvent::GetOverview).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1114,7 +1103,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_status() {
|
||||
async fn test_handle_get_status_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Get,
|
||||
None,
|
||||
@@ -1127,7 +1116,7 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_status().await;
|
||||
network.handle_radarr_event(RadarrEvent::GetStatus).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_str_eq!(app_arc.lock().await.data.radarr_data.version, "v1");
|
||||
@@ -1139,7 +1128,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_movies() {
|
||||
async fn test_handle_get_movies_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Get,
|
||||
None,
|
||||
@@ -1149,7 +1138,7 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_movies().await;
|
||||
network.handle_radarr_event(RadarrEvent::GetMovies).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1159,7 +1148,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_releases() {
|
||||
async fn test_handle_get_releases_event() {
|
||||
let release_json = json!([{
|
||||
"guid": "1234",
|
||||
"protocol": "torrent",
|
||||
@@ -1191,7 +1180,7 @@ mod test {
|
||||
.set_items(vec![movie()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_releases().await;
|
||||
network.handle_radarr_event(RadarrEvent::GetReleases).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1201,7 +1190,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_search_movie() {
|
||||
async fn test_handle_search_new_movie_event() {
|
||||
let add_movie_search_result_json = json!([{
|
||||
"tmdbId": 1,
|
||||
"title": "Test",
|
||||
@@ -1237,7 +1226,9 @@ mod test {
|
||||
app_arc.lock().await.data.radarr_data.search = "test term".to_owned();
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.search_movie().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::SearchNewMovie)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1253,7 +1244,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_trigger_automatic_search() {
|
||||
async fn test_handle_trigger_automatic_search_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
@@ -1273,13 +1264,15 @@ mod test {
|
||||
.set_items(vec![movie()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.trigger_automatic_search().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::TriggerAutomaticSearch)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_refresh_and_scan() {
|
||||
async fn test_handle_refresh_and_scan_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
@@ -1299,13 +1292,15 @@ mod test {
|
||||
.set_items(vec![movie()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.refresh_and_scan().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::RefreshAndScan)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_update_all_movies() {
|
||||
async fn test_handle_update_all_movies_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
@@ -1318,13 +1313,15 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.update_all_movies().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::UpdateAllMovies)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_refresh_downloads() {
|
||||
async fn test_handle_refresh_downloads_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
@@ -1336,13 +1333,15 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.refresh_downloads().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::RefreshDownloads)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_refresh_collections() {
|
||||
async fn test_handle_refresh_collections_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
@@ -1354,13 +1353,15 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.refresh_collections().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::RefreshCollections)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_movie_details() {
|
||||
async fn test_handle_get_movie_details_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Get,
|
||||
None,
|
||||
@@ -1379,7 +1380,9 @@ mod test {
|
||||
HashMap::from([(2222, "HD - 1080p".to_owned())]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_movie_details().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::GetMovieDetails)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_str_eq!(
|
||||
@@ -1442,7 +1445,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_movie_details_empty_options_give_correct_defaults() {
|
||||
async fn test_handle_get_movie_details_event_empty_options_give_correct_defaults() {
|
||||
let movie_json_with_missing_fields = json!({
|
||||
"id": 1,
|
||||
"title": "Test",
|
||||
@@ -1480,7 +1483,9 @@ mod test {
|
||||
HashMap::from([(2222, "HD - 1080p".to_owned())]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_movie_details().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::GetMovieDetails)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_str_eq!(
|
||||
@@ -1533,7 +1538,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_movie_history() {
|
||||
async fn test_handle_get_movie_history_event() {
|
||||
let movie_history_item_json = json!([{
|
||||
"sourceTitle": "Test",
|
||||
"quality": { "quality": { "name": "HD - 1080p" }},
|
||||
@@ -1557,7 +1562,9 @@ mod test {
|
||||
.set_items(vec![movie()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_movie_history().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::GetMovieHistory)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1567,7 +1574,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_collections() {
|
||||
async fn test_handle_get_collections_event() {
|
||||
let collection_json = json!([{
|
||||
"title": "Test Collection",
|
||||
"searchOnAdd": true,
|
||||
@@ -1601,7 +1608,9 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_collections().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::GetCollections)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1611,7 +1620,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_downloads() {
|
||||
async fn test_handle_get_downloads_event() {
|
||||
let downloads_response_json = json!({
|
||||
"records": [{
|
||||
"title": "Test Download Title",
|
||||
@@ -1633,7 +1642,7 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_downloads().await;
|
||||
network.handle_radarr_event(RadarrEvent::GetDownloads).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1643,7 +1652,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_quality_profiles() {
|
||||
async fn test_handle_get_quality_profiles_event() {
|
||||
let quality_profile_json = json!([{
|
||||
"id": 2222,
|
||||
"name": "HD - 1080p"
|
||||
@@ -1657,7 +1666,9 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_quality_profiles().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::GetQualityProfiles)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1667,7 +1678,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_root_folders() {
|
||||
async fn test_handle_get_root_folders_event() {
|
||||
let root_folder_json = json!([{
|
||||
"path": "/nfs",
|
||||
"accessible": true,
|
||||
@@ -1682,7 +1693,9 @@ mod test {
|
||||
.await;
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_root_folders().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::GetRootFolders)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1692,7 +1705,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_credits() {
|
||||
async fn test_handle_get_movie_credits_event() {
|
||||
let credits_json = json!([
|
||||
{
|
||||
"personName": "Madison Clarke",
|
||||
@@ -1722,7 +1735,9 @@ mod test {
|
||||
.set_items(vec![movie()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.get_credits().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::GetMovieCredits)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -1736,7 +1751,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_delete_movie() {
|
||||
async fn test_handle_delete_movie_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Delete,
|
||||
None,
|
||||
@@ -1753,13 +1768,13 @@ mod test {
|
||||
.set_items(vec![movie()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.delete_movie().await;
|
||||
network.handle_radarr_event(RadarrEvent::DeleteMovie).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_delete_download() {
|
||||
async fn test_handle_delete_download_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Delete,
|
||||
None,
|
||||
@@ -1776,13 +1791,15 @@ mod test {
|
||||
.set_items(vec![download_record()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.delete_download().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::DeleteDownload)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_add_movie() {
|
||||
async fn test_handle_add_movie_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
@@ -1840,13 +1857,13 @@ mod test {
|
||||
}
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.add_movie().await;
|
||||
network.handle_radarr_event(RadarrEvent::AddMovie).await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_download_release() {
|
||||
async fn test_handle_download_release_event() {
|
||||
let (async_server, app_arc) = mock_radarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
@@ -1866,7 +1883,9 @@ mod test {
|
||||
.set_items(vec![release()]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
network.download_release().await;
|
||||
network
|
||||
.handle_radarr_event(RadarrEvent::DownloadRelease)
|
||||
.await;
|
||||
|
||||
async_server.assert_async().await;
|
||||
}
|
||||
@@ -1890,6 +1909,25 @@ mod test {
|
||||
assert_eq!(network.extract_movie_id().await, 1);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_extract_movie_id_filtered_movies() {
|
||||
let id = Number::from(1);
|
||||
let app_arc = Arc::new(Mutex::new(App::default()));
|
||||
app_arc
|
||||
.lock()
|
||||
.await
|
||||
.data
|
||||
.radarr_data
|
||||
.filtered_movies
|
||||
.set_items(vec![Movie {
|
||||
id: id.clone(),
|
||||
..Movie::default()
|
||||
}]);
|
||||
let network = Network::new(reqwest::Client::new(), &app_arc);
|
||||
|
||||
assert_eq!(network.extract_movie_id().await, 1);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_append_movie_id_param() {
|
||||
let id = Number::from(1);
|
||||
|
||||
Reference in New Issue
Block a user