diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 297d48f42..2e500d11d 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -4,6 +4,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do    alias Pleroma.Activity    alias Pleroma.User    alias Pleroma.Repo +  alias Pleroma.Web.Websub.WebsubClientSubscription +  alias Pleroma.Web.Websub.WebsubServerSubscription    import Ecto.Query    import Pleroma.Factory @@ -216,4 +218,32 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        refute "..." in user_two.following      end    end + +  describe "maybe_retire_websub" do +    test "it deletes all websub client subscripitions with the user as topic" do +      subscription = %WebsubClientSubscription{topic: "https://niu.moe/users/rye.atom"} +      {:ok, ws} = Repo.insert(subscription) + +      subscription = %WebsubClientSubscription{topic: "https://niu.moe/users/pasty.atom"} +      {:ok, ws2} = Repo.insert(subscription) + +      Transmogrifier.maybe_retire_websub("https://niu.moe/users/rye") + +      refute Repo.get(WebsubClientSubscription, ws.id) +      assert Repo.get(WebsubClientSubscription, ws2.id) +    end + +    test "it deletes all websub server subscriptions with the server as callback" do +      subscription = %WebsubClientSubscription{topic: "https://niu.moe/users/rye.atom"} +      {:ok, ws} = Repo.insert(subscription) + +      subscription = %WebsubClientSubscription{topic: "https://niu.moe/users/pasty.atom"} +      {:ok, ws2} = Repo.insert(subscription) + +      Transmogrifier.maybe_retire_websub("https://niu.moe/users/rye") + +      refute Repo.get(WebsubClientSubscription, ws.id) +      assert Repo.get(WebsubClientSubscription, ws2.id) +    end +  end  end  | 
