diff options
author | Tusooa Zhu <tusooa@kazv.moe> | 2022-09-08 11:58:17 -0400 |
---|---|---|
committer | Tusooa Zhu <tusooa@kazv.moe> | 2022-09-08 11:58:17 -0400 |
commit | 50923f543826bb97efe8e01737ca854003ab934f (patch) | |
tree | dd8c5246b9b0bae501b3fc6a4e83f72b687b2505 | |
parent | 453a66f8c268580148475e11a7d4141ac7e93515 (diff) | |
download | pleroma-50923f543826bb97efe8e01737ca854003ab934f.tar.gz pleroma-50923f543826bb97efe8e01737ca854003ab934f.zip |
Fix User.get_or_fetch/1 with usernames starting with http
-rw-r--r-- | lib/pleroma/user.ex | 3 | ||||
-rw-r--r-- | test/pleroma/user_test.exs | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 85d3382cb..b422e5c1d 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -2126,7 +2126,8 @@ defmodule Pleroma.User do @doc "Gets or fetch a user by uri or nickname." @spec get_or_fetch(String.t()) :: {:ok, User.t()} | {:error, String.t()} - def get_or_fetch("http" <> _host = uri), do: get_or_fetch_by_ap_id(uri) + def get_or_fetch("http://" <> _host = uri), do: get_or_fetch_by_ap_id(uri) + def get_or_fetch("https://" <> _host = uri), do: get_or_fetch_by_ap_id(uri) def get_or_fetch(nickname), do: get_or_fetch_by_nickname(nickname) # wait a period of time and return newest version of the User structs diff --git a/test/pleroma/user_test.exs b/test/pleroma/user_test.exs index 0dc45beb9..78f14d1f1 100644 --- a/test/pleroma/user_test.exs +++ b/test/pleroma/user_test.exs @@ -850,6 +850,13 @@ defmodule Pleroma.UserTest do freshed_user = refresh_record(user) assert freshed_user == fetched_user end + + test "gets an existing user by nickname starting with http" do + user = insert(:user, nickname: "httpssome") + {:ok, fetched_user} = User.get_or_fetch("httpssome") + + assert user == fetched_user + end end describe "fetching a user from nickname or trying to build one" do |