diff options
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 6 | ||||
| -rw-r--r-- | test/web/activity_pub/relay_test.exs | 4 | ||||
| -rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 28 | ||||
| -rw-r--r-- | test/web/activity_pub/visibilty_test.exs | 3 | 
4 files changed, 31 insertions, 10 deletions
| diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 4bb6333c0..0e5eb0c50 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -693,7 +693,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      {:ok, announce, _object} = CommonAPI.repeat(activity_three.id, booster) -    [announce_activity] = ActivityPub.fetch_activities([user.ap_id | user.following]) +    [announce_activity] = ActivityPub.fetch_activities([user.ap_id | User.following(user)])      assert announce_activity.id == announce.id    end @@ -1219,7 +1219,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do          })        activities = -        ActivityPub.fetch_activities([user1.ap_id | user1.following]) +        ActivityPub.fetch_activities([user1.ap_id | User.following(user1)])          |> Enum.map(fn a -> a.id end)        private_activity_1 = Activity.get_by_ap_id_with_object(private_activity_1.data["id"]) @@ -1229,7 +1229,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        assert length(activities) == 3        activities = -        ActivityPub.fetch_activities([user1.ap_id | user1.following], %{"user" => user1}) +        ActivityPub.fetch_activities([user1.ap_id | User.following(user1)], %{"user" => user1})          |> Enum.map(fn a -> a.id end)        assert [public_activity.id, private_activity_1.id] == activities diff --git a/test/web/activity_pub/relay_test.exs b/test/web/activity_pub/relay_test.exs index ac2007b2c..98dc78f46 100644 --- a/test/web/activity_pub/relay_test.exs +++ b/test/web/activity_pub/relay_test.exs @@ -56,14 +56,14 @@ defmodule Pleroma.Web.ActivityPub.RelayTest do        service_actor = Relay.get_actor()        ActivityPub.follow(service_actor, user)        Pleroma.User.follow(service_actor, user) -      assert "#{user.ap_id}/followers" in refresh_record(service_actor).following +      assert "#{user.ap_id}/followers" in User.following(service_actor)        assert {:ok, %Activity{} = activity} = Relay.unfollow(user.ap_id)        assert activity.actor == "#{Pleroma.Web.Endpoint.url()}/relay"        assert user.ap_id in activity.recipients        assert activity.data["type"] == "Undo"        assert activity.data["actor"] == service_actor.ap_id        assert activity.data["to"] == [user.ap_id] -      refute "#{user.ap_id}/followers" in refresh_record(service_actor).following +      refute "#{user.ap_id}/followers" in User.following(service_actor)      end    end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index ae56f8494..d920b969a 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -720,7 +720,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        assert capture_log(fn ->                 :error = Transmogrifier.handle_incoming(data)               end) =~ -               "[error] Could not decode user at fetch http://mastodon.example.org/users/gargron, {:error, {:error, :nxdomain}}" +               "[error] Could not decode user at fetch http://mastodon.example.org/users/gargron, {:error, :nxdomain}"        assert Activity.get_by_id(activity.id)      end @@ -804,6 +804,25 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        refute User.following?(User.get_cached_by_ap_id(data["actor"]), user)      end +    test "it works for incoming follows to locked account" do +      pending_follower = insert(:user, ap_id: "http://mastodon.example.org/users/admin") +      user = insert(:user, locked: true) + +      data = +        File.read!("test/fixtures/mastodon-follow-activity.json") +        |> Poison.decode!() +        |> Map.put("object", user.ap_id) + +      {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + +      assert data["type"] == "Follow" +      assert data["object"] == user.ap_id +      assert data["state"] == "pending" +      assert data["actor"] == "http://mastodon.example.org/users/admin" + +      assert [^pending_follower] = User.get_follow_requests(user) +    end +      test "it works for incoming blocks" do        user = insert(:user) @@ -1334,7 +1353,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do            follower_address: User.ap_followers(%User{nickname: "rye@niu.moe"})          }) -      user_two = insert(:user, %{following: [user.follower_address]}) +      user_two = insert(:user) +      Pleroma.FollowingRelationship.follow(user_two, user, "accept")        {:ok, activity} = CommonAPI.post(user, %{"status" => "test"})        {:ok, unrelated_activity} = CommonAPI.post(user_two, %{"status" => "test"}) @@ -1381,8 +1401,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        refute user.follower_address in unrelated_activity.recipients        user_two = User.get_cached_by_id(user_two.id) -      assert user.follower_address in user_two.following -      refute "..." in user_two.following +      assert User.following?(user_two, user) +      refute "..." in User.following(user_two)      end    end diff --git a/test/web/activity_pub/visibilty_test.exs b/test/web/activity_pub/visibilty_test.exs index b62a89e68..4c2e0d207 100644 --- a/test/web/activity_pub/visibilty_test.exs +++ b/test/web/activity_pub/visibilty_test.exs @@ -212,7 +212,8 @@ defmodule Pleroma.Web.ActivityPub.VisibilityTest do      test "returns true if user following to author" do        author = insert(:user) -      user = insert(:user, following: [author.ap_id]) +      user = insert(:user) +      Pleroma.User.follow(user, author)        activity =          insert(:note_activity, | 
