diff options
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 38 | ||||
| -rw-r--r-- | test/web/activity_pub/publisher_test.exs | 21 | 
2 files changed, 59 insertions, 0 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 1520c8a9b..ad6b9810c 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1623,6 +1623,44 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        assert follow_info.following_count == 32        assert follow_info.hide_follows == true      end + +    test "doesn't crash when follower and following counters are hidden" do +      mock(fn env -> +        case env.url do +          "http://localhost:4001/users/masto_hidden_counters/following" -> +            json(%{ +              "@context" => "https://www.w3.org/ns/activitystreams", +              "id" => "http://localhost:4001/users/masto_hidden_counters/followers" +            }) + +          "http://localhost:4001/users/masto_hidden_counters/following?page=1" -> +            %Tesla.Env{status: 403, body: ""} + +          "http://localhost:4001/users/masto_hidden_counters/followers" -> +            json(%{ +              "@context" => "https://www.w3.org/ns/activitystreams", +              "id" => "http://localhost:4001/users/masto_hidden_counters/following" +            }) + +          "http://localhost:4001/users/masto_hidden_counters/followers?page=1" -> +            %Tesla.Env{status: 403, body: ""} +        end +      end) + +      user = +        insert(:user, +          local: false, +          follower_address: "http://localhost:4001/users/masto_hidden_counters/followers", +          following_address: "http://localhost:4001/users/masto_hidden_counters/following" +        ) + +      {:ok, follow_info} = ActivityPub.fetch_follow_information_for_user(user) + +      assert follow_info.hide_followers == true +      assert follow_info.follower_count == 0 +      assert follow_info.hide_follows == true +      assert follow_info.following_count == 0 +    end    end    describe "fetch_favourites/3" do diff --git a/test/web/activity_pub/publisher_test.exs b/test/web/activity_pub/publisher_test.exs index e885e5a5a..015af19ab 100644 --- a/test/web/activity_pub/publisher_test.exs +++ b/test/web/activity_pub/publisher_test.exs @@ -23,6 +23,27 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do      :ok    end +  describe "gather_webfinger_links/1" do +    test "it returns links" do +      user = insert(:user) + +      expected_links = [ +        %{"href" => user.ap_id, "rel" => "self", "type" => "application/activity+json"}, +        %{ +          "href" => user.ap_id, +          "rel" => "self", +          "type" => "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"" +        }, +        %{ +          "rel" => "http://ostatus.org/schema/1.0/subscribe", +          "template" => "#{Pleroma.Web.base_url()}/ostatus_subscribe?acct={uri}" +        } +      ] + +      assert expected_links == Publisher.gather_webfinger_links(user) +    end +  end +    describe "determine_inbox/2" do      test "it returns sharedInbox for messages involving as:Public in to" do        user =  | 
