Eventually(logger).Should(gbytes.Say("beep boop im a robot")) Eventually(uaaClient.FetchTokenCallCount).Should(BeNumerically(">", fetchTokenCallCount)) Eventually(client.SubscribeToEventsWithMaxRetriesCallCount).Should(BeNumerically(">", subscribeCallCount)) Eventually(func() uint64 { return sender.GetCounter(SubscribeEventsErrors) }).Should(BeNumerically(">", currentSubscribeEventsErrors)) }) }) Context("and the event source fails to subscribe", func() { Context("with error other than unauthorized", func() { BeforeEach(func() { client.SubscribeToEventsWithMaxRetriesStub = func(uint16) (routing_api.EventSource, error) { err := errors.New("i failed to subscribe") return &fake_routing_api.FakeEventSource{}, err } }) It("logs the error and tries again", func() { fetchTokenCallCount := uaaClient.FetchTokenCallCount() subscribeCallCount := client.SubscribeToEventsWithMaxRetriesCallCount() currentSubscribeEventsErrors := sender.GetCounter(SubscribeEventsErrors) Eventually(logger).Should(gbytes.Say("i failed to subscribe")) Eventually(uaaClient.FetchTokenCallCount).Should(BeNumerically(">", fetchTokenCallCount)) Eventually(client.SubscribeToEventsWithMaxRetriesCallCount).Should(BeNumerically(">", subscribeCallCount)) Eventually(func() uint64 {