# Pleroma: A lightweight social networking server # Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.ActivityPub.MRF.InlineQuotePolicyTest do alias Pleroma.Web.ActivityPub.MRF.InlineQuotePolicy use Pleroma.DataCase test "adds quote URL to post content" do quote_url = "https://example.com/objects/1234" activity = %{ "type" => "Create", "actor" => "https://example.com/users/alex", "object" => %{ "type" => "Note", "content" => "

Nice post

", "quoteUri" => quote_url } } {:ok, %{"object" => %{"content" => filtered}}} = InlineQuotePolicy.filter(activity) assert filtered == "

Nice post

RE: https://example.com/objects/1234

" end test "ignores Misskey quote posts" do object = File.read!("test/fixtures/quote_post/misskey_quote_post.json") |> Jason.decode!() activity = %{ "type" => "Create", "actor" => "https://misskey.io/users/7rkrarq81i", "object" => object } {:ok, filtered} = InlineQuotePolicy.filter(activity) assert filtered == activity end test "ignores Fedibird quote posts" do object = File.read!("test/fixtures/quote_post/fedibird_quote_post.json") |> Jason.decode!() # Normally the ObjectValidator will fix this before it reaches MRF object = Map.put(object, "quoteUrl", object["quoteURL"]) activity = %{ "type" => "Create", "actor" => "https://fedibird.com/users/noellabo", "object" => object } {:ok, filtered} = InlineQuotePolicy.filter(activity) assert filtered == activity end end