babashka/test/babashka/udp_test.clj
2020-04-15 23:08:30 +02:00

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)))))