router7/internal/diag/diag_test.go

40 lines
871 B
Go
Raw Normal View History

2018-06-03 20:04:11 +02:00
package diag_test
import (
"router7/internal/diag"
"testing"
"github.com/google/go-cmp/cmp"
)
func TestDiagLink(t *testing.T) {
if _, err := diag.Link("nonexistant").Evaluate(); err == nil {
t.Errorf("Link(nonexistant).Evaluate = nil, want non-nil")
}
if _, err := diag.Link("lo").Evaluate(); err != nil {
t.Errorf("Link(lo).Evaluate = %v, want nil", err)
}
}
func TestDiagMonitor(t *testing.T) {
m := diag.NewMonitor(diag.Link("nonexistant").
Then(diag.DHCPv4()))
got := m.Evaluate()
want := &diag.EvalResult{
Name: "link/nonexistant",
Error: true,
Status: "Link not found",
Children: []*diag.EvalResult{
{
Name: "dhcp4",
Error: true,
Status: "dependency link/nonexistant failed",
},
},
}
if diff := cmp.Diff(got, want); diff != "" {
t.Fatalf("Evaluate(): unexpected result: diff (-got +want):\n%s", diff)
}
}