cnsmr.Close() Eventually(doneChan).Should(BeClosed()) close(done) }, 10) }) Describe("FirehoseWithoutReconnect", func() { var incomingChan chan *events.Envelope var streamErrorChan chan error var finishedChan chan struct{} performWithIdleTimeout := func(idleTimeout time.Duration) { streamErrorChan = make(chan error, 10) cnsmr = noaa.NewConsumer(trafficControllerUrl, tlsSettings, consumerProxyFunc) cnsmr.SetIdleTimeout(idleTimeout) go func() { streamErrorChan <- cnsmr.FirehoseWithoutReconnect("subscription-id", authToken, incomingChan) close(finishedChan) }() } perform := func() { performWithIdleTimeout(0) } BeforeEach(func() { incomingChan = make(chan *events.Envelope) finishedChan = make(chan struct{}) startFakeTrafficController() })