diff --git a/tenzir/integration/data/reference/udp/test_loader_-2d_listen/step_00.ref b/tenzir/integration/data/reference/udp/test_loader_-2d_listen/step_00.ref new file mode 100644 index 00000000000..60e1ae4e971 --- /dev/null +++ b/tenzir/integration/data/reference/udp/test_loader_-2d_listen/step_00.ref @@ -0,0 +1 @@ +{"foo": 42} \ No newline at end of file diff --git a/tenzir/integration/data/reference/udp/test_saver/step_00.ref b/tenzir/integration/data/reference/udp/test_saver/step_00.ref new file mode 100644 index 00000000000..3dddee72c44 --- /dev/null +++ b/tenzir/integration/data/reference/udp/test_saver/step_00.ref @@ -0,0 +1,10 @@ +{"foo": 42} +{"foo": 42} +{"foo": 42} +{"foo": 42} +{"foo": 42} +{"foo": 42} +{"foo": 42} +{"foo": 42} +{"foo": 42} +{"foo": 42} \ No newline at end of file diff --git a/tenzir/integration/data/reference/udp/test_saver_-2d_message_too_long/step_00.ref b/tenzir/integration/data/reference/udp/test_saver_-2d_message_too_long/step_00.ref new file mode 100644 index 00000000000..9dff0e4a75d --- /dev/null +++ b/tenzir/integration/data/reference/udp/test_saver_-2d_message_too_long/step_00.ref @@ -0,0 +1,2 @@ +error: failed to send data over UDP socket + = note: Message too long \ No newline at end of file diff --git a/tenzir/integration/tests/udp.bats b/tenzir/integration/tests/udp.bats new file mode 100644 index 00000000000..fa515f0de45 --- /dev/null +++ b/tenzir/integration/tests/udp.bats @@ -0,0 +1,27 @@ +: "${BATS_TEST_TIMEOUT:=10}" + +setup() { + bats_load_library bats-support + bats_load_library bats-assert + bats_load_library bats-tenzir +} + +@test "loader - listen" { + check --bg listen \ + tenzir 'from udp://127.0.0.1:56789 | head 1' + timeout 10 bash -c 'until lsof -i :56789; do sleep 0.2; done' + jq -n '{foo: 42}' | socat - udp-send:127.0.0.1:56789 + wait_all "${listen[@]}" +} + +@test "saver" { + check --bg listen \ + tenzir 'from udp://127.0.0.1:55555 | head 10' + timeout 10 bash -c 'until lsof -i :55555; do sleep 0.2; done' + tenzir 'version | put foo=42 | repeat 10 | to udp://127.0.0.1:55555' + wait_all "${listen[@]}" +} + +@test "saver - message too long" { + printf "%65535s" | check tenzir 'save udp 127.0.0.1:54321' || true +}