tests: add tests for endpoints
authorWilliam Pitcock <nenolod@dereferenced.org>
Wed, 13 Feb 2019 19:48:24 +0000 (19:48 +0000)
committerWilliam Pitcock <nenolod@dereferenced.org>
Wed, 13 Feb 2019 19:48:24 +0000 (19:48 +0000)
test/web/activity_pub/views/user_view_test.exs

index 7fc870e962753840ef6dca0fa70bd627491c00c6..95d736c505eb8aefb1196d4a3316a29f92c9555e 100644 (file)
@@ -15,4 +15,32 @@ 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
+  end
 end