summaryrefslogtreecommitdiff
path: root/test/web/streamer/state_test.exs
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-09-30 13:57:54 +0200
committerlain <lain@soykaf.club>2019-09-30 13:57:54 +0200
commitb923842e96e821afeb7bbfa0d098b9c5698281c5 (patch)
tree37d84255d7b97fc411f5c78378565a8f205a2120 /test/web/streamer/state_test.exs
parent6fe2f554c36be1ef03ac1d1104a78d0686f48a26 (diff)
parent74d8fadf3745a4b4203c2cead35b741554ccc439 (diff)
downloadpleroma-b923842e96e821afeb7bbfa0d098b9c5698281c5.tar.gz
pleroma-b923842e96e821afeb7bbfa0d098b9c5698281c5.zip
Merge remote-tracking branch 'origin/develop' into reactions
Diffstat (limited to 'test/web/streamer/state_test.exs')
-rw-r--r--test/web/streamer/state_test.exs54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/web/streamer/state_test.exs b/test/web/streamer/state_test.exs
new file mode 100644
index 000000000..d1aeac541
--- /dev/null
+++ b/test/web/streamer/state_test.exs
@@ -0,0 +1,54 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.StateTest do
+ use Pleroma.DataCase
+
+ import Pleroma.Factory
+ alias Pleroma.Web.Streamer
+ alias Pleroma.Web.Streamer.StreamerSocket
+
+ @moduletag needs_streamer: true
+
+ describe "sockets" do
+ setup do
+ user = insert(:user)
+ user2 = insert(:user)
+ {:ok, %{user: user, user2: user2}}
+ end
+
+ test "it can add a socket", %{user: user} do
+ Streamer.add_socket("public", %{transport_pid: 1, assigns: %{user: user}})
+
+ assert(%{"public" => [%StreamerSocket{transport_pid: 1}]} = Streamer.get_sockets())
+ end
+
+ test "it can add multiple sockets per user", %{user: user} do
+ Streamer.add_socket("public", %{transport_pid: 1, assigns: %{user: user}})
+ Streamer.add_socket("public", %{transport_pid: 2, assigns: %{user: user}})
+
+ assert(
+ %{
+ "public" => [
+ %StreamerSocket{transport_pid: 2},
+ %StreamerSocket{transport_pid: 1}
+ ]
+ } = Streamer.get_sockets()
+ )
+ end
+
+ test "it will not add a duplicate socket", %{user: user} do
+ Streamer.add_socket("activity", %{transport_pid: 1, assigns: %{user: user}})
+ Streamer.add_socket("activity", %{transport_pid: 1, assigns: %{user: user}})
+
+ assert(
+ %{
+ "activity" => [
+ %StreamerSocket{transport_pid: 1}
+ ]
+ } = Streamer.get_sockets()
+ )
+ end
+ end
+end