Value: proto.Float64(42), Unit: proto.String("fake-unit"), }, } message, err := proto.Marshal(unknownEventTypeMessage) Expect(err).ToNot(HaveOccurred()) output, err := unmarshaller.UnmarshallMessage(message) Expect(output).To(BeNil()) Expect(err).To(HaveOccurred()) }) }) Context("Write", func() { It("unmarshalls byte arrays and writes to an EnvelopeWriter", func() { unmarshaller.Write(message) Expect(mockWriter.Events).To(HaveLen(1)) Expect(mockWriter.Events[0]).To(Equal(event)) }) It("returns an error when it can't unmarshal", func() { message = []byte("Bad Message") unmarshaller.Write(message) Expect(mockWriter.Events).To(HaveLen(0)) }) }) Context("metrics", func() { It("emits unmarshal errors", func() {
It("unmarshalls bytes", func() { output, _ := unmarshaller.UnmarshallMessage(message) Expect(output).To(Equal(event)) }) It("handles bad input gracefully", func() { output, err := unmarshaller.UnmarshallMessage(make([]byte, 4)) Expect(output).To(BeNil()) Expect(err).To(HaveOccurred()) }) }) Context("Write", func() { It("unmarshalls byte arrays and writes to an EnvelopeWriter", func() { unmarshaller.Write(message) Expect(mockWriter.Events).To(HaveLen(1)) Expect(mockWriter.Events[0]).To(Equal(event)) }) It("returns an error when it can't unmarshal", func() { message = []byte("Bad Message") unmarshaller.Write(message) Expect(mockWriter.Events).To(HaveLen(0)) }) }) Context("metrics", func() { BeforeEach(func() {