fix(radarr): Pass in the task name alongside the StartTask event when publishing to the networking channel
This commit is contained in:
@@ -70,7 +70,7 @@ pub enum RadarrEvent {
|
||||
GetUpdates,
|
||||
HealthCheck,
|
||||
SearchNewMovie(String),
|
||||
StartTask(Option<RadarrTaskName>),
|
||||
StartTask(RadarrTaskName),
|
||||
TestIndexer(Option<i64>),
|
||||
TestAllIndexers,
|
||||
TriggerAutomaticSearch(Option<i64>),
|
||||
@@ -1631,26 +1631,12 @@ impl<'a, 'b> Network<'a, 'b> {
|
||||
.await
|
||||
}
|
||||
|
||||
async fn start_radarr_task(&mut self, task: Option<RadarrTaskName>) -> Result<Value> {
|
||||
let event = RadarrEvent::StartTask(None);
|
||||
let task_name = if let Some(t_name) = task {
|
||||
t_name
|
||||
} else {
|
||||
self
|
||||
.app
|
||||
.lock()
|
||||
.await
|
||||
.data
|
||||
.radarr_data
|
||||
.tasks
|
||||
.current_selection()
|
||||
.task_name
|
||||
}
|
||||
.to_string();
|
||||
async fn start_radarr_task(&mut self, task_name: RadarrTaskName) -> Result<Value> {
|
||||
let event = RadarrEvent::StartTask(task_name.clone());
|
||||
|
||||
info!("Starting Radarr task: {task_name}");
|
||||
|
||||
let body = CommandBody { name: task_name };
|
||||
let body = CommandBody { name: task_name.to_string() };
|
||||
|
||||
let request_props = self
|
||||
.request_props_from(event, RequestMethod::Post, Some(body), None, None)
|
||||
|
||||
@@ -14,8 +14,9 @@ mod test {
|
||||
|
||||
use super::super::*;
|
||||
use crate::models::radarr_models::{
|
||||
AddMovieOptions, BlocklistItem, BlocklistItemMovie, CollectionMovie, EditCollectionParams,
|
||||
EditMovieParams, IndexerSettings, MediaInfo, MinimumAvailability, MovieCollection, MovieFile, Rating, RatingsList
|
||||
AddMovieOptions,
|
||||
BlocklistItem, BlocklistItemMovie, CollectionMovie, EditCollectionParams, EditMovieParams,
|
||||
IndexerSettings, MediaInfo, MinimumAvailability, MovieCollection, MovieFile, RadarrTaskName, Rating, RatingsList
|
||||
};
|
||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||
@@ -201,7 +202,7 @@ mod test {
|
||||
#[rstest]
|
||||
fn test_resource_command(
|
||||
#[values(
|
||||
RadarrEvent::StartTask(None),
|
||||
RadarrEvent::StartTask(RadarrTaskName::default()),
|
||||
RadarrEvent::GetQueuedEvents,
|
||||
RadarrEvent::TriggerAutomaticSearch(None),
|
||||
RadarrEvent::UpdateAndScan(None),
|
||||
@@ -661,25 +662,15 @@ mod test {
|
||||
})),
|
||||
Some(response.clone()),
|
||||
None,
|
||||
RadarrEvent::StartTask(None),
|
||||
RadarrEvent::StartTask(RadarrTaskName::ApplicationCheckUpdate),
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await;
|
||||
app_arc
|
||||
.lock()
|
||||
.await
|
||||
.data
|
||||
.radarr_data
|
||||
.tasks
|
||||
.set_items(vec![RadarrTask {
|
||||
task_name: RadarrTaskName::default(),
|
||||
..RadarrTask::default()
|
||||
}]);
|
||||
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
|
||||
|
||||
if let RadarrSerdeable::Value(value) = network
|
||||
.handle_radarr_event(RadarrEvent::StartTask(None))
|
||||
.handle_radarr_event(RadarrEvent::StartTask(RadarrTaskName::ApplicationCheckUpdate))
|
||||
.await
|
||||
.unwrap()
|
||||
{
|
||||
@@ -721,33 +712,6 @@ mod test {
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_handle_start_radarr_task_event_uses_provided_task_name() {
|
||||
let response = json!({ "test": "test"});
|
||||
let (async_server, app_arc, _server) = mock_servarr_api(
|
||||
RequestMethod::Post,
|
||||
Some(json!({
|
||||
"name": "ApplicationCheckUpdate"
|
||||
})),
|
||||
Some(response.clone()),
|
||||
None,
|
||||
RadarrEvent::StartTask(None),
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.await;
|
||||
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
|
||||
|
||||
if let RadarrSerdeable::Value(value) = network
|
||||
.handle_radarr_event(RadarrEvent::StartTask(Some(RadarrTaskName::default())))
|
||||
.await
|
||||
.unwrap()
|
||||
{
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(value, response);
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_handle_test_radarr_indexer_event_error() {
|
||||
let indexer_details_json = json!({
|
||||
|
||||
Reference in New Issue
Block a user