25 lines
994 B
Clojure
25 lines
994 B
Clojure
(ns babashka.udp-test
|
|
(:require [babashka.test-utils :as tu]
|
|
[clojure.test :refer [deftest is]])
|
|
(:import [java.io StringWriter]
|
|
[java.net DatagramPacket DatagramSocket]))
|
|
|
|
(set! *warn-on-reflection* true)
|
|
|
|
(deftest udp-test
|
|
(let [server (DatagramSocket. 8125)
|
|
sw (StringWriter.)
|
|
fut (future
|
|
(let [buf (byte-array 1024)
|
|
packet (DatagramPacket. buf 1024)
|
|
_ (.receive server packet)
|
|
non-zero-bytes (filter #(not (zero? %)) (.getData packet))
|
|
non-zero-bytes (byte-array non-zero-bytes)]
|
|
(binding [*out* sw]
|
|
(println (String. non-zero-bytes "UTF-8")))))]
|
|
(while (not (realized? fut))
|
|
(tu/bb nil
|
|
"-e" "(load-file (io/file \"test-resources\" \"babashka\" \"statsd.clj\"))"
|
|
"-e" "(require '[statsd-client :as c])"
|
|
"-e" "(c/increment :foo)"))
|
|
(is (= ":foo:1|c\n" (str sw)))))
|