Merge branch 'fix_flaky_filter_controller_test.exs_200' into 'develop'
fix flaky test filter_controller_test.exs:200 See merge request pleroma/pleroma!3699
This commit is contained in:
commit
8ec985eea1
1 changed files with 25 additions and 32 deletions
|
@ -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,24 +54,19 @@ defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do
|
||||||
in_seconds = 600
|
in_seconds = 600
|
||||||
|
|
||||||
response =
|
response =
|
||||||
conn
|
with_mock NaiveDateTime, [:passthrough], utc_now: fn -> ~N[2017-03-17 17:09:58] end do
|
||||||
|> put_req_header("content-type", "application/json")
|
conn
|
||||||
|> post("/api/v1/filters", %{
|
|> put_req_header("content-type", "application/json")
|
||||||
"phrase" => "knights",
|
|> post("/api/v1/filters", %{
|
||||||
context: ["home"],
|
"phrase" => "knights",
|
||||||
expires_in: in_seconds
|
context: ["home"],
|
||||||
})
|
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
|
||||||
|
assert response["expires_at"] == "2017-03-17T17:19:58.000Z"
|
||||||
expected_expiration =
|
|
||||||
NaiveDateTime.utc_now()
|
|
||||||
|> NaiveDateTime.add(in_seconds)
|
|
||||||
|
|
||||||
{:ok, actual_expiration} = NaiveDateTime.from_iso8601(response["expires_at"])
|
|
||||||
|
|
||||||
assert abs(NaiveDateTime.diff(expected_expiration, actual_expiration)) <= 5
|
|
||||||
|
|
||||||
filter = Filter.get(response["id"], user)
|
filter = Filter.get(response["id"], user)
|
||||||
|
|
||||||
|
@ -177,28 +173,25 @@ defmodule Pleroma.Web.MastodonAPI.FilterControllerTest do
|
||||||
assert response["whole_word"] == true
|
assert response["whole_word"] == true
|
||||||
end
|
end
|
||||||
|
|
||||||
@tag :erratic
|
|
||||||
test "with adding expires_at", %{conn: conn, user: user} do
|
test "with adding expires_at", %{conn: conn, user: user} do
|
||||||
filter = insert(:filter, user: user)
|
filter = insert(:filter, user: user)
|
||||||
in_seconds = 600
|
in_seconds = 600
|
||||||
|
|
||||||
response =
|
response =
|
||||||
conn
|
with_mock NaiveDateTime, [:passthrough], utc_now: fn -> ~N[2017-03-17 17:09:58] end do
|
||||||
|> put_req_header("content-type", "application/json")
|
conn
|
||||||
|> put("/api/v1/filters/#{filter.filter_id}", %{
|
|> put_req_header("content-type", "application/json")
|
||||||
phrase: "nii",
|
|> put("/api/v1/filters/#{filter.filter_id}", %{
|
||||||
context: ["public"],
|
phrase: "nii",
|
||||||
expires_in: in_seconds,
|
context: ["public"],
|
||||||
irreversible: true
|
expires_in: in_seconds,
|
||||||
})
|
irreversible: true
|
||||||
|> json_response_and_validate_schema(200)
|
})
|
||||||
|
|> json_response_and_validate_schema(200)
|
||||||
|
end
|
||||||
|
|
||||||
assert response["irreversible"] == true
|
assert response["irreversible"] == true
|
||||||
|
assert response["expires_at"] == "2017-03-17T17:19:58.000Z"
|
||||||
assert response["expires_at"] ==
|
|
||||||
NaiveDateTime.utc_now()
|
|
||||||
|> NaiveDateTime.add(in_seconds)
|
|
||||||
|> Pleroma.Web.CommonAPI.Utils.to_masto_date()
|
|
||||||
|
|
||||||
filter = Filter.get(response["id"], user)
|
filter = Filter.get(response["id"], user)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue