testServer.Close() } }) Describe("SetOnConnectCallback", func() { BeforeEach(func() { testServer = httptest.NewServer(handlers.NewWebsocketHandler(messagesToSend, 100*time.Millisecond, loggertesthelper.Logger())) trafficControllerURL = "ws://" + testServer.Listener.Addr().String() close(messagesToSend) }) It("sets a callback and calls it when connecting", func() { called := make(chan bool) cb := func() { called <- true } cnsmr.SetOnConnectCallback(cb) cnsmr.TailingLogsWithoutReconnect(appGuid, authToken) Eventually(called).Should(Receive()) }) Context("when the connection fails", func() { BeforeEach(func() { trafficControllerURL = "!!!bad-url" }) It("does not call the callback", func() { called := make(chan bool) cb := func() { called <- true }