Capture log in object refetch tests

This commit is contained in:
rinpatch 2019-09-18 18:31:24 +03:00 committed by Ariadne Conill
parent eae9a6d34d
commit f95ae0e50a

View File

@ -4,6 +4,7 @@
defmodule Pleroma.ObjectTest do defmodule Pleroma.ObjectTest do
use Pleroma.DataCase use Pleroma.DataCase
import ExUnit.CaptureLog
import Pleroma.Factory import Pleroma.Factory
import Tesla.Mock import Tesla.Mock
alias Pleroma.Object alias Pleroma.Object
@ -134,17 +135,23 @@ test "returns the old object if refetch fails" do
assert Enum.at(object.data["oneOf"], 0)["replies"]["totalItems"] == 4 assert Enum.at(object.data["oneOf"], 0)["replies"]["totalItems"] == 4
assert Enum.at(object.data["oneOf"], 1)["replies"]["totalItems"] == 0 assert Enum.at(object.data["oneOf"], 1)["replies"]["totalItems"] == 0
mock(fn assert capture_log(fn ->
%{method: :get, url: "https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d"} -> mock(fn
%Tesla.Env{status: 404, body: ""} %{
method: :get,
url: "https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d"
} ->
%Tesla.Env{status: 404, body: ""}
env -> env ->
apply(HttpRequestMock, :request, [env]) apply(HttpRequestMock, :request, [env])
end) end)
updated_object = Object.get_by_id_and_maybe_refetch(object.id, interval: -1) updated_object = Object.get_by_id_and_maybe_refetch(object.id, interval: -1)
assert Enum.at(updated_object.data["oneOf"], 0)["replies"]["totalItems"] == 4 assert Enum.at(updated_object.data["oneOf"], 0)["replies"]["totalItems"] == 4
assert Enum.at(updated_object.data["oneOf"], 1)["replies"]["totalItems"] == 0 assert Enum.at(updated_object.data["oneOf"], 1)["replies"]["totalItems"] == 0
end) =~
"[error] Couldn't refresh https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d"
end end
test "does not refetch if the time since the last refetch is greater than the interval" do test "does not refetch if the time since the last refetch is greater than the interval" do