outputChan = make(chan *events.Envelope, 10) runComplete = make(chan struct{}) unmarshaller = dropsonde_unmarshaller.NewDropsondeUnmarshaller(loggertesthelper.Logger()) go func() { unmarshaller.Run(inputChan, outputChan) close(runComplete) }() }) AfterEach(func() { close(inputChan) Eventually(runComplete).Should(BeClosed()) }) It("emits the correct metrics context", func() { Expect(unmarshaller.Emit().Name).To(Equal("dropsondeUnmarshaller")) }) It("emits a heartbeat counter", func() { envelope := &events.Envelope{ Origin: proto.String("fake-origin-3"), EventType: events.Envelope_Heartbeat.Enum(), Heartbeat: factories.NewHeartbeat(1, 2, 3), } message, _ := proto.Marshal(envelope) inputChan <- message testhelpers.EventuallyExpectMetric(unmarshaller, "heartbeatReceived", 1) }) It("emits an unmarshal error counter", func() {
outputChan = make(chan *events.Envelope, 10) runComplete = make(chan struct{}) unmarshaller = dropsonde_unmarshaller.NewDropsondeUnmarshaller(loggertesthelper.Logger()) go func() { unmarshaller.Run(inputChan, outputChan) close(runComplete) }() }) AfterEach(func() { close(inputChan) Eventually(runComplete).Should(BeClosed()) }) It("emits the correct metrics context", func() { Expect(unmarshaller.Emit().Name).To(Equal("dropsondeUnmarshaller")) }) It("emits a heartbeat counter", func() { envelope := &events.Envelope{ Origin: proto.String("fake-origin-3"), EventType: events.Envelope_Heartbeat.Enum(), Heartbeat: factories.NewHeartbeat(1, 2, 3), } message, _ := proto.Marshal(envelope) inputChan <- message testhelpers.EventuallyExpectMetric(unmarshaller, "heartbeatReceived", 1) }) It("emits a log message counter tagged with app id", func() {