Describe("ShouldReceiveErrors", func() { It("returns true", func() { Expect(websocketSink.ShouldReceiveErrors()).To(BeTrue()) }) }) Describe("Run", func() { var inputChan chan *events.Envelope BeforeEach(func() { inputChan = make(chan *events.Envelope, 10) }) It("forwards messages", func(done Done) { defer close(done) go websocketSink.Run(inputChan) message, _ := emitter.Wrap(factories.NewLogMessage(events.LogMessage_OUT, "hello world", "appId", "App"), "origin") messageBytes, _ := proto.Marshal(message) inputChan <- message Eventually(fakeWebsocket.ReadMessages).Should(HaveLen(1)) Expect(fakeWebsocket.ReadMessages()[0]).To(Equal(messageBytes)) messageTwo, _ := emitter.Wrap(factories.NewLogMessage(events.LogMessage_OUT, "goodbye world", "appId", "App"), "origin") messageTwoBytes, _ := proto.Marshal(messageTwo) inputChan <- messageTwo Eventually(fakeWebsocket.ReadMessages).Should(HaveLen(2)) Expect(fakeWebsocket.ReadMessages()[1]).To(Equal(messageTwoBytes)) })