diff options
| author | Maksim Pechnikov <parallel588@gmail.com> | 2019-12-08 20:14:28 +0300 | 
|---|---|---|
| committer | Maksim Pechnikov <parallel588@gmail.com> | 2019-12-08 20:14:28 +0300 | 
| commit | 6fbafb1cdcba3dc2a7e8b9718e295c9811a726d9 (patch) | |
| tree | 6b8e22663fd5b6d5cdf3afaa4b306775d59b503a /test | |
| parent | 49bb0a130f93476d32d3177d7a989b7a98a063f2 (diff) | |
| parent | af5fef1f228a1781d7d9cad490d3b3a783389f5e (diff) | |
| download | pleroma-6fbafb1cdcba3dc2a7e8b9718e295c9811a726d9.tar.gz pleroma-6fbafb1cdcba3dc2a7e8b9718e295c9811a726d9.zip | |
Merge branch 'develop' into issue/1276
Diffstat (limited to 'test')
23 files changed, 503 insertions, 140 deletions
| diff --git a/test/conversation/participation_test.exs b/test/conversation/participation_test.exs index 863270022..9b2c97963 100644 --- a/test/conversation/participation_test.exs +++ b/test/conversation/participation_test.exs @@ -252,7 +252,7 @@ defmodule Pleroma.Conversation.ParticipationTest do        assert User.get_cached_by_id(blocker.id).unread_conversation_count == 4 -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        # The conversations with the blocked user are marked as read        assert [%{read: true}, %{read: true}, %{read: true}, %{read: false}] = @@ -274,7 +274,7 @@ defmodule Pleroma.Conversation.ParticipationTest do        blocked = insert(:user)        third_user = insert(:user) -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        # When the blocked user is the author        {:ok, _direct1} = @@ -311,7 +311,7 @@ defmodule Pleroma.Conversation.ParticipationTest do            "visibility" => "direct"          }) -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        assert [%{read: true}] = Participation.for_user(blocker)        assert User.get_cached_by_id(blocker.id).unread_conversation_count == 0 diff --git a/test/notification_test.exs b/test/notification_test.exs index 8db349526..80a69d4df 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -96,7 +96,7 @@ defmodule Pleroma.NotificationTest do        activity = insert(:note_activity)        author = User.get_cached_by_ap_id(activity.data["actor"])        user = insert(:user) -      {:ok, user} = User.block(user, author) +      {:ok, _user_relationship} = User.block(user, author)        assert Notification.create_notification(activity, user)      end @@ -115,7 +115,7 @@ defmodule Pleroma.NotificationTest do        muter = insert(:user)        muted = insert(:user) -      {:ok, muter} = User.mute(muter, muted, false) +      {:ok, _user_relationships} = User.mute(muter, muted, false)        {:ok, activity} = CommonAPI.post(muted, %{"status" => "Hi @#{muter.nickname}"}) @@ -653,13 +653,17 @@ defmodule Pleroma.NotificationTest do        Pleroma.Web.ActivityPub.ActivityPub.move(old_user, new_user)        ObanHelpers.perform_all() +      assert [] = Notification.for_user(follower) +        assert [                 %{                   activity: %{                     data: %{"type" => "Move", "actor" => ^old_ap_id, "target" => ^new_ap_id}                   }                 } -             ] = Notification.for_user(follower) +             ] = Notification.for_user(follower, %{with_move: true}) + +      assert [] = Notification.for_user(other_follower)        assert [                 %{ @@ -667,7 +671,7 @@ defmodule Pleroma.NotificationTest do                     data: %{"type" => "Move", "actor" => ^old_ap_id, "target" => ^new_ap_id}                   }                 } -             ] = Notification.for_user(other_follower) +             ] = Notification.for_user(other_follower, %{with_move: true})      end    end @@ -675,7 +679,7 @@ defmodule Pleroma.NotificationTest do      test "it returns notifications for muted user without notifications" do        user = insert(:user)        muted = insert(:user) -      {:ok, user} = User.mute(user, muted, false) +      {:ok, _user_relationships} = User.mute(user, muted, false)        {:ok, _activity} = CommonAPI.post(muted, %{"status" => "hey @#{user.nickname}"}) @@ -685,7 +689,7 @@ defmodule Pleroma.NotificationTest do      test "it doesn't return notifications for muted user with notifications" do        user = insert(:user)        muted = insert(:user) -      {:ok, user} = User.mute(user, muted) +      {:ok, _user_relationships} = User.mute(user, muted)        {:ok, _activity} = CommonAPI.post(muted, %{"status" => "hey @#{user.nickname}"}) @@ -695,7 +699,7 @@ defmodule Pleroma.NotificationTest do      test "it doesn't return notifications for blocked user" do        user = insert(:user)        blocked = insert(:user) -      {:ok, user} = User.block(user, blocked) +      {:ok, _user_relationship} = User.block(user, blocked)        {:ok, _activity} = CommonAPI.post(blocked, %{"status" => "hey @#{user.nickname}"}) @@ -725,7 +729,7 @@ defmodule Pleroma.NotificationTest do      test "it returns notifications from a muted user when with_muted is set" do        user = insert(:user)        muted = insert(:user) -      {:ok, user} = User.mute(user, muted) +      {:ok, _user_relationships} = User.mute(user, muted)        {:ok, _activity} = CommonAPI.post(muted, %{"status" => "hey @#{user.nickname}"}) @@ -735,7 +739,7 @@ defmodule Pleroma.NotificationTest do      test "it doesn't return notifications from a blocked user when with_muted is set" do        user = insert(:user)        blocked = insert(:user) -      {:ok, user} = User.block(user, blocked) +      {:ok, _user_relationship} = User.block(user, blocked)        {:ok, _activity} = CommonAPI.post(blocked, %{"status" => "hey @#{user.nickname}"}) diff --git a/test/support/channel_case.ex b/test/support/channel_case.ex index 466d8986f..4a4585844 100644 --- a/test/support/channel_case.ex +++ b/test/support/channel_case.ex @@ -23,6 +23,7 @@ defmodule Pleroma.Web.ChannelCase do      quote do        # Import conveniences for testing with channels        use Phoenix.ChannelTest +      use Pleroma.Tests.Helpers        # The default endpoint for testing        @endpoint Pleroma.Web.Endpoint diff --git a/test/support/factory.ex b/test/support/factory.ex index bb8a64e72..35ba523a1 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -42,6 +42,18 @@ defmodule Pleroma.Factory do      }    end +  def user_relationship_factory(attrs \\ %{}) do +    source = attrs[:source] || insert(:user) +    target = attrs[:target] || insert(:user) +    relationship_type = attrs[:relationship_type] || :block + +    %Pleroma.UserRelationship{ +      source_id: source.id, +      target_id: target.id, +      relationship_type: relationship_type +    } +  end +    def note_factory(attrs \\ %{}) do      text = sequence(:text, &"This is :moominmamma: note #{&1}") diff --git a/test/support/helpers.ex b/test/support/helpers.ex index ce39dd9d8..af2b2eddf 100644 --- a/test/support/helpers.ex +++ b/test/support/helpers.ex @@ -75,6 +75,23 @@ defmodule Pleroma.Tests.Helpers do          |> Poison.decode!()        end +      def stringify_keys(nil), do: nil + +      def stringify_keys(key) when key in [true, false], do: key +      def stringify_keys(key) when is_atom(key), do: Atom.to_string(key) + +      def stringify_keys(map) when is_map(map) do +        map +        |> Enum.map(fn {k, v} -> {stringify_keys(k), stringify_keys(v)} end) +        |> Enum.into(%{}) +      end + +      def stringify_keys([head | rest] = list) when is_list(list) do +        [stringify_keys(head) | stringify_keys(rest)] +      end + +      def stringify_keys(key), do: key +        defmacro guards_config(config_path) do          quote do            initial_setting = Pleroma.Config.get(config_path) diff --git a/test/user_relationship_test.exs b/test/user_relationship_test.exs new file mode 100644 index 000000000..437450bc3 --- /dev/null +++ b/test/user_relationship_test.exs @@ -0,0 +1,130 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.UserRelationshipTest do +  alias Pleroma.UserRelationship + +  use Pleroma.DataCase + +  import Pleroma.Factory + +  describe "*_exists?/2" do +    setup do +      {:ok, users: insert_list(2, :user)} +    end + +    test "returns false if record doesn't exist", %{users: [user1, user2]} do +      refute UserRelationship.block_exists?(user1, user2) +      refute UserRelationship.mute_exists?(user1, user2) +      refute UserRelationship.notification_mute_exists?(user1, user2) +      refute UserRelationship.reblog_mute_exists?(user1, user2) +      refute UserRelationship.inverse_subscription_exists?(user1, user2) +    end + +    test "returns true if record exists", %{users: [user1, user2]} do +      for relationship_type <- [ +            :block, +            :mute, +            :notification_mute, +            :reblog_mute, +            :inverse_subscription +          ] do +        insert(:user_relationship, +          source: user1, +          target: user2, +          relationship_type: relationship_type +        ) +      end + +      assert UserRelationship.block_exists?(user1, user2) +      assert UserRelationship.mute_exists?(user1, user2) +      assert UserRelationship.notification_mute_exists?(user1, user2) +      assert UserRelationship.reblog_mute_exists?(user1, user2) +      assert UserRelationship.inverse_subscription_exists?(user1, user2) +    end +  end + +  describe "create_*/2" do +    setup do +      {:ok, users: insert_list(2, :user)} +    end + +    test "creates user relationship record if it doesn't exist", %{users: [user1, user2]} do +      for relationship_type <- [ +            :block, +            :mute, +            :notification_mute, +            :reblog_mute, +            :inverse_subscription +          ] do +        insert(:user_relationship, +          source: user1, +          target: user2, +          relationship_type: relationship_type +        ) +      end + +      UserRelationship.create_block(user1, user2) +      UserRelationship.create_mute(user1, user2) +      UserRelationship.create_notification_mute(user1, user2) +      UserRelationship.create_reblog_mute(user1, user2) +      UserRelationship.create_inverse_subscription(user1, user2) + +      assert UserRelationship.block_exists?(user1, user2) +      assert UserRelationship.mute_exists?(user1, user2) +      assert UserRelationship.notification_mute_exists?(user1, user2) +      assert UserRelationship.reblog_mute_exists?(user1, user2) +      assert UserRelationship.inverse_subscription_exists?(user1, user2) +    end + +    test "if record already exists, returns it", %{users: [user1, user2]} do +      user_block = UserRelationship.create_block(user1, user2) +      assert user_block == UserRelationship.create_block(user1, user2) +    end +  end + +  describe "delete_*/2" do +    setup do +      {:ok, users: insert_list(2, :user)} +    end + +    test "deletes user relationship record if it exists", %{users: [user1, user2]} do +      for relationship_type <- [ +            :block, +            :mute, +            :notification_mute, +            :reblog_mute, +            :inverse_subscription +          ] do +        insert(:user_relationship, +          source: user1, +          target: user2, +          relationship_type: relationship_type +        ) +      end + +      assert {:ok, %UserRelationship{}} = UserRelationship.delete_block(user1, user2) +      assert {:ok, %UserRelationship{}} = UserRelationship.delete_mute(user1, user2) +      assert {:ok, %UserRelationship{}} = UserRelationship.delete_notification_mute(user1, user2) +      assert {:ok, %UserRelationship{}} = UserRelationship.delete_reblog_mute(user1, user2) + +      assert {:ok, %UserRelationship{}} = +               UserRelationship.delete_inverse_subscription(user1, user2) + +      refute UserRelationship.block_exists?(user1, user2) +      refute UserRelationship.mute_exists?(user1, user2) +      refute UserRelationship.notification_mute_exists?(user1, user2) +      refute UserRelationship.reblog_mute_exists?(user1, user2) +      refute UserRelationship.inverse_subscription_exists?(user1, user2) +    end + +    test "if record does not exist, returns {:ok, nil}", %{users: [user1, user2]} do +      assert {:ok, nil} = UserRelationship.delete_block(user1, user2) +      assert {:ok, nil} = UserRelationship.delete_mute(user1, user2) +      assert {:ok, nil} = UserRelationship.delete_notification_mute(user1, user2) +      assert {:ok, nil} = UserRelationship.delete_reblog_mute(user1, user2) +      assert {:ok, nil} = UserRelationship.delete_inverse_subscription(user1, user2) +    end +  end +end diff --git a/test/user_test.exs b/test/user_test.exs index c345e43e9..bfa8faafa 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -44,6 +44,56 @@ defmodule Pleroma.UserTest do      end    end +  describe "AP ID user relationships" do +    setup do +      {:ok, user: insert(:user)} +    end + +    test "outgoing_relations_ap_ids/1", %{user: user} do +      rel_types = [:block, :mute, :notification_mute, :reblog_mute, :inverse_subscription] + +      ap_ids_by_rel = +        Enum.into( +          rel_types, +          %{}, +          fn rel_type -> +            rel_records = +              insert_list(2, :user_relationship, %{source: user, relationship_type: rel_type}) + +            ap_ids = Enum.map(rel_records, fn rr -> Repo.preload(rr, :target).target.ap_id end) +            {rel_type, Enum.sort(ap_ids)} +          end +        ) + +      assert ap_ids_by_rel[:block] == Enum.sort(User.blocked_users_ap_ids(user)) +      assert ap_ids_by_rel[:block] == Enum.sort(Enum.map(User.blocked_users(user), & &1.ap_id)) + +      assert ap_ids_by_rel[:mute] == Enum.sort(User.muted_users_ap_ids(user)) +      assert ap_ids_by_rel[:mute] == Enum.sort(Enum.map(User.muted_users(user), & &1.ap_id)) + +      assert ap_ids_by_rel[:notification_mute] == +               Enum.sort(User.notification_muted_users_ap_ids(user)) + +      assert ap_ids_by_rel[:notification_mute] == +               Enum.sort(Enum.map(User.notification_muted_users(user), & &1.ap_id)) + +      assert ap_ids_by_rel[:reblog_mute] == Enum.sort(User.reblog_muted_users_ap_ids(user)) + +      assert ap_ids_by_rel[:reblog_mute] == +               Enum.sort(Enum.map(User.reblog_muted_users(user), & &1.ap_id)) + +      assert ap_ids_by_rel[:inverse_subscription] == Enum.sort(User.subscriber_users_ap_ids(user)) + +      assert ap_ids_by_rel[:inverse_subscription] == +               Enum.sort(Enum.map(User.subscriber_users(user), & &1.ap_id)) + +      outgoing_relations_ap_ids = User.outgoing_relations_ap_ids(user, rel_types) + +      assert ap_ids_by_rel == +               Enum.into(outgoing_relations_ap_ids, %{}, fn {k, v} -> {k, Enum.sort(v)} end) +    end +  end +    describe "when tags are nil" do      test "tagging a user" do        user = insert(:user, %{tags: nil}) @@ -119,7 +169,7 @@ defmodule Pleroma.UserTest do      CommonAPI.follow(follower, followed)      assert [_activity] = User.get_follow_requests(followed) -    {:ok, _follower} = User.block(followed, follower) +    {:ok, _user_relationship} = User.block(followed, follower)      assert [] = User.get_follow_requests(followed)    end @@ -132,8 +182,8 @@ defmodule Pleroma.UserTest do      not_followed = insert(:user)      reverse_blocked = insert(:user) -    {:ok, user} = User.block(user, blocked) -    {:ok, reverse_blocked} = User.block(reverse_blocked, user) +    {:ok, _user_relationship} = User.block(user, blocked) +    {:ok, _user_relationship} = User.block(reverse_blocked, user)      {:ok, user} = User.follow(user, followed_zero) @@ -186,7 +236,7 @@ defmodule Pleroma.UserTest do      blocker = insert(:user)      blockee = insert(:user) -    {:ok, blocker} = User.block(blocker, blockee) +    {:ok, _user_relationship} = User.block(blocker, blockee)      {:error, _} = User.follow(blockee, blocker)    end @@ -195,7 +245,7 @@ defmodule Pleroma.UserTest do      blocker = insert(:user)      blocked = insert(:user) -    {:ok, blocker} = User.block(blocker, blocked) +    {:ok, _user_relationship} = User.block(blocker, blocked)      {:error, _} = User.subscribe(blocked, blocker)    end @@ -678,7 +728,7 @@ defmodule Pleroma.UserTest do        refute User.mutes?(user, muted_user)        refute User.muted_notifications?(user, muted_user) -      {:ok, user} = User.mute(user, muted_user) +      {:ok, _user_relationships} = User.mute(user, muted_user)        assert User.mutes?(user, muted_user)        assert User.muted_notifications?(user, muted_user) @@ -688,8 +738,8 @@ defmodule Pleroma.UserTest do        user = insert(:user)        muted_user = insert(:user) -      {:ok, user} = User.mute(user, muted_user) -      {:ok, user} = User.unmute(user, muted_user) +      {:ok, _user_relationships} = User.mute(user, muted_user) +      {:ok, _user_mute} = User.unmute(user, muted_user)        refute User.mutes?(user, muted_user)        refute User.muted_notifications?(user, muted_user) @@ -702,7 +752,7 @@ defmodule Pleroma.UserTest do        refute User.mutes?(user, muted_user)        refute User.muted_notifications?(user, muted_user) -      {:ok, user} = User.mute(user, muted_user, false) +      {:ok, _user_relationships} = User.mute(user, muted_user, false)        assert User.mutes?(user, muted_user)        refute User.muted_notifications?(user, muted_user) @@ -716,7 +766,7 @@ defmodule Pleroma.UserTest do        refute User.blocks?(user, blocked_user) -      {:ok, user} = User.block(user, blocked_user) +      {:ok, _user_relationship} = User.block(user, blocked_user)        assert User.blocks?(user, blocked_user)      end @@ -725,8 +775,8 @@ defmodule Pleroma.UserTest do        user = insert(:user)        blocked_user = insert(:user) -      {:ok, user} = User.block(user, blocked_user) -      {:ok, user} = User.unblock(user, blocked_user) +      {:ok, _user_relationship} = User.block(user, blocked_user) +      {:ok, _user_block} = User.unblock(user, blocked_user)        refute User.blocks?(user, blocked_user)      end @@ -741,7 +791,7 @@ defmodule Pleroma.UserTest do        assert User.following?(blocker, blocked)        assert User.following?(blocked, blocker) -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        blocked = User.get_cached_by_id(blocked.id)        assert User.blocks?(blocker, blocked) @@ -759,7 +809,7 @@ defmodule Pleroma.UserTest do        assert User.following?(blocker, blocked)        refute User.following?(blocked, blocker) -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        blocked = User.get_cached_by_id(blocked.id)        assert User.blocks?(blocker, blocked) @@ -777,7 +827,7 @@ defmodule Pleroma.UserTest do        refute User.following?(blocker, blocked)        assert User.following?(blocked, blocker) -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        blocked = User.get_cached_by_id(blocked.id)        assert User.blocks?(blocker, blocked) @@ -790,12 +840,12 @@ defmodule Pleroma.UserTest do        blocker = insert(:user)        blocked = insert(:user) -      {:ok, blocker} = User.subscribe(blocked, blocker) +      {:ok, _subscription} = User.subscribe(blocked, blocker)        assert User.subscribed_to?(blocked, blocker)        refute User.subscribed_to?(blocker, blocked) -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        assert User.blocks?(blocker, blocked)        refute User.subscribed_to?(blocker, blocked) @@ -1324,7 +1374,8 @@ defmodule Pleroma.UserTest do      {:ok, _follower2} = User.follow(follower2, user)      {:ok, _follower3} = User.follow(follower3, user) -    {:ok, user} = User.block(user, follower) +    {:ok, _user_relationship} = User.block(user, follower) +    user = refresh_record(user)      assert user.follower_count == 2    end diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 1aa73d75c..ba2ce1dd9 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -298,7 +298,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do        assert json_response(conn1, :ok)        assert Enum.any?(conn1.resp_headers, &(&1 == {"x-cache", "MISS from Pleroma"})) -      Activity.delete_by_ap_id(activity.object.data["id"]) +      Activity.delete_all_by_object_ap_id(activity.object.data["id"])        conn2 =          conn diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 2677b9e36..97844a407 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -487,7 +487,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        activity_five = insert(:note_activity)        user = insert(:user) -      {:ok, user} = User.block(user, %{ap_id: activity_five.data["actor"]}) +      {:ok, _user_relationship} = User.block(user, %{ap_id: activity_five.data["actor"]})        activities = ActivityPub.fetch_activities_for_context("2hu", %{"blocking_user" => user})        assert activities == [activity_two, activity] @@ -500,7 +500,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      activity_three = insert(:note_activity)      user = insert(:user)      booster = insert(:user) -    {:ok, user} = User.block(user, %{ap_id: activity_one.data["actor"]}) +    {:ok, _user_relationship} = User.block(user, %{ap_id: activity_one.data["actor"]})      activities =        ActivityPub.fetch_activities([], %{"blocking_user" => user, "skip_preload" => true}) @@ -509,7 +509,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      assert Enum.member?(activities, activity_three)      refute Enum.member?(activities, activity_one) -    {:ok, user} = User.unblock(user, %{ap_id: activity_one.data["actor"]}) +    {:ok, _user_block} = User.unblock(user, %{ap_id: activity_one.data["actor"]})      activities =        ActivityPub.fetch_activities([], %{"blocking_user" => user, "skip_preload" => true}) @@ -518,7 +518,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      assert Enum.member?(activities, activity_three)      assert Enum.member?(activities, activity_one) -    {:ok, user} = User.block(user, %{ap_id: activity_three.data["actor"]}) +    {:ok, _user_relationship} = User.block(user, %{ap_id: activity_three.data["actor"]})      {:ok, _announce, %{data: %{"id" => id}}} = CommonAPI.repeat(activity_three.id, booster)      %Activity{} = boost_activity = Activity.get_create_by_object_ap_id(id)      activity_three = Activity.get_by_id(activity_three.id) @@ -545,7 +545,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      blockee = insert(:user)      friend = insert(:user) -    {:ok, blocker} = User.block(blocker, blockee) +    {:ok, _user_relationship} = User.block(blocker, blockee)      {:ok, activity_one} = CommonAPI.post(friend, %{"status" => "hey!"}) @@ -568,7 +568,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      blockee = insert(:user)      friend = insert(:user) -    {:ok, blocker} = User.block(blocker, blockee) +    {:ok, _user_relationship} = User.block(blocker, blockee)      {:ok, activity_one} = CommonAPI.post(friend, %{"status" => "hey!"}) @@ -614,7 +614,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      activity_three = insert(:note_activity)      user = insert(:user)      booster = insert(:user) -    {:ok, user} = User.mute(user, %User{ap_id: activity_one.data["actor"]}) + +    activity_one_actor = User.get_by_ap_id(activity_one.data["actor"]) +    {:ok, _user_relationships} = User.mute(user, activity_one_actor)      activities =        ActivityPub.fetch_activities([], %{"muting_user" => user, "skip_preload" => true}) @@ -635,7 +637,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      assert Enum.member?(activities, activity_three)      assert Enum.member?(activities, activity_one) -    {:ok, user} = User.unmute(user, %User{ap_id: activity_one.data["actor"]}) +    {:ok, _user_mute} = User.unmute(user, activity_one_actor)      activities =        ActivityPub.fetch_activities([], %{"muting_user" => user, "skip_preload" => true}) @@ -644,7 +646,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      assert Enum.member?(activities, activity_three)      assert Enum.member?(activities, activity_one) -    {:ok, user} = User.mute(user, %User{ap_id: activity_three.data["actor"]}) +    activity_three_actor = User.get_by_ap_id(activity_three.data["actor"]) +    {:ok, _user_relationships} = User.mute(user, activity_three_actor)      {:ok, _announce, %{data: %{"id" => id}}} = CommonAPI.repeat(activity_three.id, booster)      %Activity{} = boost_activity = Activity.get_create_by_object_ap_id(id)      activity_three = Activity.get_by_id(activity_three.id) @@ -791,7 +794,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        activity = insert(:note_activity)        user = insert(:user)        booster = insert(:user) -      {:ok, user} = CommonAPI.hide_reblogs(user, booster) +      {:ok, _reblog_mute} = CommonAPI.hide_reblogs(user, booster)        {:ok, activity, _} = CommonAPI.repeat(activity.id, booster) @@ -804,8 +807,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        activity = insert(:note_activity)        user = insert(:user)        booster = insert(:user) -      {:ok, user} = CommonAPI.hide_reblogs(user, booster) -      {:ok, user} = CommonAPI.show_reblogs(user, booster) +      {:ok, _reblog_mute} = CommonAPI.hide_reblogs(user, booster) +      {:ok, _reblog_mute} = CommonAPI.show_reblogs(user, booster)        {:ok, activity, _} = CommonAPI.repeat(activity.id, booster) @@ -1256,6 +1259,21 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 0      end + +    test "it passes delete activity through MRF before deleting the object" do +      rewrite_policy = Pleroma.Config.get([:instance, :rewrite_policy]) +      Pleroma.Config.put([:instance, :rewrite_policy], Pleroma.Web.ActivityPub.MRF.DropPolicy) + +      on_exit(fn -> Pleroma.Config.put([:instance, :rewrite_policy], rewrite_policy) end) + +      note = insert(:note_activity) +      object = Object.normalize(note) + +      {:error, {:reject, _}} = ActivityPub.delete(object) + +      assert Activity.get_by_id(note.id) +      assert Repo.get(Object, object.id).data["type"] == object.data["type"] +    end    end    describe "timeline post-processing" do @@ -1619,10 +1637,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        activity = %Activity{activity | object: nil}        assert [%Notification{activity: ^activity}] = -               Notification.for_user_since(follower, ~N[2019-04-13 11:22:33]) +               Notification.for_user(follower, %{with_move: true})        assert [%Notification{activity: ^activity}] = -               Notification.for_user_since(follower_move_opted_out, ~N[2019-04-13 11:22:33]) +               Notification.for_user(follower_move_opted_out, %{with_move: true})      end      test "old user must be in the new user's `also_known_as` list" do diff --git a/test/web/activity_pub/transmogrifier/follow_handling_test.exs b/test/web/activity_pub/transmogrifier/follow_handling_test.exs index 75cfbea2e..7d6d0814d 100644 --- a/test/web/activity_pub/transmogrifier/follow_handling_test.exs +++ b/test/web/activity_pub/transmogrifier/follow_handling_test.exs @@ -128,7 +128,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.FollowHandlingTest do        user = insert(:user)        {:ok, target} = User.get_or_fetch("http://mastodon.example.org/users/admin") -      {:ok, user} = User.block(user, target) +      {:ok, _user_relationship} = User.block(user, target)        data =          File.read!("test/fixtures/mastodon-follow-activity.json") diff --git a/test/web/activity_pub/utils_test.exs b/test/web/activity_pub/utils_test.exs index 1feb076ba..586eb1d2f 100644 --- a/test/web/activity_pub/utils_test.exs +++ b/test/web/activity_pub/utils_test.exs @@ -636,47 +636,4 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        assert updated_object.data["announcement_count"] == 1      end    end - -  describe "get_reports_grouped_by_status/1" do -    setup do -      [reporter, target_user] = insert_pair(:user) -      first_status = insert(:note_activity, user: target_user) -      second_status = insert(:note_activity, user: target_user) - -      CommonAPI.report(reporter, %{ -        "account_id" => target_user.id, -        "comment" => "I feel offended", -        "status_ids" => [first_status.id] -      }) - -      CommonAPI.report(reporter, %{ -        "account_id" => target_user.id, -        "comment" => "I feel offended2", -        "status_ids" => [second_status.id] -      }) - -      data = [%{activity: first_status.data["id"]}, %{activity: second_status.data["id"]}] - -      {:ok, -       %{ -         first_status: first_status, -         second_status: second_status, -         data: data -       }} -    end - -    test "works for deprecated reports format", %{ -      first_status: first_status, -      second_status: second_status, -      data: data -    } do -      groups = Utils.get_reports_grouped_by_status(data).groups - -      first_group = Enum.find(groups, &(&1.status.id == first_status.data["id"])) -      second_group = Enum.find(groups, &(&1.status.id == second_status.data["id"])) - -      assert first_group.status.id == first_status.data["id"] -      assert second_group.status.id == second_status.data["id"] -    end -  end  end diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index 32577afee..4148f04bc 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -15,6 +15,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do    alias Pleroma.UserInviteToken    alias Pleroma.Web.ActivityPub.Relay    alias Pleroma.Web.CommonAPI +  alias Pleroma.Web.MastodonAPI.StatusView    alias Pleroma.Web.MediaProxy    import Pleroma.Factory @@ -1612,6 +1613,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do          first_status: Activity.get_by_ap_id_with_object(first_status.data["id"]),          second_status: Activity.get_by_ap_id_with_object(second_status.data["id"]),          third_status: Activity.get_by_ap_id_with_object(third_status.data["id"]), +        first_report: first_report,          first_status_reports: [first_report, second_report, third_report],          second_status_reports: [first_report, second_report],          third_status_reports: [first_report], @@ -1638,14 +1640,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        assert length(response["reports"]) == 3 -      first_group = -        Enum.find(response["reports"], &(&1["status"]["id"] == first_status.data["id"])) +      first_group = Enum.find(response["reports"], &(&1["status"]["id"] == first_status.id)) -      second_group = -        Enum.find(response["reports"], &(&1["status"]["id"] == second_status.data["id"])) +      second_group = Enum.find(response["reports"], &(&1["status"]["id"] == second_status.id)) -      third_group = -        Enum.find(response["reports"], &(&1["status"]["id"] == third_status.data["id"])) +      third_group = Enum.find(response["reports"], &(&1["status"]["id"] == third_status.id))        assert length(first_group["reports"]) == 3        assert length(second_group["reports"]) == 2 @@ -1656,13 +1655,14 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                   NaiveDateTime.from_iso8601!(act.data["published"])                 end).data["published"] -      assert first_group["status"] == %{ -               "id" => first_status.data["id"], -               "content" => first_status.object.data["content"], -               "published" => first_status.object.data["published"] -             } +      assert first_group["status"] == +               Map.put( +                 stringify_keys(StatusView.render("show.json", %{activity: first_status})), +                 "deleted", +                 false +               ) -      assert first_group["account"]["id"] == target_user.id +      assert(first_group["account"]["id"] == target_user.id)        assert length(first_group["actors"]) == 1        assert hd(first_group["actors"])["id"] == reporter.id @@ -1675,11 +1675,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                   NaiveDateTime.from_iso8601!(act.data["published"])                 end).data["published"] -      assert second_group["status"] == %{ -               "id" => second_status.data["id"], -               "content" => second_status.object.data["content"], -               "published" => second_status.object.data["published"] -             } +      assert second_group["status"] == +               Map.put( +                 stringify_keys(StatusView.render("show.json", %{activity: second_status})), +                 "deleted", +                 false +               )        assert second_group["account"]["id"] == target_user.id @@ -1694,11 +1695,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                   NaiveDateTime.from_iso8601!(act.data["published"])                 end).data["published"] -      assert third_group["status"] == %{ -               "id" => third_status.data["id"], -               "content" => third_status.object.data["content"], -               "published" => third_status.object.data["published"] -             } +      assert third_group["status"] == +               Map.put( +                 stringify_keys(StatusView.render("show.json", %{activity: third_status})), +                 "deleted", +                 false +               )        assert third_group["account"]["id"] == target_user.id @@ -1708,6 +1710,70 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        assert Enum.map(third_group["reports"], & &1["id"]) --                 Enum.map(third_status_reports, & &1.id) == []      end + +    test "reopened report renders status data", %{ +      conn: conn, +      first_report: first_report, +      first_status: first_status +    } do +      {:ok, _} = CommonAPI.update_report_state(first_report.id, "resolved") + +      response = +        conn +        |> get("/api/pleroma/admin/grouped_reports") +        |> json_response(:ok) + +      first_group = Enum.find(response["reports"], &(&1["status"]["id"] == first_status.id)) + +      assert first_group["status"] == +               Map.put( +                 stringify_keys(StatusView.render("show.json", %{activity: first_status})), +                 "deleted", +                 false +               ) +    end + +    test "reopened report does not render status data if status has been deleted", %{ +      conn: conn, +      first_report: first_report, +      first_status: first_status, +      target_user: target_user +    } do +      {:ok, _} = CommonAPI.update_report_state(first_report.id, "resolved") +      {:ok, _} = CommonAPI.delete(first_status.id, target_user) + +      refute Activity.get_by_ap_id(first_status.id) + +      response = +        conn +        |> get("/api/pleroma/admin/grouped_reports") +        |> json_response(:ok) + +      assert Enum.find(response["reports"], &(&1["status"]["deleted"] == true))["status"][ +               "deleted" +             ] == true + +      assert length(Enum.filter(response["reports"], &(&1["status"]["deleted"] == false))) == 2 +    end + +    test "account not empty if status was deleted", %{ +      conn: conn, +      first_report: first_report, +      first_status: first_status, +      target_user: target_user +    } do +      {:ok, _} = CommonAPI.update_report_state(first_report.id, "resolved") +      {:ok, _} = CommonAPI.delete(first_status.id, target_user) + +      refute Activity.get_by_ap_id(first_status.id) + +      response = +        conn +        |> get("/api/pleroma/admin/grouped_reports") +        |> json_response(:ok) + +      assert Enum.find(response["reports"], &(&1["status"]["deleted"] == true))["account"] +    end    end    describe "POST /api/pleroma/admin/reports/:id/respond" do diff --git a/test/web/chat_channel_test.exs b/test/web/chat_channel_test.exs new file mode 100644 index 000000000..68c24a9f9 --- /dev/null +++ b/test/web/chat_channel_test.exs @@ -0,0 +1,37 @@ +defmodule Pleroma.Web.ChatChannelTest do +  use Pleroma.Web.ChannelCase +  alias Pleroma.Web.ChatChannel +  alias Pleroma.Web.UserSocket + +  import Pleroma.Factory + +  setup do +    user = insert(:user) + +    {:ok, _, socket} = +      socket(UserSocket, "", %{user_name: user.nickname}) +      |> subscribe_and_join(ChatChannel, "chat:public") + +    {:ok, socket: socket} +  end + +  test "it broadcasts a message", %{socket: socket} do +    push(socket, "new_msg", %{"text" => "why is tenshi eating a corndog so cute?"}) +    assert_broadcast("new_msg", %{text: "why is tenshi eating a corndog so cute?"}) +  end + +  describe "message lengths" do +    clear_config([:instance, :chat_limit]) + +    test "it ignores messages of length zero", %{socket: socket} do +      push(socket, "new_msg", %{"text" => ""}) +      refute_broadcast("new_msg", %{text: ""}) +    end + +    test "it ignores messages above a certain length", %{socket: socket} do +      Pleroma.Config.put([:instance, :chat_limit], 2) +      push(socket, "new_msg", %{"text" => "123"}) +      refute_broadcast("new_msg", %{text: "123"}) +    end +  end +end diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 138488d44..b5d6d4055 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -509,14 +509,14 @@ defmodule Pleroma.Web.CommonAPITest do      end      test "add a reblog mute", %{muter: muter, muted: muted} do -      {:ok, muter} = CommonAPI.hide_reblogs(muter, muted) +      {:ok, _reblog_mute} = CommonAPI.hide_reblogs(muter, muted)        assert User.showing_reblogs?(muter, muted) == false      end      test "remove a reblog mute", %{muter: muter, muted: muted} do -      {:ok, muter} = CommonAPI.hide_reblogs(muter, muted) -      {:ok, muter} = CommonAPI.show_reblogs(muter, muted) +      {:ok, _reblog_mute} = CommonAPI.hide_reblogs(muter, muted) +      {:ok, _reblog_mute} = CommonAPI.show_reblogs(muter, muted)        assert User.showing_reblogs?(muter, muted) == true      end @@ -526,7 +526,7 @@ defmodule Pleroma.Web.CommonAPITest do      test "also unsubscribes a user" do        [follower, followed] = insert_pair(:user)        {:ok, follower, followed, _} = CommonAPI.follow(follower, followed) -      {:ok, followed} = User.subscribe(follower, followed) +      {:ok, _subscription} = User.subscribe(follower, followed)        assert User.subscribed_to?(follower, followed) diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index 585cb8a9e..fa08ae4df 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -144,6 +144,50 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do    end    describe "user timelines" do +    test "respects blocks", %{conn: conn} do +      user_one = insert(:user) +      user_two = insert(:user) +      user_three = insert(:user) + +      User.block(user_one, user_two) + +      {:ok, activity} = CommonAPI.post(user_two, %{"status" => "User one sux0rz"}) +      {:ok, repeat, _} = CommonAPI.repeat(activity.id, user_three) + +      resp = +        conn +        |> get("/api/v1/accounts/#{user_two.id}/statuses") + +      assert [%{"id" => id}] = json_response(resp, 200) +      assert id == activity.id + +      # Even a blocked user will deliver the full user timeline, there would be +      # no point in looking at a blocked users timeline otherwise +      resp = +        conn +        |> assign(:user, user_one) +        |> get("/api/v1/accounts/#{user_two.id}/statuses") + +      assert [%{"id" => id}] = json_response(resp, 200) +      assert id == activity.id + +      resp = +        conn +        |> get("/api/v1/accounts/#{user_three.id}/statuses") + +      assert [%{"id" => id}] = json_response(resp, 200) +      assert id == repeat.id + +      # When viewing a third user's timeline, the blocked users will NOT be +      # shown. +      resp = +        conn +        |> assign(:user, user_one) +        |> get("/api/v1/accounts/#{user_three.id}/statuses") + +      assert [] = json_response(resp, 200) +    end +      test "gets a users statuses", %{conn: conn} do        user_one = insert(:user)        user_two = insert(:user) @@ -891,7 +935,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, user} = User.mute(user, other_user) +    {:ok, _user_relationships} = User.mute(user, other_user)      conn =        conn @@ -906,7 +950,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, user} = User.block(user, other_user) +    {:ok, _user_relationship} = User.block(user, other_user)      conn =        conn diff --git a/test/web/mastodon_api/controllers/notification_controller_test.exs b/test/web/mastodon_api/controllers/notification_controller_test.exs index fa55a7cf9..f6d4ab9f0 100644 --- a/test/web/mastodon_api/controllers/notification_controller_test.exs +++ b/test/web/mastodon_api/controllers/notification_controller_test.exs @@ -289,7 +289,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      assert length(json_response(conn, 200)) == 1 -    {:ok, user} = User.mute(user, user2) +    {:ok, _user_relationships} = User.mute(user, user2)      conn = assign(build_conn(), :user, user)      conn = get(conn, "/api/v1/notifications") @@ -310,7 +310,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      assert length(json_response(conn, 200)) == 1 -    {:ok, user} = User.mute(user, user2, false) +    {:ok, _user_relationships} = User.mute(user, user2, false)      conn = assign(build_conn(), :user, user)      conn = get(conn, "/api/v1/notifications") @@ -333,7 +333,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      assert length(json_response(conn, 200)) == 1 -    {:ok, user} = User.mute(user, user2) +    {:ok, _user_relationships} = User.mute(user, user2)      conn = assign(build_conn(), :user, user)      conn = get(conn, "/api/v1/notifications", %{"with_muted" => "true"}) @@ -341,6 +341,32 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      assert length(json_response(conn, 200)) == 1    end +  test "see move notifications with `with_move` parameter", %{ +    conn: conn +  } do +    old_user = insert(:user) +    new_user = insert(:user, also_known_as: [old_user.ap_id]) +    follower = insert(:user) + +    User.follow(follower, old_user) +    Pleroma.Web.ActivityPub.ActivityPub.move(old_user, new_user) +    Pleroma.Tests.ObanHelpers.perform_all() + +    conn = +      conn +      |> assign(:user, follower) +      |> get("/api/v1/notifications") + +    assert json_response(conn, 200) == [] + +    conn = +      build_conn() +      |> assign(:user, follower) +      |> get("/api/v1/notifications", %{"with_move" => "true"}) + +    assert length(json_response(conn, 200)) == 1 +  end +    defp get_notification_id_by_activity(%{id: id}) do      Notification      |> Repo.get_by(activity_id: id) diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index a96fd860b..5fbe947ba 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -1108,7 +1108,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        activity: activity      } do        other_user = insert(:user) -      {:ok, user} = User.block(user, other_user) +      {:ok, _user_relationship} = User.block(user, other_user)        {:ok, _, _} = CommonAPI.favorite(activity.id, other_user) @@ -1205,7 +1205,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        activity: activity      } do        other_user = insert(:user) -      {:ok, user} = User.block(user, other_user) +      {:ok, _user_relationship} = User.block(user, other_user)        {:ok, _, _} = CommonAPI.repeat(activity.id, other_user) diff --git a/test/web/mastodon_api/controllers/timeline_controller_test.exs b/test/web/mastodon_api/controllers/timeline_controller_test.exs index 61b6cea75..dc17cc963 100644 --- a/test/web/mastodon_api/controllers/timeline_controller_test.exs +++ b/test/web/mastodon_api/controllers/timeline_controller_test.exs @@ -194,7 +194,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        blocker = insert(:user)        blocked = insert(:user)        user = insert(:user) -      {:ok, blocker} = User.block(blocker, blocked) +      {:ok, _user_relationship} = User.block(blocker, blocked)        {:ok, _blocked_direct} =          CommonAPI.post(blocked, %{ diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 35aefb7dc..ed6f2ecbd 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -190,9 +190,9 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        {:ok, user} = User.follow(user, other_user)        {:ok, other_user} = User.follow(other_user, user) -      {:ok, other_user} = User.subscribe(user, other_user) -      {:ok, user} = User.mute(user, other_user, true) -      {:ok, user} = CommonAPI.hide_reblogs(user, other_user) +      {:ok, _subscription} = User.subscribe(user, other_user) +      {:ok, _user_relationships} = User.mute(user, other_user, true) +      {:ok, _reblog_mute} = CommonAPI.hide_reblogs(user, other_user)        expected = %{          id: to_string(other_user.id), @@ -218,9 +218,9 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        other_user = insert(:user)        {:ok, user} = User.follow(user, other_user) -      {:ok, other_user} = User.subscribe(user, other_user) -      {:ok, user} = User.block(user, other_user) -      {:ok, other_user} = User.block(other_user, user) +      {:ok, _subscription} = User.subscribe(user, other_user) +      {:ok, _user_relationship} = User.block(user, other_user) +      {:ok, _user_relationship} = User.block(other_user, user)        expected = %{          id: to_string(other_user.id), @@ -291,7 +291,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do      other_user = insert(:user)      {:ok, other_user} = User.follow(other_user, user) -    {:ok, other_user} = User.block(other_user, user) +    {:ok, _user_relationship} = User.block(other_user, user)      {:ok, _} = User.follow(insert(:user), user)      expected = %{ diff --git a/test/web/mastodon_api/views/notification_view_test.exs b/test/web/mastodon_api/views/notification_view_test.exs index 26e1afc85..ba1721e06 100644 --- a/test/web/mastodon_api/views/notification_view_test.exs +++ b/test/web/mastodon_api/views/notification_view_test.exs @@ -109,8 +109,8 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do    end    test "Move notification" do -    %{ap_id: old_ap_id} = old_user = insert(:user) -    %{ap_id: _new_ap_id} = new_user = insert(:user, also_known_as: [old_ap_id]) +    old_user = insert(:user) +    new_user = insert(:user, also_known_as: [old_user.ap_id])      follower = insert(:user)      User.follow(follower, old_user) @@ -120,7 +120,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do      old_user = refresh_record(old_user)      new_user = refresh_record(new_user) -    [notification] = Notification.for_user(follower) +    [notification] = Notification.for_user(follower, %{with_move: true})      expected = %{        id: to_string(notification.id), diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index d46ecc646..bdd87a79e 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -183,7 +183,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, user} = User.mute(user, other_user) +    {:ok, _user_relationships} = User.mute(user, other_user)      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "test"})      status = StatusView.render("show.json", %{activity: activity}) @@ -199,7 +199,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, user} = User.mute(user, other_user) +    {:ok, _user_relationships} = User.mute(user, other_user)      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "test"})      status = StatusView.render("show.json", %{activity: activity, for: user}) diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index 8265f18dd..8911c46b1 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -59,7 +59,7 @@ defmodule Pleroma.Web.StreamerTest do        user: user      } do        blocked = insert(:user) -      {:ok, user} = User.block(user, blocked) +      {:ok, _user_relationship} = User.block(user, blocked)        task = Task.async(fn -> refute_receive {:text, _}, 4_000 end) @@ -259,7 +259,7 @@ defmodule Pleroma.Web.StreamerTest do      test "it doesn't send messages involving blocked users" do        user = insert(:user)        blocked_user = insert(:user) -      {:ok, user} = User.block(user, blocked_user) +      {:ok, _user_relationship} = User.block(user, blocked_user)        task =          Task.async(fn -> @@ -301,7 +301,7 @@ defmodule Pleroma.Web.StreamerTest do          "public" => [fake_socket]        } -      {:ok, blocker} = User.block(blocker, blockee) +      {:ok, _user_relationship} = User.block(blocker, blockee)        {:ok, activity_one} = CommonAPI.post(friend, %{"status" => "hey! @#{blockee.nickname}"}) diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index f0211f59c..986ee01f3 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -387,7 +387,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do        user = insert(:user)        user2 = insert(:user) -      {:ok, _user} = Pleroma.User.block(user2, user) +      {:ok, _user_block} = Pleroma.User.block(user2, user)        response =          conn @@ -485,7 +485,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do        Pleroma.Config.put([:user, :deny_follow_blocked], true)        user = insert(:user)        user2 = insert(:user) -      {:ok, _user} = Pleroma.User.block(user2, user) +      {:ok, _user_block} = Pleroma.User.block(user2, user)        response =          conn | 
