diff options
| author | Egor Kislitsyn <egor@kislitsyn.com> | 2020-05-05 14:28:54 +0400 |
|---|---|---|
| committer | Egor Kislitsyn <egor@kislitsyn.com> | 2020-05-05 14:28:54 +0400 |
| commit | decaa64f75f8bd69622fa5fba757f99719f09808 (patch) | |
| tree | 52d3bfc7318230beae31865c7f0a12e02b7f68b5 /test/web/activity_pub/activity_pub_test.exs | |
| parent | 764b4f95a8e9e751d5a6136fc2be44d61a082443 (diff) | |
| parent | c297667f16db40654bb16608c01dc4a2dc7c0e4b (diff) | |
| download | pleroma-decaa64f75f8bd69622fa5fba757f99719f09808.tar.gz pleroma-decaa64f75f8bd69622fa5fba757f99719f09808.zip | |
Merge branch 'develop' into global-status-expiration
Diffstat (limited to 'test/web/activity_pub/activity_pub_test.exs')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 7f864eb53..8d2e9844b 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -18,9 +18,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do alias Pleroma.Web.CommonAPI alias Pleroma.Web.Federator + import ExUnit.CaptureLog + import Mock import Pleroma.Factory import Tesla.Mock - import Mock setup do mock(fn env -> apply(HttpRequestMock, :request, [env]) end) @@ -2404,6 +2405,53 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do u4: %{r1: r4_1.id}} end + describe "maybe_update_follow_information/1" do + setup do + clear_config([:instance, :external_user_synchronization], true) + + user = %{ + local: false, + ap_id: "https://gensokyo.2hu/users/raymoo", + following_address: "https://gensokyo.2hu/users/following", + follower_address: "https://gensokyo.2hu/users/followers", + type: "Person" + } + + %{user: user} + end + + test "logs an error when it can't fetch the info", %{user: user} do + assert capture_log(fn -> + ActivityPub.maybe_update_follow_information(user) + end) =~ "Follower/Following counter update for #{user.ap_id} failed" + end + + test "just returns the input if the user type is Application", %{ + user: user + } do + user = + user + |> Map.put(:type, "Application") + + refute capture_log(fn -> + assert ^user = ActivityPub.maybe_update_follow_information(user) + end) =~ "Follower/Following counter update for #{user.ap_id} failed" + end + + test "it just returns the input if the user has no following/follower addresses", %{ + user: user + } do + user = + user + |> Map.put(:following_address, nil) + |> Map.put(:follower_address, nil) + + refute capture_log(fn -> + assert ^user = ActivityPub.maybe_update_follow_information(user) + end) =~ "Follower/Following counter update for #{user.ap_id} failed" + end + end + describe "global activity expiration" do setup do: clear_config([:instance, :rewrite_policy]) |
