metric := emitter.GetMessages()[0].Event.(*events.ValueMetric) Expect(metric.GetName()).To(Equal("metric-name")) Expect(metric.GetValue()).To(BeNumerically("==", 42)) Expect(metric.GetUnit()).To(Equal("answers")) }) It("returns an error if it can't send metric value", func() { emitter.ReturnError = errors.New("some error") err := sender.SendValue("stuff", 12, "no answer") Expect(emitter.GetMessages()).To(HaveLen(0)) Expect(err.Error()).To(Equal("some error")) }) It("sends an update counter event to its emitter", func() { err := sender.IncrementCounter("counter-strike") Expect(err).NotTo(HaveOccurred()) Expect(emitter.GetMessages()).To(HaveLen(1)) counterEvent := emitter.GetMessages()[0].Event.(*events.CounterEvent) Expect(counterEvent.GetName()).To(Equal("counter-strike")) Expect(counterEvent.GetDelta()).To(Equal(uint64(1))) }) It("sends an update counter event with arbitrary increment", func() { err := sender.AddToCounter("counter-strike", 3) Expect(err).NotTo(HaveOccurred()) Expect(emitter.GetMessages()).To(HaveLen(1)) counterEvent := emitter.GetMessages()[0].Event.(*events.CounterEvent) Expect(counterEvent.GetName()).To(Equal("counter-strike"))