Context("when failing to subscribe to the event hub", func() { BeforeEach(func() { hub.Close() }) It("returns an internal server error", func() { Expect(response.StatusCode).To(Equal(http.StatusInternalServerError)) }) }) Context("when successfully subscribing to the event hub", func() { It("emits events from the hub to the connection", func() { reader := sse.NewReadCloser(response.Body) hub.Emit(fakeEvent{"A"}) Expect(reader.Next()).To(Equal(sse.Event{ ID: "0", Name: "fake", Data: []byte(`{"token":"A"}`), })) hub.Emit(fakeEvent{"B"}) Expect(reader.Next()).To(Equal(sse.Event{ ID: "1", Name: "fake", Data: []byte(`{"token":"B"}`), }))