49 lines
871 B
Go
49 lines
871 B
Go
package viewer
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestRenderHTMLIncludesKnownSectionsAndFields(t *testing.T) {
|
|
snapshot := []byte(`{
|
|
"target_host": "test-host",
|
|
"collected_at": "2026-03-15T12:00:00Z",
|
|
"hardware": {
|
|
"board": {
|
|
"serial_number": "BOARD-001",
|
|
"product_name": "Test Server"
|
|
},
|
|
"cpus": [
|
|
{
|
|
"socket": 0,
|
|
"model": "Xeon",
|
|
"status": "OK",
|
|
"temperature_c": 61.5
|
|
}
|
|
]
|
|
}
|
|
}`)
|
|
|
|
html, err := RenderHTML(snapshot, "Reanimator Chart")
|
|
if err != nil {
|
|
t.Fatalf("RenderHTML() error = %v", err)
|
|
}
|
|
|
|
text := string(html)
|
|
for _, needle := range []string{
|
|
"Reanimator Chart",
|
|
"test-host",
|
|
"Board",
|
|
"CPUs",
|
|
"BOARD-001",
|
|
"Xeon",
|
|
"temperature_c",
|
|
"status-ok",
|
|
} {
|
|
if !strings.Contains(text, needle) {
|
|
t.Fatalf("expected rendered html to contain %q", needle)
|
|
}
|
|
}
|
|
}
|