diff options
Diffstat (limited to 'test/web/metadata')
| -rw-r--r-- | test/web/metadata/feed_test.exs | 18 | ||||
| -rw-r--r-- | test/web/metadata/metadata_test.exs | 49 | ||||
| -rw-r--r-- | test/web/metadata/opengraph_test.exs | 96 | ||||
| -rw-r--r-- | test/web/metadata/player_view_test.exs | 33 | ||||
| -rw-r--r-- | test/web/metadata/rel_me_test.exs | 21 | ||||
| -rw-r--r-- | test/web/metadata/restrict_indexing_test.exs | 27 | ||||
| -rw-r--r-- | test/web/metadata/twitter_card_test.exs | 150 | ||||
| -rw-r--r-- | test/web/metadata/utils_test.exs | 32 | 
8 files changed, 0 insertions, 426 deletions
diff --git a/test/web/metadata/feed_test.exs b/test/web/metadata/feed_test.exs deleted file mode 100644 index e6e5cc5ed..000000000 --- a/test/web/metadata/feed_test.exs +++ /dev/null @@ -1,18 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Metadata.Providers.FeedTest do -  use Pleroma.DataCase -  import Pleroma.Factory -  alias Pleroma.Web.Metadata.Providers.Feed - -  test "it renders a link to user's atom feed" do -    user = insert(:user, nickname: "lain") - -    assert Feed.build_tags(%{user: user}) == [ -             {:link, -              [rel: "alternate", type: "application/atom+xml", href: "/users/lain/feed.atom"], []} -           ] -  end -end diff --git a/test/web/metadata/metadata_test.exs b/test/web/metadata/metadata_test.exs deleted file mode 100644 index ca6cbe67f..000000000 --- a/test/web/metadata/metadata_test.exs +++ /dev/null @@ -1,49 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.MetadataTest do -  use Pleroma.DataCase, async: true - -  import Pleroma.Factory - -  describe "restrict indexing remote users" do -    test "for remote user" do -      user = insert(:user, local: false) - -      assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~ -               "<meta content=\"noindex, noarchive\" name=\"robots\">" -    end - -    test "for local user" do -      user = insert(:user, discoverable: false) - -      assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~ -               "<meta content=\"noindex, noarchive\" name=\"robots\">" -    end - -    test "for local user set to discoverable" do -      user = insert(:user, discoverable: true) - -      refute Pleroma.Web.Metadata.build_tags(%{user: user}) =~ -               "<meta content=\"noindex, noarchive\" name=\"robots\">" -    end -  end - -  describe "no metadata for private instances" do -    test "for local user set to discoverable" do -      clear_config([:instance, :public], false) -      user = insert(:user, bio: "This is my secret fedi account bio", discoverable: true) - -      assert "" = Pleroma.Web.Metadata.build_tags(%{user: user}) -    end - -    test "search exclusion metadata is included" do -      clear_config([:instance, :public], false) -      user = insert(:user, bio: "This is my secret fedi account bio", discoverable: false) - -      assert ~s(<meta content="noindex, noarchive" name="robots">) == -               Pleroma.Web.Metadata.build_tags(%{user: user}) -    end -  end -end diff --git a/test/web/metadata/opengraph_test.exs b/test/web/metadata/opengraph_test.exs deleted file mode 100644 index 218540e6c..000000000 --- a/test/web/metadata/opengraph_test.exs +++ /dev/null @@ -1,96 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Metadata.Providers.OpenGraphTest do -  use Pleroma.DataCase -  import Pleroma.Factory -  alias Pleroma.Web.Metadata.Providers.OpenGraph - -  setup do: clear_config([Pleroma.Web.Metadata, :unfurl_nsfw]) - -  test "it renders all supported types of attachments and skips unknown types" do -    user = insert(:user) - -    note = -      insert(:note, %{ -        data: %{ -          "actor" => user.ap_id, -          "tag" => [], -          "id" => "https://pleroma.gov/objects/whatever", -          "content" => "pleroma in a nutshell", -          "attachment" => [ -            %{ -              "url" => [ -                %{"mediaType" => "image/png", "href" => "https://pleroma.gov/tenshi.png"} -              ] -            }, -            %{ -              "url" => [ -                %{ -                  "mediaType" => "application/octet-stream", -                  "href" => "https://pleroma.gov/fqa/badapple.sfc" -                } -              ] -            }, -            %{ -              "url" => [ -                %{"mediaType" => "video/webm", "href" => "https://pleroma.gov/about/juche.webm"} -              ] -            }, -            %{ -              "url" => [ -                %{ -                  "mediaType" => "audio/basic", -                  "href" => "http://www.gnu.org/music/free-software-song.au" -                } -              ] -            } -          ] -        } -      }) - -    result = OpenGraph.build_tags(%{object: note, url: note.data["id"], user: user}) - -    assert Enum.all?( -             [ -               {:meta, [property: "og:image", content: "https://pleroma.gov/tenshi.png"], []}, -               {:meta, -                [property: "og:audio", content: "http://www.gnu.org/music/free-software-song.au"], -                []}, -               {:meta, [property: "og:video", content: "https://pleroma.gov/about/juche.webm"], -                []} -             ], -             fn element -> element in result end -           ) -  end - -  test "it does not render attachments if post is nsfw" do -    Pleroma.Config.put([Pleroma.Web.Metadata, :unfurl_nsfw], false) -    user = insert(:user, avatar: %{"url" => [%{"href" => "https://pleroma.gov/tenshi.png"}]}) - -    note = -      insert(:note, %{ -        data: %{ -          "actor" => user.ap_id, -          "id" => "https://pleroma.gov/objects/whatever", -          "content" => "#cuteposting #nsfw #hambaga", -          "tag" => ["cuteposting", "nsfw", "hambaga"], -          "sensitive" => true, -          "attachment" => [ -            %{ -              "url" => [ -                %{"mediaType" => "image/png", "href" => "https://misskey.microsoft/corndog.png"} -              ] -            } -          ] -        } -      }) - -    result = OpenGraph.build_tags(%{object: note, url: note.data["id"], user: user}) - -    assert {:meta, [property: "og:image", content: "https://pleroma.gov/tenshi.png"], []} in result - -    refute {:meta, [property: "og:image", content: "https://misskey.microsoft/corndog.png"], []} in result -  end -end diff --git a/test/web/metadata/player_view_test.exs b/test/web/metadata/player_view_test.exs deleted file mode 100644 index e6c990242..000000000 --- a/test/web/metadata/player_view_test.exs +++ /dev/null @@ -1,33 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Metadata.PlayerViewTest do -  use Pleroma.DataCase - -  alias Pleroma.Web.Metadata.PlayerView - -  test "it renders audio tag" do -    res = -      PlayerView.render( -        "player.html", -        %{"mediaType" => "audio", "href" => "test-href"} -      ) -      |> Phoenix.HTML.safe_to_string() - -    assert res == -             "<audio controls><source src=\"test-href\" type=\"audio\">Your browser does not support audio playback.</audio>" -  end - -  test "it renders videos tag" do -    res = -      PlayerView.render( -        "player.html", -        %{"mediaType" => "video", "href" => "test-href"} -      ) -      |> Phoenix.HTML.safe_to_string() - -    assert res == -             "<video controls loop><source src=\"test-href\" type=\"video\">Your browser does not support video playback.</video>" -  end -end diff --git a/test/web/metadata/rel_me_test.exs b/test/web/metadata/rel_me_test.exs deleted file mode 100644 index 2293d6e13..000000000 --- a/test/web/metadata/rel_me_test.exs +++ /dev/null @@ -1,21 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Metadata.Providers.RelMeTest do -  use Pleroma.DataCase -  import Pleroma.Factory -  alias Pleroma.Web.Metadata.Providers.RelMe - -  test "it renders all links with rel='me' from user bio" do -    bio = -      ~s(<a href="https://some-link.com">https://some-link.com</a> <a rel="me" href="https://another-link.com">https://another-link.com</a> <link href="http://some.com"> <link rel="me" href="http://some3.com">) - -    user = insert(:user, %{bio: bio}) - -    assert RelMe.build_tags(%{user: user}) == [ -             {:link, [rel: "me", href: "http://some3.com"], []}, -             {:link, [rel: "me", href: "https://another-link.com"], []} -           ] -  end -end diff --git a/test/web/metadata/restrict_indexing_test.exs b/test/web/metadata/restrict_indexing_test.exs deleted file mode 100644 index 6b3a65372..000000000 --- a/test/web/metadata/restrict_indexing_test.exs +++ /dev/null @@ -1,27 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Metadata.Providers.RestrictIndexingTest do -  use ExUnit.Case, async: true - -  describe "build_tags/1" do -    test "for remote user" do -      assert Pleroma.Web.Metadata.Providers.RestrictIndexing.build_tags(%{ -               user: %Pleroma.User{local: false} -             }) == [{:meta, [name: "robots", content: "noindex, noarchive"], []}] -    end - -    test "for local user" do -      assert Pleroma.Web.Metadata.Providers.RestrictIndexing.build_tags(%{ -               user: %Pleroma.User{local: true, discoverable: true} -             }) == [] -    end - -    test "for local user when discoverable is false" do -      assert Pleroma.Web.Metadata.Providers.RestrictIndexing.build_tags(%{ -               user: %Pleroma.User{local: true, discoverable: false} -             }) == [{:meta, [name: "robots", content: "noindex, noarchive"], []}] -    end -  end -end diff --git a/test/web/metadata/twitter_card_test.exs b/test/web/metadata/twitter_card_test.exs deleted file mode 100644 index 10931b5ba..000000000 --- a/test/web/metadata/twitter_card_test.exs +++ /dev/null @@ -1,150 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Metadata.Providers.TwitterCardTest do -  use Pleroma.DataCase -  import Pleroma.Factory - -  alias Pleroma.User -  alias Pleroma.Web.CommonAPI -  alias Pleroma.Web.Endpoint -  alias Pleroma.Web.Metadata.Providers.TwitterCard -  alias Pleroma.Web.Metadata.Utils -  alias Pleroma.Web.Router - -  setup do: clear_config([Pleroma.Web.Metadata, :unfurl_nsfw]) - -  test "it renders twitter card for user info" do -    user = insert(:user, name: "Jimmy Hendriks", bio: "born 19 March 1994") -    avatar_url = Utils.attachment_url(User.avatar_url(user)) -    res = TwitterCard.build_tags(%{user: user}) - -    assert res == [ -             {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, -             {:meta, [property: "twitter:description", content: "born 19 March 1994"], []}, -             {:meta, [property: "twitter:image", content: avatar_url], []}, -             {:meta, [property: "twitter:card", content: "summary"], []} -           ] -  end - -  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"}) - -    note = -      insert(:note, %{ -        data: %{ -          "actor" => user.ap_id, -          "tag" => [], -          "id" => "https://pleroma.gov/objects/whatever", -          "content" => "pleroma in a nutshell" -        } -      }) - -    result = TwitterCard.build_tags(%{object: note, user: user, activity_id: activity.id}) - -    assert [ -             {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, -             {:meta, [property: "twitter:description", content: "“pleroma in a nutshell”"], []}, -             {:meta, [property: "twitter:image", content: "http://localhost:4001/images/avi.png"], -              []}, -             {:meta, [property: "twitter:card", content: "summary"], []} -           ] == result -  end - -  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"}) - -    note = -      insert(:note, %{ -        data: %{ -          "actor" => user.ap_id, -          "tag" => [], -          "id" => "https://pleroma.gov/objects/whatever", -          "content" => "pleroma in a nutshell", -          "sensitive" => true, -          "attachment" => [ -            %{ -              "url" => [%{"mediaType" => "image/png", "href" => "https://pleroma.gov/tenshi.png"}] -            }, -            %{ -              "url" => [ -                %{ -                  "mediaType" => "application/octet-stream", -                  "href" => "https://pleroma.gov/fqa/badapple.sfc" -                } -              ] -            }, -            %{ -              "url" => [ -                %{"mediaType" => "video/webm", "href" => "https://pleroma.gov/about/juche.webm"} -              ] -            } -          ] -        } -      }) - -    result = TwitterCard.build_tags(%{object: note, user: user, activity_id: activity.id}) - -    assert [ -             {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, -             {:meta, [property: "twitter:description", content: "“pleroma in a nutshell”"], []}, -             {:meta, [property: "twitter:image", content: "http://localhost:4001/images/avi.png"], -              []}, -             {:meta, [property: "twitter:card", content: "summary"], []} -           ] == result -  end - -  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"}) - -    note = -      insert(:note, %{ -        data: %{ -          "actor" => user.ap_id, -          "tag" => [], -          "id" => "https://pleroma.gov/objects/whatever", -          "content" => "pleroma in a nutshell", -          "attachment" => [ -            %{ -              "url" => [%{"mediaType" => "image/png", "href" => "https://pleroma.gov/tenshi.png"}] -            }, -            %{ -              "url" => [ -                %{ -                  "mediaType" => "application/octet-stream", -                  "href" => "https://pleroma.gov/fqa/badapple.sfc" -                } -              ] -            }, -            %{ -              "url" => [ -                %{"mediaType" => "video/webm", "href" => "https://pleroma.gov/about/juche.webm"} -              ] -            } -          ] -        } -      }) - -    result = TwitterCard.build_tags(%{object: note, user: user, activity_id: activity.id}) - -    assert [ -             {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, -             {:meta, [property: "twitter:description", content: "“pleroma in a nutshell”"], []}, -             {:meta, [property: "twitter:card", content: "summary_large_image"], []}, -             {:meta, [property: "twitter:player", content: "https://pleroma.gov/tenshi.png"], []}, -             {:meta, [property: "twitter:card", content: "player"], []}, -             {:meta, -              [ -                property: "twitter:player", -                content: Router.Helpers.o_status_url(Endpoint, :notice_player, activity.id) -              ], []}, -             {:meta, [property: "twitter:player:width", content: "480"], []}, -             {:meta, [property: "twitter:player:height", content: "480"], []} -           ] == result -  end -end diff --git a/test/web/metadata/utils_test.exs b/test/web/metadata/utils_test.exs deleted file mode 100644 index 8183256d8..000000000 --- a/test/web/metadata/utils_test.exs +++ /dev/null @@ -1,32 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Metadata.UtilsTest do -  use Pleroma.DataCase -  import Pleroma.Factory -  alias Pleroma.Web.Metadata.Utils - -  describe "scrub_html_and_truncate/1" do -    test "it returns text without encode HTML" do -      user = insert(:user) - -      note = -        insert(:note, %{ -          data: %{ -            "actor" => user.ap_id, -            "id" => "https://pleroma.gov/objects/whatever", -            "content" => "Pleroma's really cool!" -          } -        }) - -      assert Utils.scrub_html_and_truncate(note) == "Pleroma's really cool!" -    end -  end - -  describe "scrub_html_and_truncate/2" do -    test "it returns text without encode HTML" do -      assert Utils.scrub_html_and_truncate("Pleroma's really cool!") == "Pleroma's really cool!" -    end -  end -end  | 
