syncChannel chan struct{} updater *fake_routing_table.FakeUpdater ) BeforeEach(func() { eventSource = new(fake_routing_api.FakeTcpEventSource) routingApiClient = new(fake_routing_api.FakeClient) updater = new(fake_routing_table.FakeUpdater) tokenFetcher = &testTokenFetcher.FakeTokenFetcher{} token := &token_fetcher.Token{ AccessToken: "access_token", ExpireTime: 5, } tokenFetcher.FetchTokenReturns(token, nil) routingApiClient.SubscribeToTcpEventsReturns(eventSource, nil) syncChannel = make(chan struct{}) testWatcher = watcher.New(routingApiClient, updater, tokenFetcher, 1, syncChannel, logger) eventChannel = make(chan routing_api.TcpEvent) errorChannel = make(chan error) eventSource.CloseStub = func() error { errorChannel <- errors.New("closed") return nil } eventSource.NextStub = func() (routing_api.TcpEvent, error) { select { case event := <-eventChannel: return event, nil