diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/following_relationship_test.exs | 47 | ||||
| -rw-r--r-- | test/http/request_builder_test.exs | 10 | ||||
| -rw-r--r-- | test/user_search_test.exs | 8 | ||||
| -rw-r--r-- | test/user_test.exs | 24 | ||||
| -rw-r--r-- | test/web/activity_pub/activity_pub_controller_test.exs | 13 | ||||
| -rw-r--r-- | test/web/admin_api/admin_api_controller_test.exs | 165 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/account_controller_test.exs | 23 | ||||
| -rw-r--r-- | test/web/ostatus/ostatus_controller_test.exs | 79 | 
8 files changed, 281 insertions, 88 deletions
| diff --git a/test/following_relationship_test.exs b/test/following_relationship_test.exs new file mode 100644 index 000000000..93c079814 --- /dev/null +++ b/test/following_relationship_test.exs @@ -0,0 +1,47 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.FollowingRelationshipTest do +  use Pleroma.DataCase + +  alias Pleroma.FollowingRelationship +  alias Pleroma.Web.ActivityPub.InternalFetchActor +  alias Pleroma.Web.ActivityPub.Relay + +  import Pleroma.Factory + +  describe "following/1" do +    test "returns following addresses without internal.fetch" do +      user = insert(:user) +      fetch_actor = InternalFetchActor.get_actor() +      FollowingRelationship.follow(fetch_actor, user, "accept") +      assert FollowingRelationship.following(fetch_actor) == [user.follower_address] +    end + +    test "returns following addresses without relay" do +      user = insert(:user) +      relay_actor = Relay.get_actor() +      FollowingRelationship.follow(relay_actor, user, "accept") +      assert FollowingRelationship.following(relay_actor) == [user.follower_address] +    end + +    test "returns following addresses without remote user" do +      user = insert(:user) +      actor = insert(:user, local: false) +      FollowingRelationship.follow(actor, user, "accept") +      assert FollowingRelationship.following(actor) == [user.follower_address] +    end + +    test "returns following addresses with local user" do +      user = insert(:user) +      actor = insert(:user, local: true) +      FollowingRelationship.follow(actor, user, "accept") + +      assert FollowingRelationship.following(actor) == [ +               actor.follower_address, +               user.follower_address +             ] +    end +  end +end diff --git a/test/http/request_builder_test.exs b/test/http/request_builder_test.exs index 170ca916f..80ef25d7b 100644 --- a/test/http/request_builder_test.exs +++ b/test/http/request_builder_test.exs @@ -16,11 +16,21 @@ defmodule Pleroma.HTTP.RequestBuilderTest do      test "send pleroma user agent" do        Pleroma.Config.put([:http, :send_user_agent], true) +      Pleroma.Config.put([:http, :user_agent], :default)        assert RequestBuilder.headers(%{}, []) == %{                 headers: [{"User-Agent", Pleroma.Application.user_agent()}]               }      end + +    test "send custom user agent" do +      Pleroma.Config.put([:http, :send_user_agent], true) +      Pleroma.Config.put([:http, :user_agent], "totally-not-pleroma") + +      assert RequestBuilder.headers(%{}, []) == %{ +               headers: [{"User-Agent", "totally-not-pleroma"}] +             } +    end    end    describe "add_optional_params/3" do diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 721af1e5b..98841dbbd 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -15,6 +15,14 @@ defmodule Pleroma.UserSearchTest do    end    describe "User.search" do +    test "excluded invisible users from results" do +      user = insert(:user, %{nickname: "john t1000"}) +      insert(:user, %{invisible: true, nickname: "john t800"}) + +      [found_user] = User.search("john") +      assert found_user.id == user.id +    end +      test "accepts limit parameter" do        Enum.each(0..4, &insert(:user, %{nickname: "john#{&1}"}))        assert length(User.search("john", limit: 3)) == 3 diff --git a/test/user_test.exs b/test/user_test.exs index 8fdb6b25f..e6302b525 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -25,6 +25,25 @@ defmodule Pleroma.UserTest do    clear_config([:instance, :account_activation_required]) +  describe "service actors" do +    test "returns invisible actor" do +      uri = "#{Pleroma.Web.Endpoint.url()}/internal/fetch-test" +      followers_uri = "#{uri}/followers" +      user = User.get_or_create_service_actor_by_ap_id(uri, "internal.fetch-test") + +      assert %User{ +               nickname: "internal.fetch-test", +               invisible: true, +               local: true, +               ap_id: ^uri, +               follower_address: ^followers_uri +             } = user + +      user2 = User.get_or_create_service_actor_by_ap_id(uri, "internal.fetch-test") +      assert user.id == user2.id +    end +  end +    describe "when tags are nil" do      test "tagging a user" do        user = insert(:user, %{tags: nil}) @@ -148,9 +167,10 @@ defmodule Pleroma.UserTest do      {:ok, user} = User.follow(user, followed)      user = User.get_cached_by_id(user.id) -      followed = User.get_cached_by_ap_id(followed.ap_id) +      assert followed.follower_count == 1 +    assert user.following_count == 1      assert User.ap_followers(followed) in User.following(user)    end @@ -952,12 +972,14 @@ defmodule Pleroma.UserTest do        user2 = insert(:user)        {:ok, user2} = User.follow(user2, user) +      assert user2.following_count == 1        assert User.following_count(user2) == 1        {:ok, _user} = User.deactivate(user)        info = User.get_cached_user_info(user2) +      assert refresh_record(user2).following_count == 0        assert info.following_count == 0        assert User.following_count(user2) == 0        assert [] = User.get_friends(user2) diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index a5414c521..1aa73d75c 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -110,6 +110,19 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do        assert json_response(conn, 200) == UserView.render("user.json", %{user: user})      end + +    test "it returns 404 for remote users", %{ +      conn: conn +    } do +      user = insert(:user, local: false, nickname: "remoteuser@example.com") + +      conn = +        conn +        |> put_req_header("accept", "application/json") +        |> get("/users/#{user.nickname}.json") + +      assert json_response(conn, 404) +    end    end    describe "/object/:uuid" do diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index ea1b4c48c..12dba7773 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -226,7 +226,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do          "roles" => %{"admin" => false, "moderator" => false},          "tags" => [],          "avatar" => User.avatar_url(user) |> MediaProxy.url(), -        "display_name" => HTML.strip_tags(user.name || user.nickname) +        "display_name" => HTML.strip_tags(user.name || user.nickname), +        "confirmation_pending" => false        }        assert expected == json_response(conn, 200) @@ -635,7 +636,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => true,              "tags" => [],              "avatar" => User.avatar_url(admin) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(admin.name || admin.nickname) +            "display_name" => HTML.strip_tags(admin.name || admin.nickname), +            "confirmation_pending" => false            },            %{              "deactivated" => user.deactivated, @@ -645,7 +647,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => false,              "tags" => ["foo", "bar"],              "avatar" => User.avatar_url(user) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(user.name || user.nickname) +            "display_name" => HTML.strip_tags(user.name || user.nickname), +            "confirmation_pending" => false            }          ]          |> Enum.sort_by(& &1["nickname"]) @@ -686,7 +689,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -710,7 +714,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -734,7 +739,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -758,7 +764,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -782,7 +789,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -806,7 +814,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -825,7 +834,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user2) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user2.name || user2.nickname) +                   "display_name" => HTML.strip_tags(user2.name || user2.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -854,7 +864,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -881,7 +892,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => true,              "tags" => [],              "avatar" => User.avatar_url(user) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(user.name || user.nickname) +            "display_name" => HTML.strip_tags(user.name || user.nickname), +            "confirmation_pending" => false            },            %{              "deactivated" => admin.deactivated, @@ -891,7 +903,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => true,              "tags" => [],              "avatar" => User.avatar_url(admin) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(admin.name || admin.nickname) +            "display_name" => HTML.strip_tags(admin.name || admin.nickname), +            "confirmation_pending" => false            },            %{              "deactivated" => false, @@ -901,7 +914,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "roles" => %{"admin" => true, "moderator" => false},              "tags" => [],              "avatar" => User.avatar_url(old_admin) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(old_admin.name || old_admin.nickname) +            "display_name" => HTML.strip_tags(old_admin.name || old_admin.nickname), +            "confirmation_pending" => false            }          ]          |> Enum.sort_by(& &1["nickname"]) @@ -930,7 +944,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => admin.local,              "tags" => [],              "avatar" => User.avatar_url(admin) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(admin.name || admin.nickname) +            "display_name" => HTML.strip_tags(admin.name || admin.nickname), +            "confirmation_pending" => false            },            %{              "deactivated" => false, @@ -940,7 +955,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => second_admin.local,              "tags" => [],              "avatar" => User.avatar_url(second_admin) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(second_admin.name || second_admin.nickname) +            "display_name" => HTML.strip_tags(second_admin.name || second_admin.nickname), +            "confirmation_pending" => false            }          ]          |> Enum.sort_by(& &1["nickname"]) @@ -971,7 +987,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => moderator.local,                     "tags" => [],                     "avatar" => User.avatar_url(moderator) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(moderator.name || moderator.nickname) +                   "display_name" => HTML.strip_tags(moderator.name || moderator.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -995,7 +1012,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => user1.local,              "tags" => ["first"],              "avatar" => User.avatar_url(user1) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(user1.name || user1.nickname) +            "display_name" => HTML.strip_tags(user1.name || user1.nickname), +            "confirmation_pending" => false            },            %{              "deactivated" => false, @@ -1005,7 +1023,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do              "local" => user2.local,              "tags" => ["second"],              "avatar" => User.avatar_url(user2) |> MediaProxy.url(), -            "display_name" => HTML.strip_tags(user2.name || user2.nickname) +            "display_name" => HTML.strip_tags(user2.name || user2.nickname), +            "confirmation_pending" => false            }          ]          |> Enum.sort_by(& &1["nickname"]) @@ -1041,7 +1060,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => user.local,                     "tags" => [],                     "avatar" => User.avatar_url(user) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(user.name || user.nickname) +                   "display_name" => HTML.strip_tags(user.name || user.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -1067,7 +1087,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                     "local" => true,                     "tags" => [],                     "avatar" => User.avatar_url(admin) |> MediaProxy.url(), -                   "display_name" => HTML.strip_tags(admin.name || admin.nickname) +                   "display_name" => HTML.strip_tags(admin.name || admin.nickname), +                   "confirmation_pending" => false                   }                 ]               } @@ -1136,7 +1157,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                 "local" => true,                 "tags" => [],                 "avatar" => User.avatar_url(user) |> MediaProxy.url(), -               "display_name" => HTML.strip_tags(user.name || user.nickname) +               "display_name" => HTML.strip_tags(user.name || user.nickname), +               "confirmation_pending" => false               }      log_entry = Repo.one(ModerationLog) @@ -2833,6 +2855,105 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                 "@#{admin.nickname} unfollowed relay: http://mastodon.example.org/users/admin"      end    end + +  describe "instances" do +    test "GET /instances/:instance/statuses" do +      admin = insert(:user, is_admin: true) +      user = insert(:user, local: false, nickname: "archaeme@archae.me") +      user2 = insert(:user, local: false, nickname: "test@test.com") +      insert_pair(:note_activity, user: user) +      insert(:note_activity, user: user2) + +      conn = +        build_conn() +        |> assign(:user, admin) +        |> get("/api/pleroma/admin/instances/archae.me/statuses") + +      response = json_response(conn, 200) + +      assert length(response) == 2 + +      conn = +        build_conn() +        |> assign(:user, admin) +        |> get("/api/pleroma/admin/instances/test.com/statuses") + +      response = json_response(conn, 200) + +      assert length(response) == 1 + +      conn = +        build_conn() +        |> assign(:user, admin) +        |> get("/api/pleroma/admin/instances/nonexistent.com/statuses") + +      response = json_response(conn, 200) + +      assert length(response) == 0 +    end +  end + +  describe "PATCH /confirm_email" do +    setup %{conn: conn} do +      admin = insert(:user, is_admin: true) + +      %{conn: assign(conn, :user, admin), admin: admin} +    end + +    test "it confirms emails of two users", %{admin: admin} do +      [first_user, second_user] = insert_pair(:user, confirmation_pending: true) + +      assert first_user.confirmation_pending == true +      assert second_user.confirmation_pending == true + +      build_conn() +      |> assign(:user, admin) +      |> patch("/api/pleroma/admin/users/confirm_email", %{ +        nicknames: [ +          first_user.nickname, +          second_user.nickname +        ] +      }) + +      assert first_user.confirmation_pending == true +      assert second_user.confirmation_pending == true + +      log_entry = Repo.one(ModerationLog) + +      assert ModerationLog.get_log_entry_message(log_entry) == +               "@#{admin.nickname} confirmed email for users: @#{first_user.nickname}, @#{ +                 second_user.nickname +               }" +    end +  end + +  describe "PATCH /resend_confirmation_email" do +    setup %{conn: conn} do +      admin = insert(:user, is_admin: true) + +      %{conn: assign(conn, :user, admin), admin: admin} +    end + +    test "it resend emails for two users", %{admin: admin} do +      [first_user, second_user] = insert_pair(:user, confirmation_pending: true) + +      build_conn() +      |> assign(:user, admin) +      |> patch("/api/pleroma/admin/users/resend_confirmation_email", %{ +        nicknames: [ +          first_user.nickname, +          second_user.nickname +        ] +      }) + +      log_entry = Repo.one(ModerationLog) + +      assert ModerationLog.get_log_entry_message(log_entry) == +               "@#{admin.nickname} re-sent confirmation email for users: @#{first_user.nickname}, @#{ +                 second_user.nickname +               }" +    end +  end  end  # Needed for testing diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index 8fc2d9300..585cb8a9e 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -8,6 +8,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do    alias Pleroma.Repo    alias Pleroma.User    alias Pleroma.Web.ActivityPub.ActivityPub +  alias Pleroma.Web.ActivityPub.InternalFetchActor    alias Pleroma.Web.CommonAPI    alias Pleroma.Web.OAuth.Token @@ -118,6 +119,28 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        refute acc_one == acc_two        assert acc_two == acc_three      end + +    test "returns 404 when user is invisible", %{conn: conn} do +      user = insert(:user, %{invisible: true}) + +      resp = +        conn +        |> get("/api/v1/accounts/#{user.nickname}") +        |> json_response(404) + +      assert %{"error" => "Can't find user"} = resp +    end + +    test "returns 404 for internal.fetch actor", %{conn: conn} do +      %User{nickname: "internal.fetch"} = InternalFetchActor.get_actor() + +      resp = +        conn +        |> get("/api/v1/accounts/internal.fetch") +        |> json_response(404) + +      assert %{"error" => "Can't find user"} = resp +    end    end    describe "user timelines" do diff --git a/test/web/ostatus/ostatus_controller_test.exs b/test/web/ostatus/ostatus_controller_test.exs index 37b7b62f5..50235dfef 100644 --- a/test/web/ostatus/ostatus_controller_test.exs +++ b/test/web/ostatus/ostatus_controller_test.exs @@ -35,23 +35,6 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do        assert redirected_to(conn) == "/notice/#{note_activity.id}"      end -    test "500s when user not found", %{conn: conn} do -      note_activity = insert(:note_activity) -      object = Object.normalize(note_activity) -      user = User.get_cached_by_ap_id(note_activity.data["actor"]) -      User.invalidate_cache(user) -      Pleroma.Repo.delete(user) -      [_, uuid] = hd(Regex.scan(~r/.+\/([\w-]+)$/, object.data["id"])) -      url = "/objects/#{uuid}" - -      conn = -        conn -        |> put_req_header("accept", "application/xml") -        |> get(url) - -      assert response(conn, 500) == ~S({"error":"Something went wrong"}) -    end -      test "404s on private objects", %{conn: conn} do        note_activity = insert(:direct_note_activity)        object = Object.normalize(note_activity) @@ -82,21 +65,6 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do        assert redirected_to(conn) == "/notice/#{note_activity.id}"      end -    test "505s when user not found", %{conn: conn} do -      note_activity = insert(:note_activity) -      [_, uuid] = hd(Regex.scan(~r/.+\/([\w-]+)$/, note_activity.data["id"])) -      user = User.get_cached_by_ap_id(note_activity.data["actor"]) -      User.invalidate_cache(user) -      Pleroma.Repo.delete(user) - -      conn = -        conn -        |> put_req_header("accept", "text/html") -        |> get("/activities/#{uuid}") - -      assert response(conn, 500) == ~S({"error":"Something went wrong"}) -    end -      test "404s on private activities", %{conn: conn} do        note_activity = insert(:direct_note_activity)        [_, uuid] = hd(Regex.scan(~r/.+\/([\w-]+)$/, note_activity.data["id"])) @@ -127,21 +95,28 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do    end    describe "GET notice/2" do -    test "gets a notice in xml format", %{conn: conn} do +    test "redirects to a proper object URL when json requested and the object is local", %{ +      conn: conn +    } do        note_activity = insert(:note_activity) +      expected_redirect_url = Object.normalize(note_activity).data["id"] -      conn -      |> get("/notice/#{note_activity.id}") -      |> response(200) +      redirect_url = +        conn +        |> put_req_header("accept", "application/activity+json") +        |> get("/notice/#{note_activity.id}") +        |> redirected_to() + +      assert redirect_url == expected_redirect_url      end -    test "gets a notice in AS2 format", %{conn: conn} do -      note_activity = insert(:note_activity) +    test "returns a 404 on remote notice when json requested", %{conn: conn} do +      note_activity = insert(:note_activity, local: false)        conn        |> put_req_header("accept", "application/activity+json")        |> get("/notice/#{note_activity.id}") -      |> json_response(200) +      |> response(404)      end      test "500s when actor not found", %{conn: conn} do @@ -157,32 +132,6 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do        assert response(conn, 500) == ~S({"error":"Something went wrong"})      end -    test "only gets a notice in AS2 format for Create messages", %{conn: conn} do -      note_activity = insert(:note_activity) -      url = "/notice/#{note_activity.id}" - -      conn = -        conn -        |> put_req_header("accept", "application/activity+json") -        |> get(url) - -      assert json_response(conn, 200) - -      user = insert(:user) - -      {:ok, like_activity, _} = CommonAPI.favorite(note_activity.id, user) -      url = "/notice/#{like_activity.id}" - -      assert like_activity.data["type"] == "Like" - -      conn = -        build_conn() -        |> put_req_header("accept", "application/activity+json") -        |> get(url) - -      assert response(conn, 404) -    end -      test "render html for redirect for html format", %{conn: conn} do        note_activity = insert(:note_activity) | 
