Expect(err).NotTo(HaveOccurred())
			var request *http.Request
			Eventually(fakeDoppler.TrafficControllerConnected, 10).Should(Receive(&request))

			Expect(request.URL.Path).To(Equal("/apps/1234/stream"))

			currentTime := time.Now().UnixNano()
			dropsondeMessage := makeDropsondeMessage("Make me Legacy Format", APP_ID, currentTime)
			fakeDoppler.SendLogMessage(dropsondeMessage)

			var receivedMessage *logmessage.LogMessage
			Eventually(messages).Should(Receive(&receivedMessage))

			Expect(receivedMessage.GetMessage()).To(BeEquivalentTo("Make me Legacy Format"))
			Expect(receivedMessage.GetAppId()).To(Equal(APP_ID))
			Expect(receivedMessage.GetTimestamp()).To(Equal(currentTime))

			legacy_consumer.Close()
		})
	})

	Context("Recent", func() {
		It("returns a multi-part HTTP response with all recent messages", func() {
			const messageLength = 5
			expectedMessages := make([][]byte, messageLength)

			for i := 0; i < messageLength; i++ {
				message := makeDropsondeMessage(strconv.Itoa(i), "1234", 1234)
				expectedMessages[i] = message
				fakeDoppler.SendLogMessage(message)
			}
				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{
			Origin:    proto.String("origin"),
			EventType: events.Envelope_CounterEvent.Enum(),