diff options
author | lain <lain@soykaf.club> | 2020-09-07 15:00:14 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-09-07 15:00:14 +0200 |
commit | d00f74e036735c1c238f661076f2925b39daa6ac (patch) | |
tree | d70d9fcfb1b815406b739ac5b012846fd0622a2f /test/web/instances | |
parent | bb007b9298b514c305dff944bef8463ffe1596a8 (diff) | |
parent | 6c6de8e5dfaf245e4e16ddca0c741342eeaa9187 (diff) | |
download | pleroma-matrix-explorations.tar.gz |
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into matrix-explorationsmatrix-explorations
Diffstat (limited to 'test/web/instances')
-rw-r--r-- | test/web/instances/instance_test.exs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/web/instances/instance_test.exs b/test/web/instances/instance_test.exs index e463200ca..dc6ace843 100644 --- a/test/web/instances/instance_test.exs +++ b/test/web/instances/instance_test.exs @@ -8,6 +8,7 @@ defmodule Pleroma.Instances.InstanceTest do use Pleroma.DataCase + import ExUnit.CaptureLog import Pleroma.Factory setup_all do: clear_config([:instance, :federation_reachability_timeout_days], 1) @@ -97,4 +98,36 @@ defmodule Pleroma.Instances.InstanceTest do assert initial_value == instance.unreachable_since end end + + test "Scrapes favicon URLs" do + Tesla.Mock.mock(fn %{url: "https://favicon.example.org/"} -> + %Tesla.Env{ + status: 200, + body: ~s[<html><head><link rel="icon" href="/favicon.png"></head></html>] + } + end) + + assert "https://favicon.example.org/favicon.png" == + Instance.get_or_update_favicon(URI.parse("https://favicon.example.org/")) + end + + test "Returns nil on too long favicon URLs" do + long_favicon_url = + "https://Lorem.ipsum.dolor.sit.amet/consecteturadipiscingelit/Praesentpharetrapurusutaliquamtempus/Mauriseulaoreetarcu/atfacilisisorci/Nullamporttitor/nequesedfeugiatmollis/dolormagnaefficiturlorem/nonpretiumsapienorcieurisus/Nullamveleratsem/Maecenassedaccumsanexnam/favicon.png" + + Tesla.Mock.mock(fn %{url: "https://long-favicon.example.org/"} -> + %Tesla.Env{ + status: 200, + body: ~s[<html><head><link rel="icon" href="] <> long_favicon_url <> ~s["></head></html>] + } + end) + + assert capture_log(fn -> + assert nil == + Instance.get_or_update_favicon( + URI.parse("https://long-favicon.example.org/") + ) + end) =~ + "Instance.get_or_update_favicon(\"long-favicon.example.org\") error: %Postgrex.Error{" + end end |