diff options
Diffstat (limited to 'test/web/websub/websub_controller_test.exs')
-rw-r--r-- | test/web/websub/websub_controller_test.exs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/web/websub/websub_controller_test.exs b/test/web/websub/websub_controller_test.exs new file mode 100644 index 000000000..4eff598d6 --- /dev/null +++ b/test/web/websub/websub_controller_test.exs @@ -0,0 +1,30 @@ +defmodule Pleroma.Web.Websub.WebsubControllerTest do + use Pleroma.Web.ConnCase + import Pleroma.Factory + alias Pleroma.Repo + alias Pleroma.Web.Websub.WebsubServerSubscription + + test "websub subscription request", %{conn: conn} do + user = insert(:user) + + path = Pleroma.Web.OStatus.pubsub_path(user) + + data = %{ + "hub.callback": "http://example.org/sub", + "hub.mode": "subscription", + "hub.topic": Pleroma.Web.OStatus.feed_path(user), + "hub.secret": "a random secret", + "hub.lease_seconds": 100 + } + + conn = conn + |> post(path, data) + + assert response(conn, 202) == "Accepted" + subscription = Repo.one!(WebsubServerSubscription) + assert subscription.topic == Pleroma.Web.OStatus.feed_path(user) + assert subscription.state == "requested" + assert subscription.secret == "a random secret" + assert subscription.valid_until == NaiveDateTime.add(subscription.inserted_at, 100) + end +end |