diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2019-09-16 17:03:37 +0700 |
---|---|---|
committer | Ariadne Conill <ariadne@dereferenced.org> | 2019-10-04 16:01:31 +0000 |
commit | 7d5f20b50f299c96ccb12c7dd0fdae10c3f8d9c0 (patch) | |
tree | bb293c6a2089da2f8845d36c5f60e5a916c9aecc /test/web/streamer/state_test.exs | |
parent | a553ed542774891b6b0b7a57372a2c0300bbe2ba (diff) | |
download | pleroma-7d5f20b50f299c96ccb12c7dd0fdae10c3f8d9c0.tar.gz pleroma-7d5f20b50f299c96ccb12c7dd0fdae10c3f8d9c0.zip |
Revert "Merge branch 'revert-4fabf83a' into 'develop'"
This reverts commit fe7fd331263007e0fb2877ef7370a09a9704da36, reversing
changes made to 4fabf83ad01352442906d79187aeab4c777f4df8.
Diffstat (limited to 'test/web/streamer/state_test.exs')
-rw-r--r-- | test/web/streamer/state_test.exs | 54 |
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 |