logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

script_test.exs (1884B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Web.MediaProxy.Invalidation.ScriptTest do
  5. use ExUnit.Case, async: true
  6. alias Pleroma.Web.MediaProxy.Invalidation
  7. import ExUnit.CaptureLog
  8. test "it logs error when script is not found" do
  9. assert capture_log(fn ->
  10. assert {:error, msg} =
  11. Invalidation.Script.purge(
  12. ["http://example.com/media/example.jpg"],
  13. script_path: "./example"
  14. )
  15. assert msg =~ ~r/%ErlangError{original: :enoent(, reason: nil)?}/
  16. end) =~ ~r/Error while cache purge: %ErlangError{original: :enoent(, reason: nil)?}/
  17. capture_log(fn ->
  18. assert Invalidation.Script.purge(
  19. ["http://example.com/media/example.jpg"],
  20. []
  21. ) == {:error, "\"not found script path\""}
  22. end)
  23. end
  24. describe "url formatting" do
  25. setup do
  26. urls = [
  27. "https://bikeshed.party/media/foo.png",
  28. "http://safe.millennial.space/proxy/wheeeee.gif",
  29. "https://lain.com/proxy/mediafile.mp4?foo&bar=true",
  30. "http://localhost:4000/media/upload.jpeg"
  31. ]
  32. [urls: urls]
  33. end
  34. test "with invalid formatter", %{urls: urls} do
  35. assert urls == Invalidation.Script.maybe_format_urls(urls, nil)
  36. end
  37. test "with :htcacheclean formatter", %{urls: urls} do
  38. assert [
  39. "https://bikeshed.party:443/media/foo.png?",
  40. "http://safe.millennial.space:80/proxy/wheeeee.gif?",
  41. "https://lain.com:443/proxy/mediafile.mp4?foo&bar=true",
  42. "http://localhost:4000/media/upload.jpeg?"
  43. ] == Invalidation.Script.maybe_format_urls(urls, :htcacheclean)
  44. end
  45. end
  46. end