Context("when the actual state is not fresh", func() { BeforeEach(func() { store.BumpDesiredFreshness(time.Unix(10, 0)) }) It("should not send any start or stop messages", func() { err := analyzer.Analyze() Ω(err).Should(Equal(storepackage.ActualIsNotFreshError)) Ω(startMessages()).Should(BeEmpty()) Ω(stopMessages()).Should(BeEmpty()) }) }) Context("when the apps fail to fetch", func() { BeforeEach(func() { store.BumpActualFreshness(time.Unix(10, 0)) store.BumpDesiredFreshness(time.Unix(10, 0)) storeAdapter.ListErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector("apps", errors.New("oops!")) }) It("should return the store's error and not send any start/stop messages", func() { err := analyzer.Analyze() Ω(err).Should(Equal(errors.New("oops!"))) Ω(startMessages()).Should(BeEmpty()) Ω(stopMessages()).Should(BeEmpty()) }) }) }) })