Add complete TUI application for monitoring Kubernetes clusters and host systems. Features include: Core features: - Collector framework with concurrent scheduling - Host collectors: disk, memory, load, network - Kubernetes collectors: pods, nodes, workloads, events with informers - Issue deduplication, state management, and resolve-after logic - Bubble Tea TUI with table view, details pane, and filtering - JSON export functionality UX improvements: - Help overlay with keybindings - Priority/category filters with visual indicators - Direct priority jump (0/1/2/3) - Bulk acknowledge (Shift+A) - Clipboard copy (y) - Theme toggle (T) - Age format toggle (d) - Wide title toggle (t) - Vi-style navigation (j/k) - Home/End jump (g/G) - Rollup drill-down in details Robustness: - Grace period for unreachable clusters - Rollups for high-volume issues - Flap suppression - RBAC error handling Files: All core application code with tests for host collectors, engine, store, model, and export packages.
29 lines
598 B
Go
29 lines
598 B
Go
package host
|
|
|
|
import "testing"
|
|
|
|
func TestHasDefaultRoute(t *testing.T) {
|
|
in := "Iface\tDestination\tGateway\tFlags\n" +
|
|
"eth0\t00000000\t0102A8C0\t0003\n"
|
|
if !hasDefaultRoute(in) {
|
|
t.Fatalf("expected default route")
|
|
}
|
|
in2 := "Iface Destination Gateway Flags\n" +
|
|
"eth0 0010A8C0 00000000 0001\n"
|
|
if hasDefaultRoute(in2) {
|
|
t.Fatalf("expected no default route")
|
|
}
|
|
}
|
|
|
|
func TestIsIfaceUp(t *testing.T) {
|
|
if !isIfaceUp("up\n") {
|
|
t.Fatalf("expected true")
|
|
}
|
|
if !isIfaceUp("unknown") {
|
|
t.Fatalf("expected true for unknown")
|
|
}
|
|
if isIfaceUp("down") {
|
|
t.Fatalf("expected false")
|
|
}
|
|
}
|