diff options
| author | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-02-17 14:07:04 +0300 | 
|---|---|---|
| committer | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-02-17 14:07:04 +0300 | 
| commit | bc4f77b10bb4360ac00d1999b1d08fa55e1fa547 (patch) | |
| tree | 8c87c2cefd1e325a64a19c04d7d7d70ffd8cc485 /test/web/activity_pub/views | |
| parent | dcf24a3233bb50689d26f9d7833f98158730ce35 (diff) | |
| parent | 3b141194715e362d65482672d00b10991d102fa2 (diff) | |
| download | pleroma-bc4f77b10bb4360ac00d1999b1d08fa55e1fa547.tar.gz pleroma-bc4f77b10bb4360ac00d1999b1d08fa55e1fa547.zip  | |
[#468] Merged `upstream/develop`, resolved conflicts.
Diffstat (limited to 'test/web/activity_pub/views')
| -rw-r--r-- | test/web/activity_pub/views/user_view_test.exs | 39 | 
1 files changed, 39 insertions, 0 deletions
diff --git a/test/web/activity_pub/views/user_view_test.exs b/test/web/activity_pub/views/user_view_test.exs index 7fc870e96..0bc1d4728 100644 --- a/test/web/activity_pub/views/user_view_test.exs +++ b/test/web/activity_pub/views/user_view_test.exs @@ -15,4 +15,43 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do      assert String.contains?(result["publicKey"]["publicKeyPem"], "BEGIN PUBLIC KEY")    end + +  describe "endpoints" do +    test "local users have a usable endpoints structure" do +      user = insert(:user) +      {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) + +      result = UserView.render("user.json", %{user: user}) + +      assert result["id"] == user.ap_id + +      %{ +        "sharedInbox" => _, +        "oauthAuthorizationEndpoint" => _, +        "oauthRegistrationEndpoint" => _, +        "oauthTokenEndpoint" => _ +      } = result["endpoints"] +    end + +    test "remote users have an empty endpoints structure" do +      user = insert(:user, local: false) +      {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) + +      result = UserView.render("user.json", %{user: user}) + +      assert result["id"] == user.ap_id +      assert result["endpoints"] == %{} +    end + +    test "instance users do not expose oAuth endpoints" do +      user = insert(:user, nickname: nil, local: true) +      {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) + +      result = UserView.render("user.json", %{user: user}) + +      refute result["endpoints"]["oauthAuthorizationEndpoint"] +      refute result["endpoints"]["oauthRegistrationEndpoint"] +      refute result["endpoints"]["oauthTokenEndpoint"] +    end +  end  end  | 
