diff options
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 29 | 
1 files changed, 29 insertions, 0 deletions
diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index a3408da9d..d8579ecfe 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -1,6 +1,7 @@  defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do    use Pleroma.DataCase    alias Pleroma.Web.ActivityPub.Transmogrifier +  alias Pleroma.Web.ActivityPub.Utils    alias Pleroma.Web.OStatus    alias Pleroma.Activity    alias Pleroma.User @@ -118,6 +119,23 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        assert User.following?(User.get_by_ap_id(data["actor"]), user)      end +    test "it works for incoming follow requests from hubzilla" do +      user = insert(:user) + +      data = +        File.read!("test/fixtures/hubzilla-follow-activity.json") +        |> Poison.decode!() +        |> Map.put("object", user.ap_id) +        |> Utils.normalize_params() + +      {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + +      assert data["actor"] == "https://hubzilla.example.org/channel/kaniini" +      assert data["type"] == "Follow" +      assert data["id"] == "https://hubzilla.example.org/channel/kaniini#follows/2" +      assert User.following?(User.get_by_ap_id(data["actor"]), user) +    end +      test "it works for incoming likes" do        user = insert(:user)        {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"}) @@ -420,4 +438,15 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        assert Repo.get(WebsubClientSubscription, ws2.id)      end    end + +  describe "actor rewriting" do +    test "it fixes the actor URL property to be a proper URI" do +      data = %{ +        "url" => %{"href" => "http://example.com"} +      } + +      rewritten = Transmogrifier.maybe_fix_user_object(data) +      assert rewritten["url"] == "http://example.com" +    end +  end  end  | 
