func (s *handlerSuite) TestServeDebugStatus(c *gc.C) { httpHandler := newHTTPHandler(&debugstatus.Handler{ Check: func() map[string]debugstatus.CheckResult { return debugstatus.Check(debugstatus.ServerStartTime) }, }) httptesting.AssertJSONCall(c, httptesting.JSONCallParams{ Handler: httpHandler, URL: "/debug/status", ExpectBody: httptesting.BodyAsserter(func(c *gc.C, body json.RawMessage) { var result map[string]debugstatus.CheckResult err := json.Unmarshal(body, &result) c.Assert(err, gc.IsNil) for k, v := range result { v.Duration = 0 result[k] = v } c.Assert(result, jc.DeepEquals, map[string]debugstatus.CheckResult{ "server_started": { Name: "Server started", Value: debugstatus.StartTime.String(), Passed: true, }, }) }), }) }
func (s *statusSuite) TestCheck(c *gc.C) { results := debugstatus.Check( makeCheckerFunc("check1", "check1 name", "value1", true), makeCheckerFunc("check2", "check2 name", "value2", false), makeCheckerFunc("check3", "check3 name", "value3", true), ) for key, r := range results { if r.Duration < time.Microsecond { c.Errorf("got %v want >1µs", r.Duration) } r.Duration = 0 results[key] = r } c.Assert(results, jc.DeepEquals, map[string]debugstatus.CheckResult{ "check1": { Name: "check1 name", Value: "value1", Passed: true, }, "check2": { Name: "check2 name", Value: "value2", Passed: false, }, "check3": { Name: "check3 name", Value: "value3", Passed: true, }, }) }