AppId: proto.String("AppId"), SourceType: proto.String("SRC"), SourceInstance: proto.String("0"), }, } bytes, _ := proto.Marshal(envelope) msg, err := marshaller.TranslateDropsondeToLegacyLogMessage(bytes) Expect(err).To(BeNil()) var legacyMessage logmessage.LogMessage proto.Unmarshal(msg, &legacyMessage) Expect(legacyMessage.GetMessage()).To(Equal(message)) Expect(legacyMessage.GetAppId()).To(Equal("AppId")) Expect(legacyMessage.GetSourceName()).To(Equal("SRC")) Expect(legacyMessage.GetSourceId()).To(Equal("0")) Expect(legacyMessage.GetTimestamp()).To(BeNumerically("==", 1234)) }) It("returns an error if it fails to unmarshall the envelope", func() { junk := []byte{1, 2, 3} msg, err := marshaller.TranslateDropsondeToLegacyLogMessage(junk) Expect(msg).To(BeNil()) Expect(err.Error()).To(ContainSubstring("Unable to unmarshal")) }) It("returns an error if the envelope is of type other than LogMessage", func() { envelope := &events.Envelope{