v0.33.1
This commit is contained in:
1 parent
2ccc598b12
commit
b757b34a31
26 files changed
+671
-116
No files matched your search
@@ -1,62 +1,42 @@
|
||||
#[test]
|
||||
fn overview_registry_is_single_source_of_identifiers_and_visibility_defaults() {
|
||||
fn overview_factory_preset_matches_registry_and_operator_visibility() {
|
||||
let order = default_admin_dashboard_widgets();
|
||||
let hidden = default_hidden_dashboard_widgets();
|
||||
let unique: std::collections::HashSet<&str> = order.iter().map(String::as_str).collect();
|
||||
assert_eq!(unique.len(), order.len());
|
||||
assert_eq!(order.len(), DASHBOARD_WIDGETS.len());
|
||||
assert_eq!(order.first().map(String::as_str), Some("requests"));
|
||||
assert!(order.contains(&"http3".to_owned()));
|
||||
assert!(hidden.contains(&"stream_overview".to_owned()));
|
||||
assert!(hidden.contains(&"stream_backend_health".to_owned()));
|
||||
assert_eq!(order, DASHBOARD_DEFAULT_PRESET.dashboard_widgets);
|
||||
assert_eq!(hidden, DASHBOARD_DEFAULT_PRESET.dashboard_hidden_widgets);
|
||||
assert_eq!(default_admin_dashboard_density(), "compact");
|
||||
assert_eq!(DASHBOARD_DEFAULT_PRESET.overview_samples, 600);
|
||||
for id in [
|
||||
"backend_health",
|
||||
"backend_activity",
|
||||
"backend_errors",
|
||||
"backend_latency",
|
||||
"backend_traffic",
|
||||
"backend_protocols",
|
||||
"backend_requests",
|
||||
"backend_capacity",
|
||||
"backend_http5xx",
|
||||
"backend_timeouts",
|
||||
"backend_network",
|
||||
"backend_retries",
|
||||
"backend_queue",
|
||||
"backend_rotations",
|
||||
] {
|
||||
assert!(order.contains(&id.to_owned()));
|
||||
assert!(hidden.contains(&id.to_owned()));
|
||||
}
|
||||
for id in [
|
||||
"extra_process_cpu",
|
||||
"extra_process_rss",
|
||||
"extra_process_fds",
|
||||
"extra_open_connections",
|
||||
"extra_websocket_active",
|
||||
"extra_tls_error_rate",
|
||||
"extra_request_error_rate",
|
||||
"extra_cache_hit_rate",
|
||||
"extra_cache_memory",
|
||||
"extra_h2_share",
|
||||
"backend_latency",
|
||||
"extra_response_latency",
|
||||
"extra_backend_unhealthy",
|
||||
] {
|
||||
assert!(order.contains(&id.to_owned()));
|
||||
assert!(hidden.contains(&id.to_owned()));
|
||||
}
|
||||
for id in [
|
||||
"traffic_chart",
|
||||
"system_chart",
|
||||
"connection_chart",
|
||||
"cache_diagnostics",
|
||||
"process_diagnostics",
|
||||
"network_diagnostics",
|
||||
"wide_transform_activity",
|
||||
"wide_compression_activity",
|
||||
"cache",
|
||||
"backend_table",
|
||||
] {
|
||||
assert!(order.contains(&id.to_owned()));
|
||||
assert!(!hidden.contains(&id.to_owned()));
|
||||
assert!(order.contains(&id.to_owned()), "not registered: {id}");
|
||||
assert!(
|
||||
!hidden.contains(&id.to_owned()),
|
||||
"should start visible: {id}"
|
||||
);
|
||||
}
|
||||
for id in [
|
||||
"bandwidth",
|
||||
"backend_health",
|
||||
"extra_process_cpu",
|
||||
"stream_traffic",
|
||||
"wide_cache_activity",
|
||||
"www_status",
|
||||
"www_requests",
|
||||
"www_top_services",
|
||||
] {
|
||||
assert!(hidden.contains(&id.to_owned()), "should start hidden: {id}");
|
||||
}
|
||||
assert!(!hidden.contains(&"requests".to_owned()));
|
||||
assert!(hidden.iter().all(|id| order.contains(id)));
|
||||
assert!(validate_admin_preferences(&AdminPreferences::default()).is_ok());
|
||||
}
|
||||
@@ -180,6 +160,38 @@ fn old_widget_preferences_preserve_order_opt_in_and_survive_unknown_ids() {
|
||||
assert!(validate_admin_preferences(&prefs).is_ok());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn saved_dashboard_order_and_visibility_survive_new_factory_preset() {
|
||||
let mut prefs: AdminPreferences = serde_json::from_str(
|
||||
r#"{
|
||||
"dashboard_density":"normal",
|
||||
"dashboard_widgets":["errors","requests","backend_traffic"],
|
||||
"dashboard_hidden_widgets":["backend_traffic"]
|
||||
}"#,
|
||||
)
|
||||
.unwrap();
|
||||
reconcile_dashboard_widgets(&mut prefs);
|
||||
assert_eq!(prefs.dashboard_density, "normal");
|
||||
assert_eq!(
|
||||
&prefs.dashboard_widgets[..3],
|
||||
&["errors", "requests", "backend_traffic"]
|
||||
);
|
||||
assert!(!prefs
|
||||
.dashboard_hidden_widgets
|
||||
.contains(&"errors".to_owned()));
|
||||
assert!(!prefs
|
||||
.dashboard_hidden_widgets
|
||||
.contains(&"requests".to_owned()));
|
||||
assert!(prefs
|
||||
.dashboard_hidden_widgets
|
||||
.contains(&"backend_traffic".to_owned()));
|
||||
// WWW was absent from the saved document and is introduced only as opt-in.
|
||||
assert!(prefs
|
||||
.dashboard_hidden_widgets
|
||||
.contains(&"www_status".to_owned()));
|
||||
assert!(validate_admin_preferences(&prefs).is_ok());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn explicit_visible_stream_opt_in_is_not_reset_when_normalizing_saved_order() {
|
||||
let mut prefs = AdminPreferences::default();
|
||||
|
||||
Reference in new issue
Block a user