Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature...
[akkoma] / test / web / websub / websub_controller_test.exs
index 8f68248a486d2e97ac2aa676f767182ae38f4c74..d861c241feb43edd2f54a82ec99da3f5d8a074e7 100644 (file)
@@ -18,8 +18,9 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do
       "hub.lease_seconds": "100"
     }
 
-    conn = conn
-    |> post(path, data)
+    conn =
+      conn
+      |> post(path, data)
 
     assert response(conn, 202) == "Accepted"
   end
@@ -31,18 +32,18 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do
       "hub.mode" => "subscribe",
       "hub.topic" => websub.topic,
       "hub.challenge" => "some challenge",
-      "hub.lease_seconds" => 100
+      "hub.lease_seconds" => "100"
     }
 
-    conn = conn
-    |> get("/push/subscriptions/#{websub.id}", params)
+    conn =
+      conn
+      |> get("/push/subscriptions/#{websub.id}", params)
 
     websub = Repo.get(WebsubClientSubscription, websub.id)
 
     assert response(conn, 200) == "some challenge"
     assert websub.state == "accepted"
-
-    # TODO valid_until
+    assert_in_delta NaiveDateTime.diff(websub.valid_until, NaiveDateTime.utc_now()), 100, 5
   end
 
   test "handles incoming feed updates", %{conn: conn} do
@@ -50,10 +51,11 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do
     doc = "some stuff"
     signature = Websub.sign(websub.secret, doc)
 
-    conn = conn
-    |> put_req_header("x-hub-signature", "sha1=" <> signature)
-    |> put_req_header("content-type", "application/atom+xml")
-    |> post("/push/subscriptions/#{websub.id}", doc)
+    conn =
+      conn
+      |> put_req_header("x-hub-signature", "sha1=" <> signature)
+      |> put_req_header("content-type", "application/atom+xml")
+      |> post("/push/subscriptions/#{websub.id}", doc)
 
     assert response(conn, 200) == "OK"
 
@@ -65,20 +67,14 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do
     doc = "some stuff"
     signature = Websub.sign("wrong secret", doc)
 
-    conn = conn
-    |> put_req_header("x-hub-signature", "sha1=" <> signature)
-    |> put_req_header("content-type", "application/atom+xml")
-    |> post("/push/subscriptions/#{websub.id}", doc)
+    conn =
+      conn
+      |> put_req_header("x-hub-signature", "sha1=" <> signature)
+      |> put_req_header("content-type", "application/atom+xml")
+      |> post("/push/subscriptions/#{websub.id}", doc)
 
     assert response(conn, 500) == "Error"
 
     assert length(Repo.all(Activity)) == 0
   end
 end
-
-defmodule Pleroma.Web.OStatusMock do
-  import Pleroma.Factory
-  def handle_incoming(_doc) do
-    insert(:note_activity)
-  end
-end