diff options
Diffstat (limited to 'test')
5 files changed, 44 insertions, 2 deletions
| diff --git a/test/pleroma/activity/ir/topics_test.exs b/test/pleroma/activity/ir/topics_test.exs index 4ddcea1ec..5e5c2f8da 100644 --- a/test/pleroma/activity/ir/topics_test.exs +++ b/test/pleroma/activity/ir/topics_test.exs @@ -97,6 +97,20 @@ defmodule Pleroma.Activity.Ir.TopicsTest do        refute Enum.member?(topics, "hashtag:2")      end + +    test "non-local action produces public:remote topic", %{activity: activity} do +      activity = %{activity | local: false, actor: "https://lain.com/users/lain"} +      topics = Topics.get_activity_topics(activity) + +      assert Enum.member?(topics, "public:remote:lain.com") +    end + +    test "local action doesn't produce public:remote topic", %{activity: activity} do +      activity = %{activity | local: true, actor: "https://lain.com/users/lain"} +      topics = Topics.get_activity_topics(activity) + +      refute Enum.member?(topics, "public:remote:lain.com") +    end    end    describe "public visibility create events with attachments" do @@ -128,6 +142,13 @@ defmodule Pleroma.Activity.Ir.TopicsTest do        refute Enum.member?(topics, "public:local:media")      end + +    test "non-local action produces public:remote:media topic", %{activity: activity} do +      activity = %{activity | local: false, actor: "https://lain.com/users/lain"} +      topics = Topics.get_activity_topics(activity) + +      assert Enum.member?(topics, "public:remote:media:lain.com") +    end    end    describe "non-public visibility" do diff --git a/test/pleroma/integration/mastodon_websocket_test.exs b/test/pleroma/integration/mastodon_websocket_test.exs index 0f2e6cc2b..bb8e795b7 100644 --- a/test/pleroma/integration/mastodon_websocket_test.exs +++ b/test/pleroma/integration/mastodon_websocket_test.exs @@ -49,6 +49,7 @@ defmodule Pleroma.Integration.MastodonWebsocketTest do    test "allows public streams without authentication" do      assert {:ok, _} = start_socket("?stream=public")      assert {:ok, _} = start_socket("?stream=public:local") +    assert {:ok, _} = start_socket("?stream=public:remote&instance=lain.com")      assert {:ok, _} = start_socket("?stream=hashtag&tag=lain")    end diff --git a/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs b/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs index 74140b7bc..c06ae55ca 100644 --- a/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs @@ -844,8 +844,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do    describe "instances" do      test "GET /instances/:instance/statuses", %{conn: conn} do -      user = insert(:user, local: false, nickname: "archaeme@archae.me") -      user2 = insert(:user, local: false, nickname: "test@test.com") +      user = insert(:user, local: false, ap_id: "https://archae.me/users/archaeme") +      user2 = insert(:user, local: false, ap_id: "https://test.com/users/test")        insert_pair(:note_activity, user: user)        activity = insert(:note_activity, user: user2) diff --git a/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs index 9f1ee0424..4c08ad60a 100644 --- a/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs @@ -147,6 +147,18 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        activities = json_response_and_validate_schema(res_conn, 200)        [%{"id" => ^activity_id}] = activities      end + +    test "can be filtered by instance", %{conn: conn} do +      user = insert(:user, ap_id: "https://lain.com/users/lain") +      insert(:note_activity, local: false) +      insert(:note_activity, local: false) + +      {:ok, _} = CommonAPI.post(user, %{status: "test"}) + +      conn = get(conn, "/api/v1/timelines/public?instance=lain.com") + +      assert length(json_response_and_validate_schema(conn, :ok)) == 1 +    end    end    defp local_and_remote_activities do diff --git a/test/pleroma/web/streamer_test.exs b/test/pleroma/web/streamer_test.exs index 395016da2..0d89e01d0 100644 --- a/test/pleroma/web/streamer_test.exs +++ b/test/pleroma/web/streamer_test.exs @@ -29,6 +29,14 @@ defmodule Pleroma.Web.StreamerTest do        assert {:ok, "public:local:media"} = Streamer.get_topic("public:local:media", nil, nil)      end +    test "allows instance streams" do +      assert {:ok, "public:remote:lain.com"} = +               Streamer.get_topic("public:remote", nil, nil, %{"instance" => "lain.com"}) + +      assert {:ok, "public:remote:media:lain.com"} = +               Streamer.get_topic("public:remote:media", nil, nil, %{"instance" => "lain.com"}) +    end +      test "allows hashtag streams" do        assert {:ok, "hashtag:cofe"} = Streamer.get_topic("hashtag", nil, nil, %{"tag" => "cofe"})      end | 
