Merge pull request 'fix flaky test filter_controller_test.exs:200' (#239) from ilja/akkoma:fix_flaky_filter_controller_test.exs_200 into develop

Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/239
This commit is contained in:
floatingghost 2022-11-01 14:42:43 +00:00
commit d5bbc3eeb2

View file

@ -3,9 +3,10 @@
# SPDX-License-Identifier: AGPL-3.0-only # SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do
use Pleroma.Web.ConnCase, async: true use Pleroma.Web.ConnCase, async: false
use Oban.Testing, repo: Pleroma.Repo use Oban.Testing, repo: Pleroma.Repo
import Mock
import Pleroma.Factory import Pleroma.Factory
alias Pleroma.Filter alias Pleroma.Filter
@ -53,6 +54,7 @@ defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do
in_seconds = 600 in_seconds = 600
response = response =
with_mock NaiveDateTime, [:passthrough], utc_now: fn -> ~N[2017-03-17 17:09:58] end do
conn conn
|> put_req_header("content-type", "application/json") |> put_req_header("content-type", "application/json")
|> post("/api/v1/filters", %{ |> post("/api/v1/filters", %{
@ -61,17 +63,11 @@ defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do
expires_in: in_seconds expires_in: in_seconds
}) })
|> json_response_and_validate_schema(200) |> json_response_and_validate_schema(200)
end
assert response["irreversible"] == false assert response["irreversible"] == false
expires_at = assert response["expires_at"] == "2017-03-17T17:19:58.000Z"
NaiveDateTime.utc_now()
|> NaiveDateTime.add(in_seconds)
assert NaiveDateTime.diff(
NaiveDateTime.from_iso8601!(response["expires_at"]),
expires_at
) < 5
filter = Filter.get(response["id"], user) filter = Filter.get(response["id"], user)
@ -183,6 +179,7 @@ defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do
in_seconds = 600 in_seconds = 600
response = response =
with_mock NaiveDateTime, [:passthrough], utc_now: fn -> ~N[2017-03-17 17:09:58] end do
conn conn
|> put_req_header("content-type", "application/json") |> put_req_header("content-type", "application/json")
|> put("/api/v1/filters/#{filter.filter_id}", %{ |> put("/api/v1/filters/#{filter.filter_id}", %{
@ -192,17 +189,11 @@ defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do
irreversible: true irreversible: true
}) })
|> json_response_and_validate_schema(200) |> json_response_and_validate_schema(200)
end
assert response["irreversible"] == true assert response["irreversible"] == true
expected_time = assert response["expires_at"] == "2017-03-17T17:19:58.000Z"
NaiveDateTime.utc_now()
|> NaiveDateTime.add(in_seconds)
assert NaiveDateTime.diff(
NaiveDateTime.from_iso8601!(response["expires_at"]),
expected_time
) < 5
filter = Filter.get(response["id"], user) filter = Filter.get(response["id"], user)