# Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# 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)
data: %{
"actor" => user.ap_id,
"tag" => [],
+ "id" => "https://pleroma.gov/objects/whatever",
"content" => "pleroma in a nutshell",
"attachment" => [
%{
}
})
- note_activity =
- insert(:note_activity, %{
- data: %{
- "actor" => note.data["actor"],
- "to" => note.data["to"],
- "object" => note.data,
- "context" => note.data["context"]
- },
- actor: note.data["actor"],
- recipients: note.data["to"]
- })
-
- result = OpenGraph.build_tags(%{activity: note_activity, user: user})
+ result = OpenGraph.build_tags(%{object: note, url: note.data["id"], user: user})
assert Enum.all?(
[
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" => [
}
})
- note_activity =
- insert(:note_activity, %{
- data: %{
- "actor" => note.data["actor"],
- "to" => note.data["to"],
- "object" => note.data,
- "context" => note.data["context"]
- },
- actor: note.data["actor"],
- recipients: note.data["to"]
- })
-
- result = OpenGraph.build_tags(%{activity: note_activity, user: user})
+ 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