diff options
Diffstat (limited to 'test/web')
41 files changed, 935 insertions, 800 deletions
| diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 776ddc8d4..c432c90e3 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -341,7 +341,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do      test "cached purged after activity deletion", %{conn: conn} do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "cofe"})        uuid = String.split(activity.data["id"], "/") |> List.last() diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 59bdd53cd..56fde97e7 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -32,7 +32,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do    describe "streaming out participations" do      test "it streams them out" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) +      {:ok, activity} = CommonAPI.post(user, %{status: ".", visibility: "direct"})        {:ok, conversation} = Pleroma.Conversation.create_or_bump_for(activity) @@ -56,8 +56,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do          stream: fn _, _ -> nil end do          {:ok, activity} =            CommonAPI.post(user_one, %{ -            "status" => "@#{user_two.nickname}", -            "visibility" => "direct" +            status: "@#{user_two.nickname}", +            visibility: "direct"            })          conversation = @@ -74,15 +74,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      test "it restricts by the appropriate visibility" do        user = insert(:user) -      {:ok, public_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) +      {:ok, public_activity} = CommonAPI.post(user, %{status: ".", visibility: "public"}) -      {:ok, direct_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) +      {:ok, direct_activity} = CommonAPI.post(user, %{status: ".", visibility: "direct"}) -      {:ok, unlisted_activity} = -        CommonAPI.post(user, %{"status" => ".", "visibility" => "unlisted"}) +      {:ok, unlisted_activity} = CommonAPI.post(user, %{status: ".", visibility: "unlisted"}) -      {:ok, private_activity} = -        CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, private_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"})        activities =          ActivityPub.fetch_activities([], %{:visibility => "direct", "actor_id" => user.ap_id}) @@ -118,15 +116,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      test "it excludes by the appropriate visibility" do        user = insert(:user) -      {:ok, public_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) +      {:ok, public_activity} = CommonAPI.post(user, %{status: ".", visibility: "public"}) -      {:ok, direct_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) +      {:ok, direct_activity} = CommonAPI.post(user, %{status: ".", visibility: "direct"}) -      {:ok, unlisted_activity} = -        CommonAPI.post(user, %{"status" => ".", "visibility" => "unlisted"}) +      {:ok, unlisted_activity} = CommonAPI.post(user, %{status: ".", visibility: "unlisted"}) -      {:ok, private_activity} = -        CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, private_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"})        activities =          ActivityPub.fetch_activities([], %{ @@ -193,9 +189,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      test "it fetches the appropriate tag-restricted posts" do        user = insert(:user) -      {:ok, status_one} = CommonAPI.post(user, %{"status" => ". #test"}) -      {:ok, status_two} = CommonAPI.post(user, %{"status" => ". #essais"}) -      {:ok, status_three} = CommonAPI.post(user, %{"status" => ". #test #reject"}) +      {:ok, status_one} = CommonAPI.post(user, %{status: ". #test"}) +      {:ok, status_two} = CommonAPI.post(user, %{status: ". #essais"}) +      {:ok, status_three} = CommonAPI.post(user, %{status: ". #test #reject"})        fetch_one = ActivityPub.fetch_activities([], %{"type" => "Create", "tag" => "test"}) @@ -432,26 +428,26 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        {:ok, _} =          CommonAPI.post(User.get_cached_by_id(user.id), %{ -          "status" => "1", -          "visibility" => "public" +          status: "1", +          visibility: "public"          })        {:ok, _} =          CommonAPI.post(User.get_cached_by_id(user.id), %{ -          "status" => "2", -          "visibility" => "unlisted" +          status: "2", +          visibility: "unlisted"          })        {:ok, _} =          CommonAPI.post(User.get_cached_by_id(user.id), %{ -          "status" => "2", -          "visibility" => "private" +          status: "2", +          visibility: "private"          })        {:ok, _} =          CommonAPI.post(User.get_cached_by_id(user.id), %{ -          "status" => "3", -          "visibility" => "direct" +          status: "3", +          visibility: "direct"          })        user = User.get_cached_by_id(user.id) @@ -462,27 +458,27 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        user = insert(:user)        user2 = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "1", "visibility" => "public"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "1", visibility: "public"})        ap_id = activity.data["id"] -      reply_data = %{"status" => "1", "in_reply_to_status_id" => activity.id} +      reply_data = %{status: "1", in_reply_to_status_id: activity.id}        # public -      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, "visibility", "public")) +      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "public"))        assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 1        # unlisted -      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, "visibility", "unlisted")) +      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "unlisted"))        assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 2        # private -      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, "visibility", "private")) +      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "private"))        assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 2        # direct -      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, "visibility", "direct")) +      {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "direct"))        assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 2      end @@ -569,13 +565,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      {:ok, _user_relationship} = User.block(blocker, blockee) -    {:ok, activity_one} = CommonAPI.post(friend, %{"status" => "hey!"}) +    {:ok, activity_one} = CommonAPI.post(friend, %{status: "hey!"}) -    {:ok, activity_two} = CommonAPI.post(friend, %{"status" => "hey! @#{blockee.nickname}"}) +    {:ok, activity_two} = CommonAPI.post(friend, %{status: "hey! @#{blockee.nickname}"}) -    {:ok, activity_three} = CommonAPI.post(blockee, %{"status" => "hey! @#{friend.nickname}"}) +    {:ok, activity_three} = CommonAPI.post(blockee, %{status: "hey! @#{friend.nickname}"}) -    {:ok, activity_four} = CommonAPI.post(blockee, %{"status" => "hey! @#{blocker.nickname}"}) +    {:ok, activity_four} = CommonAPI.post(blockee, %{status: "hey! @#{blocker.nickname}"})      activities = ActivityPub.fetch_activities([], %{"blocking_user" => blocker}) @@ -592,9 +588,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      {:ok, _user_relationship} = User.block(blocker, blockee) -    {:ok, activity_one} = CommonAPI.post(friend, %{"status" => "hey!"}) +    {:ok, activity_one} = CommonAPI.post(friend, %{status: "hey!"}) -    {:ok, activity_two} = CommonAPI.post(blockee, %{"status" => "hey! @#{friend.nickname}"}) +    {:ok, activity_two} = CommonAPI.post(blockee, %{status: "hey! @#{friend.nickname}"})      {:ok, activity_three, _} = CommonAPI.repeat(activity_two.id, friend) @@ -774,10 +770,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      test "doesn't retrieve unlisted activities" do        user = insert(:user) -      {:ok, _unlisted_activity} = -        CommonAPI.post(user, %{"status" => "yeah", "visibility" => "unlisted"}) +      {:ok, _unlisted_activity} = CommonAPI.post(user, %{status: "yeah", visibility: "unlisted"}) -      {:ok, listed_activity} = CommonAPI.post(user, %{"status" => "yeah"}) +      {:ok, listed_activity} = CommonAPI.post(user, %{status: "yeah"})        [activity] = ActivityPub.fetch_public_activities() @@ -912,7 +907,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do    describe "announcing a private object" do      test "adds an announce activity to the db if the audience is not widened" do        user = insert(:user) -      {:ok, note_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, note_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"})        object = Object.normalize(note_activity)        {:ok, announce_activity, object} = ActivityPub.announce(user, object, nil, true, false) @@ -926,7 +921,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      test "does not add an announce activity to the db if the audience is widened" do        user = insert(:user) -      {:ok, note_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, note_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"})        object = Object.normalize(note_activity)        assert {:error, _} = ActivityPub.announce(user, object, nil, true, true) @@ -935,7 +930,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      test "does not add an announce activity to the db if the announcer is not the author" do        user = insert(:user)        announcer = insert(:user) -      {:ok, note_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, note_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"})        object = Object.normalize(note_activity)        assert {:error, _} = ActivityPub.announce(announcer, object, nil, true, false) @@ -1111,23 +1106,22 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        {:ok, user3} = User.follow(user3, user2)        assert User.following?(user3, user2) -      {:ok, public_activity} = CommonAPI.post(user3, %{"status" => "hi 1"}) +      {:ok, public_activity} = CommonAPI.post(user3, %{status: "hi 1"}) -      {:ok, private_activity_1} = -        CommonAPI.post(user3, %{"status" => "hi 2", "visibility" => "private"}) +      {:ok, private_activity_1} = CommonAPI.post(user3, %{status: "hi 2", visibility: "private"})        {:ok, private_activity_2} =          CommonAPI.post(user2, %{ -          "status" => "hi 3", -          "visibility" => "private", -          "in_reply_to_status_id" => private_activity_1.id +          status: "hi 3", +          visibility: "private", +          in_reply_to_status_id: private_activity_1.id          })        {:ok, private_activity_3} =          CommonAPI.post(user3, %{ -          "status" => "hi 4", -          "visibility" => "private", -          "in_reply_to_status_id" => private_activity_2.id +          status: "hi 4", +          visibility: "private", +          in_reply_to_status_id: private_activity_2.id          })        activities = @@ -1177,9 +1171,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      Config.put([:instance, :max_pinned_statuses], 3)      user = insert(:user) -    {:ok, activity_one} = CommonAPI.post(user, %{"status" => "HI!!!"}) -    {:ok, activity_two} = CommonAPI.post(user, %{"status" => "HI!!!"}) -    {:ok, activity_three} = CommonAPI.post(user, %{"status" => "HI!!!"}) +    {:ok, activity_one} = CommonAPI.post(user, %{status: "HI!!!"}) +    {:ok, activity_two} = CommonAPI.post(user, %{status: "HI!!!"}) +    {:ok, activity_three} = CommonAPI.post(user, %{status: "HI!!!"})      CommonAPI.pin(activity_one.id, user)      user = refresh_record(user) @@ -1200,7 +1194,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        reporter = insert(:user)        target_account = insert(:user)        content = "foobar" -      {:ok, activity} = CommonAPI.post(target_account, %{"status" => content}) +      {:ok, activity} = CommonAPI.post(target_account, %{status: content})        context = Utils.generate_context_id()        reporter_ap_id = reporter.ap_id @@ -1296,8 +1290,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      {:ok, list} = Pleroma.List.create("foo", user)      {:ok, list} = Pleroma.List.follow(list, member) -    {:ok, activity} = -      CommonAPI.post(user, %{"status" => "foobar", "visibility" => "list:#{list.id}"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "foobar", visibility: "list:#{list.id}"})      activity = Repo.preload(activity, :bookmark)      activity = %Activity{activity | thread_muted?: !!activity.thread_muted?} @@ -1315,8 +1308,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "thought I looked cute might delete later :3", -          "visibility" => "private" +          status: "thought I looked cute might delete later :3", +          visibility: "private"          })        [result] = ActivityPub.fetch_activities_bounded([user.follower_address], []) @@ -1325,12 +1318,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      test "fetches only public posts for other users" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe", "visibility" => "public"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "#cofe", visibility: "public"})        {:ok, _private_activity} =          CommonAPI.post(user, %{ -          "status" => "why is tenshi eating a corndog so cute?", -          "visibility" => "private" +          status: "why is tenshi eating a corndog so cute?", +          visibility: "private"          })        [result] = ActivityPub.fetch_activities_bounded([], [user.follower_address]) @@ -1458,11 +1451,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        other_user = insert(:user)        user1 = insert(:user)        user2 = insert(:user) -      {:ok, a1} = CommonAPI.post(user1, %{"status" => "bla"}) -      {:ok, _a2} = CommonAPI.post(user2, %{"status" => "traps are happy"}) -      {:ok, a3} = CommonAPI.post(user2, %{"status" => "Trees Are "}) -      {:ok, a4} = CommonAPI.post(user2, %{"status" => "Agent Smith "}) -      {:ok, a5} = CommonAPI.post(user1, %{"status" => "Red or Blue "}) +      {:ok, a1} = CommonAPI.post(user1, %{status: "bla"}) +      {:ok, _a2} = CommonAPI.post(user2, %{status: "traps are happy"}) +      {:ok, a3} = CommonAPI.post(user2, %{status: "Trees Are "}) +      {:ok, a4} = CommonAPI.post(user2, %{status: "Agent Smith "}) +      {:ok, a5} = CommonAPI.post(user1, %{status: "Red or Blue "})        {:ok, _} = CommonAPI.favorite(user, a4.id)        {:ok, _} = CommonAPI.favorite(other_user, a3.id) @@ -1542,10 +1535,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do    test "doesn't retrieve replies activities with exclude_replies" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "yeah"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "yeah"}) -    {:ok, _reply} = -      CommonAPI.post(user, %{"status" => "yeah", "in_reply_to_status_id" => activity.id}) +    {:ok, _reply} = CommonAPI.post(user, %{status: "yeah", in_reply_to_status_id: activity.id})      [result] = ActivityPub.fetch_public_activities(%{"exclude_replies" => "true"}) @@ -1858,84 +1850,84 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      {:ok, u2} = User.follow(u2, u3)      {:ok, u3} = User.follow(u3, u2) -    {:ok, a1} = CommonAPI.post(u1, %{"status" => "Status"}) +    {:ok, a1} = CommonAPI.post(u1, %{status: "Status"})      {:ok, r1_1} =        CommonAPI.post(u2, %{ -        "status" => "@#{u1.nickname} reply from u2 to u1", -        "in_reply_to_status_id" => a1.id +        status: "@#{u1.nickname} reply from u2 to u1", +        in_reply_to_status_id: a1.id        })      {:ok, r1_2} =        CommonAPI.post(u3, %{ -        "status" => "@#{u1.nickname} reply from u3 to u1", -        "in_reply_to_status_id" => a1.id +        status: "@#{u1.nickname} reply from u3 to u1", +        in_reply_to_status_id: a1.id        })      {:ok, r1_3} =        CommonAPI.post(u4, %{ -        "status" => "@#{u1.nickname} reply from u4 to u1", -        "in_reply_to_status_id" => a1.id +        status: "@#{u1.nickname} reply from u4 to u1", +        in_reply_to_status_id: a1.id        }) -    {:ok, a2} = CommonAPI.post(u2, %{"status" => "Status"}) +    {:ok, a2} = CommonAPI.post(u2, %{status: "Status"})      {:ok, r2_1} =        CommonAPI.post(u1, %{ -        "status" => "@#{u2.nickname} reply from u1 to u2", -        "in_reply_to_status_id" => a2.id +        status: "@#{u2.nickname} reply from u1 to u2", +        in_reply_to_status_id: a2.id        })      {:ok, r2_2} =        CommonAPI.post(u3, %{ -        "status" => "@#{u2.nickname} reply from u3 to u2", -        "in_reply_to_status_id" => a2.id +        status: "@#{u2.nickname} reply from u3 to u2", +        in_reply_to_status_id: a2.id        })      {:ok, r2_3} =        CommonAPI.post(u4, %{ -        "status" => "@#{u2.nickname} reply from u4 to u2", -        "in_reply_to_status_id" => a2.id +        status: "@#{u2.nickname} reply from u4 to u2", +        in_reply_to_status_id: a2.id        }) -    {:ok, a3} = CommonAPI.post(u3, %{"status" => "Status"}) +    {:ok, a3} = CommonAPI.post(u3, %{status: "Status"})      {:ok, r3_1} =        CommonAPI.post(u1, %{ -        "status" => "@#{u3.nickname} reply from u1 to u3", -        "in_reply_to_status_id" => a3.id +        status: "@#{u3.nickname} reply from u1 to u3", +        in_reply_to_status_id: a3.id        })      {:ok, r3_2} =        CommonAPI.post(u2, %{ -        "status" => "@#{u3.nickname} reply from u2 to u3", -        "in_reply_to_status_id" => a3.id +        status: "@#{u3.nickname} reply from u2 to u3", +        in_reply_to_status_id: a3.id        })      {:ok, r3_3} =        CommonAPI.post(u4, %{ -        "status" => "@#{u3.nickname} reply from u4 to u3", -        "in_reply_to_status_id" => a3.id +        status: "@#{u3.nickname} reply from u4 to u3", +        in_reply_to_status_id: a3.id        }) -    {:ok, a4} = CommonAPI.post(u4, %{"status" => "Status"}) +    {:ok, a4} = CommonAPI.post(u4, %{status: "Status"})      {:ok, r4_1} =        CommonAPI.post(u1, %{ -        "status" => "@#{u4.nickname} reply from u1 to u4", -        "in_reply_to_status_id" => a4.id +        status: "@#{u4.nickname} reply from u1 to u4", +        in_reply_to_status_id: a4.id        })      {:ok, r4_2} =        CommonAPI.post(u2, %{ -        "status" => "@#{u4.nickname} reply from u2 to u4", -        "in_reply_to_status_id" => a4.id +        status: "@#{u4.nickname} reply from u2 to u4", +        in_reply_to_status_id: a4.id        })      {:ok, r4_3} =        CommonAPI.post(u3, %{ -        "status" => "@#{u4.nickname} reply from u3 to u4", -        "in_reply_to_status_id" => a4.id +        status: "@#{u4.nickname} reply from u3 to u4", +        in_reply_to_status_id: a4.id        })      {:ok, @@ -1959,68 +1951,68 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      {:ok, u2} = User.follow(u2, u3)      {:ok, u3} = User.follow(u3, u2) -    {:ok, a1} = CommonAPI.post(u1, %{"status" => "Status", "visibility" => "private"}) +    {:ok, a1} = CommonAPI.post(u1, %{status: "Status", visibility: "private"})      {:ok, r1_1} =        CommonAPI.post(u2, %{ -        "status" => "@#{u1.nickname} reply from u2 to u1", -        "in_reply_to_status_id" => a1.id, -        "visibility" => "private" +        status: "@#{u1.nickname} reply from u2 to u1", +        in_reply_to_status_id: a1.id, +        visibility: "private"        })      {:ok, r1_2} =        CommonAPI.post(u3, %{ -        "status" => "@#{u1.nickname} reply from u3 to u1", -        "in_reply_to_status_id" => a1.id, -        "visibility" => "private" +        status: "@#{u1.nickname} reply from u3 to u1", +        in_reply_to_status_id: a1.id, +        visibility: "private"        })      {:ok, r1_3} =        CommonAPI.post(u4, %{ -        "status" => "@#{u1.nickname} reply from u4 to u1", -        "in_reply_to_status_id" => a1.id, -        "visibility" => "private" +        status: "@#{u1.nickname} reply from u4 to u1", +        in_reply_to_status_id: a1.id, +        visibility: "private"        }) -    {:ok, a2} = CommonAPI.post(u2, %{"status" => "Status", "visibility" => "private"}) +    {:ok, a2} = CommonAPI.post(u2, %{status: "Status", visibility: "private"})      {:ok, r2_1} =        CommonAPI.post(u1, %{ -        "status" => "@#{u2.nickname} reply from u1 to u2", -        "in_reply_to_status_id" => a2.id, -        "visibility" => "private" +        status: "@#{u2.nickname} reply from u1 to u2", +        in_reply_to_status_id: a2.id, +        visibility: "private"        })      {:ok, r2_2} =        CommonAPI.post(u3, %{ -        "status" => "@#{u2.nickname} reply from u3 to u2", -        "in_reply_to_status_id" => a2.id, -        "visibility" => "private" +        status: "@#{u2.nickname} reply from u3 to u2", +        in_reply_to_status_id: a2.id, +        visibility: "private"        }) -    {:ok, a3} = CommonAPI.post(u3, %{"status" => "Status", "visibility" => "private"}) +    {:ok, a3} = CommonAPI.post(u3, %{status: "Status", visibility: "private"})      {:ok, r3_1} =        CommonAPI.post(u1, %{ -        "status" => "@#{u3.nickname} reply from u1 to u3", -        "in_reply_to_status_id" => a3.id, -        "visibility" => "private" +        status: "@#{u3.nickname} reply from u1 to u3", +        in_reply_to_status_id: a3.id, +        visibility: "private"        })      {:ok, r3_2} =        CommonAPI.post(u2, %{ -        "status" => "@#{u3.nickname} reply from u2 to u3", -        "in_reply_to_status_id" => a3.id, -        "visibility" => "private" +        status: "@#{u3.nickname} reply from u2 to u3", +        in_reply_to_status_id: a3.id, +        visibility: "private"        }) -    {:ok, a4} = CommonAPI.post(u4, %{"status" => "Status", "visibility" => "private"}) +    {:ok, a4} = CommonAPI.post(u4, %{status: "Status", visibility: "private"})      {:ok, r4_1} =        CommonAPI.post(u1, %{ -        "status" => "@#{u4.nickname} reply from u1 to u4", -        "in_reply_to_status_id" => a4.id, -        "visibility" => "private" +        status: "@#{u4.nickname} reply from u1 to u4", +        in_reply_to_status_id: a4.id, +        visibility: "private"        })      {:ok, diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index f382adf3e..96eff1c30 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -13,7 +13,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do    describe "EmojiReacts" do      setup do        user = insert(:user) -      {:ok, post_activity} = CommonAPI.post(user, %{"status" => "uguu"}) +      {:ok, post_activity} = CommonAPI.post(user, %{status: "uguu"})        object = Pleroma.Object.get_by_ap_id(post_activity.data["object"]) @@ -53,7 +53,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do    describe "Undos" do      setup do        user = insert(:user) -      {:ok, post_activity} = CommonAPI.post(user, %{"status" => "uguu"}) +      {:ok, post_activity} = CommonAPI.post(user, %{status: "uguu"})        {:ok, like} = CommonAPI.favorite(user, post_activity.id)        {:ok, valid_like_undo, []} = Builder.undo(user, like) @@ -93,7 +93,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do    describe "deletes" do      setup do        user = insert(:user) -      {:ok, post_activity} = CommonAPI.post(user, %{"status" => "cancel me daddy"}) +      {:ok, post_activity} = CommonAPI.post(user, %{status: "cancel me daddy"})        {:ok, valid_post_delete, _} = Builder.delete(user, post_activity.data["object"])        {:ok, valid_user_delete, _} = Builder.delete(user, user.ap_id) @@ -185,7 +185,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do    describe "likes" do      setup do        user = insert(:user) -      {:ok, post_activity} = CommonAPI.post(user, %{"status" => "uguu"}) +      {:ok, post_activity} = CommonAPI.post(user, %{status: "uguu"})        valid_like = %{          "to" => [user.ap_id], diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 6c5f8fc61..797f00d08 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -25,8 +25,8 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do        user = insert(:user)        other_user = insert(:user) -      {:ok, op} = CommonAPI.post(other_user, %{"status" => "big oof"}) -      {:ok, post} = CommonAPI.post(user, %{"status" => "hey", "in_reply_to_id" => op}) +      {:ok, op} = CommonAPI.post(other_user, %{status: "big oof"}) +      {:ok, post} = CommonAPI.post(user, %{status: "hey", in_reply_to_id: op})        {:ok, favorite} = CommonAPI.favorite(user, post.id)        object = Object.normalize(post)        {:ok, delete_data, _meta} = Builder.delete(user, object.data["id"]) @@ -118,7 +118,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do        poster = insert(:user)        user = insert(:user) -      {:ok, post} = CommonAPI.post(poster, %{"status" => "hey"}) +      {:ok, post} = CommonAPI.post(poster, %{status: "hey"})        {:ok, emoji_react_data, []} = Builder.emoji_react(user, post.object, "š")        {:ok, emoji_react, _meta} = ActivityPub.persist(emoji_react_data, local: true) @@ -144,7 +144,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do      setup do        poster = insert(:user)        user = insert(:user) -      {:ok, post} = CommonAPI.post(poster, %{"status" => "hey"}) +      {:ok, post} = CommonAPI.post(poster, %{status: "hey"})        {:ok, like} = CommonAPI.favorite(user, post.id)        {:ok, reaction} = CommonAPI.react_with_emoji(post.id, user, "š")        {:ok, announce, _} = CommonAPI.repeat(post.id, user) @@ -244,7 +244,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do      setup do        poster = insert(:user)        user = insert(:user) -      {:ok, post} = CommonAPI.post(poster, %{"status" => "hey"}) +      {:ok, post} = CommonAPI.post(poster, %{status: "hey"})        {:ok, like_data, _meta} = Builder.like(user, post.object)        {:ok, like, _meta} = ActivityPub.persist(like_data, local: true) diff --git a/test/web/activity_pub/transmogrifier/emoji_react_handling_test.exs b/test/web/activity_pub/transmogrifier/emoji_react_handling_test.exs index 6988e3e0a..0fb056b50 100644 --- a/test/web/activity_pub/transmogrifier/emoji_react_handling_test.exs +++ b/test/web/activity_pub/transmogrifier/emoji_react_handling_test.exs @@ -15,7 +15,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.EmojiReactHandlingTest do    test "it works for incoming emoji reactions" do      user = insert(:user)      other_user = insert(:user, local: false) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hello"})      data =        File.read!("test/fixtures/emoji-reaction.json") @@ -40,7 +40,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.EmojiReactHandlingTest do    test "it reject invalid emoji reactions" do      user = insert(:user)      other_user = insert(:user, local: false) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hello"})      data =        File.read!("test/fixtures/emoji-reaction-too-long.json") diff --git a/test/web/activity_pub/transmogrifier/like_handling_test.exs b/test/web/activity_pub/transmogrifier/like_handling_test.exs index 54a5c1dbc..53fe1d550 100644 --- a/test/web/activity_pub/transmogrifier/like_handling_test.exs +++ b/test/web/activity_pub/transmogrifier/like_handling_test.exs @@ -14,7 +14,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.LikeHandlingTest do    test "it works for incoming likes" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hello"})      data =        File.read!("test/fixtures/mastodon-like.json") @@ -36,7 +36,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.LikeHandlingTest do    test "it works for incoming misskey likes, turning them into EmojiReacts" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hello"})      data =        File.read!("test/fixtures/misskey-like.json") @@ -57,7 +57,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.LikeHandlingTest do    test "it works for incoming misskey likes that contain unicode emojis, turning them into EmojiReacts" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hello"})      data =        File.read!("test/fixtures/misskey-like.json") diff --git a/test/web/activity_pub/transmogrifier/undo_handling_test.exs b/test/web/activity_pub/transmogrifier/undo_handling_test.exs index eaf58adf7..01dd6c370 100644 --- a/test/web/activity_pub/transmogrifier/undo_handling_test.exs +++ b/test/web/activity_pub/transmogrifier/undo_handling_test.exs @@ -16,7 +16,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.UndoHandlingTest do    test "it works for incoming emoji reaction undos" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hello"})      {:ok, reaction_activity} = CommonAPI.react_with_emoji(activity.id, user, "š")      data = @@ -34,7 +34,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.UndoHandlingTest do    test "it returns an error for incoming unlikes wihout a like activity" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "leave a like pls"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "leave a like pls"})      data =        File.read!("test/fixtures/mastodon-undo-like.json") @@ -46,7 +46,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.UndoHandlingTest do    test "it works for incoming unlikes with an existing like activity" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "leave a like pls"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "leave a like pls"})      like_data =        File.read!("test/fixtures/mastodon-like.json") @@ -77,7 +77,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.UndoHandlingTest do    test "it works for incoming unlikes with an existing like activity and a compact object" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "leave a like pls"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "leave a like pls"})      like_data =        File.read!("test/fixtures/mastodon-like.json") @@ -104,7 +104,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.UndoHandlingTest do    test "it works for incoming unannounces with an existing notice" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hey"})      announce_data =        File.read!("test/fixtures/mastodon-announce.json") diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 3f908f867..0a54e3bb9 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -212,8 +212,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "suya...", -          "poll" => %{"options" => ["suya", "suya.", "suya.."], "expires_in" => 10} +          status: "suya...", +          poll: %{options: ["suya", "suya.", "suya.."], expires_in: 10}          })        object = Object.normalize(activity) @@ -263,7 +263,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it works for incoming honk announces" do        _user = insert(:user, ap_id: "https://honktest/u/test", local: false)        other_user = insert(:user) -      {:ok, post} = CommonAPI.post(other_user, %{"status" => "bonkeronk"}) +      {:ok, post} = CommonAPI.post(other_user, %{status: "bonkeronk"})        announce = %{          "@context" => "https://www.w3.org/ns/activitystreams", @@ -362,7 +362,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it works for incoming announces with an existing activity" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "hey"})        data =          File.read!("test/fixtures/mastodon-announce.json") @@ -412,7 +412,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it does not clobber the addressing on announce activities" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "hey"})        data =          File.read!("test/fixtures/mastodon-announce.json") @@ -498,7 +498,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it strips internal reactions" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "#cofe"})        {:ok, _} = CommonAPI.react_with_emoji(activity.id, user, "š¢")        %{object: object} = Activity.get_by_id_with_object(activity.id) @@ -996,7 +996,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "test post"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "test post"})        object = Object.normalize(activity)        note_obj = %{ @@ -1140,13 +1140,13 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      setup do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "post1"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "post1"})        {:ok, reply1} = -        CommonAPI.post(user, %{"status" => "reply1", "in_reply_to_status_id" => activity.id}) +        CommonAPI.post(user, %{status: "reply1", in_reply_to_status_id: activity.id})        {:ok, reply2} = -        CommonAPI.post(user, %{"status" => "reply2", "in_reply_to_status_id" => activity.id}) +        CommonAPI.post(user, %{status: "reply2", in_reply_to_status_id: activity.id})        replies_uris = Enum.map([reply1, reply2], fn a -> a.object.data["id"] end) @@ -1186,7 +1186,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it inlines private announced objects" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "hey", "visibility" => "private"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "hey", visibility: "private"})        {:ok, announce_activity, _} = CommonAPI.repeat(activity.id, user) @@ -1201,7 +1201,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        other_user = insert(:user)        {:ok, activity} = -        CommonAPI.post(user, %{"status" => "hey, @#{other_user.nickname}, how are ya? #2hu"}) +        CommonAPI.post(user, %{status: "hey, @#{other_user.nickname}, how are ya? #2hu"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)        object = modified["object"] @@ -1225,7 +1225,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it adds the sensitive property" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "#nsfw hey"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "#nsfw hey"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)        assert modified["object"]["sensitive"] @@ -1234,7 +1234,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it adds the json-ld context and the conversation property" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "hey"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)        assert modified["@context"] == @@ -1246,7 +1246,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it sets the 'attributedTo' property to the actor of the object if it doesn't have one" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "hey"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)        assert modified["object"]["actor"] == modified["object"]["attributedTo"] @@ -1255,7 +1255,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it strips internal hashtag data" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "#2hu"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "#2hu"})        expected_tag = %{          "href" => Pleroma.Web.Endpoint.url() <> "/tags/2hu", @@ -1271,7 +1271,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "it strips internal fields" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "#2hu :firefox:"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "#2hu :firefox:"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) @@ -1303,14 +1303,13 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "2hu :moominmamma:"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "2hu :moominmamma:"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)        assert modified["directMessage"] == false -      {:ok, activity} = -        CommonAPI.post(user, %{"status" => "@#{other_user.nickname} :moominmamma:"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "@#{other_user.nickname} :moominmamma:"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) @@ -1318,8 +1317,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "@#{other_user.nickname} :moominmamma:", -          "visibility" => "direct" +          status: "@#{other_user.nickname} :moominmamma:", +          visibility: "direct"          })        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) @@ -1331,8 +1330,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        user = insert(:user)        {:ok, list} = Pleroma.List.create("foo", user) -      {:ok, activity} = -        CommonAPI.post(user, %{"status" => "foobar", "visibility" => "list:#{list.id}"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "foobar", visibility: "list:#{list.id}"})        {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) @@ -1367,8 +1365,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        user_two = insert(:user)        Pleroma.FollowingRelationship.follow(user_two, user, :follow_accept) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "test"}) -      {:ok, unrelated_activity} = CommonAPI.post(user_two, %{"status" => "test"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "test"}) +      {:ok, unrelated_activity} = CommonAPI.post(user_two, %{status: "test"})        assert "http://localhost:4001/users/rye@niu.moe/followers" in activity.recipients        user = User.get_cached_by_id(user.id) @@ -1534,8 +1532,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      {:ok, poll_activity} =        CommonAPI.post(user, %{ -        "status" => "suya...", -        "poll" => %{"options" => ["suya", "suya.", "suya.."], "expires_in" => 10} +        status: "suya...", +        poll: %{options: ["suya", "suya.", "suya.."], expires_in: 10}        })      poll_object = Object.normalize(poll_activity) @@ -1878,28 +1876,27 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do      test "sets `replies` collection with a limited number of self-replies" do        [user, another_user] = insert_list(2, :user) -      {:ok, %{id: id1} = activity} = CommonAPI.post(user, %{"status" => "1"}) +      {:ok, %{id: id1} = activity} = CommonAPI.post(user, %{status: "1"})        {:ok, %{id: id2} = self_reply1} = -        CommonAPI.post(user, %{"status" => "self-reply 1", "in_reply_to_status_id" => id1}) +        CommonAPI.post(user, %{status: "self-reply 1", in_reply_to_status_id: id1})        {:ok, self_reply2} = -        CommonAPI.post(user, %{"status" => "self-reply 2", "in_reply_to_status_id" => id1}) +        CommonAPI.post(user, %{status: "self-reply 2", in_reply_to_status_id: id1})        # Assuming to _not_ be present in `replies` due to :note_replies_output_limit is set to 2 -      {:ok, _} = -        CommonAPI.post(user, %{"status" => "self-reply 3", "in_reply_to_status_id" => id1}) +      {:ok, _} = CommonAPI.post(user, %{status: "self-reply 3", in_reply_to_status_id: id1})        {:ok, _} =          CommonAPI.post(user, %{ -          "status" => "self-reply to self-reply", -          "in_reply_to_status_id" => id2 +          status: "self-reply to self-reply", +          in_reply_to_status_id: id2          })        {:ok, _} =          CommonAPI.post(another_user, %{ -          "status" => "another user's reply", -          "in_reply_to_status_id" => id1 +          status: "another user's reply", +          in_reply_to_status_id: id1          })        object = Object.normalize(activity) diff --git a/test/web/activity_pub/utils_test.exs b/test/web/activity_pub/utils_test.exs index b8d811c73..9e0a0f1c4 100644 --- a/test/web/activity_pub/utils_test.exs +++ b/test/web/activity_pub/utils_test.exs @@ -120,7 +120,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => +          status:              "hey @#{other_user.nickname}, @#{third_user.nickname} how about beering together this weekend?"          }) @@ -139,8 +139,8 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "@#{other_user.nickname} @#{third_user.nickname} bought a new swimsuit!", -          "visibility" => "private" +          status: "@#{other_user.nickname} @#{third_user.nickname} bought a new swimsuit!", +          visibility: "private"          })        %{"to" => to, "cc" => cc} = Utils.make_like_data(other_user, activity, nil) @@ -168,11 +168,11 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "How do I pronounce LaTeX?", -          "poll" => %{ -            "options" => ["laytekh", "lahtekh", "latex"], -            "expires_in" => 20, -            "multiple" => true +          status: "How do I pronounce LaTeX?", +          poll: %{ +            options: ["laytekh", "lahtekh", "latex"], +            expires_in: 20, +            multiple: true            }          }) @@ -187,10 +187,10 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "Are we living in a society?", -          "poll" => %{ -            "options" => ["yes", "no"], -            "expires_in" => 20 +          status: "Are we living in a society?", +          poll: %{ +            options: ["yes", "no"], +            expires_in: 20            }          }) @@ -469,7 +469,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do      test "returns map with Flag object" do        reporter = insert(:user)        target_account = insert(:user) -      {:ok, activity} = CommonAPI.post(target_account, %{"status" => "foobar"}) +      {:ok, activity} = CommonAPI.post(target_account, %{status: "foobar"})        context = Utils.generate_context_id()        content = "foobar" diff --git a/test/web/activity_pub/views/object_view_test.exs b/test/web/activity_pub/views/object_view_test.exs index 6c006206b..43f0617f0 100644 --- a/test/web/activity_pub/views/object_view_test.exs +++ b/test/web/activity_pub/views/object_view_test.exs @@ -44,7 +44,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do        activity = insert(:note_activity, user: user)        {:ok, self_reply1} = -        CommonAPI.post(user, %{"status" => "self-reply 1", "in_reply_to_status_id" => activity.id}) +        CommonAPI.post(user, %{status: "self-reply 1", in_reply_to_status_id: activity.id})        replies_uris = [self_reply1.object.data["id"]]        result = ObjectView.render("object.json", %{object: refresh_record(activity)}) diff --git a/test/web/activity_pub/views/user_view_test.exs b/test/web/activity_pub/views/user_view_test.exs index 8d00893a5..20b0f223c 100644 --- a/test/web/activity_pub/views/user_view_test.exs +++ b/test/web/activity_pub/views/user_view_test.exs @@ -164,7 +164,7 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do      posts =        for i <- 0..25 do -        {:ok, activity} = CommonAPI.post(user, %{"status" => "post #{i}"}) +        {:ok, activity} = CommonAPI.post(user, %{status: "post #{i}"})          activity        end diff --git a/test/web/activity_pub/visibilty_test.exs b/test/web/activity_pub/visibilty_test.exs index 5b91630d4..8e9354c65 100644 --- a/test/web/activity_pub/visibilty_test.exs +++ b/test/web/activity_pub/visibilty_test.exs @@ -21,21 +21,21 @@ defmodule Pleroma.Web.ActivityPub.VisibilityTest do      Pleroma.List.follow(list, unrelated)      {:ok, public} = -      CommonAPI.post(user, %{"status" => "@#{mentioned.nickname}", "visibility" => "public"}) +      CommonAPI.post(user, %{status: "@#{mentioned.nickname}", visibility: "public"})      {:ok, private} = -      CommonAPI.post(user, %{"status" => "@#{mentioned.nickname}", "visibility" => "private"}) +      CommonAPI.post(user, %{status: "@#{mentioned.nickname}", visibility: "private"})      {:ok, direct} = -      CommonAPI.post(user, %{"status" => "@#{mentioned.nickname}", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "@#{mentioned.nickname}", visibility: "direct"})      {:ok, unlisted} = -      CommonAPI.post(user, %{"status" => "@#{mentioned.nickname}", "visibility" => "unlisted"}) +      CommonAPI.post(user, %{status: "@#{mentioned.nickname}", visibility: "unlisted"})      {:ok, list} =        CommonAPI.post(user, %{ -        "status" => "@#{mentioned.nickname}", -        "visibility" => "list:#{list.id}" +        status: "@#{mentioned.nickname}", +        visibility: "list:#{list.id}"        })      %{ diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index 4697af50e..ecf5465be 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -1747,7 +1747,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      test "change visibility flag", %{conn: conn, id: id, admin: admin} do        response =          conn -        |> put("/api/pleroma/admin/statuses/#{id}", %{"visibility" => "public"}) +        |> put("/api/pleroma/admin/statuses/#{id}", %{visibility: "public"})          |> json_response(:ok)        assert response["visibility"] == "public" @@ -1759,21 +1759,21 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        response =          conn -        |> put("/api/pleroma/admin/statuses/#{id}", %{"visibility" => "private"}) +        |> put("/api/pleroma/admin/statuses/#{id}", %{visibility: "private"})          |> json_response(:ok)        assert response["visibility"] == "private"        response =          conn -        |> put("/api/pleroma/admin/statuses/#{id}", %{"visibility" => "unlisted"}) +        |> put("/api/pleroma/admin/statuses/#{id}", %{visibility: "unlisted"})          |> json_response(:ok)        assert response["visibility"] == "unlisted"      end      test "returns 400 when visibility is unknown", %{conn: conn, id: id} do -      conn = put(conn, "/api/pleroma/admin/statuses/#{id}", %{"visibility" => "test"}) +      conn = put(conn, "/api/pleroma/admin/statuses/#{id}", %{visibility: "test"})        assert json_response(conn, :bad_request) == "Unsupported visibility"      end @@ -2977,13 +2977,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        user = insert(:user)        User.block(admin, blocked) -      {:ok, _} = -        CommonAPI.post(user, %{"status" => "@#{admin.nickname}", "visibility" => "direct"}) +      {:ok, _} = CommonAPI.post(user, %{status: "@#{admin.nickname}", visibility: "direct"}) -      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "unlisted"}) -      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) -      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) -      {:ok, _} = CommonAPI.post(blocked, %{"status" => ".", "visibility" => "public"}) +      {:ok, _} = CommonAPI.post(user, %{status: ".", visibility: "unlisted"}) +      {:ok, _} = CommonAPI.post(user, %{status: ".", visibility: "private"}) +      {:ok, _} = CommonAPI.post(user, %{status: ".", visibility: "public"}) +      {:ok, _} = CommonAPI.post(blocked, %{status: ".", visibility: "public"})        response =          conn @@ -3011,11 +3010,10 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      test "returns private and direct statuses with godmode on", %{conn: conn, admin: admin} do        user = insert(:user) -      {:ok, _} = -        CommonAPI.post(user, %{"status" => "@#{admin.nickname}", "visibility" => "direct"}) +      {:ok, _} = CommonAPI.post(user, %{status: "@#{admin.nickname}", visibility: "direct"}) -      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) -      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) +      {:ok, _} = CommonAPI.post(user, %{status: ".", visibility: "private"}) +      {:ok, _} = CommonAPI.post(user, %{status: ".", visibility: "public"})        conn = get(conn, "/api/pleroma/admin/statuses?godmode=true")        assert json_response(conn, 200) |> length() == 3      end @@ -3049,11 +3047,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      end      test "doesn't return private statuses by default", %{conn: conn, user: user} do -      {:ok, _private_status} = -        CommonAPI.post(user, %{"status" => "private", "visibility" => "private"}) +      {:ok, _private_status} = CommonAPI.post(user, %{status: "private", visibility: "private"}) -      {:ok, _public_status} = -        CommonAPI.post(user, %{"status" => "public", "visibility" => "public"}) +      {:ok, _public_status} = CommonAPI.post(user, %{status: "public", visibility: "public"})        conn = get(conn, "/api/pleroma/admin/users/#{user.nickname}/statuses") @@ -3061,11 +3057,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      end      test "returns private statuses with godmode on", %{conn: conn, user: user} do -      {:ok, _private_status} = -        CommonAPI.post(user, %{"status" => "private", "visibility" => "private"}) +      {:ok, _private_status} = CommonAPI.post(user, %{status: "private", visibility: "private"}) -      {:ok, _public_status} = -        CommonAPI.post(user, %{"status" => "public", "visibility" => "public"}) +      {:ok, _public_status} = CommonAPI.post(user, %{status: "public", visibility: "public"})        conn = get(conn, "/api/pleroma/admin/users/#{user.nickname}/statuses?godmode=true") @@ -3074,7 +3068,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      test "excludes reblogs by default", %{conn: conn, user: user} do        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "."}) +      {:ok, activity} = CommonAPI.post(user, %{status: "."})        {:ok, %Activity{}, _} = CommonAPI.repeat(activity.id, other_user)        conn_res = get(conn, "/api/pleroma/admin/users/#{other_user.nickname}/statuses") @@ -3599,9 +3593,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      test "status visibility count", %{conn: conn} do        admin = insert(:user, is_admin: true)        user = insert(:user) -      CommonAPI.post(user, %{"visibility" => "public", "status" => "hey"}) -      CommonAPI.post(user, %{"visibility" => "unlisted", "status" => "hey"}) -      CommonAPI.post(user, %{"visibility" => "unlisted", "status" => "hey"}) +      CommonAPI.post(user, %{visibility: "public", status: "hey"}) +      CommonAPI.post(user, %{visibility: "unlisted", status: "hey"}) +      CommonAPI.post(user, %{visibility: "unlisted", status: "hey"})        response =          conn diff --git a/test/web/admin_api/views/report_view_test.exs b/test/web/admin_api/views/report_view_test.exs index 8cfa1dcfa..f00b0afb2 100644 --- a/test/web/admin_api/views/report_view_test.exs +++ b/test/web/admin_api/views/report_view_test.exs @@ -45,7 +45,7 @@ defmodule Pleroma.Web.AdminAPI.ReportViewTest do    test "includes reported statuses" do      user = insert(:user)      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "toot"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "toot"})      {:ok, report_activity} =        CommonAPI.report(user, %{account_id: other_user.id, status_ids: [activity.id]}) diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index c524d1c0c..26e41c313 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -27,7 +27,7 @@ defmodule Pleroma.Web.CommonAPITest do      test "it works with pruned objects" do        user = insert(:user) -      {:ok, post} = CommonAPI.post(user, %{"status" => "namu amida butsu"}) +      {:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"})        Object.normalize(post, false)        |> Object.prune() @@ -45,7 +45,7 @@ defmodule Pleroma.Web.CommonAPITest do      test "it allows users to delete their posts" do        user = insert(:user) -      {:ok, post} = CommonAPI.post(user, %{"status" => "namu amida butsu"}) +      {:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"})        with_mock Pleroma.Web.Federator,          publish: fn _ -> nil end do @@ -61,7 +61,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, post} = CommonAPI.post(user, %{"status" => "namu amida butsu"}) +      {:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"})        assert {:error, "Could not delete"} = CommonAPI.delete(post.id, other_user)        assert Activity.get_by_id(post.id) @@ -71,7 +71,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        moderator = insert(:user, is_moderator: true) -      {:ok, post} = CommonAPI.post(user, %{"status" => "namu amida butsu"}) +      {:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"})        assert {:ok, delete} = CommonAPI.delete(post.id, moderator)        assert delete.local @@ -83,7 +83,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        moderator = insert(:user, is_admin: true) -      {:ok, post} = CommonAPI.post(user, %{"status" => "namu amida butsu"}) +      {:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"})        assert {:ok, delete} = CommonAPI.delete(post.id, moderator)        assert delete.local @@ -124,7 +124,7 @@ defmodule Pleroma.Web.CommonAPITest do      users_serial = insert_list(10, :user)      users = insert_list(10, :user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "."}) +    {:ok, activity} = CommonAPI.post(user, %{status: "."})      users_serial      |> Enum.map(fn user -> @@ -151,7 +151,7 @@ defmodule Pleroma.Web.CommonAPITest do      users_serial = insert_list(10, :user)      users = insert_list(10, :user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "."}) +    {:ok, activity} = CommonAPI.post(user, %{status: "."})      users_serial      |> Enum.map(fn user -> @@ -175,12 +175,12 @@ defmodule Pleroma.Web.CommonAPITest do    test "when replying to a conversation / participation, it will set the correct context id even if no explicit reply_to is given" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) +    {:ok, activity} = CommonAPI.post(user, %{status: ".", visibility: "direct"})      [participation] = Participation.for_user(user)      {:ok, convo_reply} = -      CommonAPI.post(user, %{"status" => ".", "in_reply_to_conversation_id" => participation.id}) +      CommonAPI.post(user, %{status: ".", in_reply_to_conversation_id: participation.id})      assert Visibility.is_direct?(convo_reply) @@ -194,8 +194,8 @@ defmodule Pleroma.Web.CommonAPITest do      {:ok, activity} =        CommonAPI.post(har, %{ -        "status" => "@#{jafnhar.nickname} hey", -        "visibility" => "direct" +        status: "@#{jafnhar.nickname} hey", +        visibility: "direct"        })      assert har.ap_id in activity.recipients @@ -205,10 +205,10 @@ defmodule Pleroma.Web.CommonAPITest do      {:ok, activity} =        CommonAPI.post(har, %{ -        "status" => "I don't really like @#{tridi.nickname}", -        "visibility" => "direct", -        "in_reply_to_status_id" => activity.id, -        "in_reply_to_conversation_id" => participation.id +        status: "I don't really like @#{tridi.nickname}", +        visibility: "direct", +        in_reply_to_status_id: activity.id, +        in_reply_to_conversation_id: participation.id        })      assert har.ap_id in activity.recipients @@ -225,8 +225,8 @@ defmodule Pleroma.Web.CommonAPITest do      {:ok, activity} =        CommonAPI.post(har, %{ -        "status" => "@#{jafnhar.nickname} hey, i never want to see @#{tridi.nickname} again", -        "visibility" => "direct" +        status: "@#{jafnhar.nickname} hey, i never want to see @#{tridi.nickname} again", +        visibility: "direct"        })      refute tridi.ap_id in activity.recipients @@ -235,7 +235,7 @@ defmodule Pleroma.Web.CommonAPITest do    test "it de-duplicates tags" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "#2hu #2HU"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "#2hu #2HU"})      object = Object.normalize(activity) @@ -244,7 +244,7 @@ defmodule Pleroma.Web.CommonAPITest do    test "it adds emoji in the object" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => ":firefox:"}) +    {:ok, activity} = CommonAPI.post(user, %{status: ":firefox:"})      assert Object.normalize(activity).data["emoji"]["firefox"]    end @@ -258,9 +258,9 @@ defmodule Pleroma.Web.CommonAPITest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => +          status:              "Hey, I think @#{user_three.nickname} is ugly. @#{user_four.nickname} is alright though.", -          "to" => [user_two.nickname, user_four.nickname, "nonexistent"] +          to: [user_two.nickname, user_four.nickname, "nonexistent"]          })        assert user.ap_id in activity.recipients @@ -276,8 +276,8 @@ defmodule Pleroma.Web.CommonAPITest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => post, -          "content_type" => "text/html" +          status: post, +          content_type: "text/html"          })        object = Object.normalize(activity) @@ -292,8 +292,8 @@ defmodule Pleroma.Web.CommonAPITest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => post, -          "content_type" => "text/markdown" +          status: post, +          content_type: "text/markdown"          })        object = Object.normalize(activity) @@ -304,21 +304,21 @@ defmodule Pleroma.Web.CommonAPITest do      test "it does not allow replies to direct messages that are not direct messages themselves" do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "suya..", "visibility" => "direct"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "suya..", visibility: "direct"})        assert {:ok, _} =                 CommonAPI.post(user, %{ -                 "status" => "suya..", -                 "visibility" => "direct", -                 "in_reply_to_status_id" => activity.id +                 status: "suya..", +                 visibility: "direct", +                 in_reply_to_status_id: activity.id                 })        Enum.each(["public", "private", "unlisted"], fn visibility ->          assert {:error, "The message visibility must be direct"} =                   CommonAPI.post(user, %{ -                   "status" => "suya..", -                   "visibility" => visibility, -                   "in_reply_to_status_id" => activity.id +                   status: "suya..", +                   visibility: visibility, +                   in_reply_to_status_id: activity.id                   })        end)      end @@ -327,8 +327,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        {:ok, list} = Pleroma.List.create("foo", user) -      {:ok, activity} = -        CommonAPI.post(user, %{"status" => "foobar", "visibility" => "list:#{list.id}"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "foobar", visibility: "list:#{list.id}"})        assert activity.data["bcc"] == [list.ap_id]        assert activity.recipients == [list.ap_id, user.ap_id] @@ -339,7 +338,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        assert {:error, "Cannot post an empty status without attachments"} = -               CommonAPI.post(user, %{"status" => ""}) +               CommonAPI.post(user, %{status: ""})      end      test "it validates character limits are correctly enforced" do @@ -348,9 +347,9 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        assert {:error, "The status is over the character limit"} = -               CommonAPI.post(user, %{"status" => "foobar"}) +               CommonAPI.post(user, %{status: "foobar"}) -      assert {:ok, activity} = CommonAPI.post(user, %{"status" => "12345"}) +      assert {:ok, activity} = CommonAPI.post(user, %{status: "12345"})      end      test "it can handle activities that expire" do @@ -361,8 +360,7 @@ defmodule Pleroma.Web.CommonAPITest do          |> NaiveDateTime.truncate(:second)          |> NaiveDateTime.add(1_000_000, :second) -      assert {:ok, activity} = -               CommonAPI.post(user, %{"status" => "chai", "expires_in" => 1_000_000}) +      assert {:ok, activity} = CommonAPI.post(user, %{status: "chai", expires_in: 1_000_000})        assert expiration = Pleroma.ActivityExpiration.get_by_activity_id(activity.id)        assert expiration.scheduled_at == expires_at @@ -374,14 +372,14 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, reaction} = CommonAPI.react_with_emoji(activity.id, user, "š")        assert reaction.data["actor"] == user.ap_id        assert reaction.data["content"] == "š" -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:error, _} = CommonAPI.react_with_emoji(activity.id, user, ".")      end @@ -390,7 +388,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, reaction} = CommonAPI.react_with_emoji(activity.id, user, "š")        {:ok, unreaction} = CommonAPI.unreact_with_emoji(activity.id, user, "š") @@ -404,7 +402,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, %Activity{}, _} = CommonAPI.repeat(activity.id, user)      end @@ -412,7 +410,7 @@ defmodule Pleroma.Web.CommonAPITest do      test "can't repeat a repeat" do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, %Activity{} = announce, _} = CommonAPI.repeat(activity.id, other_user) @@ -423,10 +421,10 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, %Activity{} = announce_activity, _} = -        CommonAPI.repeat(activity.id, user, %{"visibility" => "private"}) +        CommonAPI.repeat(activity.id, user, %{visibility: "private"})        assert Visibility.is_private?(announce_activity)      end @@ -435,7 +433,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, post_activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, post_activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, %Activity{data: data}} = CommonAPI.favorite(user, post_activity.id)        assert data["type"] == "Like" @@ -447,7 +445,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, %Activity{} = announce, object} = CommonAPI.repeat(activity.id, user)        {:ok, ^announce, ^object} = CommonAPI.repeat(activity.id, user)      end @@ -456,7 +454,7 @@ defmodule Pleroma.Web.CommonAPITest do        user = insert(:user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "cofe"})        {:ok, %Activity{}} = CommonAPI.favorite(user, activity.id)        assert {:ok, :already_liked} = CommonAPI.favorite(user, activity.id)      end @@ -467,7 +465,7 @@ defmodule Pleroma.Web.CommonAPITest do        Pleroma.Config.put([:instance, :max_pinned_statuses], 1)        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "HI!!!"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "HI!!!"})        [user: user, activity: activity]      end @@ -484,8 +482,8 @@ defmodule Pleroma.Web.CommonAPITest do      test "pin poll", %{user: user} do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "How is fediverse today?", -          "poll" => %{"options" => ["Absolutely outstanding", "Not good"], "expires_in" => 20} +          status: "How is fediverse today?", +          poll: %{options: ["Absolutely outstanding", "Not good"], expires_in: 20}          })        assert {:ok, ^activity} = CommonAPI.pin(activity.id, user) @@ -497,7 +495,7 @@ defmodule Pleroma.Web.CommonAPITest do      end      test "unlisted statuses can be pinned", %{user: user} do -      {:ok, activity} = CommonAPI.post(user, %{"status" => "HI!!!", "visibility" => "unlisted"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "HI!!!", visibility: "unlisted"})        assert {:ok, ^activity} = CommonAPI.pin(activity.id, user)      end @@ -508,7 +506,7 @@ defmodule Pleroma.Web.CommonAPITest do      end      test "max pinned statuses", %{user: user, activity: activity_one} do -      {:ok, activity_two} = CommonAPI.post(user, %{"status" => "HI!!!"}) +      {:ok, activity_two} = CommonAPI.post(user, %{status: "HI!!!"})        assert {:ok, ^activity_one} = CommonAPI.pin(activity_one.id, user) @@ -576,7 +574,7 @@ defmodule Pleroma.Web.CommonAPITest do        reporter = insert(:user)        target_user = insert(:user) -      {:ok, activity} = CommonAPI.post(target_user, %{"status" => "foobar"}) +      {:ok, activity} = CommonAPI.post(target_user, %{status: "foobar"})        reporter_ap_id = reporter.ap_id        target_ap_id = target_user.ap_id @@ -813,8 +811,8 @@ defmodule Pleroma.Web.CommonAPITest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "Am I cute?", -          "poll" => %{"options" => ["Yes", "No"], "expires_in" => 20} +          status: "Am I cute?", +          poll: %{options: ["Yes", "No"], expires_in: 20}          })        object = Object.normalize(activity) diff --git a/test/web/common_api/common_api_utils_test.exs b/test/web/common_api/common_api_utils_test.exs index 18a3b3b87..5708db6a4 100644 --- a/test/web/common_api/common_api_utils_test.exs +++ b/test/web/common_api/common_api_utils_test.exs @@ -228,7 +228,7 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do        user = insert(:user)        mentioned_user = insert(:user)        third_user = insert(:user) -      {:ok, activity} = CommonAPI.post(third_user, %{"status" => "uguu"}) +      {:ok, activity} = CommonAPI.post(third_user, %{status: "uguu"})        mentions = [mentioned_user.ap_id]        {to, cc} = Utils.get_to_and_cc(user, mentions, activity, "public", nil) @@ -261,7 +261,7 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do        user = insert(:user)        mentioned_user = insert(:user)        third_user = insert(:user) -      {:ok, activity} = CommonAPI.post(third_user, %{"status" => "uguu"}) +      {:ok, activity} = CommonAPI.post(third_user, %{status: "uguu"})        mentions = [mentioned_user.ap_id]        {to, cc} = Utils.get_to_and_cc(user, mentions, activity, "unlisted", nil) @@ -292,7 +292,7 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do        user = insert(:user)        mentioned_user = insert(:user)        third_user = insert(:user) -      {:ok, activity} = CommonAPI.post(third_user, %{"status" => "uguu"}) +      {:ok, activity} = CommonAPI.post(third_user, %{status: "uguu"})        mentions = [mentioned_user.ap_id]        {to, cc} = Utils.get_to_and_cc(user, mentions, activity, "private", nil) @@ -322,7 +322,7 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do        user = insert(:user)        mentioned_user = insert(:user)        third_user = insert(:user) -      {:ok, activity} = CommonAPI.post(third_user, %{"status" => "uguu"}) +      {:ok, activity} = CommonAPI.post(third_user, %{status: "uguu"})        mentions = [mentioned_user.ap_id]        {to, cc} = Utils.get_to_and_cc(user, mentions, activity, "direct", nil) @@ -463,8 +463,8 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do        desc = Jason.encode!(%{object.id => "test-desc"})        assert Utils.attachments_from_ids(%{ -               "media_ids" => ["#{object.id}"], -               "descriptions" => desc +               media_ids: ["#{object.id}"], +               descriptions: desc               }) == [                 Map.merge(object.data, %{"name" => "test-desc"})               ] @@ -472,7 +472,7 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do      test "returns attachments without descs" do        object = insert(:note) -      assert Utils.attachments_from_ids(%{"media_ids" => ["#{object.id}"]}) == [object.data] +      assert Utils.attachments_from_ids(%{media_ids: ["#{object.id}"]}) == [object.data]      end      test "returns [] when not pass media_ids" do diff --git a/test/web/federator_test.exs b/test/web/federator_test.exs index 261518ef0..de90aa6e0 100644 --- a/test/web/federator_test.exs +++ b/test/web/federator_test.exs @@ -29,7 +29,7 @@ defmodule Pleroma.Web.FederatorTest do    describe "Publish an activity" do      setup do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "HI"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "HI"})        relay_mock = {          Pleroma.Web.ActivityPub.Relay, @@ -96,7 +96,7 @@ defmodule Pleroma.Web.FederatorTest do        Instances.set_consistently_unreachable(URI.parse(inbox2).host)        {:ok, _activity} = -        CommonAPI.post(user, %{"status" => "HI @nick1@domain.com, @nick2@domain2.com!"}) +        CommonAPI.post(user, %{status: "HI @nick1@domain.com, @nick2@domain2.com!"})        expected_dt = NaiveDateTime.to_iso8601(dt) diff --git a/test/web/feed/tag_controller_test.exs b/test/web/feed/tag_controller_test.exs index d95aac108..a54161bd4 100644 --- a/test/web/feed/tag_controller_test.exs +++ b/test/web/feed/tag_controller_test.exs @@ -21,7 +21,7 @@ defmodule Pleroma.Web.Feed.TagControllerTest do      )      user = insert(:user) -    {:ok, activity1} = CommonAPI.post(user, %{"status" => "yeah #PleromaArt"}) +    {:ok, activity1} = CommonAPI.post(user, %{status: "yeah #PleromaArt"})      object = Object.normalize(activity1) @@ -43,9 +43,9 @@ defmodule Pleroma.Web.Feed.TagControllerTest do      |> Ecto.Changeset.change(data: object_data)      |> Pleroma.Repo.update() -    {:ok, activity2} = CommonAPI.post(user, %{"status" => "42 This is :moominmamma #PleromaArt"}) +    {:ok, activity2} = CommonAPI.post(user, %{status: "42 This is :moominmamma #PleromaArt"}) -    {:ok, _activity3} = CommonAPI.post(user, %{"status" => "This is :moominmamma"}) +    {:ok, _activity3} = CommonAPI.post(user, %{status: "This is :moominmamma"})      response =        conn @@ -88,7 +88,7 @@ defmodule Pleroma.Web.Feed.TagControllerTest do      )      user = insert(:user) -    {:ok, activity1} = CommonAPI.post(user, %{"status" => "yeah #PleromaArt"}) +    {:ok, activity1} = CommonAPI.post(user, %{status: "yeah #PleromaArt"})      object = Object.normalize(activity1) @@ -110,9 +110,9 @@ defmodule Pleroma.Web.Feed.TagControllerTest do      |> Ecto.Changeset.change(data: object_data)      |> Pleroma.Repo.update() -    {:ok, activity2} = CommonAPI.post(user, %{"status" => "42 This is :moominmamma #PleromaArt"}) +    {:ok, activity2} = CommonAPI.post(user, %{status: "42 This is :moominmamma #PleromaArt"}) -    {:ok, _activity3} = CommonAPI.post(user, %{"status" => "This is :moominmamma"}) +    {:ok, _activity3} = CommonAPI.post(user, %{status: "This is :moominmamma"})      response =        conn diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index 0d48ae4ae..280bd6aca 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -226,7 +226,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        user = insert(:user, ap_id: "https://honktest/u/test", local: false)        other_user = insert(:user) -      {:ok, post} = CommonAPI.post(other_user, %{"status" => "bonkeronk"}) +      {:ok, post} = CommonAPI.post(other_user, %{status: "bonkeronk"})        {:ok, announce, _} =          %{ @@ -255,7 +255,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        User.block(user_one, user_two) -      {:ok, activity} = CommonAPI.post(user_two, %{"status" => "User one sux0rz"}) +      {:ok, activity} = CommonAPI.post(user_two, %{status: "User one sux0rz"})        {:ok, repeat, _} = CommonAPI.repeat(activity.id, user_three)        assert resp = @@ -298,16 +298,16 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        {:ok, _user_three} = User.follow(user_three, user_one) -      {:ok, activity} = CommonAPI.post(user_one, %{"status" => "HI!!!"}) +      {:ok, activity} = CommonAPI.post(user_one, %{status: "HI!!!"})        {:ok, direct_activity} =          CommonAPI.post(user_one, %{ -          "status" => "Hi, @#{user_two.nickname}.", -          "visibility" => "direct" +          status: "Hi, @#{user_two.nickname}.", +          visibility: "direct"          })        {:ok, private_activity} = -        CommonAPI.post(user_one, %{"status" => "private", "visibility" => "private"}) +        CommonAPI.post(user_one, %{status: "private", visibility: "private"})        # TODO!!!        resp = @@ -362,8 +362,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        {:ok, %{id: media_id}} = ActivityPub.upload(file, actor: user.ap_id) -      {:ok, %{id: image_post_id}} = -        CommonAPI.post(user, %{"status" => "cofe", "media_ids" => [media_id]}) +      {:ok, %{id: image_post_id}} = CommonAPI.post(user, %{status: "cofe", media_ids: [media_id]})        conn = get(conn, "/api/v1/accounts/#{user.id}/statuses?only_media=true") @@ -375,7 +374,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      end      test "gets a user's statuses without reblogs", %{user: user, conn: conn} do -      {:ok, %{id: post_id}} = CommonAPI.post(user, %{"status" => "HI!!!"}) +      {:ok, %{id: post_id}} = CommonAPI.post(user, %{status: "HI!!!"})        {:ok, _, _} = CommonAPI.repeat(post_id, user)        conn = get(conn, "/api/v1/accounts/#{user.id}/statuses?exclude_reblogs=true") @@ -386,8 +385,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      end      test "filters user's statuses by a hashtag", %{user: user, conn: conn} do -      {:ok, %{id: post_id}} = CommonAPI.post(user, %{"status" => "#hashtag"}) -      {:ok, _post} = CommonAPI.post(user, %{"status" => "hashtag"}) +      {:ok, %{id: post_id}} = CommonAPI.post(user, %{status: "#hashtag"}) +      {:ok, _post} = CommonAPI.post(user, %{status: "hashtag"})        conn = get(conn, "/api/v1/accounts/#{user.id}/statuses?tagged=hashtag")        assert [%{"id" => ^post_id}] = json_response_and_validate_schema(conn, 200) @@ -398,9 +397,9 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        conn: conn      } do        {:ok, %{id: public_activity_id}} = -        CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) +        CommonAPI.post(user, %{status: ".", visibility: "public"}) -      {:ok, _direct_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) +      {:ok, _direct_activity} = CommonAPI.post(user, %{status: ".", visibility: "direct"})        conn = get(conn, "/api/v1/accounts/#{user.id}/statuses?exclude_visibilities[]=direct")        assert [%{"id" => ^public_activity_id}] = json_response_and_validate_schema(conn, 200) @@ -678,7 +677,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        assert %{"showing_reblogs" => false} = json_response_and_validate_schema(ret_conn, 200) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hey"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "hey"})        {:ok, %{id: reblog_id}, _} = CommonAPI.repeat(activity.id, followed)        assert [] == @@ -777,7 +776,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do    describe "pinned statuses" do      setup do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "HI!!!"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "HI!!!"})        %{conn: conn} = oauth_access(["read:statuses"], user: user)        [conn: conn, user: user, activity: activity] diff --git a/test/web/mastodon_api/controllers/conversation_controller_test.exs b/test/web/mastodon_api/controllers/conversation_controller_test.exs index 04695572e..693ba51e5 100644 --- a/test/web/mastodon_api/controllers/conversation_controller_test.exs +++ b/test/web/mastodon_api/controllers/conversation_controller_test.exs @@ -22,16 +22,16 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      {:ok, direct} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_two.nickname}, @#{user_three.nickname}!", -        "visibility" => "direct" +        status: "Hi @#{user_two.nickname}, @#{user_three.nickname}!", +        visibility: "direct"        })      assert User.get_cached_by_id(user_two.id).unread_conversation_count == 1      {:ok, _follower_only} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_two.nickname}!", -        "visibility" => "private" +        status: "Hi @#{user_two.nickname}!", +        visibility: "private"        })      res_conn = get(conn, "/api/v1/conversations") @@ -63,32 +63,32 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      {:ok, direct1} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_two.nickname}!", -        "visibility" => "direct" +        status: "Hi @#{user_two.nickname}!", +        visibility: "direct"        })      {:ok, _direct2} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_three.nickname}!", -        "visibility" => "direct" +        status: "Hi @#{user_three.nickname}!", +        visibility: "direct"        })      {:ok, direct3} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_two.nickname}, @#{user_three.nickname}!", -        "visibility" => "direct" +        status: "Hi @#{user_two.nickname}, @#{user_three.nickname}!", +        visibility: "direct"        })      {:ok, _direct4} =        CommonAPI.post(user_two, %{ -        "status" => "Hi @#{user_three.nickname}!", -        "visibility" => "direct" +        status: "Hi @#{user_three.nickname}!", +        visibility: "direct"        })      {:ok, direct5} =        CommonAPI.post(user_two, %{ -        "status" => "Hi @#{user_one.nickname}!", -        "visibility" => "direct" +        status: "Hi @#{user_one.nickname}!", +        visibility: "direct"        })      assert [conversation1, conversation2] = @@ -112,15 +112,15 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      {:ok, direct} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_two.nickname}", -        "visibility" => "direct" +        status: "Hi @#{user_two.nickname}", +        visibility: "direct"        })      {:ok, direct_reply} =        CommonAPI.post(user_two, %{ -        "status" => "reply", -        "visibility" => "direct", -        "in_reply_to_status_id" => direct.id +        status: "reply", +        visibility: "direct", +        in_reply_to_status_id: direct.id        })      [%{"last_status" => res_last_status}] = @@ -136,8 +136,8 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      {:ok, direct} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_two.nickname}", -        "visibility" => "direct" +        status: "Hi @#{user_two.nickname}", +        visibility: "direct"        })      assert User.get_cached_by_id(user_one.id).unread_conversation_count == 0 @@ -167,9 +167,9 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      # The conversation is marked as unread on reply      {:ok, _} =        CommonAPI.post(user_two, %{ -        "status" => "reply", -        "visibility" => "direct", -        "in_reply_to_status_id" => direct.id +        status: "reply", +        visibility: "direct", +        in_reply_to_status_id: direct.id        })      [%{"unread" => true}] = @@ -183,9 +183,9 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      # A reply doesn't increment the user's unread_conversation_count if the conversation is unread      {:ok, _} =        CommonAPI.post(user_two, %{ -        "status" => "reply", -        "visibility" => "direct", -        "in_reply_to_status_id" => direct.id +        status: "reply", +        visibility: "direct", +        in_reply_to_status_id: direct.id        })      assert User.get_cached_by_id(user_one.id).unread_conversation_count == 1 @@ -197,8 +197,8 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      {:ok, direct} =        CommonAPI.post(user_one, %{ -        "status" => "Hi @#{user_two.nickname}!", -        "visibility" => "direct" +        status: "Hi @#{user_two.nickname}!", +        visibility: "direct"        })      res_conn = get(conn, "/api/v1/statuses/#{direct.id}/context") diff --git a/test/web/mastodon_api/controllers/instance_controller_test.exs b/test/web/mastodon_api/controllers/instance_controller_test.exs index 90840d5ab..2c61dc5ba 100644 --- a/test/web/mastodon_api/controllers/instance_controller_test.exs +++ b/test/web/mastodon_api/controllers/instance_controller_test.exs @@ -50,7 +50,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceControllerTest do      insert(:user, %{local: false, nickname: "u@peer1.com"})      insert(:user, %{local: false, nickname: "u@peer2.com"}) -    {:ok, _} = Pleroma.Web.CommonAPI.post(user, %{"status" => "cofe"}) +    {:ok, _} = Pleroma.Web.CommonAPI.post(user, %{status: "cofe"})      Pleroma.Stats.force_update() diff --git a/test/web/mastodon_api/controllers/notification_controller_test.exs b/test/web/mastodon_api/controllers/notification_controller_test.exs index db380f76a..d9356a844 100644 --- a/test/web/mastodon_api/controllers/notification_controller_test.exs +++ b/test/web/mastodon_api/controllers/notification_controller_test.exs @@ -18,7 +18,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["read:notifications"])      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})      {:ok, [_notification]} = Notification.create_notifications(activity)      response = @@ -36,7 +36,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["read:notifications"])      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})      {:ok, [_notification]} = Notification.create_notifications(activity) @@ -60,7 +60,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["read:notifications"])      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})      {:ok, [notification]} = Notification.create_notifications(activity) @@ -79,7 +79,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["write:notifications"])      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})      {:ok, [notification]} = Notification.create_notifications(activity) @@ -96,7 +96,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["write:notifications"])      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})      {:ok, [notification]} = Notification.create_notifications(activity) @@ -112,7 +112,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["write:notifications", "read:notifications"])      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})      {:ok, [_notification]} = Notification.create_notifications(activity) @@ -130,10 +130,10 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["read:notifications"])      other_user = insert(:user) -    {:ok, activity1} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) -    {:ok, activity2} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) -    {:ok, activity3} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) -    {:ok, activity4} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +    {:ok, activity1} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"}) +    {:ok, activity2} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"}) +    {:ok, activity3} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"}) +    {:ok, activity4} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})      notification1_id = get_notification_id_by_activity(activity1)      notification2_id = get_notification_id_by_activity(activity2) @@ -173,16 +173,16 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do        other_user = insert(:user)        {:ok, public_activity} = -        CommonAPI.post(other_user, %{"status" => "@#{user.nickname}", "visibility" => "public"}) +        CommonAPI.post(other_user, %{status: "@#{user.nickname}", visibility: "public"})        {:ok, direct_activity} = -        CommonAPI.post(other_user, %{"status" => "@#{user.nickname}", "visibility" => "direct"}) +        CommonAPI.post(other_user, %{status: "@#{user.nickname}", visibility: "direct"})        {:ok, unlisted_activity} = -        CommonAPI.post(other_user, %{"status" => "@#{user.nickname}", "visibility" => "unlisted"}) +        CommonAPI.post(other_user, %{status: "@#{user.nickname}", visibility: "unlisted"})        {:ok, private_activity} = -        CommonAPI.post(other_user, %{"status" => "@#{user.nickname}", "visibility" => "private"}) +        CommonAPI.post(other_user, %{status: "@#{user.nickname}", visibility: "private"})        query = params_to_query(%{exclude_visibilities: ["public", "unlisted", "private"]})        conn_res = get(conn, "/api/v1/notifications?" <> query) @@ -213,17 +213,15 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do        user = insert(:user)        %{user: other_user, conn: conn} = oauth_access(["read:notifications"]) -      {:ok, public_activity} = -        CommonAPI.post(other_user, %{"status" => ".", "visibility" => "public"}) +      {:ok, public_activity} = CommonAPI.post(other_user, %{status: ".", visibility: "public"})        {:ok, direct_activity} = -        CommonAPI.post(other_user, %{"status" => "@#{user.nickname}", "visibility" => "direct"}) +        CommonAPI.post(other_user, %{status: "@#{user.nickname}", visibility: "direct"})        {:ok, unlisted_activity} = -        CommonAPI.post(other_user, %{"status" => ".", "visibility" => "unlisted"}) +        CommonAPI.post(other_user, %{status: ".", visibility: "unlisted"}) -      {:ok, private_activity} = -        CommonAPI.post(other_user, %{"status" => ".", "visibility" => "private"}) +      {:ok, private_activity} = CommonAPI.post(other_user, %{status: ".", visibility: "private"})        {:ok, _} = CommonAPI.favorite(user, public_activity.id)        {:ok, _} = CommonAPI.favorite(user, direct_activity.id) @@ -279,11 +277,10 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do        user = insert(:user)        %{user: other_user, conn: conn} = oauth_access(["read:notifications"]) -      {:ok, public_activity} = -        CommonAPI.post(other_user, %{"status" => ".", "visibility" => "public"}) +      {:ok, public_activity} = CommonAPI.post(other_user, %{status: ".", visibility: "public"})        {:ok, unlisted_activity} = -        CommonAPI.post(other_user, %{"status" => ".", "visibility" => "unlisted"}) +        CommonAPI.post(other_user, %{status: ".", visibility: "unlisted"})        {:ok, _, _} = CommonAPI.repeat(public_activity.id, user)        {:ok, _, _} = CommonAPI.repeat(unlisted_activity.id, user) @@ -303,8 +300,8 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["read:notifications"])      other_user = insert(:user) -    {:ok, mention_activity} = CommonAPI.post(other_user, %{"status" => "hey @#{user.nickname}"}) -    {:ok, create_activity} = CommonAPI.post(user, %{"status" => "hey"}) +    {:ok, mention_activity} = CommonAPI.post(other_user, %{status: "hey @#{user.nickname}"}) +    {:ok, create_activity} = CommonAPI.post(user, %{status: "hey"})      {:ok, favorite_activity} = CommonAPI.favorite(other_user, create_activity.id)      {:ok, reblog_activity, _} = CommonAPI.repeat(create_activity.id, other_user)      {:ok, _, _, follow_activity} = CommonAPI.follow(other_user, user) @@ -341,8 +338,8 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["read:notifications"])      other_user = insert(:user) -    {:ok, mention_activity} = CommonAPI.post(other_user, %{"status" => "hey @#{user.nickname}"}) -    {:ok, create_activity} = CommonAPI.post(user, %{"status" => "hey"}) +    {:ok, mention_activity} = CommonAPI.post(other_user, %{status: "hey @#{user.nickname}"}) +    {:ok, create_activity} = CommonAPI.post(user, %{status: "hey"})      {:ok, favorite_activity} = CommonAPI.favorite(other_user, create_activity.id)      {:ok, reblog_activity, _} = CommonAPI.repeat(create_activity.id, other_user)      {:ok, _, _, follow_activity} = CommonAPI.follow(other_user, user) @@ -388,10 +385,10 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      %{user: user, conn: conn} = oauth_access(["read:notifications", "write:notifications"])      other_user = insert(:user) -    {:ok, activity1} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) -    {:ok, activity2} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) -    {:ok, activity3} = CommonAPI.post(user, %{"status" => "hi @#{other_user.nickname}"}) -    {:ok, activity4} = CommonAPI.post(user, %{"status" => "hi @#{other_user.nickname}"}) +    {:ok, activity1} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"}) +    {:ok, activity2} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"}) +    {:ok, activity3} = CommonAPI.post(user, %{status: "hi @#{other_user.nickname}"}) +    {:ok, activity4} = CommonAPI.post(user, %{status: "hi @#{other_user.nickname}"})      notification1_id = get_notification_id_by_activity(activity1)      notification2_id = get_notification_id_by_activity(activity2) @@ -435,7 +432,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      user2 = insert(:user)      {:ok, _, _, _} = CommonAPI.follow(user, user2) -    {:ok, _} = CommonAPI.post(user2, %{"status" => "hey @#{user.nickname}"}) +    {:ok, _} = CommonAPI.post(user2, %{status: "hey @#{user.nickname}"})      ret_conn = get(conn, "/api/v1/notifications") @@ -453,7 +450,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      user2 = insert(:user)      {:ok, _, _, _} = CommonAPI.follow(user, user2) -    {:ok, _} = CommonAPI.post(user2, %{"status" => "hey @#{user.nickname}"}) +    {:ok, _} = CommonAPI.post(user2, %{status: "hey @#{user.nickname}"})      ret_conn = get(conn, "/api/v1/notifications") @@ -471,7 +468,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do      user2 = insert(:user)      {:ok, _, _, _} = CommonAPI.follow(user, user2) -    {:ok, _} = CommonAPI.post(user2, %{"status" => "hey @#{user.nickname}"}) +    {:ok, _} = CommonAPI.post(user2, %{status: "hey @#{user.nickname}"})      ret_conn = get(conn, "/api/v1/notifications") @@ -518,14 +515,14 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do        {:ok, activity1} =          CommonAPI.post(other_user, %{ -          "status" => "hi @#{user.nickname}", -          "visibility" => "public" +          status: "hi @#{user.nickname}", +          visibility: "public"          })        {:ok, activity2} =          CommonAPI.post(other_user, %{ -          "status" => "hi @#{user.nickname}", -          "visibility" => "public" +          status: "hi @#{user.nickname}", +          visibility: "public"          })        notification1 = Repo.get_by(Notification, activity_id: activity1.id) @@ -550,8 +547,8 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do        %{id: account_id} = other_user1 = insert(:user)        other_user2 = insert(:user) -      {:ok, _activity} = CommonAPI.post(other_user1, %{"status" => "hi @#{user.nickname}"}) -      {:ok, _activity} = CommonAPI.post(other_user2, %{"status" => "bye @#{user.nickname}"}) +      {:ok, _activity} = CommonAPI.post(other_user1, %{status: "hi @#{user.nickname}"}) +      {:ok, _activity} = CommonAPI.post(other_user2, %{status: "bye @#{user.nickname}"})        assert [%{"account" => %{"id" => ^account_id}}] =                 conn diff --git a/test/web/mastodon_api/controllers/poll_controller_test.exs b/test/web/mastodon_api/controllers/poll_controller_test.exs index d8f34aa86..f41de6448 100644 --- a/test/web/mastodon_api/controllers/poll_controller_test.exs +++ b/test/web/mastodon_api/controllers/poll_controller_test.exs @@ -16,8 +16,8 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do      test "returns poll entity for object id", %{user: user, conn: conn} do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "Pleroma does", -          "poll" => %{"options" => ["what Mastodon't", "n't what Mastodoes"], "expires_in" => 20} +          status: "Pleroma does", +          poll: %{options: ["what Mastodon't", "n't what Mastodoes"], expires_in: 20}          })        object = Object.normalize(activity) @@ -34,9 +34,9 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do        {:ok, activity} =          CommonAPI.post(other_user, %{ -          "status" => "Pleroma does", -          "poll" => %{"options" => ["what Mastodon't", "n't what Mastodoes"], "expires_in" => 20}, -          "visibility" => "private" +          status: "Pleroma does", +          poll: %{options: ["what Mastodon't", "n't what Mastodoes"], expires_in: 20}, +          visibility: "private"          })        object = Object.normalize(activity) @@ -55,11 +55,11 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do        {:ok, activity} =          CommonAPI.post(other_user, %{ -          "status" => "A very delicious sandwich", -          "poll" => %{ -            "options" => ["Lettuce", "Grilled Bacon", "Tomato"], -            "expires_in" => 20, -            "multiple" => true +          status: "A very delicious sandwich", +          poll: %{ +            options: ["Lettuce", "Grilled Bacon", "Tomato"], +            expires_in: 20, +            multiple: true            }          }) @@ -81,8 +81,8 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do      test "author can't vote", %{user: user, conn: conn} do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "Am I cute?", -          "poll" => %{"options" => ["Yes", "No"], "expires_in" => 20} +          status: "Am I cute?", +          poll: %{options: ["Yes", "No"], expires_in: 20}          })        object = Object.normalize(activity) @@ -102,8 +102,8 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do        {:ok, activity} =          CommonAPI.post(other_user, %{ -          "status" => "The glass is", -          "poll" => %{"options" => ["half empty", "half full"], "expires_in" => 20} +          status: "The glass is", +          poll: %{options: ["half empty", "half full"], expires_in: 20}          })        object = Object.normalize(activity) @@ -125,8 +125,8 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do        {:ok, activity} =          CommonAPI.post(other_user, %{ -          "status" => "Am I cute?", -          "poll" => %{"options" => ["Yes", "No"], "expires_in" => 20} +          status: "Am I cute?", +          poll: %{options: ["Yes", "No"], expires_in: 20}          })        object = Object.normalize(activity) @@ -153,9 +153,9 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do        {:ok, activity} =          CommonAPI.post(other_user, %{ -          "status" => "Am I cute?", -          "poll" => %{"options" => ["Yes", "No"], "expires_in" => 20}, -          "visibility" => "private" +          status: "Am I cute?", +          poll: %{options: ["Yes", "No"], expires_in: 20}, +          visibility: "private"          })        object = Object.normalize(activity) diff --git a/test/web/mastodon_api/controllers/report_controller_test.exs b/test/web/mastodon_api/controllers/report_controller_test.exs index 21b037237..6636cff96 100644 --- a/test/web/mastodon_api/controllers/report_controller_test.exs +++ b/test/web/mastodon_api/controllers/report_controller_test.exs @@ -14,7 +14,7 @@ defmodule Pleroma.Web.MastodonAPI.ReportControllerTest do    setup do      target_user = insert(:user) -    {:ok, activity} = CommonAPI.post(target_user, %{"status" => "foobar"}) +    {:ok, activity} = CommonAPI.post(target_user, %{status: "foobar"})      [target_user: target_user, activity: activity]    end diff --git a/test/web/mastodon_api/controllers/search_controller_test.exs b/test/web/mastodon_api/controllers/search_controller_test.exs index 02476acb6..6ad9a59fe 100644 --- a/test/web/mastodon_api/controllers/search_controller_test.exs +++ b/test/web/mastodon_api/controllers/search_controller_test.exs @@ -42,15 +42,15 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do        user_two = insert(:user, %{nickname: "shp@shitposter.club"})        user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"}) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "This is about 2hu private 天å"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "This is about 2hu private 天å"})        {:ok, _activity} =          CommonAPI.post(user, %{ -          "status" => "This is about 2hu, but private", -          "visibility" => "private" +          status: "This is about 2hu, but private", +          visibility: "private"          }) -      {:ok, _} = CommonAPI.post(user_two, %{"status" => "This isn't"}) +      {:ok, _} = CommonAPI.post(user_two, %{status: "This isn't"})        results =          conn @@ -80,9 +80,9 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do        user_smith = insert(:user, %{nickname: "Agent", name: "I love 2hu"})        user_neo = insert(:user, %{nickname: "Agent Neo", name: "Agent"}) -      {:ok, act1} = CommonAPI.post(user, %{"status" => "This is about 2hu private 天å"}) -      {:ok, act2} = CommonAPI.post(user_smith, %{"status" => "Agent Smith"}) -      {:ok, act3} = CommonAPI.post(user_neo, %{"status" => "Agent Smith"}) +      {:ok, act1} = CommonAPI.post(user, %{status: "This is about 2hu private 天å"}) +      {:ok, act2} = CommonAPI.post(user_smith, %{status: "Agent Smith"}) +      {:ok, act3} = CommonAPI.post(user_neo, %{status: "Agent Smith"})        Pleroma.User.block(user, user_smith)        results = @@ -161,15 +161,15 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do        user_two = insert(:user, %{nickname: "shp@shitposter.club"})        user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"}) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "This is about 2hu"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "This is about 2hu"})        {:ok, _activity} =          CommonAPI.post(user, %{ -          "status" => "This is about 2hu, but private", -          "visibility" => "private" +          status: "This is about 2hu, but private", +          visibility: "private"          }) -      {:ok, _} = CommonAPI.post(user_two, %{"status" => "This isn't"}) +      {:ok, _} = CommonAPI.post(user_two, %{status: "This isn't"})        results =          conn @@ -189,7 +189,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do        capture_log(fn ->          {:ok, %{id: activity_id}} =            CommonAPI.post(insert(:user), %{ -            "status" => "check out https://shitposter.club/notice/2827873" +            status: "check out https://shitposter.club/notice/2827873"            })          results = @@ -207,8 +207,8 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do      test "search doesn't show statuses that it shouldn't", %{conn: conn} do        {:ok, activity} =          CommonAPI.post(insert(:user), %{ -          "status" => "This is about 2hu, but private", -          "visibility" => "private" +          status: "This is about 2hu, but private", +          visibility: "private"          })        capture_log(fn -> @@ -251,8 +251,8 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do        _user_two = insert(:user, %{nickname: "shp@shitposter.club"})        _user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"}) -      {:ok, _activity1} = CommonAPI.post(user, %{"status" => "This is about 2hu"}) -      {:ok, _activity2} = CommonAPI.post(user, %{"status" => "This is also about 2hu"}) +      {:ok, _activity1} = CommonAPI.post(user, %{status: "This is about 2hu"}) +      {:ok, _activity2} = CommonAPI.post(user, %{status: "This is also about 2hu"})        result =          conn @@ -277,7 +277,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do        user = insert(:user)        _user_two = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"}) -      {:ok, _activity} = CommonAPI.post(user, %{"status" => "This is about 2hu"}) +      {:ok, _activity} = CommonAPI.post(user, %{status: "This is about 2hu"})        assert %{"statuses" => [_activity], "accounts" => [], "hashtags" => []} =                 conn @@ -294,8 +294,8 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do        user = insert(:user, %{nickname: "shp@shitposter.club"})        user_two = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"}) -      {:ok, activity1} = CommonAPI.post(user, %{"status" => "This is about 2hu"}) -      {:ok, activity2} = CommonAPI.post(user_two, %{"status" => "This is also about 2hu"}) +      {:ok, activity1} = CommonAPI.post(user, %{status: "This is about 2hu"}) +      {:ok, activity2} = CommonAPI.post(user_two, %{status: "This is also about 2hu"})        results =          conn diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index 85068edd0..a4403132c 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -32,13 +32,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn +        |> put_req_header("content-type", "application/json")          |> post("api/v1/statuses", %{            "content_type" => "text/plain",            "source" => "Pleroma FE",            "status" => "Hello world",            "visibility" => "public"          }) -        |> json_response(200) +        |> json_response_and_validate_schema(200)        assert response["reblogs_count"] == 0        ObanHelpers.perform_all() @@ -46,7 +47,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("api/v1/statuses/#{response["id"]}", %{}) -        |> json_response(200) +        |> json_response_and_validate_schema(200)        assert response["reblogs_count"] == 0      end @@ -56,6 +57,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        conn_one =          conn +        |> put_req_header("content-type", "application/json")          |> put_req_header("idempotency-key", idempotency_key)          |> post("/api/v1/statuses", %{            "status" => "cofe", @@ -68,12 +70,13 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        assert ttl > :timer.seconds(6 * 60 * 60 - 1)        assert %{"content" => "cofe", "id" => id, "spoiler_text" => "2hu", "sensitive" => false} = -               json_response(conn_one, 200) +               json_response_and_validate_schema(conn_one, 200)        assert Activity.get_by_id(id)        conn_two =          conn +        |> put_req_header("content-type", "application/json")          |> put_req_header("idempotency-key", idempotency_key)          |> post("/api/v1/statuses", %{            "status" => "cofe", @@ -86,13 +89,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        conn_three =          conn +        |> put_req_header("content-type", "application/json")          |> post("/api/v1/statuses", %{            "status" => "cofe",            "spoiler_text" => "2hu",            "sensitive" => "false"          }) -      assert %{"id" => third_id} = json_response(conn_three, 200) +      assert %{"id" => third_id} = json_response_and_validate_schema(conn_three, 200)        refute id == third_id        # An activity that will expire: @@ -101,12 +105,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        conn_four =          conn +        |> put_req_header("content-type", "application/json")          |> post("api/v1/statuses", %{            "status" => "oolong",            "expires_in" => expires_in          }) -      assert fourth_response = %{"id" => fourth_id} = json_response(conn_four, 200) +      assert fourth_response = +               %{"id" => fourth_id} = json_response_and_validate_schema(conn_four, 200) +        assert activity = Activity.get_by_id(fourth_id)        assert expiration = ActivityExpiration.get_by_activity_id(fourth_id) @@ -130,22 +137,24 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        assert %{"error" => "Expiry date is too soon"} =                 conn +               |> put_req_header("content-type", "application/json")                 |> post("api/v1/statuses", %{                   "status" => "oolong",                   "expires_in" => expires_in                 }) -               |> json_response(422) +               |> json_response_and_validate_schema(422)        # 30 minutes        expires_in = 30 * 60        assert %{"error" => "Expiry date is too soon"} =                 conn +               |> put_req_header("content-type", "application/json")                 |> post("api/v1/statuses", %{                   "status" => "oolong",                   "expires_in" => expires_in                 }) -               |> json_response(422) +               |> json_response_and_validate_schema(422)      end      test "posting an undefined status with an attachment", %{user: user, conn: conn} do @@ -158,21 +167,24 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        {:ok, upload} = ActivityPub.upload(file, actor: user.ap_id)        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "media_ids" => [to_string(upload.id)]          }) -      assert json_response(conn, 200) +      assert json_response_and_validate_schema(conn, 200)      end      test "replying to a status", %{user: user, conn: conn} do -      {:ok, replied_to} = CommonAPI.post(user, %{"status" => "cofe"}) +      {:ok, replied_to} = CommonAPI.post(user, %{status: "cofe"})        conn =          conn +        |> put_req_header("content-type", "application/json")          |> post("/api/v1/statuses", %{"status" => "xD", "in_reply_to_id" => replied_to.id}) -      assert %{"content" => "xD", "id" => id} = json_response(conn, 200) +      assert %{"content" => "xD", "id" => id} = json_response_and_validate_schema(conn, 200)        activity = Activity.get_by_id(id) @@ -184,43 +196,56 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        user: user,        conn: conn      } do -      {:ok, replied_to} = CommonAPI.post(user, %{"status" => "suya..", "visibility" => "direct"}) +      {:ok, replied_to} = CommonAPI.post(user, %{status: "suya..", visibility: "direct"})        Enum.each(["public", "private", "unlisted"], fn visibility ->          conn =            conn +          |> put_req_header("content-type", "application/json")            |> post("/api/v1/statuses", %{              "status" => "@#{user.nickname} hey",              "in_reply_to_id" => replied_to.id,              "visibility" => visibility            }) -        assert json_response(conn, 422) == %{"error" => "The message visibility must be direct"} +        assert json_response_and_validate_schema(conn, 422) == %{ +                 "error" => "The message visibility must be direct" +               }        end)      end      test "posting a status with an invalid in_reply_to_id", %{conn: conn} do -      conn = post(conn, "/api/v1/statuses", %{"status" => "xD", "in_reply_to_id" => ""}) +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{"status" => "xD", "in_reply_to_id" => ""}) -      assert %{"content" => "xD", "id" => id} = json_response(conn, 200) +      assert %{"content" => "xD", "id" => id} = json_response_and_validate_schema(conn, 200)        assert Activity.get_by_id(id)      end      test "posting a sensitive status", %{conn: conn} do -      conn = post(conn, "/api/v1/statuses", %{"status" => "cofe", "sensitive" => true}) +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{"status" => "cofe", "sensitive" => true}) + +      assert %{"content" => "cofe", "id" => id, "sensitive" => true} = +               json_response_and_validate_schema(conn, 200) -      assert %{"content" => "cofe", "id" => id, "sensitive" => true} = json_response(conn, 200)        assert Activity.get_by_id(id)      end      test "posting a fake status", %{conn: conn} do        real_conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" =>              "\"Tenshi Eating a Corndog\" is a much discussed concept on /jp/. The significance of it is disputed, so I will focus on one core concept: the symbolism behind it"          }) -      real_status = json_response(real_conn, 200) +      real_status = json_response_and_validate_schema(real_conn, 200)        assert real_status        assert Object.get_by_ap_id(real_status["uri"]) @@ -234,13 +259,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          |> Kernel.put_in(["pleroma", "conversation_id"], nil)        fake_conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" =>              "\"Tenshi Eating a Corndog\" is a much discussed concept on /jp/. The significance of it is disputed, so I will focus on one core concept: the symbolism behind it",            "preview" => true          }) -      fake_status = json_response(fake_conn, 200) +      fake_status = json_response_and_validate_schema(fake_conn, 200)        assert fake_status        refute Object.get_by_ap_id(fake_status["uri"]) @@ -261,11 +288,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        Config.put([:rich_media, :enabled], true)        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "https://example.com/ogp"          }) -      assert %{"id" => id, "card" => %{"title" => "The Rock"}} = json_response(conn, 200) +      assert %{"id" => id, "card" => %{"title" => "The Rock"}} = +               json_response_and_validate_schema(conn, 200) +        assert Activity.get_by_id(id)      end @@ -273,9 +304,12 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        user2 = insert(:user)        content = "direct cofe @#{user2.nickname}" -      conn = post(conn, "api/v1/statuses", %{"status" => content, "visibility" => "direct"}) +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("api/v1/statuses", %{"status" => content, "visibility" => "direct"}) -      assert %{"id" => id} = response = json_response(conn, 200) +      assert %{"id" => id} = response = json_response_and_validate_schema(conn, 200)        assert response["visibility"] == "direct"        assert response["pleroma"]["direct_conversation_id"]        assert activity = Activity.get_by_id(id) @@ -289,32 +323,45 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do: oauth_access(["write:statuses"])      test "creates a scheduled activity", %{conn: conn} do -      scheduled_at = NaiveDateTime.add(NaiveDateTime.utc_now(), :timer.minutes(120), :millisecond) +      scheduled_at = +        NaiveDateTime.add(NaiveDateTime.utc_now(), :timer.minutes(120), :millisecond) +        |> NaiveDateTime.to_iso8601() +        |> Kernel.<>("Z")        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "scheduled",            "scheduled_at" => scheduled_at          }) -      assert %{"scheduled_at" => expected_scheduled_at} = json_response(conn, 200) +      assert %{"scheduled_at" => expected_scheduled_at} = +               json_response_and_validate_schema(conn, 200) +        assert expected_scheduled_at == CommonAPI.Utils.to_masto_date(scheduled_at)        assert [] == Repo.all(Activity)      end      test "ignores nil values", %{conn: conn} do        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "not scheduled",            "scheduled_at" => nil          }) -      assert result = json_response(conn, 200) +      assert result = json_response_and_validate_schema(conn, 200)        assert Activity.get_by_id(result["id"])      end      test "creates a scheduled activity with a media attachment", %{user: user, conn: conn} do -      scheduled_at = NaiveDateTime.add(NaiveDateTime.utc_now(), :timer.minutes(120), :millisecond) +      scheduled_at = +        NaiveDateTime.utc_now() +        |> NaiveDateTime.add(:timer.minutes(120), :millisecond) +        |> NaiveDateTime.to_iso8601() +        |> Kernel.<>("Z")        file = %Plug.Upload{          content_type: "image/jpg", @@ -325,13 +372,17 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        {:ok, upload} = ActivityPub.upload(file, actor: user.ap_id)        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "media_ids" => [to_string(upload.id)],            "status" => "scheduled",            "scheduled_at" => scheduled_at          }) -      assert %{"media_attachments" => [media_attachment]} = json_response(conn, 200) +      assert %{"media_attachments" => [media_attachment]} = +               json_response_and_validate_schema(conn, 200) +        assert %{"type" => "image"} = media_attachment      end @@ -339,14 +390,18 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do           %{conn: conn} do        scheduled_at =          NaiveDateTime.add(NaiveDateTime.utc_now(), :timer.minutes(5) - 1, :millisecond) +        |> NaiveDateTime.to_iso8601() +        |> Kernel.<>("Z")        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "not scheduled",            "scheduled_at" => scheduled_at          }) -      assert %{"content" => "not scheduled"} = json_response(conn, 200) +      assert %{"content" => "not scheduled"} = json_response_and_validate_schema(conn, 200)        assert [] == Repo.all(ScheduledActivity)      end @@ -355,14 +410,19 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          NaiveDateTime.utc_now()          |> NaiveDateTime.add(:timer.minutes(6), :millisecond)          |> NaiveDateTime.to_iso8601() +        # TODO +        |> Kernel.<>("Z")        attrs = %{params: %{}, scheduled_at: today}        {:ok, _} = ScheduledActivity.create(user, attrs)        {:ok, _} = ScheduledActivity.create(user, attrs) -      conn = post(conn, "/api/v1/statuses", %{"status" => "scheduled", "scheduled_at" => today}) +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{"status" => "scheduled", "scheduled_at" => today}) -      assert %{"error" => "daily limit exceeded"} == json_response(conn, 422) +      assert %{"error" => "daily limit exceeded"} == json_response_and_validate_schema(conn, 422)      end      test "returns error when total user limit is exceeded", %{user: user, conn: conn} do @@ -370,11 +430,13 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          NaiveDateTime.utc_now()          |> NaiveDateTime.add(:timer.minutes(6), :millisecond)          |> NaiveDateTime.to_iso8601() +        |> Kernel.<>("Z")        tomorrow =          NaiveDateTime.utc_now()          |> NaiveDateTime.add(:timer.hours(36), :millisecond)          |> NaiveDateTime.to_iso8601() +        |> Kernel.<>("Z")        attrs = %{params: %{}, scheduled_at: today}        {:ok, _} = ScheduledActivity.create(user, attrs) @@ -382,9 +444,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        {:ok, _} = ScheduledActivity.create(user, %{params: %{}, scheduled_at: tomorrow})        conn = -        post(conn, "/api/v1/statuses", %{"status" => "scheduled", "scheduled_at" => tomorrow}) +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{"status" => "scheduled", "scheduled_at" => tomorrow}) -      assert %{"error" => "total limit exceeded"} == json_response(conn, 422) +      assert %{"error" => "total limit exceeded"} == json_response_and_validate_schema(conn, 422)      end    end @@ -395,12 +459,17 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        time = NaiveDateTime.utc_now()        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "Who is the #bestgrill?", -          "poll" => %{"options" => ["Rei", "Asuka", "Misato"], "expires_in" => 420} +          "poll" => %{ +            "options" => ["Rei", "Asuka", "Misato"], +            "expires_in" => 420 +          }          }) -      response = json_response(conn, 200) +      response = json_response_and_validate_schema(conn, 200)        assert Enum.all?(response["poll"]["options"], fn %{"title" => title} ->                 title in ["Rei", "Asuka", "Misato"] @@ -419,12 +488,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        limit = Config.get([:instance, :poll_limits, :max_options])        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "desu~",            "poll" => %{"options" => Enum.map(0..limit, fn _ -> "desu" end), "expires_in" => 1}          }) -      %{"error" => error} = json_response(conn, 422) +      %{"error" => error} = json_response_and_validate_schema(conn, 422)        assert error == "Poll can't contain more than #{limit} options"      end @@ -432,7 +503,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        limit = Config.get([:instance, :poll_limits, :max_option_chars])        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "...",            "poll" => %{              "options" => [Enum.reduce(0..limit, "", fn _, acc -> acc <> "." end)], @@ -440,7 +513,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do            }          }) -      %{"error" => error} = json_response(conn, 422) +      %{"error" => error} = json_response_and_validate_schema(conn, 422)        assert error == "Poll options cannot be longer than #{limit} characters each"      end @@ -448,7 +521,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        limit = Config.get([:instance, :poll_limits, :min_expiration])        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "imagine arbitrary limits",            "poll" => %{              "options" => ["this post was made by pleroma gang"], @@ -456,7 +531,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do            }          }) -      %{"error" => error} = json_response(conn, 422) +      %{"error" => error} = json_response_and_validate_schema(conn, 422)        assert error == "Expiration date is too soon"      end @@ -464,7 +539,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        limit = Config.get([:instance, :poll_limits, :max_expiration])        conn = -        post(conn, "/api/v1/statuses", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses", %{            "status" => "imagine arbitrary limits",            "poll" => %{              "options" => ["this post was made by pleroma gang"], @@ -472,7 +549,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do            }          }) -      %{"error" => error} = json_response(conn, 422) +      %{"error" => error} = json_response_and_validate_schema(conn, 422)        assert error == "Expiration date is too far in the future"      end    end @@ -483,7 +560,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      conn = get(conn, "/api/v1/statuses/#{activity.id}") -    assert %{"id" => id} = json_response(conn, 200) +    assert %{"id" => id} = json_response_and_validate_schema(conn, 200)      assert id == to_string(activity.id)    end @@ -503,13 +580,13 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "if user is unauthenticated", %{conn: conn, local: local, remote: remote} do        res_conn = get(conn, "/api/v1/statuses/#{local.id}") -      assert json_response(res_conn, :not_found) == %{ +      assert json_response_and_validate_schema(res_conn, :not_found) == %{                 "error" => "Record not found"               }        res_conn = get(conn, "/api/v1/statuses/#{remote.id}") -      assert json_response(res_conn, :not_found) == %{ +      assert json_response_and_validate_schema(res_conn, :not_found) == %{                 "error" => "Record not found"               }      end @@ -517,10 +594,10 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "if user is authenticated", %{local: local, remote: remote} do        %{conn: conn} = oauth_access(["read"])        res_conn = get(conn, "/api/v1/statuses/#{local.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)        res_conn = get(conn, "/api/v1/statuses/#{remote.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)      end    end @@ -532,21 +609,21 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "if user is unauthenticated", %{conn: conn, local: local, remote: remote} do        res_conn = get(conn, "/api/v1/statuses/#{local.id}") -      assert json_response(res_conn, :not_found) == %{ +      assert json_response_and_validate_schema(res_conn, :not_found) == %{                 "error" => "Record not found"               }        res_conn = get(conn, "/api/v1/statuses/#{remote.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)      end      test "if user is authenticated", %{local: local, remote: remote} do        %{conn: conn} = oauth_access(["read"])        res_conn = get(conn, "/api/v1/statuses/#{local.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)        res_conn = get(conn, "/api/v1/statuses/#{remote.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)      end    end @@ -557,11 +634,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "if user is unauthenticated", %{conn: conn, local: local, remote: remote} do        res_conn = get(conn, "/api/v1/statuses/#{local.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)        res_conn = get(conn, "/api/v1/statuses/#{remote.id}") -      assert json_response(res_conn, :not_found) == %{ +      assert json_response_and_validate_schema(res_conn, :not_found) == %{                 "error" => "Record not found"               }      end @@ -569,10 +646,10 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "if user is authenticated", %{local: local, remote: remote} do        %{conn: conn} = oauth_access(["read"])        res_conn = get(conn, "/api/v1/statuses/#{local.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)        res_conn = get(conn, "/api/v1/statuses/#{remote.id}") -      assert %{"id" => _} = json_response(res_conn, 200) +      assert %{"id" => _} = json_response_and_validate_schema(res_conn, 200)      end    end @@ -582,7 +659,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      conn = get(conn, "/api/v1/statuses/#{String.downcase(activity.id)}") -    assert json_response(conn, 404) == %{"error" => "Record not found"} +    assert json_response_and_validate_schema(conn, 404) == %{"error" => "Record not found"}    end    test "get a direct status" do @@ -590,7 +667,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      other_user = insert(:user)      {:ok, activity} = -      CommonAPI.post(user, %{"status" => "@#{other_user.nickname}", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "@#{other_user.nickname}", visibility: "direct"})      conn =        conn @@ -599,7 +676,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      [participation] = Participation.for_user(user) -    res = json_response(conn, 200) +    res = json_response_and_validate_schema(conn, 200)      assert res["pleroma"]["direct_conversation_id"] == participation.id    end @@ -611,7 +688,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      query_string = "ids[]=#{id1}&ids[]=#{id2}"      conn = get(conn, "/api/v1/statuses/?#{query_string}") -    assert [%{"id" => ^id1}, %{"id" => ^id2}] = Enum.sort_by(json_response(conn, :ok), & &1["id"]) +    assert [%{"id" => ^id1}, %{"id" => ^id2}] = +             Enum.sort_by(json_response_and_validate_schema(conn, :ok), & &1["id"])    end    describe "getting statuses by ids with restricted unauthenticated for local and remote" do @@ -622,17 +700,17 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do: clear_config([:restrict_unauthenticated, :activities, :remote], true)      test "if user is unauthenticated", %{conn: conn, local: local, remote: remote} do -      res_conn = get(conn, "/api/v1/statuses", %{ids: [local.id, remote.id]}) +      res_conn = get(conn, "/api/v1/statuses?ids[]=#{local.id}&ids[]=#{remote.id}") -      assert json_response(res_conn, 200) == [] +      assert json_response_and_validate_schema(res_conn, 200) == []      end      test "if user is authenticated", %{local: local, remote: remote} do        %{conn: conn} = oauth_access(["read"]) -      res_conn = get(conn, "/api/v1/statuses", %{ids: [local.id, remote.id]}) +      res_conn = get(conn, "/api/v1/statuses?ids[]=#{local.id}&ids[]=#{remote.id}") -      assert length(json_response(res_conn, 200)) == 2 +      assert length(json_response_and_validate_schema(res_conn, 200)) == 2      end    end @@ -642,18 +720,18 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do: clear_config([:restrict_unauthenticated, :activities, :local], true)      test "if user is unauthenticated", %{conn: conn, local: local, remote: remote} do -      res_conn = get(conn, "/api/v1/statuses", %{ids: [local.id, remote.id]}) +      res_conn = get(conn, "/api/v1/statuses?ids[]=#{local.id}&ids[]=#{remote.id}")        remote_id = remote.id -      assert [%{"id" => ^remote_id}] = json_response(res_conn, 200) +      assert [%{"id" => ^remote_id}] = json_response_and_validate_schema(res_conn, 200)      end      test "if user is authenticated", %{local: local, remote: remote} do        %{conn: conn} = oauth_access(["read"]) -      res_conn = get(conn, "/api/v1/statuses", %{ids: [local.id, remote.id]}) +      res_conn = get(conn, "/api/v1/statuses?ids[]=#{local.id}&ids[]=#{remote.id}") -      assert length(json_response(res_conn, 200)) == 2 +      assert length(json_response_and_validate_schema(res_conn, 200)) == 2      end    end @@ -663,18 +741,18 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do: clear_config([:restrict_unauthenticated, :activities, :remote], true)      test "if user is unauthenticated", %{conn: conn, local: local, remote: remote} do -      res_conn = get(conn, "/api/v1/statuses", %{ids: [local.id, remote.id]}) +      res_conn = get(conn, "/api/v1/statuses?ids[]=#{local.id}&ids[]=#{remote.id}")        local_id = local.id -      assert [%{"id" => ^local_id}] = json_response(res_conn, 200) +      assert [%{"id" => ^local_id}] = json_response_and_validate_schema(res_conn, 200)      end      test "if user is authenticated", %{local: local, remote: remote} do        %{conn: conn} = oauth_access(["read"]) -      res_conn = get(conn, "/api/v1/statuses", %{ids: [local.id, remote.id]}) +      res_conn = get(conn, "/api/v1/statuses?ids[]=#{local.id}&ids[]=#{remote.id}") -      assert length(json_response(res_conn, 200)) == 2 +      assert length(json_response_and_validate_schema(res_conn, 200)) == 2      end    end @@ -688,7 +766,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          |> assign(:user, author)          |> delete("/api/v1/statuses/#{activity.id}") -      assert %{} = json_response(conn, 200) +      assert %{} = json_response_and_validate_schema(conn, 200)        refute Activity.get_by_id(activity.id)      end @@ -702,7 +780,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          |> assign(:user, author)          |> delete("/api/v1/statuses/#{String.downcase(activity.id)}") -      assert %{"error" => "Record not found"} == json_response(conn, 404) +      assert %{"error" => "Record not found"} == json_response_and_validate_schema(conn, 404)      end      test "when you didn't create it" do @@ -711,7 +789,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        conn = delete(conn, "/api/v1/statuses/#{activity.id}") -      assert %{"error" => _} = json_response(conn, 403) +      assert %{"error" => _} = json_response_and_validate_schema(conn, 403)        assert Activity.get_by_id(activity.id) == activity      end @@ -728,7 +806,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          |> assign(:token, insert(:oauth_token, user: admin, scopes: ["write:statuses"]))          |> delete("/api/v1/statuses/#{activity1.id}") -      assert %{} = json_response(res_conn, 200) +      assert %{} = json_response_and_validate_schema(res_conn, 200)        res_conn =          conn @@ -736,7 +814,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          |> assign(:token, insert(:oauth_token, user: moderator, scopes: ["write:statuses"]))          |> delete("/api/v1/statuses/#{activity2.id}") -      assert %{} = json_response(res_conn, 200) +      assert %{} = json_response_and_validate_schema(res_conn, 200)        refute Activity.get_by_id(activity1.id)        refute Activity.get_by_id(activity2.id) @@ -749,12 +827,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "reblogs and returns the reblogged status", %{conn: conn} do        activity = insert(:note_activity) -      conn = post(conn, "/api/v1/statuses/#{activity.id}/reblog") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/#{activity.id}/reblog")        assert %{                 "reblog" => %{"id" => id, "reblogged" => true, "reblogs_count" => 1},                 "reblogged" => true -             } = json_response(conn, 200) +             } = json_response_and_validate_schema(conn, 200)        assert to_string(activity.id) == id      end @@ -762,21 +843,30 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "returns 404 if the reblogged status doesn't exist", %{conn: conn} do        activity = insert(:note_activity) -      conn = post(conn, "/api/v1/statuses/#{String.downcase(activity.id)}/reblog") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/#{String.downcase(activity.id)}/reblog") -      assert %{"error" => "Record not found"} = json_response(conn, 404) +      assert %{"error" => "Record not found"} = json_response_and_validate_schema(conn, 404)      end      test "reblogs privately and returns the reblogged status", %{conn: conn} do        activity = insert(:note_activity) -      conn = post(conn, "/api/v1/statuses/#{activity.id}/reblog", %{"visibility" => "private"}) +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post( +          "/api/v1/statuses/#{activity.id}/reblog", +          %{"visibility" => "private"} +        )        assert %{                 "reblog" => %{"id" => id, "reblogged" => true, "reblogs_count" => 1},                 "reblogged" => true,                 "visibility" => "private" -             } = json_response(conn, 200) +             } = json_response_and_validate_schema(conn, 200)        assert to_string(activity.id) == id      end @@ -802,7 +892,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do                 "reblogged" => false,                 "favourited" => false,                 "bookmarked" => false -             } = json_response(conn_res, 200) +             } = json_response_and_validate_schema(conn_res, 200)        conn_res =          build_conn() @@ -815,7 +905,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do                 "reblogged" => true,                 "favourited" => true,                 "bookmarked" => true -             } = json_response(conn_res, 200) +             } = json_response_and_validate_schema(conn_res, 200)        assert to_string(activity.id) == id      end @@ -829,17 +919,24 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        {:ok, _, _} = CommonAPI.repeat(activity.id, user) -      conn = post(conn, "/api/v1/statuses/#{activity.id}/unreblog") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/#{activity.id}/unreblog") -      assert %{"id" => id, "reblogged" => false, "reblogs_count" => 0} = json_response(conn, 200) +      assert %{"id" => id, "reblogged" => false, "reblogs_count" => 0} = +               json_response_and_validate_schema(conn, 200)        assert to_string(activity.id) == id      end      test "returns 404 error when activity does not exist", %{conn: conn} do -      conn = post(conn, "/api/v1/statuses/foo/unreblog") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/foo/unreblog") -      assert json_response(conn, 404) == %{"error" => "Record not found"} +      assert json_response_and_validate_schema(conn, 404) == %{"error" => "Record not found"}      end    end @@ -849,10 +946,13 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "favs a status and returns it", %{conn: conn} do        activity = insert(:note_activity) -      conn = post(conn, "/api/v1/statuses/#{activity.id}/favourite") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/#{activity.id}/favourite")        assert %{"id" => id, "favourites_count" => 1, "favourited" => true} = -               json_response(conn, 200) +               json_response_and_validate_schema(conn, 200)        assert to_string(activity.id) == id      end @@ -860,18 +960,23 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "favoriting twice will just return 200", %{conn: conn} do        activity = insert(:note_activity) -      post(conn, "/api/v1/statuses/#{activity.id}/favourite") +      conn +      |> put_req_header("content-type", "application/json") +      |> post("/api/v1/statuses/#{activity.id}/favourite") -      assert post(conn, "/api/v1/statuses/#{activity.id}/favourite") -             |> json_response(200) +      assert conn +             |> put_req_header("content-type", "application/json") +             |> post("/api/v1/statuses/#{activity.id}/favourite") +             |> json_response_and_validate_schema(200)      end      test "returns 404 error for a wrong id", %{conn: conn} do        conn =          conn +        |> put_req_header("content-type", "application/json")          |> post("/api/v1/statuses/1/favourite") -      assert json_response(conn, 404) == %{"error" => "Record not found"} +      assert json_response_and_validate_schema(conn, 404) == %{"error" => "Record not found"}      end    end @@ -883,18 +988,24 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        {:ok, _} = CommonAPI.favorite(user, activity.id) -      conn = post(conn, "/api/v1/statuses/#{activity.id}/unfavourite") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/#{activity.id}/unfavourite")        assert %{"id" => id, "favourites_count" => 0, "favourited" => false} = -               json_response(conn, 200) +               json_response_and_validate_schema(conn, 200)        assert to_string(activity.id) == id      end      test "returns 404 error for a wrong id", %{conn: conn} do -      conn = post(conn, "/api/v1/statuses/1/unfavourite") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/1/unfavourite") -      assert json_response(conn, 404) == %{"error" => "Record not found"} +      assert json_response_and_validate_schema(conn, 404) == %{"error" => "Record not found"}      end    end @@ -902,7 +1013,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do: oauth_access(["write:accounts"])      setup %{user: user} do -      {:ok, activity} = CommonAPI.post(user, %{"status" => "HI!!!"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "HI!!!"})        %{activity: activity}      end @@ -914,21 +1025,25 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        assert %{"id" => ^id_str, "pinned" => true} =                 conn +               |> put_req_header("content-type", "application/json")                 |> post("/api/v1/statuses/#{activity.id}/pin") -               |> json_response(200) +               |> json_response_and_validate_schema(200)        assert [%{"id" => ^id_str, "pinned" => true}] =                 conn                 |> get("/api/v1/accounts/#{user.id}/statuses?pinned=true") -               |> json_response(200) +               |> json_response_and_validate_schema(200)      end      test "/pin: returns 400 error when activity is not public", %{conn: conn, user: user} do -      {:ok, dm} = CommonAPI.post(user, %{"status" => "test", "visibility" => "direct"}) +      {:ok, dm} = CommonAPI.post(user, %{status: "test", visibility: "direct"}) -      conn = post(conn, "/api/v1/statuses/#{dm.id}/pin") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/#{dm.id}/pin") -      assert json_response(conn, 400) == %{"error" => "Could not pin"} +      assert json_response_and_validate_schema(conn, 400) == %{"error" => "Could not pin"}      end      test "unpin status", %{conn: conn, user: user, activity: activity} do @@ -941,29 +1056,33 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do                 conn                 |> assign(:user, user)                 |> post("/api/v1/statuses/#{activity.id}/unpin") -               |> json_response(200) +               |> json_response_and_validate_schema(200)        assert [] =                 conn                 |> get("/api/v1/accounts/#{user.id}/statuses?pinned=true") -               |> json_response(200) +               |> json_response_and_validate_schema(200)      end      test "/unpin: returns 400 error when activity is not exist", %{conn: conn} do -      conn = post(conn, "/api/v1/statuses/1/unpin") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/1/unpin") -      assert json_response(conn, 400) == %{"error" => "Could not unpin"} +      assert json_response_and_validate_schema(conn, 400) == %{"error" => "Could not unpin"}      end      test "max pinned statuses", %{conn: conn, user: user, activity: activity_one} do -      {:ok, activity_two} = CommonAPI.post(user, %{"status" => "HI!!!"}) +      {:ok, activity_two} = CommonAPI.post(user, %{status: "HI!!!"})        id_str_one = to_string(activity_one.id)        assert %{"id" => ^id_str_one, "pinned" => true} =                 conn +               |> put_req_header("content-type", "application/json")                 |> post("/api/v1/statuses/#{id_str_one}/pin") -               |> json_response(200) +               |> json_response_and_validate_schema(200)        user = refresh_record(user) @@ -971,7 +1090,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do                 conn                 |> assign(:user, user)                 |> post("/api/v1/statuses/#{activity_two.id}/pin") -               |> json_response(400) +               |> json_response_and_validate_schema(400)      end    end @@ -985,7 +1104,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "returns rich-media card", %{conn: conn, user: user} do        Tesla.Mock.mock(fn env -> apply(HttpRequestMock, :request, [env]) end) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "https://example.com/ogp"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "https://example.com/ogp"})        card_data = %{          "image" => "http://ia.media-imdb.com/images/rock.jpg", @@ -1011,18 +1130,18 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("/api/v1/statuses/#{activity.id}/card") -        |> json_response(200) +        |> json_response_and_validate_schema(200)        assert response == card_data        # works with private posts        {:ok, activity} = -        CommonAPI.post(user, %{"status" => "https://example.com/ogp", "visibility" => "direct"}) +        CommonAPI.post(user, %{status: "https://example.com/ogp", visibility: "direct"})        response_two =          conn          |> get("/api/v1/statuses/#{activity.id}/card") -        |> json_response(200) +        |> json_response_and_validate_schema(200)        assert response_two == card_data      end @@ -1030,13 +1149,12 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      test "replaces missing description with an empty string", %{conn: conn, user: user} do        Tesla.Mock.mock(fn env -> apply(HttpRequestMock, :request, [env]) end) -      {:ok, activity} = -        CommonAPI.post(user, %{"status" => "https://example.com/ogp-missing-data"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "https://example.com/ogp-missing-data"})        response =          conn          |> get("/api/v1/statuses/#{activity.id}/card") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        assert response == %{                 "type" => "link", @@ -1063,36 +1181,42 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      %{conn: conn} = oauth_access(["write:bookmarks", "read:bookmarks"])      author = insert(:user) -    {:ok, activity1} = -      CommonAPI.post(author, %{ -        "status" => "heweoo?" -      }) +    {:ok, activity1} = CommonAPI.post(author, %{status: "heweoo?"}) +    {:ok, activity2} = CommonAPI.post(author, %{status: "heweoo!"}) -    {:ok, activity2} = -      CommonAPI.post(author, %{ -        "status" => "heweoo!" -      }) - -    response1 = post(conn, "/api/v1/statuses/#{activity1.id}/bookmark") +    response1 = +      conn +      |> put_req_header("content-type", "application/json") +      |> post("/api/v1/statuses/#{activity1.id}/bookmark") -    assert json_response(response1, 200)["bookmarked"] == true +    assert json_response_and_validate_schema(response1, 200)["bookmarked"] == true -    response2 = post(conn, "/api/v1/statuses/#{activity2.id}/bookmark") +    response2 = +      conn +      |> put_req_header("content-type", "application/json") +      |> post("/api/v1/statuses/#{activity2.id}/bookmark") -    assert json_response(response2, 200)["bookmarked"] == true +    assert json_response_and_validate_schema(response2, 200)["bookmarked"] == true      bookmarks = get(conn, bookmarks_uri) -    assert [json_response(response2, 200), json_response(response1, 200)] == -             json_response(bookmarks, 200) +    assert [ +             json_response_and_validate_schema(response2, 200), +             json_response_and_validate_schema(response1, 200) +           ] == +             json_response_and_validate_schema(bookmarks, 200) -    response1 = post(conn, "/api/v1/statuses/#{activity1.id}/unbookmark") +    response1 = +      conn +      |> put_req_header("content-type", "application/json") +      |> post("/api/v1/statuses/#{activity1.id}/unbookmark") -    assert json_response(response1, 200)["bookmarked"] == false +    assert json_response_and_validate_schema(response1, 200)["bookmarked"] == false      bookmarks = get(conn, bookmarks_uri) -    assert [json_response(response2, 200)] == json_response(bookmarks, 200) +    assert [json_response_and_validate_schema(response2, 200)] == +             json_response_and_validate_schema(bookmarks, 200)    end    describe "conversation muting" do @@ -1100,7 +1224,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do        post_user = insert(:user) -      {:ok, activity} = CommonAPI.post(post_user, %{"status" => "HIE"}) +      {:ok, activity} = CommonAPI.post(post_user, %{status: "HIE"})        %{activity: activity}      end @@ -1109,16 +1233,22 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        assert %{"id" => ^id_str, "muted" => true} =                 conn +               |> put_req_header("content-type", "application/json")                 |> post("/api/v1/statuses/#{activity.id}/mute") -               |> json_response(200) +               |> json_response_and_validate_schema(200)      end      test "cannot mute already muted conversation", %{conn: conn, user: user, activity: activity} do        {:ok, _} = CommonAPI.add_mute(user, activity) -      conn = post(conn, "/api/v1/statuses/#{activity.id}/mute") +      conn = +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/statuses/#{activity.id}/mute") -      assert json_response(conn, 400) == %{"error" => "conversation is already muted"} +      assert json_response_and_validate_schema(conn, 400) == %{ +               "error" => "conversation is already muted" +             }      end      test "unmute conversation", %{conn: conn, user: user, activity: activity} do @@ -1130,7 +1260,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do                 conn                 # |> assign(:user, user)                 |> post("/api/v1/statuses/#{activity.id}/unmute") -               |> json_response(200) +               |> json_response_and_validate_schema(200)      end    end @@ -1139,16 +1269,17 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      user2 = insert(:user)      user3 = insert(:user) -    {:ok, replied_to} = CommonAPI.post(user1, %{"status" => "cofe"}) +    {:ok, replied_to} = CommonAPI.post(user1, %{status: "cofe"})      # Reply to status from another user      conn1 =        conn        |> assign(:user, user2)        |> assign(:token, insert(:oauth_token, user: user2, scopes: ["write:statuses"])) +      |> put_req_header("content-type", "application/json")        |> post("/api/v1/statuses", %{"status" => "xD", "in_reply_to_id" => replied_to.id}) -    assert %{"content" => "xD", "id" => id} = json_response(conn1, 200) +    assert %{"content" => "xD", "id" => id} = json_response_and_validate_schema(conn1, 200)      activity = Activity.get_by_id_with_object(id) @@ -1160,10 +1291,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        conn        |> assign(:user, user3)        |> assign(:token, insert(:oauth_token, user: user3, scopes: ["write:statuses"])) +      |> put_req_header("content-type", "application/json")        |> post("/api/v1/statuses/#{activity.id}/reblog")      assert %{"reblog" => %{"id" => id, "reblogged" => true, "reblogs_count" => 1}} = -             json_response(conn2, 200) +             json_response_and_validate_schema(conn2, 200)      assert to_string(activity.id) == id @@ -1186,7 +1318,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do: oauth_access(["read:accounts"])      setup %{user: user} do -      {:ok, activity} = CommonAPI.post(user, %{"status" => "test"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "test"})        %{activity: activity}      end @@ -1198,7 +1330,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("/api/v1/statuses/#{activity.id}/favourited_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        [%{"id" => id}] = response @@ -1212,7 +1344,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("/api/v1/statuses/#{activity.id}/favourited_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        assert Enum.empty?(response)      end @@ -1229,7 +1361,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("/api/v1/statuses/#{activity.id}/favourited_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        assert Enum.empty?(response)      end @@ -1241,7 +1373,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          build_conn()          |> get("/api/v1/statuses/#{activity.id}/favourited_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        [%{"id" => id}] = response        assert id == other_user.id @@ -1252,8 +1384,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "@#{other_user.nickname} wanna get some #cofe together?", -          "visibility" => "direct" +          status: "@#{other_user.nickname} wanna get some #cofe together?", +          visibility: "direct"          })        {:ok, _} = CommonAPI.favorite(other_user, activity.id) @@ -1262,7 +1394,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        build_conn()        |> get(favourited_by_url) -      |> json_response(404) +      |> json_response_and_validate_schema(404)        conn =          build_conn() @@ -1272,12 +1404,12 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        conn        |> assign(:token, nil)        |> get(favourited_by_url) -      |> json_response(404) +      |> json_response_and_validate_schema(404)        response =          conn          |> get(favourited_by_url) -        |> json_response(200) +        |> json_response_and_validate_schema(200)        [%{"id" => id}] = response        assert id == other_user.id @@ -1288,7 +1420,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      setup do: oauth_access(["read:accounts"])      setup %{user: user} do -      {:ok, activity} = CommonAPI.post(user, %{"status" => "test"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "test"})        %{activity: activity}      end @@ -1300,7 +1432,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("/api/v1/statuses/#{activity.id}/reblogged_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        [%{"id" => id}] = response @@ -1314,7 +1446,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("/api/v1/statuses/#{activity.id}/reblogged_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        assert Enum.empty?(response)      end @@ -1331,7 +1463,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          conn          |> get("/api/v1/statuses/#{activity.id}/reblogged_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        assert Enum.empty?(response)      end @@ -1342,12 +1474,12 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      } do        other_user = insert(:user) -      {:ok, _, _} = CommonAPI.repeat(activity.id, other_user, %{"visibility" => "private"}) +      {:ok, _, _} = CommonAPI.repeat(activity.id, other_user, %{visibility: "private"})        response =          conn          |> get("/api/v1/statuses/#{activity.id}/reblogged_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        assert Enum.empty?(response)      end @@ -1359,7 +1491,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        response =          build_conn()          |> get("/api/v1/statuses/#{activity.id}/reblogged_by") -        |> json_response(:ok) +        |> json_response_and_validate_schema(:ok)        [%{"id" => id}] = response        assert id == other_user.id @@ -1370,20 +1502,20 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "@#{other_user.nickname} wanna get some #cofe together?", -          "visibility" => "direct" +          status: "@#{other_user.nickname} wanna get some #cofe together?", +          visibility: "direct"          })        build_conn()        |> get("/api/v1/statuses/#{activity.id}/reblogged_by") -      |> json_response(404) +      |> json_response_and_validate_schema(404)        response =          build_conn()          |> assign(:user, other_user)          |> assign(:token, insert(:oauth_token, user: other_user, scopes: ["read:accounts"]))          |> get("/api/v1/statuses/#{activity.id}/reblogged_by") -        |> json_response(200) +        |> json_response_and_validate_schema(200)        assert [] == response      end @@ -1392,16 +1524,16 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do    test "context" do      user = insert(:user) -    {:ok, %{id: id1}} = CommonAPI.post(user, %{"status" => "1"}) -    {:ok, %{id: id2}} = CommonAPI.post(user, %{"status" => "2", "in_reply_to_status_id" => id1}) -    {:ok, %{id: id3}} = CommonAPI.post(user, %{"status" => "3", "in_reply_to_status_id" => id2}) -    {:ok, %{id: id4}} = CommonAPI.post(user, %{"status" => "4", "in_reply_to_status_id" => id3}) -    {:ok, %{id: id5}} = CommonAPI.post(user, %{"status" => "5", "in_reply_to_status_id" => id4}) +    {:ok, %{id: id1}} = CommonAPI.post(user, %{status: "1"}) +    {:ok, %{id: id2}} = CommonAPI.post(user, %{status: "2", in_reply_to_status_id: id1}) +    {:ok, %{id: id3}} = CommonAPI.post(user, %{status: "3", in_reply_to_status_id: id2}) +    {:ok, %{id: id4}} = CommonAPI.post(user, %{status: "4", in_reply_to_status_id: id3}) +    {:ok, %{id: id5}} = CommonAPI.post(user, %{status: "5", in_reply_to_status_id: id4})      response =        build_conn()        |> get("/api/v1/statuses/#{id3}/context") -      |> json_response(:ok) +      |> json_response_and_validate_schema(:ok)      assert %{               "ancestors" => [%{"id" => ^id1}, %{"id" => ^id2}], @@ -1413,14 +1545,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      %{user: user, conn: conn} = oauth_access(["read:favourites"])      other_user = insert(:user) -    {:ok, _} = CommonAPI.post(other_user, %{"status" => "bla"}) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "traps are happy"}) +    {:ok, _} = CommonAPI.post(other_user, %{status: "bla"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "traps are happy"})      {:ok, _} = CommonAPI.favorite(user, activity.id)      first_conn = get(conn, "/api/v1/favourites") -    assert [status] = json_response(first_conn, 200) +    assert [status] = json_response_and_validate_schema(first_conn, 200)      assert status["id"] == to_string(activity.id)      assert [{"link", _link_header}] = @@ -1429,8 +1561,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      # Honours query params      {:ok, second_activity} =        CommonAPI.post(other_user, %{ -        "status" => -          "Trees Are Never Sad Look At Them Every Once In Awhile They're Quite Beautiful." +        status: "Trees Are Never Sad Look At Them Every Once In Awhile They're Quite Beautiful."        })      {:ok, _} = CommonAPI.favorite(user, second_activity.id) @@ -1439,17 +1570,17 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do      second_conn = get(conn, "/api/v1/favourites?since_id=#{last_like}") -    assert [second_status] = json_response(second_conn, 200) +    assert [second_status] = json_response_and_validate_schema(second_conn, 200)      assert second_status["id"] == to_string(second_activity.id)      third_conn = get(conn, "/api/v1/favourites?limit=0") -    assert [] = json_response(third_conn, 200) +    assert [] = json_response_and_validate_schema(third_conn, 200)    end    test "expires_at is nil for another user" do      %{conn: conn, user: user} = oauth_access(["read:statuses"]) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "foobar", "expires_in" => 1_000_000}) +    {:ok, activity} = CommonAPI.post(user, %{status: "foobar", expires_in: 1_000_000})      expires_at =        activity.id @@ -1458,11 +1589,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        |> NaiveDateTime.to_iso8601()      assert %{"pleroma" => %{"expires_at" => ^expires_at}} = -             conn |> get("/api/v1/statuses/#{activity.id}") |> json_response(:ok) +             conn +             |> get("/api/v1/statuses/#{activity.id}") +             |> json_response_and_validate_schema(:ok)      %{conn: conn} = oauth_access(["read:statuses"])      assert %{"pleroma" => %{"expires_at" => nil}} = -             conn |> get("/api/v1/statuses/#{activity.id}") |> json_response(:ok) +             conn +             |> get("/api/v1/statuses/#{activity.id}") +             |> json_response_and_validate_schema(:ok)    end  end diff --git a/test/web/mastodon_api/controllers/timeline_controller_test.exs b/test/web/mastodon_api/controllers/timeline_controller_test.exs index 5e0d92f28..f8b9289f3 100644 --- a/test/web/mastodon_api/controllers/timeline_controller_test.exs +++ b/test/web/mastodon_api/controllers/timeline_controller_test.exs @@ -28,7 +28,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        other_user = insert(:user) -      {:ok, _} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"}) +      {:ok, _} = CommonAPI.post(other_user, %{status: "hi @#{user.nickname}"})        response =          conn @@ -47,8 +47,8 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        following = insert(:user, nickname: "followed")        third_user = insert(:user, nickname: "repeated") -      {:ok, _activity} = CommonAPI.post(following, %{"status" => "post"}) -      {:ok, activity} = CommonAPI.post(third_user, %{"status" => "repeated post"}) +      {:ok, _activity} = CommonAPI.post(following, %{status: "post"}) +      {:ok, activity} = CommonAPI.post(third_user, %{status: "repeated post"})        {:ok, _, _} = CommonAPI.repeat(activity.id, following)        ret_conn = get(conn, uri) @@ -108,14 +108,12 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do      end      test "the home timeline when the direct messages are excluded", %{user: user, conn: conn} do -      {:ok, public_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) -      {:ok, direct_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) +      {:ok, public_activity} = CommonAPI.post(user, %{status: ".", visibility: "public"}) +      {:ok, direct_activity} = CommonAPI.post(user, %{status: ".", visibility: "direct"}) -      {:ok, unlisted_activity} = -        CommonAPI.post(user, %{"status" => ".", "visibility" => "unlisted"}) +      {:ok, unlisted_activity} = CommonAPI.post(user, %{status: ".", visibility: "unlisted"}) -      {:ok, private_activity} = -        CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, private_activity} = CommonAPI.post(user, %{status: ".", visibility: "private"})        conn = get(conn, "/api/v1/timelines/home?exclude_visibilities[]=direct") @@ -132,7 +130,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do      test "the public timeline", %{conn: conn} do        following = insert(:user) -      {:ok, _activity} = CommonAPI.post(following, %{"status" => "test"}) +      {:ok, _activity} = CommonAPI.post(following, %{status: "test"})        _activity = insert(:note_activity, local: false) @@ -152,10 +150,10 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do      test "the public timeline includes only public statuses for an authenticated user" do        %{user: user, conn: conn} = oauth_access(["read:statuses"]) -      {:ok, _activity} = CommonAPI.post(user, %{"status" => "test"}) -      {:ok, _activity} = CommonAPI.post(user, %{"status" => "test", "visibility" => "private"}) -      {:ok, _activity} = CommonAPI.post(user, %{"status" => "test", "visibility" => "unlisted"}) -      {:ok, _activity} = CommonAPI.post(user, %{"status" => "test", "visibility" => "direct"}) +      {:ok, _activity} = CommonAPI.post(user, %{status: "test"}) +      {:ok, _activity} = CommonAPI.post(user, %{status: "test", visibility: "private"}) +      {:ok, _activity} = CommonAPI.post(user, %{status: "test", visibility: "unlisted"}) +      {:ok, _activity} = CommonAPI.post(user, %{status: "test", visibility: "direct"})        res_conn = get(conn, "/api/v1/timelines/public")        assert length(json_response_and_validate_schema(res_conn, 200)) == 1 @@ -263,14 +261,14 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        {:ok, direct} =          CommonAPI.post(user_one, %{ -          "status" => "Hi @#{user_two.nickname}!", -          "visibility" => "direct" +          status: "Hi @#{user_two.nickname}!", +          visibility: "direct"          })        {:ok, _follower_only} =          CommonAPI.post(user_one, %{ -          "status" => "Hi @#{user_two.nickname}!", -          "visibility" => "private" +          status: "Hi @#{user_two.nickname}!", +          visibility: "private"          })        conn_user_two = @@ -306,8 +304,8 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        Enum.each(1..20, fn _ ->          {:ok, _} =            CommonAPI.post(user_one, %{ -            "status" => "Hi @#{user_two.nickname}!", -            "visibility" => "direct" +            status: "Hi @#{user_two.nickname}!", +            visibility: "direct"            })        end) @@ -333,14 +331,14 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        {:ok, _blocked_direct} =          CommonAPI.post(blocked, %{ -          "status" => "Hi @#{blocker.nickname}!", -          "visibility" => "direct" +          status: "Hi @#{blocker.nickname}!", +          visibility: "direct"          })        {:ok, direct} =          CommonAPI.post(other_user, %{ -          "status" => "Hi @#{blocker.nickname}!", -          "visibility" => "direct" +          status: "Hi @#{blocker.nickname}!", +          visibility: "direct"          })        res_conn = get(conn, "api/v1/timelines/direct") @@ -355,8 +353,8 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do      test "list timeline", %{user: user, conn: conn} do        other_user = insert(:user) -      {:ok, _activity_one} = CommonAPI.post(user, %{"status" => "Marisa is cute."}) -      {:ok, activity_two} = CommonAPI.post(other_user, %{"status" => "Marisa is cute."}) +      {:ok, _activity_one} = CommonAPI.post(user, %{status: "Marisa is cute."}) +      {:ok, activity_two} = CommonAPI.post(other_user, %{status: "Marisa is cute."})        {:ok, list} = Pleroma.List.create("name", user)        {:ok, list} = Pleroma.List.follow(list, other_user) @@ -372,12 +370,12 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do        conn: conn      } do        other_user = insert(:user) -      {:ok, activity_one} = CommonAPI.post(other_user, %{"status" => "Marisa is cute."}) +      {:ok, activity_one} = CommonAPI.post(other_user, %{status: "Marisa is cute."})        {:ok, _activity_two} =          CommonAPI.post(other_user, %{ -          "status" => "Marisa is cute.", -          "visibility" => "private" +          status: "Marisa is cute.", +          visibility: "private"          })        {:ok, list} = Pleroma.List.create("name", user) @@ -398,7 +396,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do      test "hashtag timeline", %{conn: conn} do        following = insert(:user) -      {:ok, activity} = CommonAPI.post(following, %{"status" => "test #2hu"}) +      {:ok, activity} = CommonAPI.post(following, %{status: "test #2hu"})        nconn = get(conn, "/api/v1/timelines/tag/2hu") @@ -417,9 +415,9 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do      test "multi-hashtag timeline", %{conn: conn} do        user = insert(:user) -      {:ok, activity_test} = CommonAPI.post(user, %{"status" => "#test"}) -      {:ok, activity_test1} = CommonAPI.post(user, %{"status" => "#test #test1"}) -      {:ok, activity_none} = CommonAPI.post(user, %{"status" => "#test #none"}) +      {:ok, activity_test} = CommonAPI.post(user, %{status: "#test"}) +      {:ok, activity_test1} = CommonAPI.post(user, %{status: "#test #test1"}) +      {:ok, activity_none} = CommonAPI.post(user, %{status: "#test #none"})        any_test = get(conn, "/api/v1/timelines/tag/test?any[]=test1") diff --git a/test/web/mastodon_api/mastodon_api_test.exs b/test/web/mastodon_api/mastodon_api_test.exs index cb971806a..a7f9c5205 100644 --- a/test/web/mastodon_api/mastodon_api_test.exs +++ b/test/web/mastodon_api/mastodon_api_test.exs @@ -75,9 +75,9 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPITest do        User.subscribe(subscriber, user) -      {:ok, status} = CommonAPI.post(user, %{"status" => "Akariiiin"}) +      {:ok, status} = CommonAPI.post(user, %{status: "Akariiiin"}) -      {:ok, status1} = CommonAPI.post(user, %{"status" => "Magi"}) +      {:ok, status1} = CommonAPI.post(user, %{status: "Magi"})        {:ok, [notification]} = Notification.create_notifications(status)        {:ok, [notification1]} = Notification.create_notifications(status1)        res = MastodonAPI.get_notifications(subscriber) diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 375f0103a..69ddbb5d4 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -93,7 +93,14 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do    test "Represent the user account for the account owner" do      user = insert(:user) -    notification_settings = %Pleroma.User.NotificationSetting{} +    notification_settings = %{ +      followers: true, +      follows: true, +      non_followers: true, +      non_follows: true, +      privacy_option: false +    } +      privacy = user.default_scope      assert %{ @@ -452,8 +459,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        {:ok, _activity} =          CommonAPI.post(other_user, %{ -          "status" => "Hey @#{user.nickname}.", -          "visibility" => "direct" +          status: "Hey @#{user.nickname}.", +          visibility: "direct"          })        user = User.get_cached_by_ap_id(user.ap_id) diff --git a/test/web/mastodon_api/views/conversation_view_test.exs b/test/web/mastodon_api/views/conversation_view_test.exs index dbf3c51e2..6f84366f8 100644 --- a/test/web/mastodon_api/views/conversation_view_test.exs +++ b/test/web/mastodon_api/views/conversation_view_test.exs @@ -16,7 +16,7 @@ defmodule Pleroma.Web.MastodonAPI.ConversationViewTest do      other_user = insert(:user)      {:ok, activity} = -      CommonAPI.post(user, %{"status" => "hey @#{other_user.nickname}", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "hey @#{other_user.nickname}", visibility: "direct"})      [participation] = Participation.for_user_with_last_activity_id(user) diff --git a/test/web/mastodon_api/views/notification_view_test.exs b/test/web/mastodon_api/views/notification_view_test.exs index 0806269a2..04a774d17 100644 --- a/test/web/mastodon_api/views/notification_view_test.exs +++ b/test/web/mastodon_api/views/notification_view_test.exs @@ -34,7 +34,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do    test "Mention notification" do      user = insert(:user)      mentioned_user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hey @#{mentioned_user.nickname}"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hey @#{mentioned_user.nickname}"})      {:ok, [notification]} = Notification.create_notifications(activity)      user = User.get_cached_by_id(user.id) @@ -53,7 +53,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do    test "Favourite notification" do      user = insert(:user)      another_user = insert(:user) -    {:ok, create_activity} = CommonAPI.post(user, %{"status" => "hey"}) +    {:ok, create_activity} = CommonAPI.post(user, %{status: "hey"})      {:ok, favorite_activity} = CommonAPI.favorite(another_user, create_activity.id)      {:ok, [notification]} = Notification.create_notifications(favorite_activity)      create_activity = Activity.get_by_id(create_activity.id) @@ -73,7 +73,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do    test "Reblog notification" do      user = insert(:user)      another_user = insert(:user) -    {:ok, create_activity} = CommonAPI.post(user, %{"status" => "hey"}) +    {:ok, create_activity} = CommonAPI.post(user, %{status: "hey"})      {:ok, reblog_activity, _object} = CommonAPI.repeat(create_activity.id, another_user)      {:ok, [notification]} = Notification.create_notifications(reblog_activity)      reblog_activity = Activity.get_by_id(create_activity.id) @@ -155,7 +155,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "#cofe"})      {:ok, _activity} = CommonAPI.react_with_emoji(activity.id, other_user, "ā")      activity = Repo.get(Activity, activity.id) diff --git a/test/web/mastodon_api/views/poll_view_test.exs b/test/web/mastodon_api/views/poll_view_test.exs index 63b204387..76672f36c 100644 --- a/test/web/mastodon_api/views/poll_view_test.exs +++ b/test/web/mastodon_api/views/poll_view_test.exs @@ -22,10 +22,10 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "Is Tenshi eating a corndog cute?", -        "poll" => %{ -          "options" => ["absolutely!", "sure", "yes", "why are you even asking?"], -          "expires_in" => 20 +        status: "Is Tenshi eating a corndog cute?", +        poll: %{ +          options: ["absolutely!", "sure", "yes", "why are you even asking?"], +          expires_in: 20          }        }) @@ -62,11 +62,11 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "Which Mastodon developer is your favourite?", -        "poll" => %{ -          "options" => ["Gargron", "Eugen"], -          "expires_in" => 20, -          "multiple" => true +        status: "Which Mastodon developer is your favourite?", +        poll: %{ +          options: ["Gargron", "Eugen"], +          expires_in: 20, +          multiple: true          }        }) @@ -91,10 +91,10 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "What's with the smug face?", -        "poll" => %{ -          "options" => [":blank: sip", ":blank::blank: sip", ":blank::blank::blank: sip"], -          "expires_in" => 20 +        status: "What's with the smug face?", +        poll: %{ +          options: [":blank: sip", ":blank::blank: sip", ":blank::blank::blank: sip"], +          expires_in: 20          }        }) @@ -109,11 +109,11 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "Which input devices do you use?", -        "poll" => %{ -          "options" => ["mouse", "trackball", "trackpoint"], -          "multiple" => true, -          "expires_in" => 20 +        status: "Which input devices do you use?", +        poll: %{ +          options: ["mouse", "trackball", "trackpoint"], +          multiple: true, +          expires_in: 20          }        }) diff --git a/test/web/mastodon_api/views/scheduled_activity_view_test.exs b/test/web/mastodon_api/views/scheduled_activity_view_test.exs index 0c0987593..fbfd873ef 100644 --- a/test/web/mastodon_api/views/scheduled_activity_view_test.exs +++ b/test/web/mastodon_api/views/scheduled_activity_view_test.exs @@ -14,7 +14,7 @@ defmodule Pleroma.Web.MastodonAPI.ScheduledActivityViewTest do    test "A scheduled activity with a media attachment" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hi"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hi"})      scheduled_at =        NaiveDateTime.utc_now() @@ -47,7 +47,7 @@ defmodule Pleroma.Web.MastodonAPI.ScheduledActivityViewTest do      expected = %{        id: to_string(scheduled_activity.id),        media_attachments: -        %{"media_ids" => [upload.id]} +        %{media_ids: [upload.id]}          |> Utils.attachments_from_ids()          |> Enum.map(&StatusView.render("attachment.json", %{attachment: &1})),        params: %{ diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index b5e7dc317..ffad65b01 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -20,6 +20,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do    import Pleroma.Factory    import Tesla.Mock +  import OpenApiSpex.TestAssertions    setup do      mock(fn env -> apply(HttpRequestMock, :request, [env]) end) @@ -30,7 +31,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      user = insert(:user)      other_user = insert(:user)      third_user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "dae cofe??"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "dae cofe??"})      {:ok, _} = CommonAPI.react_with_emoji(activity.id, user, "ā")      {:ok, _} = CommonAPI.react_with_emoji(activity.id, third_user, "šµ") @@ -38,6 +39,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      activity = Repo.get(Activity, activity.id)      status = StatusView.render("show.json", activity: activity) +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec()) +      assert status[:pleroma][:emoji_reactions] == [               %{name: "ā", count: 2, me: false},               %{name: "šµ", count: 1, me: false} @@ -45,6 +48,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      status = StatusView.render("show.json", activity: activity, for: user) +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec()) +      assert status[:pleroma][:emoji_reactions] == [               %{name: "ā", count: 2, me: true},               %{name: "šµ", count: 1, me: false} @@ -54,7 +59,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do    test "loads and returns the direct conversation id when given the `with_direct_conversation_id` option" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!", "visibility" => "direct"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "Hey @shp!", visibility: "direct"})      [participation] = Participation.for_user(user)      status = @@ -68,12 +73,13 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      status = StatusView.render("show.json", activity: activity, for: user)      assert status[:pleroma][:direct_conversation_id] == nil +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())    end    test "returns the direct conversation id when given the `direct_conversation_id` option" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!", "visibility" => "direct"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "Hey @shp!", visibility: "direct"})      [participation] = Participation.for_user(user)      status = @@ -84,12 +90,13 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do        )      assert status[:pleroma][:direct_conversation_id] == participation.id +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())    end    test "returns a temporary ap_id based user for activities missing db users" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!", "visibility" => "direct"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "Hey @shp!", visibility: "direct"})      Repo.delete(user)      Cachex.clear(:user_cache) @@ -119,7 +126,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do    test "tries to get a user by nickname if fetching by ap_id doesn't work" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!", "visibility" => "direct"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "Hey @shp!", visibility: "direct"})      {:ok, user} =        user @@ -131,6 +138,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      result = StatusView.render("show.json", activity: activity)      assert result[:account][:id] == to_string(user.id) +    assert_schema(result, "Status", Pleroma.Web.ApiSpec.spec())    end    test "a note with null content" do @@ -149,6 +157,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      status = StatusView.render("show.json", %{activity: note})      assert status.content == "" +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())    end    test "a note activity" do @@ -222,6 +231,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      }      assert status == expected +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())    end    test "tells if the message is muted for some reason" do @@ -230,13 +240,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      {:ok, _user_relationships} = User.mute(user, other_user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "test"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "test"})      relationships_opt = UserRelationship.view_relationships_option(user, [other_user])      opts = %{activity: activity}      status = StatusView.render("show.json", opts)      assert status.muted == false +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())      status = StatusView.render("show.json", Map.put(opts, :relationships, relationships_opt))      assert status.muted == false @@ -247,6 +258,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      status = StatusView.render("show.json", Map.put(for_opts, :relationships, relationships_opt))      assert status.muted == true +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())    end    test "tells if the message is thread muted" do @@ -255,7 +267,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      {:ok, _user_relationships} = User.mute(user, other_user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "test"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "test"})      status = StatusView.render("show.json", %{activity: activity, for: user})      assert status.pleroma.thread_muted == false @@ -270,7 +282,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do    test "tells if the status is bookmarked" do      user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "Cute girls doing cute things"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "Cute girls doing cute things"})      status = StatusView.render("show.json", %{activity: activity})      assert status.bookmarked == false @@ -292,8 +304,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      note = insert(:note_activity)      user = insert(:user) -    {:ok, activity} = -      CommonAPI.post(user, %{"status" => "he", "in_reply_to_status_id" => note.id}) +    {:ok, activity} = CommonAPI.post(user, %{status: "he", in_reply_to_status_id: note.id})      status = StatusView.render("show.json", %{activity: activity}) @@ -308,12 +319,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      user = insert(:user)      mentioned = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "hi @#{mentioned.nickname}"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "hi @#{mentioned.nickname}"})      status = StatusView.render("show.json", %{activity: activity})      assert status.mentions ==               Enum.map([mentioned], fn u -> AccountView.render("mention.json", %{user: u}) end) + +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())    end    test "create mentions from the 'to' field" do @@ -405,14 +418,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      api_spec = Pleroma.Web.ApiSpec.spec()      assert expected == StatusView.render("attachment.json", %{attachment: object}) -    OpenApiSpex.TestAssertions.assert_schema(expected, "Attachment", api_spec) +    assert_schema(expected, "Attachment", api_spec)      # If theres a "id", use that instead of the generated one      object = Map.put(object, "id", 2)      result = StatusView.render("attachment.json", %{attachment: object})      assert %{id: "2"} = result -    OpenApiSpex.TestAssertions.assert_schema(result, "Attachment", api_spec) +    assert_schema(result, "Attachment", api_spec)    end    test "put the url advertised in the Activity in to the url attribute" do @@ -436,6 +449,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      assert represented[:id] == to_string(reblog.id)      assert represented[:reblog][:id] == to_string(activity.id)      assert represented[:emojis] == [] +    assert_schema(represented, "Status", Pleroma.Web.ApiSpec.spec())    end    test "a peertube video" do @@ -452,6 +466,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      assert represented[:id] == to_string(activity.id)      assert length(represented[:media_attachments]) == 1 +    assert_schema(represented, "Status", Pleroma.Web.ApiSpec.spec())    end    test "funkwhale audio" do @@ -567,13 +582,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "drink more water" +        status: "drink more water"        })      result = StatusView.render("show.json", %{activity: activity, for: other_user})      assert result[:account][:pleroma][:relationship] ==               AccountView.render("relationship.json", %{user: other_user, target: user}) + +    assert_schema(result, "Status", Pleroma.Web.ApiSpec.spec())    end    test "embeds a relationship in the account in reposts" do @@ -582,7 +599,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "ĖĖÉŹns" +        status: "ĖĖÉŹns"        })      {:ok, activity, _object} = CommonAPI.repeat(activity.id, other_user) @@ -594,6 +611,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      assert result[:reblog][:account][:pleroma][:relationship] ==               AccountView.render("relationship.json", %{user: user, target: user}) + +    assert_schema(result, "Status", Pleroma.Web.ApiSpec.spec())    end    test "visibility/list" do @@ -601,8 +620,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      {:ok, list} = Pleroma.List.create("foo", user) -    {:ok, activity} = -      CommonAPI.post(user, %{"status" => "foobar", "visibility" => "list:#{list.id}"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "foobar", visibility: "list:#{list.id}"})      status = StatusView.render("show.json", activity: activity) @@ -616,5 +634,6 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      assert status.length == listen_activity.data["object"]["length"]      assert status.title == listen_activity.data["object"]["title"] +    assert_schema(status, "Status", Pleroma.Web.ApiSpec.spec())    end  end diff --git a/test/web/metadata/twitter_card_test.exs b/test/web/metadata/twitter_card_test.exs index 9e9c6853a..10931b5ba 100644 --- a/test/web/metadata/twitter_card_test.exs +++ b/test/web/metadata/twitter_card_test.exs @@ -30,7 +30,7 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCardTest do    test "it uses summary twittercard if post has no attachment" do      user = insert(:user, name: "Jimmy Hendriks", bio: "born 19 March 1994") -    {:ok, activity} = CommonAPI.post(user, %{"status" => "HI"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "HI"})      note =        insert(:note, %{ @@ -56,7 +56,7 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCardTest do    test "it renders avatar not attachment if post is nsfw and unfurl_nsfw is disabled" do      Pleroma.Config.put([Pleroma.Web.Metadata, :unfurl_nsfw], false)      user = insert(:user, name: "Jimmy Hendriks", bio: "born 19 March 1994") -    {:ok, activity} = CommonAPI.post(user, %{"status" => "HI"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "HI"})      note =        insert(:note, %{ @@ -100,7 +100,7 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCardTest do    test "it renders supported types of attachments and skips unknown types" do      user = insert(:user, name: "Jimmy Hendriks", bio: "born 19 March 1994") -    {:ok, activity} = CommonAPI.post(user, %{"status" => "HI"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "HI"})      note =        insert(:note, %{ diff --git a/test/web/pleroma_api/controllers/account_controller_test.exs b/test/web/pleroma_api/controllers/account_controller_test.exs index 6b671a667..34fc4aa23 100644 --- a/test/web/pleroma_api/controllers/account_controller_test.exs +++ b/test/web/pleroma_api/controllers/account_controller_test.exs @@ -171,8 +171,8 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do      } do        {:ok, direct} =          CommonAPI.post(current_user, %{ -          "status" => "Hi @#{user.nickname}!", -          "visibility" => "direct" +          status: "Hi @#{user.nickname}!", +          visibility: "direct"          })        CommonAPI.favorite(user, direct.id) @@ -204,8 +204,8 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do        {:ok, direct} =          CommonAPI.post(user_two, %{ -          "status" => "Hi @#{user.nickname}!", -          "visibility" => "direct" +          status: "Hi @#{user.nickname}!", +          visibility: "direct"          })        CommonAPI.favorite(user, direct.id) diff --git a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs index 43f1b154d..cfd1dbd24 100644 --- a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs +++ b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs @@ -20,7 +20,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "#cofe"})      result =        conn @@ -42,7 +42,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "#cofe"})      {:ok, _reaction_activity} = CommonAPI.react_with_emoji(activity.id, other_user, "ā")      ObanHelpers.perform_all() @@ -68,7 +68,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      other_user = insert(:user)      doomed_user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "#cofe"})      result =        conn @@ -106,7 +106,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      user = insert(:user)      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "#cofe"})      result =        conn @@ -133,7 +133,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      %{user: other_user, conn: conn} = oauth_access(["read:statuses"])      {:ok, _activity} = -      CommonAPI.post(user, %{"status" => "Hi @#{other_user.nickname}!", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "Hi @#{other_user.nickname}!", visibility: "direct"})      [participation] = Participation.for_user(other_user) @@ -151,18 +151,18 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      third_user = insert(:user)      {:ok, _activity} = -      CommonAPI.post(user, %{"status" => "Hi @#{third_user.nickname}!", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "Hi @#{third_user.nickname}!", visibility: "direct"})      {:ok, activity} = -      CommonAPI.post(user, %{"status" => "Hi @#{other_user.nickname}!", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "Hi @#{other_user.nickname}!", visibility: "direct"})      [participation] = Participation.for_user(other_user)      {:ok, activity_two} =        CommonAPI.post(other_user, %{ -        "status" => "Hi!", -        "in_reply_to_status_id" => activity.id, -        "in_reply_to_conversation_id" => participation.id +        status: "Hi!", +        in_reply_to_status_id: activity.id, +        in_reply_to_conversation_id: participation.id        })      result = @@ -178,9 +178,9 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      {:ok, %{id: id_three}} =        CommonAPI.post(other_user, %{ -        "status" => "Bye!", -        "in_reply_to_status_id" => activity.id, -        "in_reply_to_conversation_id" => participation.id +        status: "Bye!", +        in_reply_to_status_id: activity.id, +        in_reply_to_conversation_id: participation.id        })      assert [%{"id" => ^id_two}, %{"id" => ^id_three}] = @@ -198,7 +198,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      %{user: user, conn: conn} = oauth_access(["write:conversations"])      other_user = insert(:user) -    {:ok, _activity} = CommonAPI.post(user, %{"status" => "Hi", "visibility" => "direct"}) +    {:ok, _activity} = CommonAPI.post(user, %{status: "Hi", visibility: "direct"})      [participation] = Participation.for_user(user) @@ -229,10 +229,10 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      %{user: other_user, conn: conn} = oauth_access(["write:conversations"])      {:ok, _activity} = -      CommonAPI.post(user, %{"status" => "Hi @#{other_user.nickname}", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "Hi @#{other_user.nickname}", visibility: "direct"})      {:ok, _activity} = -      CommonAPI.post(user, %{"status" => "Hi @#{other_user.nickname}", "visibility" => "direct"}) +      CommonAPI.post(user, %{status: "Hi @#{other_user.nickname}", visibility: "direct"})      [participation2, participation1] = Participation.for_user(other_user)      assert Participation.get(participation2.id).read == false @@ -255,8 +255,8 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      test "it marks a single notification as read", %{user: user1, conn: conn} do        user2 = insert(:user) -      {:ok, activity1} = CommonAPI.post(user2, %{"status" => "hi @#{user1.nickname}"}) -      {:ok, activity2} = CommonAPI.post(user2, %{"status" => "hi @#{user1.nickname}"}) +      {:ok, activity1} = CommonAPI.post(user2, %{status: "hi @#{user1.nickname}"}) +      {:ok, activity2} = CommonAPI.post(user2, %{status: "hi @#{user1.nickname}"})        {:ok, [notification1]} = Notification.create_notifications(activity1)        {:ok, [notification2]} = Notification.create_notifications(activity2) @@ -272,9 +272,9 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      test "it marks multiple notifications as read", %{user: user1, conn: conn} do        user2 = insert(:user) -      {:ok, _activity1} = CommonAPI.post(user2, %{"status" => "hi @#{user1.nickname}"}) -      {:ok, _activity2} = CommonAPI.post(user2, %{"status" => "hi @#{user1.nickname}"}) -      {:ok, _activity3} = CommonAPI.post(user2, %{"status" => "HIE @#{user1.nickname}"}) +      {:ok, _activity1} = CommonAPI.post(user2, %{status: "hi @#{user1.nickname}"}) +      {:ok, _activity2} = CommonAPI.post(user2, %{status: "hi @#{user1.nickname}"}) +      {:ok, _activity3} = CommonAPI.post(user2, %{status: "HIE @#{user1.nickname}"})        [notification3, notification2, notification1] = Notification.for_user(user1, %{limit: 3}) diff --git a/test/web/push/impl_test.exs b/test/web/push/impl_test.exs index b855d72ba..2fc3e73b5 100644 --- a/test/web/push/impl_test.exs +++ b/test/web/push/impl_test.exs @@ -55,7 +55,7 @@ defmodule Pleroma.Web.Push.ImplTest do        data: %{alerts: %{"follow" => true, "mention" => false}}      ) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "<Lorem ipsum dolor sit amet."}) +    {:ok, activity} = CommonAPI.post(user, %{status: "<Lorem ipsum dolor sit amet."})      notif =        insert(:notification, @@ -111,7 +111,7 @@ defmodule Pleroma.Web.Push.ImplTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => +        status:            "<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis."        }) @@ -147,7 +147,7 @@ defmodule Pleroma.Web.Push.ImplTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => +        status:            "<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis."        }) @@ -166,7 +166,7 @@ defmodule Pleroma.Web.Push.ImplTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => +        status:            "<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis."        }) @@ -184,8 +184,8 @@ defmodule Pleroma.Web.Push.ImplTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "visibility" => "direct", -        "status" => "This is just between you and me, pal" +        visibility: "direct", +        status: "This is just between you and me, pal"        })      assert Impl.format_title(%{activity: activity}) == @@ -199,8 +199,8 @@ defmodule Pleroma.Web.Push.ImplTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "visibility" => "direct", -          "status" => "<Lorem ipsum dolor sit amet." +          visibility: "direct", +          status: "<Lorem ipsum dolor sit amet."          })        notif = insert(:notification, user: user2, activity: activity) @@ -214,8 +214,8 @@ defmodule Pleroma.Web.Push.ImplTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "visibility" => "public", -          "status" => "<Lorem ipsum dolor sit amet." +          visibility: "public", +          status: "<Lorem ipsum dolor sit amet."          })        notif = insert(:notification, user: user2, activity: activity) @@ -245,8 +245,8 @@ defmodule Pleroma.Web.Push.ImplTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "visibility" => "direct", -          "status" => +          visibility: "direct", +          status:              "<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis."          }) @@ -263,8 +263,8 @@ defmodule Pleroma.Web.Push.ImplTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "visibility" => "public", -          "status" => +          visibility: "public", +          status:              "<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis."          }) diff --git a/test/web/rich_media/helpers_test.exs b/test/web/rich_media/helpers_test.exs index aa0c5c830..8264a9c41 100644 --- a/test/web/rich_media/helpers_test.exs +++ b/test/web/rich_media/helpers_test.exs @@ -26,8 +26,8 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "[test](example.com/ogp)", -        "content_type" => "text/markdown" +        status: "[test](example.com/ogp)", +        content_type: "text/markdown"        })      Config.put([:rich_media, :enabled], true) @@ -40,8 +40,8 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "[test](example.com[]/ogp)", -        "content_type" => "text/markdown" +        status: "[test](example.com[]/ogp)", +        content_type: "text/markdown"        })      Config.put([:rich_media, :enabled], true) @@ -54,8 +54,8 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "[test](https://example.com/ogp)", -        "content_type" => "text/markdown" +        status: "[test](https://example.com/ogp)", +        content_type: "text/markdown"        })      Config.put([:rich_media, :enabled], true) @@ -69,8 +69,8 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "http://example.com/ogp", -        "sensitive" => true +        status: "http://example.com/ogp", +        sensitive: true        })      %Object{} = object = Object.normalize(activity) @@ -87,7 +87,7 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do      {:ok, activity} =        CommonAPI.post(user, %{ -        "status" => "http://example.com/ogp #nsfw" +        status: "http://example.com/ogp #nsfw"        })      %Object{} = object = Object.normalize(activity) @@ -103,12 +103,12 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do      user = insert(:user)      {:ok, activity} = -      CommonAPI.post(user, %{"status" => "http://127.0.0.1:4000/notice/9kCP7VNyPJXFOXDrgO"}) +      CommonAPI.post(user, %{status: "http://127.0.0.1:4000/notice/9kCP7VNyPJXFOXDrgO"}) -    {:ok, activity2} = CommonAPI.post(user, %{"status" => "https://10.111.10.1/notice/9kCP7V"}) -    {:ok, activity3} = CommonAPI.post(user, %{"status" => "https://172.16.32.40/notice/9kCP7V"}) -    {:ok, activity4} = CommonAPI.post(user, %{"status" => "https://192.168.10.40/notice/9kCP7V"}) -    {:ok, activity5} = CommonAPI.post(user, %{"status" => "https://pleroma.local/notice/9kCP7V"}) +    {:ok, activity2} = CommonAPI.post(user, %{status: "https://10.111.10.1/notice/9kCP7V"}) +    {:ok, activity3} = CommonAPI.post(user, %{status: "https://172.16.32.40/notice/9kCP7V"}) +    {:ok, activity4} = CommonAPI.post(user, %{status: "https://192.168.10.40/notice/9kCP7V"}) +    {:ok, activity5} = CommonAPI.post(user, %{status: "https://pleroma.local/notice/9kCP7V"})      Config.put([:rich_media, :enabled], true) diff --git a/test/web/static_fe/static_fe_controller_test.exs b/test/web/static_fe/static_fe_controller_test.exs index 430683ea0..a49ab002f 100644 --- a/test/web/static_fe/static_fe_controller_test.exs +++ b/test/web/static_fe/static_fe_controller_test.exs @@ -32,8 +32,8 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      end      test "profile does not include private messages", %{conn: conn, user: user} do -      CommonAPI.post(user, %{"status" => "public"}) -      CommonAPI.post(user, %{"status" => "private", "visibility" => "private"}) +      CommonAPI.post(user, %{status: "public"}) +      CommonAPI.post(user, %{status: "private", visibility: "private"})        conn = get(conn, "/users/#{user.nickname}") @@ -44,7 +44,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      end      test "pagination", %{conn: conn, user: user} do -      Enum.map(1..30, fn i -> CommonAPI.post(user, %{"status" => "test#{i}"}) end) +      Enum.map(1..30, fn i -> CommonAPI.post(user, %{status: "test#{i}"}) end)        conn = get(conn, "/users/#{user.nickname}") @@ -57,7 +57,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      end      test "pagination, page 2", %{conn: conn, user: user} do -      activities = Enum.map(1..30, fn i -> CommonAPI.post(user, %{"status" => "test#{i}"}) end) +      activities = Enum.map(1..30, fn i -> CommonAPI.post(user, %{status: "test#{i}"}) end)        {:ok, a11} = Enum.at(activities, 11)        conn = get(conn, "/users/#{user.nickname}?max_id=#{a11.id}") @@ -77,7 +77,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do    describe "notice html" do      test "single notice page", %{conn: conn, user: user} do -      {:ok, activity} = CommonAPI.post(user, %{"status" => "testing a thing!"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "testing a thing!"})        conn = get(conn, "/notice/#{activity.id}") @@ -89,7 +89,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      test "filters HTML tags", %{conn: conn} do        user = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "<script>alert('xss')</script>"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "<script>alert('xss')</script>"})        conn =          conn @@ -101,11 +101,11 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      end      test "shows the whole thread", %{conn: conn, user: user} do -      {:ok, activity} = CommonAPI.post(user, %{"status" => "space: the final frontier"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "space: the final frontier"})        CommonAPI.post(user, %{ -        "status" => "these are the voyages or something", -        "in_reply_to_status_id" => activity.id +        status: "these are the voyages or something", +        in_reply_to_status_id: activity.id        })        conn = get(conn, "/notice/#{activity.id}") @@ -117,7 +117,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      test "redirect by AP object ID", %{conn: conn, user: user} do        {:ok, %Activity{data: %{"object" => object_url}}} = -        CommonAPI.post(user, %{"status" => "beam me up"}) +        CommonAPI.post(user, %{status: "beam me up"})        conn = get(conn, URI.parse(object_url).path) @@ -126,7 +126,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      test "redirect by activity ID", %{conn: conn, user: user} do        {:ok, %Activity{data: %{"id" => id}}} = -        CommonAPI.post(user, %{"status" => "I'm a doctor, not a devops!"}) +        CommonAPI.post(user, %{status: "I'm a doctor, not a devops!"})        conn = get(conn, URI.parse(id).path) @@ -140,8 +140,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      end      test "404 for private status", %{conn: conn, user: user} do -      {:ok, activity} = -        CommonAPI.post(user, %{"status" => "don't show me!", "visibility" => "private"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "don't show me!", visibility: "private"})        conn = get(conn, "/notice/#{activity.id}") @@ -171,7 +170,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do      end      test "it requires authentication if instance is NOT federating", %{conn: conn, user: user} do -      {:ok, activity} = CommonAPI.post(user, %{"status" => "testing a thing!"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "testing a thing!"})        ensure_federating_or_authenticated(conn, "/notice/#{activity.id}", user)      end diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index db07c5df5..95b7d1420 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -96,7 +96,7 @@ defmodule Pleroma.Web.StreamerTest do      test "it streams the user's post in the 'user' stream", %{user: user} do        Streamer.get_topic_and_add_socket("user", user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "hey"})        assert_receive {:render_with_user, _, _, ^activity}        refute Streamer.filtered_by_user?(user, activity)      end @@ -105,7 +105,7 @@ defmodule Pleroma.Web.StreamerTest do        Streamer.get_topic_and_add_socket("user", user)        other_user = insert(:user) -      {:ok, activity} = CommonAPI.post(other_user, %{"status" => "hey"}) +      {:ok, activity} = CommonAPI.post(other_user, %{status: "hey"})        {:ok, announce, _} = CommonAPI.repeat(activity.id, user)        assert_receive {:render_with_user, Pleroma.Web.StreamerView, "update.json", ^announce} @@ -134,7 +134,7 @@ defmodule Pleroma.Web.StreamerTest do        Streamer.get_topic_and_add_socket("user:notification", user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => ":("}) +      {:ok, activity} = CommonAPI.post(user, %{status: ":("})        {:ok, _} = CommonAPI.favorite(blocked, activity.id)        refute_receive _ @@ -145,7 +145,7 @@ defmodule Pleroma.Web.StreamerTest do      } do        user2 = insert(:user) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "super hot take"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"})        {:ok, _} = CommonAPI.add_mute(user, activity)        Streamer.get_topic_and_add_socket("user:notification", user) @@ -161,7 +161,7 @@ defmodule Pleroma.Web.StreamerTest do      } do        user2 = insert(:user, %{ap_id: "https://hecking-lewd-place.com/user/meanie"}) -      {:ok, activity} = CommonAPI.post(user, %{"status" => "super hot take"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"})        Streamer.get_topic_and_add_socket("user:notification", user)        {:ok, favorite_activity} = CommonAPI.favorite(user2, activity.id) @@ -176,7 +176,7 @@ defmodule Pleroma.Web.StreamerTest do        user2 = insert(:user, %{ap_id: "https://hecking-lewd-place.com/user/meanie"})        {:ok, user} = User.block_domain(user, "hecking-lewd-place.com") -      {:ok, activity} = CommonAPI.post(user, %{"status" => "super hot take"}) +      {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"})        Streamer.get_topic_and_add_socket("user:notification", user)        {:ok, favorite_activity} = CommonAPI.favorite(user2, activity.id) @@ -215,7 +215,7 @@ defmodule Pleroma.Web.StreamerTest do      Streamer.get_topic_and_add_socket("public", other_user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "Test"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "Test"})      assert_receive {:render_with_user, _, _, ^activity}      refute Streamer.filtered_by_user?(user, activity)    end @@ -223,7 +223,7 @@ defmodule Pleroma.Web.StreamerTest do    test "works for deletions" do      user = insert(:user)      other_user = insert(:user) -    {:ok, activity} = CommonAPI.post(other_user, %{"status" => "Test"}) +    {:ok, activity} = CommonAPI.post(other_user, %{status: "Test"})      Streamer.get_topic_and_add_socket("public", user) @@ -238,7 +238,7 @@ defmodule Pleroma.Web.StreamerTest do      Streamer.get_topic_and_add_socket("public", nil) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "Test"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "Test"})      activity_id = activity.id      assert_receive {:text, event}      assert %{"event" => "update", "payload" => payload} = Jason.decode!(event) @@ -323,7 +323,7 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, _user_relationship} = User.block(user, blocked_user)        Streamer.get_topic_and_add_socket("public", user) -      {:ok, activity} = CommonAPI.post(blocked_user, %{"status" => "Test"}) +      {:ok, activity} = CommonAPI.post(blocked_user, %{status: "Test"})        assert_receive {:render_with_user, _, _, ^activity}        assert Streamer.filtered_by_user?(user, activity)      end @@ -337,17 +337,17 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, _user_relationship} = User.block(blocker, blockee) -      {:ok, activity_one} = CommonAPI.post(friend, %{"status" => "hey! @#{blockee.nickname}"}) +      {:ok, activity_one} = CommonAPI.post(friend, %{status: "hey! @#{blockee.nickname}"})        assert_receive {:render_with_user, _, _, ^activity_one}        assert Streamer.filtered_by_user?(blocker, activity_one) -      {:ok, activity_two} = CommonAPI.post(blockee, %{"status" => "hey! @#{friend.nickname}"}) +      {:ok, activity_two} = CommonAPI.post(blockee, %{status: "hey! @#{friend.nickname}"})        assert_receive {:render_with_user, _, _, ^activity_two}        assert Streamer.filtered_by_user?(blocker, activity_two) -      {:ok, activity_three} = CommonAPI.post(blockee, %{"status" => "hey! @#{blocker.nickname}"}) +      {:ok, activity_three} = CommonAPI.post(blockee, %{status: "hey! @#{blocker.nickname}"})        assert_receive {:render_with_user, _, _, ^activity_three}        assert Streamer.filtered_by_user?(blocker, activity_three) @@ -369,8 +369,8 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, _activity} =          CommonAPI.post(user_b, %{ -          "status" => "@#{user_c.nickname} Test", -          "visibility" => "direct" +          status: "@#{user_c.nickname} Test", +          visibility: "direct"          })        refute_receive _ @@ -387,8 +387,8 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, _activity} =          CommonAPI.post(user_b, %{ -          "status" => "Test", -          "visibility" => "private" +          status: "Test", +          visibility: "private"          })        refute_receive _ @@ -407,8 +407,8 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, activity} =          CommonAPI.post(user_b, %{ -          "status" => "Test", -          "visibility" => "private" +          status: "Test", +          visibility: "private"          })        assert_receive {:render_with_user, _, _, ^activity} @@ -424,7 +424,7 @@ defmodule Pleroma.Web.StreamerTest do        CommonAPI.follow(user1, user2)        CommonAPI.hide_reblogs(user1, user2) -      {:ok, create_activity} = CommonAPI.post(user3, %{"status" => "I'm kawen"}) +      {:ok, create_activity} = CommonAPI.post(user3, %{status: "I'm kawen"})        Streamer.get_topic_and_add_socket("user", user1)        {:ok, announce_activity, _} = CommonAPI.repeat(create_activity.id, user2) @@ -438,7 +438,7 @@ defmodule Pleroma.Web.StreamerTest do        CommonAPI.follow(user1, user2)        CommonAPI.hide_reblogs(user1, user2) -      {:ok, create_activity} = CommonAPI.post(user1, %{"status" => "I'm kawen"}) +      {:ok, create_activity} = CommonAPI.post(user1, %{status: "I'm kawen"})        Streamer.get_topic_and_add_socket("user", user1)        {:ok, _favorite_activity, _} = CommonAPI.repeat(create_activity.id, user2) @@ -452,7 +452,7 @@ defmodule Pleroma.Web.StreamerTest do        CommonAPI.follow(user1, user2)        CommonAPI.hide_reblogs(user1, user2) -      {:ok, create_activity} = CommonAPI.post(user1, %{"status" => "I'm kawen"}) +      {:ok, create_activity} = CommonAPI.post(user1, %{status: "I'm kawen"})        Streamer.get_topic_and_add_socket("user", user1)        {:ok, _favorite_activity} = CommonAPI.favorite(user2, create_activity.id) @@ -466,7 +466,7 @@ defmodule Pleroma.Web.StreamerTest do      user2 = insert(:user)      Streamer.get_topic_and_add_socket("user", user2)      {:ok, user2, user, _activity} = CommonAPI.follow(user2, user) -    {:ok, activity} = CommonAPI.post(user, %{"status" => "super hot take"}) +    {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"})      {:ok, _} = CommonAPI.add_mute(user2, activity)      assert_receive {:render_with_user, _, _, ^activity}      assert Streamer.filtered_by_user?(user2, activity) @@ -485,8 +485,8 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, _create_activity} =          CommonAPI.post(another_user, %{ -          "status" => "hey @#{user.nickname}", -          "visibility" => "direct" +          status: "hey @#{user.nickname}", +          visibility: "direct"          })        assert_receive {:text, received_event} @@ -507,8 +507,8 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, create_activity} =          CommonAPI.post(another_user, %{ -          "status" => "hi @#{user.nickname}", -          "visibility" => "direct" +          status: "hi @#{user.nickname}", +          visibility: "direct"          })        create_activity_id = create_activity.id @@ -533,15 +533,15 @@ defmodule Pleroma.Web.StreamerTest do        {:ok, create_activity} =          CommonAPI.post(another_user, %{ -          "status" => "hi @#{user.nickname}", -          "visibility" => "direct" +          status: "hi @#{user.nickname}", +          visibility: "direct"          })        {:ok, create_activity2} =          CommonAPI.post(another_user, %{ -          "status" => "hi @#{user.nickname} 2", -          "in_reply_to_status_id" => create_activity.id, -          "visibility" => "direct" +          status: "hi @#{user.nickname} 2", +          in_reply_to_status_id: create_activity.id, +          visibility: "direct"          })        assert_receive {:render_with_user, _, _, ^create_activity} | 
