Quellcode durchsuchen

helpers: use AutoLinker to validate URIs as well as the other tests

tags/v1.1.4
William Pitcock vor 5 Jahren
Ursprung
Commit
9f3cb38012
2 geänderte Dateien mit 24 neuen und 1 gelöschten Zeilen
  1. +4
    -1
      lib/pleroma/web/rich_media/helpers.ex
  2. +20
    -0
      test/web/rich_media/helpers_test.exs

+ 4
- 1
lib/pleroma/web/rich_media/helpers.ex Datei anzeigen

@@ -12,7 +12,10 @@ defmodule Pleroma.Web.RichMedia.Helpers do
defp validate_page_url(%URI{authority: nil}), do: :error
defp validate_page_url(%URI{scheme: nil}), do: :error
defp validate_page_url(%URI{}), do: :ok
defp validate_page_url(page_url), do: URI.parse(page_url) |> validate_page_url

defp validate_page_url(page_url) do
AutoLinker.Parser.is_url?(page_url, true) && URI.parse(page_url) |> validate_page_url
end

def fetch_data_for_activity(%Activity{} = activity) do
with true <- Pleroma.Config.get([:rich_media, :enabled]),


+ 20
- 0
test/web/rich_media/helpers_test.exs Datei anzeigen

@@ -20,7 +20,27 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do
"content_type" => "text/markdown"
})

Pleroma.Config.put([:rich_media, :enabled], true)

assert %{} == Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity)

Pleroma.Config.put([:rich_media, :enabled], false)
end

test "refuses to crawl malformed URLs" do
user = insert(:user)

{:ok, activity} =
CommonAPI.post(user, %{
"status" => "[test](example.com[]/ogp)",
"content_type" => "text/markdown"
})

Pleroma.Config.put([:rich_media, :enabled], true)

assert %{} == Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity)

Pleroma.Config.put([:rich_media, :enabled], false)
end

test "crawls valid, complete URLs" do


Laden…
Abbrechen
Speichern