func assertMetricsManagerAmberState(c *gc.C, metricsManager *state.MetricsManager) { err := metricsManager.SetLastSuccessfulSend(time.Now()) c.Assert(err, jc.ErrorIsNil) for i := 0; i < 3; i++ { err := metricsManager.IncrementConsecutiveErrors() c.Assert(err, jc.ErrorIsNil) } status := metricsManager.MeterStatus() c.Assert(status.Code, gc.Equals, state.MeterAmber) }
// TODO (mattyw) This function could be moved into a metricsmanager testing package. func assertMetricsManagerRedState(c *gc.C, metricsManager *state.MetricsManager) { // To enter the red state we need to set a last successful send as over 1 week ago err := metricsManager.SetLastSuccessfulSend(time.Now().Add(-8 * 24 * time.Hour)) c.Assert(err, jc.ErrorIsNil) for i := 0; i < 3; i++ { err := metricsManager.IncrementConsecutiveErrors() c.Assert(err, jc.ErrorIsNil) } status := metricsManager.MeterStatus() c.Assert(status.Code, gc.Equals, state.MeterRed) }