diff options
Diffstat (limited to 'test/web/mastodon_api/views')
| -rw-r--r-- | test/web/mastodon_api/views/account_view_test.exs | 35 | 
1 files changed, 31 insertions, 4 deletions
diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 487ec26c2..f91333e5c 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -54,10 +54,10 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        header_static: "http://localhost:4001/images/banner.png",        emojis: [          %{ -          "static_url" => "/file.png", -          "url" => "/file.png", -          "shortcode" => "karjalanpiirakka", -          "visible_in_picker" => false +          static_url: "/file.png", +          url: "/file.png", +          shortcode: "karjalanpiirakka", +          visible_in_picker: false          }        ],        fields: [], @@ -491,4 +491,31 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do                 AccountView.render("show.json", %{user: user, for: user})      end    end + +  test "uses mediaproxy urls when it's enabled" do +    clear_config([:media_proxy, :enabled], true) + +    user = +      insert(:user, +        avatar: %{"url" => [%{"href" => "https://evil.website/avatar.png"}]}, +        banner: %{"url" => [%{"href" => "https://evil.website/banner.png"}]}, +        emoji: %{"joker_smile" => "https://evil.website/society.png"} +      ) + +    AccountView.render("show.json", %{user: user}) +    |> Enum.all?(fn +      {key, url} when key in [:avatar, :avatar_static, :header, :header_static] -> +        String.starts_with?(url, Pleroma.Web.base_url()) + +      {:emojis, emojis} -> +        Enum.all?(emojis, fn %{url: url, static_url: static_url} -> +          String.starts_with?(url, Pleroma.Web.base_url()) && +            String.starts_with?(static_url, Pleroma.Web.base_url()) +        end) + +      _ -> +        true +    end) +    |> assert() +  end  end  | 
