diff options
author | kaniini <nenolod@gmail.com> | 2019-02-03 15:47:55 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-02-03 15:47:55 +0000 |
commit | 8180de951e2ac1efc6cfb9f64d078d6a1b7d0c0e (patch) | |
tree | f3d1923b58a7404d1159b32c04bd9917509c68d0 /test/web/instances/instances_test.exs | |
parent | d5d91ae689e14103551dd3622e208ea31e40c858 (diff) | |
parent | 3913b0196e47c829df90aa835ade2efdb7c43850 (diff) | |
download | pleroma-8180de951e2ac1efc6cfb9f64d078d6a1b7d0c0e.tar.gz pleroma-8180de951e2ac1efc6cfb9f64d078d6a1b7d0c0e.zip |
Merge branch '582_federation_retirement_optimization' into 'develop'
[#582] Optimized federation retirement by reducing the number of SQL calls
Closes #582
See merge request pleroma/pleroma!762
Diffstat (limited to 'test/web/instances/instances_test.exs')
-rw-r--r-- | test/web/instances/instances_test.exs | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/test/web/instances/instances_test.exs b/test/web/instances/instances_test.exs index adb8560a7..2530c09fe 100644 --- a/test/web/instances/instances_test.exs +++ b/test/web/instances/instances_test.exs @@ -47,7 +47,7 @@ defmodule Pleroma.InstancesTest do end describe "filter_reachable/1" do - test "keeps only reachable elements of supplied list" do + setup do host = "consistently-unreachable.name" url1 = "http://eventually-unreachable.com/path" url2 = "http://domain.com/path" @@ -55,7 +55,26 @@ defmodule Pleroma.InstancesTest do Instances.set_consistently_unreachable(host) Instances.set_unreachable(url1) - assert [url1, url2] == Instances.filter_reachable([host, url1, url2]) + result = Instances.filter_reachable([host, url1, url2, nil]) + %{result: result, url1: url1, url2: url2} + end + + test "returns a map with keys containing 'not marked consistently unreachable' elements of supplied list", + %{result: result, url1: url1, url2: url2} do + assert is_map(result) + assert Enum.sort([url1, url2]) == result |> Map.keys() |> Enum.sort() + end + + test "returns a map with `unreachable_since` values for keys", + %{result: result, url1: url1, url2: url2} do + assert is_map(result) + assert %NaiveDateTime{} = result[url1] + assert is_nil(result[url2]) + end + + test "returns an empty map for empty list or list containing no hosts / url" do + assert %{} == Instances.filter_reachable([]) + assert %{} == Instances.filter_reachable([nil]) end end |