Beispiel #1
0
func TestUpdateNeeded(t *testing.T) {
	p := newWatch("test")
	ti := time.Now()
	p.lastCheck = ti
	p.lastStatus = health.Passing
	res := health.Result{
		Status: health.Critical,
	}
	Assert(t).AreEqual(true, p.updateNeeded(res, 1000), "should need update since Result.Status changed")

	res.Status = health.Passing
	Assert(t).AreEqual(true, p.updateNeeded(res, 0), "TTL is 0 so should always need update")
	Assert(t).AreEqual(false, p.updateNeeded(res, 1000), "TTL is >> than time since ti was created and status is unchanged")
}
Beispiel #2
0
func (sc *StatusChecker) resultFromCheck(resp *http.Response, err error) (health.Result, error) {
	res := health.Result{
		ID:      sc.ID,
		Node:    sc.Node,
		Service: string(sc.ID),
	}
	if err != nil || resp == nil {
		res.Status = health.Critical
		return res, nil
	}

	if resp.StatusCode >= 200 && resp.StatusCode < 300 {
		res.Status = health.Passing
	} else {
		res.Status = health.Critical
	}
	return res, err
}
Beispiel #3
0
func resultFromCheck(resp *http.Response, err error) (health.Result, error) {
	res := health.Result{}
	if err != nil || resp == nil {
		res.Status = health.Critical
		if err != nil {
			res.Output = err.Error()
		}
		return res, nil
	}

	res.Output, err = getBody(resp)
	if resp.StatusCode >= 200 && resp.StatusCode < 300 {
		res.Status = health.Passing
	} else {
		res.Status = health.Critical
	}
	return res, err
}