feat: Full Lidarr system support for both the CLI and TUI

This commit is contained in:
2026-01-14 14:50:33 -07:00
parent c74d5936d2
commit 8b9467bd39
63 changed files with 4824 additions and 74 deletions
+54 -4
View File
@@ -6,12 +6,12 @@ mod tests {
use crate::models::lidarr_models::{
AddArtistSearchResult, Album, DownloadRecord, DownloadStatus, DownloadsResponse,
LidarrHistoryEventType, LidarrHistoryItem, LidarrHistoryWrapper, Member, MetadataProfile,
MonitorType, NewItemMonitorType, SystemStatus,
LidarrHistoryEventType, LidarrHistoryItem, LidarrHistoryWrapper, LidarrTask, Member,
MetadataProfile, MonitorType, NewItemMonitorType, SystemStatus,
};
use crate::models::servarr_models::{
DiskSpace, HostConfig, Indexer, IndexerSettings, IndexerTestResult, QualityProfile, RootFolder,
SecurityConfig, Tag,
DiskSpace, HostConfig, Indexer, IndexerSettings, IndexerTestResult, Log, LogResponse,
QualityProfile, QueueEvent, RootFolder, SecurityConfig, Tag, Update,
};
use crate::models::{
Serdeable,
@@ -363,6 +363,20 @@ mod tests {
);
}
#[test]
fn test_lidarr_serdeable_from_log_response() {
let log_response = LogResponse {
records: vec![Log {
level: "info".to_owned(),
..Log::default()
}],
};
let lidarr_serdeable: LidarrSerdeable = log_response.clone().into();
assert_eq!(lidarr_serdeable, LidarrSerdeable::LogResponse(log_response));
}
#[test]
fn test_lidarr_serdeable_from_metadata_profiles() {
let metadata_profiles = vec![MetadataProfile {
@@ -405,6 +419,18 @@ mod tests {
);
}
#[test]
fn test_lidarr_serdeable_from_queue_events() {
let queue_events = vec![QueueEvent {
trigger: "test".to_owned(),
..QueueEvent::default()
}];
let lidarr_serdeable: LidarrSerdeable = queue_events.clone().into();
assert_eq!(lidarr_serdeable, LidarrSerdeable::QueueEvents(queue_events));
}
#[test]
fn test_lidarr_serdeable_from_root_folders() {
let root_folders = vec![RootFolder {
@@ -501,6 +527,30 @@ mod tests {
assert_eq!(lidarr_serdeable, LidarrSerdeable::Album(album));
}
#[test]
fn test_lidarr_serdeable_from_tasks() {
let tasks = vec![LidarrTask {
name: "test".to_owned(),
..LidarrTask::default()
}];
let lidarr_serdeable: LidarrSerdeable = tasks.clone().into();
assert_eq!(lidarr_serdeable, LidarrSerdeable::Tasks(tasks));
}
#[test]
fn test_lidarr_serdeable_from_updates() {
let updates = vec![Update {
version: "test".to_owned(),
..Update::default()
}];
let lidarr_serdeable: LidarrSerdeable = updates.clone().into();
assert_eq!(lidarr_serdeable, LidarrSerdeable::Updates(updates));
}
#[test]
fn test_artist_status_display() {
assert_str_eq!(ArtistStatus::Continuing.to_string(), "continuing");