39 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule Pleroma.Web.MediaProxy.Invalidation.HttpTest do
 | 
						|
  use ExUnit.Case
 | 
						|
  alias Pleroma.Web.MediaProxy.Invalidation
 | 
						|
 | 
						|
  import ExUnit.CaptureLog
 | 
						|
  import Tesla.Mock
 | 
						|
 | 
						|
  setup do
 | 
						|
    on_exit(fn -> Cachex.clear(:banned_urls_cache) end)
 | 
						|
  end
 | 
						|
 | 
						|
  test "logs hasn't error message when request is valid" do
 | 
						|
    mock(fn
 | 
						|
      %{method: :purge, url: "http://example.com/media/example.jpg"} ->
 | 
						|
        %Tesla.Env{status: 200}
 | 
						|
    end)
 | 
						|
 | 
						|
    refute capture_log(fn ->
 | 
						|
             assert Invalidation.Http.purge(
 | 
						|
                      ["http://example.com/media/example.jpg"],
 | 
						|
                      []
 | 
						|
                    ) == {:ok, ["http://example.com/media/example.jpg"]}
 | 
						|
           end) =~ "Error while cache purge"
 | 
						|
  end
 | 
						|
 | 
						|
  test "it write error message in logs when request invalid" do
 | 
						|
    mock(fn
 | 
						|
      %{method: :purge, url: "http://example.com/media/example1.jpg"} ->
 | 
						|
        %Tesla.Env{status: 404}
 | 
						|
    end)
 | 
						|
 | 
						|
    assert capture_log(fn ->
 | 
						|
             assert Invalidation.Http.purge(
 | 
						|
                      ["http://example.com/media/example1.jpg"],
 | 
						|
                      []
 | 
						|
                    ) == {:ok, ["http://example.com/media/example1.jpg"]}
 | 
						|
           end) =~ "Error while cache purge: url - http://example.com/media/example1.jpg"
 | 
						|
  end
 | 
						|
end
 |