Consolidate store tests into interface package + Fix issues
This commit is contained in:
@ -61,15 +61,8 @@ func AddResult(ss *core.ServiceStatus, result *core.Result) {
|
||||
}
|
||||
if len(ss.Results) > 0 {
|
||||
// Check if there's any change since the last result
|
||||
// OR there's only 1 event, which only happens when there's a start event
|
||||
if ss.Results[len(ss.Results)-1].Success != result.Success || len(ss.Events) == 1 {
|
||||
event := &core.Event{Timestamp: result.Timestamp}
|
||||
if result.Success {
|
||||
event.Type = core.EventHealthy
|
||||
} else {
|
||||
event.Type = core.EventUnhealthy
|
||||
}
|
||||
ss.Events = append(ss.Events, event)
|
||||
if ss.Results[len(ss.Results)-1].Success != result.Success {
|
||||
ss.Events = append(ss.Events, generateEventBasedOnResultSuccess(result))
|
||||
if len(ss.Events) > core.MaximumNumberOfEvents {
|
||||
// Doing ss.Events[1:] would usually be sufficient, but in the case where for some reason, the slice has
|
||||
// more than one extra element, we can get rid of all of them at once and thus returning the slice to a
|
||||
@ -77,6 +70,9 @@ func AddResult(ss *core.ServiceStatus, result *core.Result) {
|
||||
ss.Events = ss.Events[len(ss.Events)-core.MaximumNumberOfEvents:]
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// This is the first result, so we need to add the first healthy/unhealthy event
|
||||
ss.Events = append(ss.Events, generateEventBasedOnResultSuccess(result))
|
||||
}
|
||||
ss.Results = append(ss.Results, result)
|
||||
if len(ss.Results) > core.MaximumNumberOfResults {
|
||||
@ -87,3 +83,13 @@ func AddResult(ss *core.ServiceStatus, result *core.Result) {
|
||||
}
|
||||
processUptimeAfterResult(ss.Uptime, result)
|
||||
}
|
||||
|
||||
func generateEventBasedOnResultSuccess(result *core.Result) *core.Event {
|
||||
event := &core.Event{Timestamp: result.Timestamp}
|
||||
if result.Success {
|
||||
event.Type = core.EventHealthy
|
||||
} else {
|
||||
event.Type = core.EventUnhealthy
|
||||
}
|
||||
return event
|
||||
}
|
||||
|
Reference in New Issue
Block a user