45 lines
1.2 KiB
Go
45 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestReportRenderProblemsOnly(t *testing.T) {
|
|
input := strings.Join([]string{
|
|
"ok\tArea\tHealthy\tok\t\t\tgraph\tquery",
|
|
"warn\tArea\tWarning\tneeds attention\tdetail\tfix\tgraph\tquery",
|
|
"",
|
|
}, "\n")
|
|
|
|
var output bytes.Buffer
|
|
if err := runReportRender([]string{"--title", "Unit Report", "--only", "problems"}, strings.NewReader(input), &output); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
got := output.String()
|
|
if strings.Contains(got, "Healthy") {
|
|
t.Fatalf("problems-only report included ok row:\n%s", got)
|
|
}
|
|
for _, want := range []string{"Unit Report", "warn=1", "Warning", "Next Fix", "fix"} {
|
|
if !strings.Contains(got, want) {
|
|
t.Fatalf("report missing %q:\n%s", want, got)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestReportRenderHidesOKGraphAndQuery(t *testing.T) {
|
|
input := "ok\tArea\tHealthy\tok\tdetail\tfix\tgraph\tquery\n"
|
|
|
|
var output bytes.Buffer
|
|
if err := runReportRender([]string{"--title", "Unit Report", "--only", "all", "--details"}, strings.NewReader(input), &output); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
got := output.String()
|
|
if strings.Contains(got, "graph:") || strings.Contains(got, "query:") {
|
|
t.Fatalf("ok row leaked graph/query links:\n%s", got)
|
|
}
|
|
}
|