X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fweb%2Fwebsub%2Fwebsub_test.exs;h=566ce7fa5a4b9b454a69ead753947ff5f3bbabb7;hb=b331cb449a46bbead19fea4fba59762c1a2e3a10;hp=48774dc692c28d3a2d63eae381a836b771c0e241;hpb=b403ea4d2b69cef4434ad68babdfb402d8227847;p=akkoma diff --git a/test/web/websub/websub_test.exs b/test/web/websub/websub_test.exs index 48774dc69..566ce7fa5 100644 --- a/test/web/websub/websub_test.exs +++ b/test/web/websub/websub_test.exs @@ -7,7 +7,7 @@ end defmodule Pleroma.Web.WebsubTest do use Pleroma.DataCase alias Pleroma.Web.Websub - alias Pleroma.Web.Websub.WebsubServerSubscription + alias Pleroma.Web.Websub.{WebsubServerSubscription, WebsubClientSubscription} import Pleroma.Factory alias Pleroma.Web.Router.Helpers @@ -46,7 +46,8 @@ defmodule Pleroma.Web.WebsubTest do end {:error, sub} = Websub.verify(sub, getter) - assert sub.state == "rejected" + # Keep the current state. + assert sub.state == "requested" end test "an incoming subscription request" do @@ -120,6 +121,7 @@ defmodule Pleroma.Web.WebsubTest do "nickname" => "lambadalambda", "name" => "Critical Value", "host" => "mastodon.social", + "bio" => "a cool dude.", "avatar" => %{"type" => "Image", "url" => [%{"href" => "https://files.mastodon.social/accounts/avatars/000/000/264/original/1429214160519.gif?1492379244", "mediaType" => "image/gif", "type" => "Link"}]} } @@ -172,6 +174,20 @@ defmodule Pleroma.Web.WebsubTest do signed = Websub.sign("secret", "text") assert signed == "B8392C23690CCF871F37EC270BE1582DEC57A503" |> String.downcase - signed = Websub.sign("secret", [["て"], ['す']]) + _signed = Websub.sign("secret", [["て"], ['す']]) + end + + describe "renewing subscriptions" do + test "it renews subscriptions that have less than a day of time left" do + day = 60 * 60 * 24 + now = NaiveDateTime.utc_now + still_good = insert(:websub_client_subscription, %{valid_until: NaiveDateTime.add(now, 2 * day), topic: "http://example.org/still_good", state: "accepted"}) + needs_refresh = insert(:websub_client_subscription, %{valid_until: NaiveDateTime.add(now, day - 100), topic: "http://example.org/needs_refresh", state: "accepted"}) + + _refresh = Websub.refresh_subscriptions() + + assert still_good == Repo.get(WebsubClientSubscription, still_good.id) + refute needs_refresh == Repo.get(WebsubClientSubscription, needs_refresh.id) + end end end