From 1b9cc721a0d49d786b4864c2b8aceaf49b9ff088 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Thu, 20 Apr 2017 17:47:33 +0200 Subject: Websub controller beginnings. --- test/web/websub/websub_controller_test.exs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 test/web/websub/websub_controller_test.exs (limited to 'test/web/websub/websub_controller_test.exs') 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 -- cgit v1.2.3 From 39dc74f967e3fdbcd949c50df8d2c5ed74f876ff Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sat, 22 Apr 2017 12:05:48 +0200 Subject: Add callback to websub subscription. --- test/web/websub/websub_controller_test.exs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'test/web/websub/websub_controller_test.exs') diff --git a/test/web/websub/websub_controller_test.exs b/test/web/websub/websub_controller_test.exs index 4eff598d6..584db0a19 100644 --- a/test/web/websub/websub_controller_test.exs +++ b/test/web/websub/websub_controller_test.exs @@ -14,7 +14,7 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do "hub.mode": "subscription", "hub.topic": Pleroma.Web.OStatus.feed_path(user), "hub.secret": "a random secret", - "hub.lease_seconds": 100 + "hub.lease_seconds": "100" } conn = conn @@ -25,6 +25,7 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do assert subscription.topic == Pleroma.Web.OStatus.feed_path(user) assert subscription.state == "requested" assert subscription.secret == "a random secret" + assert subscription.callback == "http://example.org/sub" assert subscription.valid_until == NaiveDateTime.add(subscription.inserted_at, 100) end end -- cgit v1.2.3 From 8fb73c28bbeccb6a7462e4a0e9fb58726b68bcf5 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sat, 22 Apr 2017 13:44:21 +0200 Subject: Only have one subscription per callback. --- test/web/websub/websub_controller_test.exs | 8 -------- 1 file changed, 8 deletions(-) (limited to 'test/web/websub/websub_controller_test.exs') diff --git a/test/web/websub/websub_controller_test.exs b/test/web/websub/websub_controller_test.exs index 584db0a19..9a0a5c61b 100644 --- a/test/web/websub/websub_controller_test.exs +++ b/test/web/websub/websub_controller_test.exs @@ -1,8 +1,6 @@ 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) @@ -21,11 +19,5 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do |> 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.callback == "http://example.org/sub" - assert subscription.valid_until == NaiveDateTime.add(subscription.inserted_at, 100) end end -- cgit v1.2.3 From c585f9e26ca81f0394cf3fc1a9271833506811e1 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sat, 22 Apr 2017 13:48:10 +0200 Subject: Only handle subscription requests for now. --- test/web/websub/websub_controller_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/web/websub/websub_controller_test.exs') diff --git a/test/web/websub/websub_controller_test.exs b/test/web/websub/websub_controller_test.exs index 9a0a5c61b..8368cafea 100644 --- a/test/web/websub/websub_controller_test.exs +++ b/test/web/websub/websub_controller_test.exs @@ -9,7 +9,7 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do data = %{ "hub.callback": "http://example.org/sub", - "hub.mode": "subscription", + "hub.mode": "subscribe", "hub.topic": Pleroma.Web.OStatus.feed_path(user), "hub.secret": "a random secret", "hub.lease_seconds": "100" -- cgit v1.2.3