10 f5fde32e 2022-01-18 o func TestServiceUnmarshal(t *testing.T) {
11 f5fde32e 2022-01-18 o f, err := os.Open("testdata/services.json")
12 f5fde32e 2022-01-18 o if err != nil {
15 f5fde32e 2022-01-18 o defer f.Close()
16 f5fde32e 2022-01-18 o resp, err := parseResponse(f)
17 f5fde32e 2022-01-18 o if err != nil {
20 f5fde32e 2022-01-18 o want := Service{
21 f5fde32e 2022-01-18 o Name: "9p.io!http",
22 f5fde32e 2022-01-18 o Groups: []string{},
23 f5fde32e 2022-01-18 o State: ServiceOK,
24 f5fde32e 2022-01-18 o StateType: StateHard,
25 f5fde32e 2022-01-18 o CheckCommand: "http",
26 f5fde32e 2022-01-18 o DisplayName: "http",
27 f5fde32e 2022-01-18 o LastCheckResult: CheckResult{
28 f5fde32e 2022-01-18 o Output: "HTTP OK: HTTP/1.1 200 OK - 1714 bytes in 0.703 second response time ",
31 f5fde32e 2022-01-18 o var got Service
32 f5fde32e 2022-01-18 o for _, r := range resp.Results {
33 f5fde32e 2022-01-18 o if r.name() == "9p.io!http" {
34 f5fde32e 2022-01-18 o got = r.(Service)
37 f5fde32e 2022-01-18 o if !reflect.DeepEqual(want, got) {
40 f5fde32e 2022-01-18 o t.Logf("want %+v, got %+v", want, got)
43 f5fde32e 2022-01-18 o func TestServiceMarshal(t *testing.T) {
44 f5fde32e 2022-01-18 o want := `{"attrs":{"check_command":"http","display_name":"http"}}`
46 f5fde32e 2022-01-18 o b, err := json.Marshal(Service{
47 f5fde32e 2022-01-18 o Name: "9p.io!http",
48 f5fde32e 2022-01-18 o Groups: []string{},
49 f5fde32e 2022-01-18 o State: ServiceOK,
50 f5fde32e 2022-01-18 o StateType: StateHard,
51 f5fde32e 2022-01-18 o CheckCommand: "http",
52 f5fde32e 2022-01-18 o DisplayName: "http",
53 f5fde32e 2022-01-18 o LastCheckResult: CheckResult{
54 f5fde32e 2022-01-18 o Output: "HTTP OK: HTTP/1.1 200 OK - 1714 bytes in 0.703 second response time ",
57 f5fde32e 2022-01-18 o if err != nil {
60 f5fde32e 2022-01-18 o got := string(b)
61 f5fde32e 2022-01-18 o if want != got {
64 f5fde32e 2022-01-18 o t.Log("want", want, "got", got)