From e253ca83590adb1f8ac784d44e5d77d192955211 Mon Sep 17 00:00:00 2001 From: Dark-Alex-17 Date: Tue, 8 Aug 2023 10:50:07 -0600 Subject: [PATCH] Did some cleanup --- src/app/mod.rs | 3 - src/main.rs | 2 +- src/network/mod.rs | 20 +++--- src/network/network_tests.rs | 16 ++--- src/network/radarr_network_tests.rs | 98 ++++++++++++++--------------- 5 files changed, 69 insertions(+), 70 deletions(-) diff --git a/src/app/mod.rs b/src/app/mod.rs index 1862591..be32f1e 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -1,6 +1,5 @@ use anyhow::anyhow; use log::{debug, error}; -use reqwest::Client; use serde::{Deserialize, Serialize}; use tokio::sync::mpsc::Sender; use tokio::time::Instant; @@ -23,7 +22,6 @@ pub struct App<'a> { pub server_tabs: TabState, pub error: HorizontallyScrollableText, pub response: String, - pub client: Client, pub title: &'static str, pub tick_until_poll: u64, pub ticks_until_scroll: u64, @@ -135,7 +133,6 @@ impl<'a> Default for App<'a> { contextual_help: None, }, ]), - client: Client::new(), title: "Managarr", tick_until_poll: 400, ticks_until_scroll: 4, diff --git a/src/main.rs b/src/main.rs index c3fab5e..19099cc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -58,7 +58,7 @@ async fn main() -> Result<()> { #[tokio::main] async fn start_networking(mut network_rx: Receiver, app: &Arc>>) { - let network = Network::new(reqwest::Client::new(), app); + let network = Network::new(app); while let Some(network_event) = network_rx.recv().await { network.handle_network_event(network_event).await; diff --git a/src/network/mod.rs b/src/network/mod.rs index 8aef7a7..13e5e97 100644 --- a/src/network/mod.rs +++ b/src/network/mod.rs @@ -20,19 +20,22 @@ mod utils; #[path = "network_tests.rs"] mod network_tests; -#[derive(PartialEq, Eq, Debug)] +#[derive(PartialEq, Eq, Debug, Clone, Copy)] pub enum NetworkEvent { Radarr(RadarrEvent), } pub struct Network<'a, 'b> { - pub client: Client, + client: Client, pub app: &'a Arc>>, } impl<'a, 'b> Network<'a, 'b> { - pub fn new(client: Client, app: &'a Arc>>) -> Self { - Network { client, app } + pub fn new(app: &'a Arc>>) -> Self { + Network { + client: Client::new(), + app, + } } pub async fn handle_network_event(&self, network_event: NetworkEvent) { @@ -116,25 +119,24 @@ impl<'a, 'b> Network<'a, 'b> { api_token, } = request_props; debug!("Creating RequestBuilder for resource: {:?}", uri); - let app = self.app.lock().await; debug!( "Sending {:?} request to {} with body {:?}", method, uri, body ); match method { - RequestMethod::Get => app.client.get(uri).header("X-Api-Key", api_token), - RequestMethod::Post => app + RequestMethod::Get => self.client.get(uri).header("X-Api-Key", api_token), + RequestMethod::Post => self .client .post(uri) .json(&body.unwrap_or_default()) .header("X-Api-Key", api_token), - RequestMethod::Put => app + RequestMethod::Put => self .client .put(uri) .json(&body.unwrap_or_default()) .header("X-Api-Key", api_token), - RequestMethod::Delete => app.client.delete(uri).header("X-Api-Key", api_token), + RequestMethod::Delete => self.client.delete(uri).header("X-Api-Key", api_token), } } } diff --git a/src/network/network_tests.rs b/src/network/network_tests.rs index 497f262..e4bc439 100644 --- a/src/network/network_tests.rs +++ b/src/network/network_tests.rs @@ -38,7 +38,7 @@ mod tests { }; app.config.radarr = radarr_config; let app_arc = Arc::new(Mutex::new(app)); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_network_event(RadarrEvent::HealthCheck.into()) @@ -62,7 +62,7 @@ mod tests { .create_async() .await; let app_arc = Arc::new(Mutex::new(App::default())); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_request::( @@ -87,7 +87,7 @@ mod tests { #[values(RequestMethod::Get, RequestMethod::Post)] request_method: RequestMethod, ) { let (async_server, app_arc, server) = mock_api(request_method, 200, true).await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_request::<(), Test>( @@ -116,7 +116,7 @@ mod tests { .create_async() .await; let app_arc = Arc::new(Mutex::new(App::default())); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_request::<(), Test>( @@ -142,7 +142,7 @@ mod tests { #[tokio::test] async fn test_handle_request_failure_to_send_request() { let app_arc = Arc::new(Mutex::new(App::default())); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_request::<(), Test>( @@ -176,7 +176,7 @@ mod tests { request_method: RequestMethod, ) { let (async_server, app_arc, server) = mock_api(request_method, 404, true).await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_request::<(), Test>( @@ -200,7 +200,7 @@ mod tests { #[tokio::test] async fn test_handle_request_non_success_code_empty_response_body() { let (async_server, app_arc, server) = mock_api(RequestMethod::Post, 404, false).await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_request::<(), Test>( @@ -252,7 +252,7 @@ mod tests { async_server = async_server.create_async().await; let app_arc = Arc::new(Mutex::new(App::default())); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .call_api(RequestProps { diff --git a/src/network/radarr_network_tests.rs b/src/network/radarr_network_tests.rs index 6c8dd42..28724d3 100644 --- a/src/network/radarr_network_tests.rs +++ b/src/network/radarr_network_tests.rs @@ -194,7 +194,7 @@ mod test { RadarrEvent::HealthCheck.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::HealthCheck).await; @@ -219,7 +219,7 @@ mod test { RadarrEvent::GetOverview.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetOverview).await; @@ -251,7 +251,7 @@ mod test { RadarrEvent::GetStatus.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetStatus).await; @@ -273,7 +273,7 @@ mod test { RadarrEvent::GetMovies.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetMovies).await; @@ -311,7 +311,7 @@ mod test { .radarr_data .movies .set_items(vec![movie()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetReleases).await; @@ -357,7 +357,7 @@ mod test { ) .await; app_arc.lock().await.data.radarr_data.search = "test term".to_owned().into(); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::SearchNewMovie) @@ -397,7 +397,7 @@ mod test { task_name: "TestTask".to_owned(), ..Task::default() }]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::StartTask).await; @@ -413,7 +413,7 @@ mod test { let (async_server, app_arc, _server) = mock_radarr_api(RequestMethod::Get, None, Some(json!([])), &resource).await; app_arc.lock().await.data.radarr_data.search = "test term".to_owned().into(); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::SearchNewMovie) @@ -453,7 +453,7 @@ mod test { .radarr_data .movies .set_items(vec![movie()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::TriggerAutomaticSearch) @@ -481,7 +481,7 @@ mod test { .radarr_data .movies .set_items(vec![movie()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::UpdateAndScan) @@ -502,7 +502,7 @@ mod test { RadarrEvent::UpdateAllMovies.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::UpdateAllMovies) @@ -522,7 +522,7 @@ mod test { RadarrEvent::UpdateDownloads.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::UpdateDownloads) @@ -553,7 +553,7 @@ mod test { .await; app_arc.lock().await.data.radarr_data.indexer_settings = Some(indexer_settings()); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::UpdateIndexerSettings) @@ -580,7 +580,7 @@ mod test { RadarrEvent::UpdateCollections.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::UpdateCollections) @@ -608,7 +608,7 @@ mod test { .set_items(vec![movie()]); app_arc.lock().await.data.radarr_data.quality_profile_map = BiMap::from_iter([(2222, "HD - 1080p".to_owned())]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetMovieDetails) @@ -715,7 +715,7 @@ mod test { .set_items(vec![movie()]); app_arc.lock().await.data.radarr_data.quality_profile_map = BiMap::from_iter([(2222, "HD - 1080p".to_owned())]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetMovieDetails) @@ -795,7 +795,7 @@ mod test { .radarr_data .movies .set_items(vec![movie()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetMovieHistory) @@ -846,7 +846,7 @@ mod test { RadarrEvent::GetCollections.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetCollections) @@ -881,7 +881,7 @@ mod test { RadarrEvent::GetDownloads.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetDownloads).await; @@ -946,7 +946,7 @@ mod test { RadarrEvent::GetIndexers.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetIndexers).await; @@ -977,7 +977,7 @@ mod test { RadarrEvent::GetIndexerSettings.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetIndexerSettings) @@ -1021,7 +1021,7 @@ mod test { RadarrEvent::GetQueuedEvents.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetQueuedEvents) @@ -1076,7 +1076,7 @@ mod test { &resource, ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetLogs).await; @@ -1109,7 +1109,7 @@ mod test { RadarrEvent::GetQualityProfiles.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetQualityProfiles) @@ -1135,7 +1135,7 @@ mod test { RadarrEvent::GetTags.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetTags).await; @@ -1190,7 +1190,7 @@ mod test { RadarrEvent::GetTasks.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetTasks).await; @@ -1279,7 +1279,7 @@ mod test { RadarrEvent::GetUpdates.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::GetUpdates).await; @@ -1301,7 +1301,7 @@ mod test { .await; app_arc.lock().await.data.radarr_data.tags_map = BiMap::from_iter([(1, "usenet".to_owned()), (2, "test".to_owned())]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.add_tag("testing".to_owned()).await; @@ -1331,7 +1331,7 @@ mod test { RadarrEvent::GetRootFolders.resource(), ) .await; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetRootFolders) @@ -1369,7 +1369,7 @@ mod test { .radarr_data .movies .set_items(vec![movie()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::GetMovieCredits) @@ -1400,7 +1400,7 @@ mod test { app.data.radarr_data.delete_movie_files = true; app.data.radarr_data.add_list_exclusion = true; } - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::DeleteMovie).await; @@ -1421,7 +1421,7 @@ mod test { .radarr_data .downloads .set_items(vec![download_record()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::DeleteDownload) @@ -1442,7 +1442,7 @@ mod test { .radarr_data .indexers .set_items(vec![indexer()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::DeleteIndexer) @@ -1463,7 +1463,7 @@ mod test { .radarr_data .root_folders .set_items(vec![root_folder()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::DeleteRootFolder) @@ -1548,7 +1548,7 @@ mod test { .set_items(vec![add_movie_search_result()]); } } - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::AddMovie).await; @@ -1568,7 +1568,7 @@ mod test { .await; app_arc.lock().await.data.radarr_data.edit_path = HorizontallyScrollableText::from("/nfs/test"); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::AddRootFolder) @@ -1636,7 +1636,7 @@ mod test { app.data.radarr_data.quality_profile_map = BiMap::from_iter([(1111, "Any".to_owned()), (2222, "HD - 1080p".to_owned())]); } - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network.handle_radarr_event(RadarrEvent::EditMovie).await; @@ -1731,7 +1731,7 @@ mod test { app.data.radarr_data.quality_profile_map = BiMap::from_iter([(1111, "Any".to_owned()), (2222, "HD - 1080p".to_owned())]); } - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::EditCollection) @@ -1765,7 +1765,7 @@ mod test { .radarr_data .movie_releases .set_items(vec![release()]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); network .handle_radarr_event(RadarrEvent::DownloadRelease) @@ -1787,7 +1787,7 @@ mod test { app.data.radarr_data.quality_profile_map = BiMap::from_iter([(1, "Any".to_owned()), (2, "HD - 1080p".to_owned())]); } - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); assert_eq!(network.extract_quality_profile_id().await, 1); } @@ -1804,7 +1804,7 @@ mod test { (3, "hi".to_owned()), ]); } - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); assert_eq!(network.extract_and_add_tag_ids_vec().await, vec![2, 3, 1]); } @@ -1824,7 +1824,7 @@ mod test { app.data.radarr_data.tags_map = BiMap::from_iter([(1, "usenet".to_owned()), (2, "test".to_owned())]); } - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); let tag_ids_vec = network.extract_and_add_tag_ids_vec().await; @@ -1853,7 +1853,7 @@ mod test { id: Number::from(1), ..Movie::default() }]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); assert_eq!(network.extract_movie_id().await, 1); } @@ -1871,7 +1871,7 @@ mod test { id: Number::from(1), ..Movie::default() }]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); assert_eq!(network.extract_movie_id().await, 1); } @@ -1889,7 +1889,7 @@ mod test { id: Number::from(1), ..Collection::default() }]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); assert_eq!(network.extract_collection_id().await, 1); } @@ -1907,7 +1907,7 @@ mod test { id: Number::from(1), ..Collection::default() }]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); assert_eq!(network.extract_collection_id().await, 1); } @@ -1925,7 +1925,7 @@ mod test { id: Number::from(1), ..Movie::default() }]); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); assert_str_eq!( network.append_movie_id_param("/test").await, @@ -1936,7 +1936,7 @@ mod test { #[tokio::test] async fn test_radarr_request_props_from_default_radarr_config() { let app_arc = Arc::new(Mutex::new(App::default())); - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); let request_props = network .radarr_request_props_from("/test", RequestMethod::Get, None::<()>) @@ -1963,7 +1963,7 @@ mod test { port: Some(8080), api_token: api_token.clone(), }; - let network = Network::new(reqwest::Client::new(), &app_arc); + let network = Network::new(&app_arc); let request_props = network .radarr_request_props_from("/test", RequestMethod::Get, None::<()>)