Fix test get_user_apps/1
authorIlja <ilja@ilja.space>
Tue, 22 Feb 2022 17:56:26 +0000 (18:56 +0100)
committerFloatingGhost <hannah@coffee-and-dreams.uk>
Wed, 29 Jun 2022 19:43:41 +0000 (20:43 +0100)
For some reason I had a test who suddenly failed, mix test test/pleroma/web/o_auth/app_test.exs:54. A user has a list of applications and this test adds them and then sees if the list it gets back is the same as the apps it added.

When I ran mix test a day before I didn't have this problem and when I pushed code today in a different MR, the pipeline succeeded (see https://git.pleroma.social/ilja/pleroma/-/jobs/205827), yet locally it failed. So it seems the test can sometimes succeed and sometimes fail, which makes it untrustworthy.

The failure I see is because the returned list is in reverse order. I assume that's not per sé wrong. You just want to know if the apps you added are actually there. I fixed the test by first ordering the lists before comparing.

AFAICT (and as far as that's relevant) the test got introduced in commit cb2a072e6252b7c3f6473f7cfd1af5c0ec732d7b

test/pleroma/web/o_auth/app_test.exs

index a5223b0a53268d31c1b1213602767c9c0c33afd1..3c5ca07ae4468c7b5da504cc67d64991658750b4 100644 (file)
@@ -51,6 +51,6 @@ defmodule Pleroma.Web.OAuth.AppTest do
       insert(:oauth_app, user_id: user.id)
     ]
 
-    assert App.get_user_apps(user) == apps
+    assert Enum.sort(App.get_user_apps(user)) == Enum.sort(apps)
   end
 end