Payload: heartbeat.ToJSON(), }) conf.ListenerHeartbeatSyncIntervalInMilliseconds = 0 forceHeartbeatSync() }) It("should not bump the freshness", func() { isFresh, _ := store.IsActualStateFresh(freshByTime) Ω(isFresh).Should(BeFalse()) }) }) Context("when the save fails", func() { BeforeEach(func() { store.BumpActualFreshness(timeProvider.Time()) storeAdapter.SetErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector(app.InstanceAtIndex(0).InstanceGuid, errors.New("oops")) messageBus.Subscriptions["dea.heartbeat"][0].Callback(&yagnats.Message{ Payload: heartbeat.ToJSON(), }) forceHeartbeatSync() }) It("logs about the failed save", func() { Ω(logger.LoggedSubjects).Should(ContainElement(ContainSubstring("Could not put instance heartbeats in store"))) }) It("does not bump the SavedHeartbeats metric", func() {
dea appfixture.DeaFixture app appfixture.AppFixture ) conf, _ := config.DefaultConfig() BeforeEach(func() { storeAdapter = fakestoreadapter.New() store = storepackage.NewStore(conf, storeAdapter, fakelogger.NewFakeLogger()) clock = fakeclock.NewFakeClock(time.Unix(1000, 0)) dea = appfixture.NewDeaFixture() app = dea.GetApp(0) store.BumpActualFreshness(time.Unix(100, 0)) store.BumpDesiredFreshness(time.Unix(100, 0)) analyzer = New(store, clock, fakelogger.NewFakeLogger(), conf) }) startMessages := func() []models.PendingStartMessage { messages, _ := store.GetPendingStartMessages() messagesArr := []models.PendingStartMessage{} for _, message := range messages { messagesArr = append(messagesArr, message) } return messagesArr } stopMessages := func() []models.PendingStopMessage {
func freshenTheStore(store store.Store) { store.BumpDesiredFreshness(time.Unix(0, 0)) store.BumpActualFreshness(time.Unix(0, 0)) }