fix tests broken by relay defaults changing (#314)
[akkoma] / test / pleroma / web / media_proxy / invalidation / script_test.exs
index bcb6ab73c71441c14de9ad68e19e6b888565392c..a57385249ffaf538c2fa164c888170a5092d9fed 100644 (file)
@@ -8,13 +8,14 @@ defmodule Pleroma.Web.MediaProxy.Invalidation.ScriptTest do
 
   import ExUnit.CaptureLog
 
-  test "it logger error when script not found" do
+  test "it logs error when script is not found" do
     assert capture_log(fn ->
-             assert Invalidation.Script.purge(
-                      ["http://example.com/media/example.jpg"],
-                      script_path: "./example"
-                    ) == {:error, "%ErlangError{original: :enoent}"}
-           end) =~ "Error while cache purge: %ErlangError{original: :enoent}"
+             assert {:error, _} =
+                      Invalidation.Script.purge(
+                        ["http://example.com/media/example.jpg"],
+                        script_path: "./example"
+                      )
+           end) =~ "Error while cache purge: %ErlangError{original: :enoent"
 
     capture_log(fn ->
       assert Invalidation.Script.purge(
@@ -23,4 +24,30 @@ defmodule Pleroma.Web.MediaProxy.Invalidation.ScriptTest do
              ) == {:error, "\"not found script path\""}
     end)
   end
+
+  describe "url formatting" do
+    setup do
+      urls = [
+        "https://bikeshed.party/media/foo.png",
+        "http://safe.millennial.space/proxy/wheeeee.gif",
+        "https://lain.com/proxy/mediafile.mp4?foo&bar=true",
+        "http://localhost:4000/media/upload.jpeg"
+      ]
+
+      [urls: urls]
+    end
+
+    test "with invalid formatter", %{urls: urls} do
+      assert urls == Invalidation.Script.maybe_format_urls(urls, nil)
+    end
+
+    test "with :htcacheclean formatter", %{urls: urls} do
+      assert [
+               "https://bikeshed.party:443/media/foo.png?",
+               "http://safe.millennial.space:80/proxy/wheeeee.gif?",
+               "https://lain.com:443/proxy/mediafile.mp4?foo&bar=true",
+               "http://localhost:4000/media/upload.jpeg?"
+             ] == Invalidation.Script.maybe_format_urls(urls, :htcacheclean)
+    end
+  end
 end