summaryrefslogtreecommitdiff
path: root/test/web/streamer/ping_test.exs
diff options
context:
space:
mode:
authorMaxim Filippov <colixer@gmail.com>2019-09-16 19:44:06 +0300
committerMaxim Filippov <colixer@gmail.com>2019-09-16 19:44:06 +0300
commitdf15ed13d15db5b5a371345fcb9968b5af4100af (patch)
tree02f8834a25733ed7ee02fa9aa4dd66b606f78030 /test/web/streamer/ping_test.exs
parentd1abf7a3585e4bc1ebea4f615ae2e149d5a56918 (diff)
parenta58f29b826333c1ecb0907228f0e087a3ecd9778 (diff)
downloadpleroma-df15ed13d15db5b5a371345fcb9968b5af4100af.tar.gz
pleroma-df15ed13d15db5b5a371345fcb9968b5af4100af.zip
Merge branch 'develop' into feature/moderation-log-filters
Diffstat (limited to 'test/web/streamer/ping_test.exs')
-rw-r--r--test/web/streamer/ping_test.exs36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/web/streamer/ping_test.exs b/test/web/streamer/ping_test.exs
new file mode 100644
index 000000000..3d52c00e4
--- /dev/null
+++ b/test/web/streamer/ping_test.exs
@@ -0,0 +1,36 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.PingTest do
+ use Pleroma.DataCase
+
+ import Pleroma.Factory
+ alias Pleroma.Web.Streamer
+
+ setup do
+ start_supervised({Streamer.supervisor(), [ping_interval: 30]})
+
+ :ok
+ end
+
+ describe "sockets" do
+ setup do
+ user = insert(:user)
+ {:ok, %{user: user}}
+ end
+
+ test "it sends pings", %{user: user} do
+ task =
+ Task.async(fn ->
+ assert_receive {:text, received_event}, 40
+ assert_receive {:text, received_event}, 40
+ assert_receive {:text, received_event}, 40
+ end)
+
+ Streamer.add_socket("public", %{transport_pid: task.pid, assigns: %{user: user}})
+
+ Task.await(task)
+ end
+ end
+end