summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/user_test.exs37
-rw-r--r--test/web/mastodon_api/views/account_view_test.exs5
-rw-r--r--test/web/pleroma_api/controllers/account_controller_test.exs29
-rw-r--r--test/web/web_finger/web_finger_controller_test.exs14
4 files changed, 82 insertions, 3 deletions
diff --git a/test/user_test.exs b/test/user_test.exs
index 9788e09d9..db6e4872e 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -1858,4 +1858,41 @@ defmodule Pleroma.UserTest do
assert User.avatar_url(user, no_default: true) == nil
end
+
+ test "add_aliases/2" do
+ user = insert(:user)
+
+ aliases = [
+ "https://gleasonator.com/users/alex",
+ "https://gleasonator.com/users/alex",
+ "https://animalliberation.social/users/alex"
+ ]
+
+ {:ok, user} = User.add_aliases(user, aliases)
+
+ assert user.ap_aliases == [
+ "https://animalliberation.social/users/alex",
+ "https://gleasonator.com/users/alex"
+ ]
+ end
+
+ test "delete_aliases/2" do
+ user =
+ insert(:user,
+ ap_aliases: [
+ "https://animalliberation.social/users/alex",
+ "https://benis.social/users/benis",
+ "https://gleasonator.com/users/alex"
+ ]
+ )
+
+ aliases = ["https://benis.social/users/benis"]
+
+ {:ok, user} = User.delete_aliases(user, aliases)
+
+ assert user.ap_aliases == [
+ "https://animalliberation.social/users/alex",
+ "https://gleasonator.com/users/alex"
+ ]
+ end
end
diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs
index a83bf90a3..4a0512e68 100644
--- a/test/web/mastodon_api/views/account_view_test.exs
+++ b/test/web/mastodon_api/views/account_view_test.exs
@@ -37,7 +37,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
"<script src=\"invalid-html\"></script><span>valid html</span>. a<br>b<br/>c<br >d<br />f '&<>\"",
inserted_at: ~N[2017-08-15 15:47:06.597036],
emoji: %{"karjalanpiirakka" => "/file.png"},
- raw_bio: "valid html. a\nb\nc\nd\nf '&<>\""
+ raw_bio: "valid html. a\nb\nc\nd\nf '&<>\"",
+ ap_aliases: ["https://shitposter.zone/users/shp"]
})
expected = %{
@@ -77,6 +78,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
},
pleroma: %{
ap_id: user.ap_id,
+ ap_aliases: ["https://shitposter.zone/users/shp"],
background_image: "https://example.com/images/asuka_hospital.png",
favicon:
"https://shitposter.club/plugins/Qvitter/img/gnusocial-favicons/favicon-16x16.png",
@@ -171,6 +173,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
},
pleroma: %{
ap_id: user.ap_id,
+ ap_aliases: [],
background_image: nil,
favicon:
"https://shitposter.club/plugins/Qvitter/img/gnusocial-favicons/favicon-16x16.png",
diff --git a/test/web/pleroma_api/controllers/account_controller_test.exs b/test/web/pleroma_api/controllers/account_controller_test.exs
index 07909d48b..da01a8218 100644
--- a/test/web/pleroma_api/controllers/account_controller_test.exs
+++ b/test/web/pleroma_api/controllers/account_controller_test.exs
@@ -281,4 +281,33 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
assert %{"error" => "Record not found"} = json_response_and_validate_schema(conn, 404)
end
end
+
+ describe "aliases controllers" do
+ setup do: oauth_access(["write:accounts"])
+
+ test "adds aliases", %{conn: conn} do
+ aliases = ["https://gleasonator.com/users/alex"]
+
+ conn =
+ conn
+ |> put_req_header("content-type", "application/json")
+ |> post("/api/v1/pleroma/accounts/ap_aliases", %{"aliases" => aliases})
+
+ assert %{"pleroma" => %{"ap_aliases" => res}} = json_response_and_validate_schema(conn, 200)
+ assert Enum.count(res) == 1
+ end
+
+ test "deletes aliases", %{conn: conn, user: user} do
+ aliases = ["https://gleasonator.com/users/alex"]
+ User.add_aliases(user, aliases)
+
+ conn =
+ conn
+ |> put_req_header("content-type", "application/json")
+ |> delete("/api/v1/pleroma/accounts/ap_aliases", %{"aliases" => aliases})
+
+ assert %{"pleroma" => %{"ap_aliases" => res}} = json_response_and_validate_schema(conn, 200)
+ assert Enum.count(res) == 0
+ end
+ end
end
diff --git a/test/web/web_finger/web_finger_controller_test.exs b/test/web/web_finger/web_finger_controller_test.exs
index 0023f1e81..50b6c4b3e 100644
--- a/test/web/web_finger/web_finger_controller_test.exs
+++ b/test/web/web_finger/web_finger_controller_test.exs
@@ -30,14 +30,24 @@ defmodule Pleroma.Web.WebFinger.WebFingerControllerTest do
end
test "Webfinger JRD" do
- user = insert(:user)
+ user =
+ insert(:user,
+ ap_id: "https://hyrule.world/users/zelda",
+ ap_aliases: ["https://mushroom.kingdom/users/toad"]
+ )
response =
build_conn()
|> put_req_header("accept", "application/jrd+json")
|> get("/.well-known/webfinger?resource=acct:#{user.nickname}@localhost")
+ |> json_response(200)
+
+ assert response["subject"] == "acct:#{user.nickname}@localhost"
- assert json_response(response, 200)["subject"] == "acct:#{user.nickname}@localhost"
+ assert response["aliases"] == [
+ "https://hyrule.world/users/zelda",
+ "https://mushroom.kingdom/users/toad"
+ ]
end
test "it returns 404 when user isn't found (JSON)" do