}) Describe("BroadCast", func() { It("should send message to all registered sinks that match the appId", func(done Done) { appId := "123" appSink := syslog.NewSyslogSink("123", "url", loggertesthelper.Logger(), DummySyslogWriter{}, errorChan) otherInputChan := make(chan *logmessage.Message) groupedSinks.Register(otherInputChan, appSink) appId = "789" appSink = syslog.NewSyslogSink(appId, "url", loggertesthelper.Logger(), DummySyslogWriter{}, errorChan) groupedSinks.Register(inputChan, appSink) msg := NewMessage("test message", appId) go groupedSinks.BroadCast(appId, msg) Expect(<-inputChan).To(Equal(msg)) Expect(otherInputChan).To(HaveLen(0)) close(done) }) It("should not block when sending to an appId that has no sinks", func(done Done) { appId := "NonExistantApp" msg := NewMessage("test message", appId) groupedSinks.BroadCast(appId, msg) close(done) }) }) Describe("BroadCastError", func() {