MediaProxyCacheControllerTest: Fix unstable tests.
authorLain Soykaf <lain@lain.com>
Sun, 14 Nov 2021 10:45:38 +0000 (11:45 +0100)
committerLain Soykaf <lain@lain.com>
Sun, 14 Nov 2021 10:45:38 +0000 (11:45 +0100)
Cachex order isn't stable, so we can not depend on the order in
tests. This adds some sorting to make the tests stable.

test/pleroma/web/admin_api/controllers/media_proxy_cache_controller_test.exs

index 5d872901eaf7ede17859c260a4b6f37f9e126c5d..1818c8a8e88ac525598b5815d4971f364c038357 100644 (file)
@@ -47,30 +47,34 @@ defmodule Pleroma.Web.AdminAPI.MediaProxyCacheControllerTest do
       assert response["page_size"] == 2
       assert response["count"] == 5
 
-      assert response["urls"] == [
-               "http://localhost:4001/media/fb1f4d.jpg",
-               "http://localhost:4001/media/a688346.jpg"
-             ]
+      results = response["urls"]
 
       response =
         conn
         |> get("/api/pleroma/admin/media_proxy_caches?page_size=2&page=2")
         |> json_response_and_validate_schema(200)
 
-      assert response["urls"] == [
-               "http://localhost:4001/media/gb1f44.jpg",
-               "http://localhost:4001/media/tb13f47.jpg"
-             ]
-
       assert response["page_size"] == 2
       assert response["count"] == 5
 
+      results = results ++ response["urls"]
+
       response =
         conn
         |> get("/api/pleroma/admin/media_proxy_caches?page_size=2&page=3")
         |> json_response_and_validate_schema(200)
 
-      assert response["urls"] == ["http://localhost:4001/media/wb1f46.jpg"]
+      results = results ++ response["urls"]
+
+      assert results |> Enum.sort() ==
+               [
+                 "http://localhost:4001/media/wb1f46.jpg",
+                 "http://localhost:4001/media/gb1f44.jpg",
+                 "http://localhost:4001/media/tb13f47.jpg",
+                 "http://localhost:4001/media/fb1f4d.jpg",
+                 "http://localhost:4001/media/a688346.jpg"
+               ]
+               |> Enum.sort()
     end
 
     test "search banned MediaProxy URLs", %{conn: conn} do
@@ -88,9 +92,9 @@ defmodule Pleroma.Web.AdminAPI.MediaProxyCacheControllerTest do
         |> get("/api/pleroma/admin/media_proxy_caches?page_size=2&query=F44")
         |> json_response_and_validate_schema(200)
 
-      assert response["urls"] == [
-               "http://localhost:4001/media/gb1f44.jpg",
-               "http://localhost:4001/media/ff44b1f4d.jpg"
+      assert response["urls"] |> Enum.sort() == [
+               "http://localhost:4001/media/ff44b1f4d.jpg",
+               "http://localhost:4001/media/gb1f44.jpg"
              ]
 
       assert response["page_size"] == 2