}) }) Describe("BroadCastError", func() { It("should send message to all registered sinks that match the appId", func(done Done) { appId := "123" appSink := dump.NewDumpSink(appId, 10, loggertesthelper.Logger(), time.Second, fakeTimeProvider) otherInputChan := make(chan *logmessage.Message) groupedSinks.Register(otherInputChan, appSink) appId = "789" appSink = dump.NewDumpSink(appId, 10, loggertesthelper.Logger(), time.Second, fakeTimeProvider) groupedSinks.Register(inputChan, appSink) msg := NewMessage("error message", appId) go groupedSinks.BroadCastError(appId, msg) Expect(<-inputChan).To(Equal(msg)) Expect(otherInputChan).To(HaveLen(0)) close(done) }) It("should not send to sinks that don't want errors", func(done Done) { appId := "789" sink1 := dump.NewDumpSink(appId, 10, loggertesthelper.Logger(), time.Second, fakeTimeProvider) sink2 := syslog.NewSyslogSink(appId, "url", loggertesthelper.Logger(), DummySyslogWriter{}, errorChan) groupedSinks.Register(inputChan, sink1) groupedSinks.Register(inputChan, sink2) msg := NewMessage("error message", appId)