Merge remote-tracking branch 'pleroma/develop' into cycles-constants
[akkoma] / test / pleroma / web / admin_api / controllers / config_controller_test.exs
index 71151712e809be63459b682e8ec42f31a726770c..c39c1b1e19ed4fa62278c6135a97f246cdbd03e9 100644 (file)
@@ -1445,13 +1445,47 @@ defmodule Pleroma.Web.AdminAPI.ConfigControllerTest do
                "need_reboot" => false
              }
 
-      assert res =
-               conn
+      _res =
+        assert conn
                |> get("/api/v1/instance")
                |> json_response_and_validate_schema(200)
 
       assert res = %{"thumbnail" => "https://example.com/media/new_thumbnail.jpg"}
     end
+
+    test "Concurrent Limiter", %{conn: conn} do
+      clear_config([ConcurrentLimiter])
+
+      params = %{
+        "group" => ":pleroma",
+        "key" => "ConcurrentLimiter",
+        "value" => [
+          %{
+            "tuple" => [
+              "Pleroma.Web.RichMedia.Helpers",
+              [
+                %{"tuple" => [":max_running", 6]},
+                %{"tuple" => [":max_waiting", 6]}
+              ]
+            ]
+          },
+          %{
+            "tuple" => [
+              "Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy",
+              [
+                %{"tuple" => [":max_running", 7]},
+                %{"tuple" => [":max_waiting", 7]}
+              ]
+            ]
+          }
+        ]
+      }
+
+      assert conn
+             |> put_req_header("content-type", "application/json")
+             |> post("/api/pleroma/admin/config", %{"configs" => [params]})
+             |> json_response_and_validate_schema(200)
+    end
   end
 
   describe "GET /api/pleroma/admin/config/descriptions" do