Search tests: Use on_exit for restoring `persistent_term` state
authorrinpatch <rinpatch@sdf.org>
Tue, 1 Dec 2020 16:45:25 +0000 (19:45 +0300)
committerrinpatch <rinpatch@sdf.org>
Tue, 1 Dec 2020 16:45:25 +0000 (19:45 +0300)
Otherwise if the assertion failed, the code below which resets the
state would never be reached

test/pleroma/activity/search_test.exs
test/pleroma/web/mastodon_api/controllers/search_controller_test.exs

index 9889491543320bfbe720a68d790ac8deef4c6c49..fc910e7255031dfa6559cdaffb0e470b53e14a4c 100644 (file)
@@ -21,6 +21,7 @@ defmodule Pleroma.Activity.SearchTest do
   test "using plainto_tsquery on postgres < 11" do
     old_version = :persistent_term.get({Pleroma.Repo, :postgres_version})
     :persistent_term.put({Pleroma.Repo, :postgres_version}, 10.0)
+    on_exit(fn -> :persistent_term.put({Pleroma.Repo, :postgres_version}, old_version) end)
 
     user = insert(:user)
     {:ok, post} = CommonAPI.post(user, %{status: "it's wednesday my dudes"})
@@ -30,8 +31,6 @@ defmodule Pleroma.Activity.SearchTest do
     assert [result] = Search.search(nil, "wednesday -dudes")
 
     assert result.id == post.id
-
-    :persistent_term.put({Pleroma.Repo, :postgres_version}, old_version)
   end
 
   test "using websearch_to_tsquery" do
index 2f0bce450ddfb0cd9c59807e69694f057e29d51e..1045ab2653044c8b5d3fc2b221f11611b0a39ab4 100644 (file)
@@ -281,6 +281,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
     test "search fetches remote statuses and prefers them over other results", %{conn: conn} do
       old_version = :persistent_term.get({Pleroma.Repo, :postgres_version})
       :persistent_term.put({Pleroma.Repo, :postgres_version}, 10.0)
+      on_exit(fn -> :persistent_term.put({Pleroma.Repo, :postgres_version}, old_version) end)
 
       capture_log(fn ->
         {:ok, %{id: activity_id}} =
@@ -298,8 +299,6 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
                  %{"id" => ^activity_id}
                ] = results["statuses"]
       end)
-
-      :persistent_term.put({Pleroma.Repo, :postgres_version}, old_version)
     end
 
     test "search doesn't show statuses that it shouldn't", %{conn: conn} do