listenerStopped = make(chan struct{}) loggertesthelper.TestLoggerSink.Clear() port := 3456 + config.GinkgoConfig.ParallelNode address = net.JoinHostPort("127.0.0.1", strconv.Itoa(port)) listener, dataChannel = listeners.NewUDPListener(address, loggertesthelper.Logger(), "udpListener") go func() { listener.Start() close(listenerStopped) }() Eventually(loggertesthelper.TestLoggerSink.LogContents).Should(ContainSubstring("Listening on port " + address)) }) AfterEach(func() { listener.Stop() Eventually(listenerStopped).Should(BeClosed()) }) Context("with a listner running", func() { It("listens to the socket and forwards log lines", func() { expectedData := "Some Data" otherData := "More stuff" connection, err := net.Dial("udp", address) _, err = connection.Write([]byte(expectedData)) Expect(err).To(BeNil()) var received []byte Eventually(dataChannel).Should(Receive(&received))
) var _ = Describe("Tcplistener", func() { var envelopeChan chan *events.Envelope var tlsListener listeners.Listener BeforeEach(func() { envelopeChan = make(chan *events.Envelope) var err error tlsListener, err = listeners.NewTLSListener("aname", "127.0.0.1:0", tlsconfig, envelopeChan, loggertesthelper.Logger()) Expect(err).NotTo(HaveOccurred()) go tlsListener.Start() }) AfterEach(func() { tlsListener.Stop() }) Context("dropsonde metric emission", func() { BeforeEach(func() { fakeEventEmitter.Reset() metricBatcher.Reset() }) It("sends all types of messages as a protobuf", func() { for name, eventType := range events.Envelope_EventType_value { envelope := createEnvelope(events.Envelope_EventType(eventType)) conn := openTLSConnection(tlsListener.Address()) err := send(conn, envelope) Expect(err).ToNot(HaveOccurred())