sink, }, } gosteno.Init(loggerConfig) logger = gosteno.NewLogger("route_fetcher_test") token = &token_fetcher.Token{ AccessToken: "access_token", ExpireTime: 5, } client = &fake_routing_api.FakeClient{} eventChannel = make(chan routing_api.Event) errorChannel = make(chan error) eventSource := fake_routing_api.FakeEventSource{} client.SubscribeToEventsReturns(&eventSource, nil) localEventChannel := eventChannel localErrorChannel := errorChannel eventSource.NextStub = func() (routing_api.Event, error) { select { case e := <-localErrorChannel: return routing_api.Event{}, e case event := <-localEventChannel: return event, nil } } clock = fakeclock.NewFakeClock(time.Now()) fetcher = NewRouteFetcher(logger, tokenFetcher, registry, cfg, client, retryInterval, clock)
. "github.com/onsi/gomega" ) var _ = Describe(".Events", func() { var ( client *fake_routing_api.FakeClient tokenFetcher *fake_token_fetcher.FakeTokenFetcher eventSource routing_api.EventSource ) BeforeEach(func() { client = &fake_routing_api.FakeClient{} tokenFetcher = &fake_token_fetcher.FakeTokenFetcher{} tokenFetcher.FetchTokenReturns(&token_fetcher.Token{AccessToken: "token"}, nil) eventSource = &fake_routing_api.FakeEventSource{} client.SubscribeToEventsReturns(eventSource, nil) }) It("list events", func() { eventsList, _ := commands.Events(client, tokenFetcher) Expect(client.SubscribeToEventsCallCount()).To(Equal(1)) Expect(eventsList).To(Equal(eventSource)) }) It("fetches a token and sets it on the client", func() { commands.Events(client, tokenFetcher) Expect(client.SetTokenCallCount()).To(Equal(1)) Expect(client.SetTokenArgsForCall(0)).To(Equal("token")) }) Context("when SubscribeToEvents returns an error", func() {