Capture log in object refetch tests

This commit is contained in:
rinpatch 2019-09-18 18:31:24 +03:00
parent 7ef575d11e
commit 84a40f6f26

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