mirror of
https://github.com/EasyTier/EasyTier.git
synced 2025-09-26 20:51:17 +08:00
Add comprehensive OS info integration testing and finalize implementation
Co-authored-by: KKRainbow <5665404+KKRainbow@users.noreply.github.com>
This commit is contained in:
@@ -177,4 +177,30 @@ UBUNTU_CODENAME=focal"#;
|
||||
assert_eq!(extract_value_from_os_release(content, "VERSION_ID"), Some("20.04".to_string()));
|
||||
assert_eq!(extract_value_from_os_release(content, "NONEXISTENT"), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_os_info_integration_with_route_peer_info() {
|
||||
use crate::proto::peer_rpc::RoutePeerInfo;
|
||||
use std::time::SystemTime;
|
||||
|
||||
// Test that RoutePeerInfo can hold OS information
|
||||
let os_info = OsInfo::collect();
|
||||
let mut peer_info = RoutePeerInfo::new();
|
||||
peer_info.os_info = Some(os_info.to_string());
|
||||
peer_info.hostname = Some("test-node".to_string());
|
||||
peer_info.peer_id = 12345;
|
||||
peer_info.last_update = Some(SystemTime::now().into());
|
||||
|
||||
// Verify the OS info is stored correctly
|
||||
assert!(peer_info.os_info.is_some());
|
||||
assert!(peer_info.os_info.as_ref().unwrap().contains(&os_info.os_type));
|
||||
assert!(peer_info.os_info.as_ref().unwrap().contains(&os_info.arch));
|
||||
|
||||
// Test conversion to CLI Route
|
||||
let cli_route: crate::proto::cli::Route = peer_info.into();
|
||||
assert!(cli_route.os_info.is_some());
|
||||
assert!(cli_route.os_info.as_ref().unwrap().contains(&os_info.os_type));
|
||||
|
||||
println!("OS Info in Route: {:?}", cli_route.os_info);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user