diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/push/impl_test.exs | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/test/web/push/impl_test.exs b/test/web/push/impl_test.exs index aeb5c1fbd..c7c17e156 100644 --- a/test/web/push/impl_test.exs +++ b/test/web/push/impl_test.exs @@ -12,7 +12,9 @@ defmodule Pleroma.Web.Push.ImplTest do    alias Pleroma.Web.CommonAPI    alias Pleroma.Web.Push.Impl    alias Pleroma.Web.Push.Subscription +  alias Pleroma.Web.WebPushHttpClientMock +  import Mock    import Pleroma.Factory    setup do @@ -78,6 +80,22 @@ defmodule Pleroma.Web.Push.ImplTest do      assert Impl.push_message(@message, @sub, @api_key, %Subscription{}) == :ok    end +  test_with_mock "uses WebPushHttpClientMock as an HTTP client", WebPushHttpClientMock, +    post: fn _, _, _ -> {:ok, %{status_code: 200}} end do +    Impl.push_message(@message, @sub, @api_key, %Subscription{}) +    assert_called(WebPushHttpClientMock.post("https://example.com/example/1234", :_, :_)) +  end + +  test_with_mock "uses Pleroma.HTTP as an HTTP client", Pleroma.HTTP, +    post: fn _, _, _ -> {:ok, %{status_code: 200}} end do +    client = Application.get_env(:web_push_encryption, :http_client) +    on_exit(fn -> Application.put_env(:web_push_encryption, :http_client, client) end) +    Application.put_env(:web_push_encryption, :http_client, Pleroma.HTTP) + +    Impl.push_message(@message, @sub, @api_key, %Subscription{}) +    assert_called(Pleroma.HTTP.post("https://example.com/example/1234", :_, :_)) +  end +    @tag capture_log: true    test "fail message sending" do      assert Impl.push_message( | 
