-defmodule Pleroma.Web.WebsubMock do
- def verify(sub) do
- {:ok, sub}
- end
-end
-
defmodule Pleroma.Web.WebsubTest do
use Pleroma.DataCase
alias Pleroma.Web.Websub
import Tesla.Mock
setup do
- mock fn
- %{method: :get, url: "https://mastodon.social/users/lambadalambda.atom"} ->
- %Tesla.Env{status: 200, body: File.read!("test/fixtures/lambadalambda.atom")}
- %{method: :post, url: "http://example.org/needs_refresh"} ->
- %Tesla.Env{status: 200, body: ""}
- end
-
+ mock(fn env -> apply(HttpRequestMock, :request, [env]) end)
:ok
end
websub = insert(:websub_client_subscription, %{hub: hub, topic: topic})
poster = fn ^hub, {:form, _data}, _headers ->
- {:ok, %{status_code: 202}}
+ {:ok, %{status: 202}}
end
{:error, websub} = Websub.request_subscription(websub, poster, 1000)
websub = insert(:websub_client_subscription, %{hub: hub, topic: topic})
poster = fn ^hub, {:form, _data}, _headers ->
- {:ok, %{status_code: 400}}
+ {:ok, %{status: 400}}
end
{:error, websub} = Websub.request_subscription(websub, poster, 1000)