Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
7bd49a32
Commit
7bd49a32
authored
Dec 29, 2018
by
Ivan Tashkinov
Browse files
[
#483
] User.get_by_nickname/1: ensured case-insensitive matching for local FQN. Added tests.
parent
b3574dcc
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/user.ex
View file @
7bd49a32
...
...
@@ -388,7 +388,7 @@ def get_cached_by_nickname(nickname) do
def
get_by_nickname
(
nickname
)
do
Repo
.
get_by
(
User
,
nickname:
nickname
)
||
if
String
.
ends_with?
(
nickname
,
"@"
<>
Pleroma
.
Web
.
Endpoint
.
host
())
do
if
Regex
.
match?
(
~r(@#{
Pleroma.Web.Endpoint.host
(
)
})
i
,
nickname
)
do
[
local_nickname
,
_
]
=
String
.
split
(
nickname
,
"@"
)
Repo
.
get_by
(
User
,
nickname:
local_nickname
)
end
...
...
test/user_test.exs
View file @
7bd49a32
...
...
@@ -278,6 +278,25 @@ test "gets an existing user, case insensitive" do
assert
user
==
fetched_user
end
test
"gets an existing user by fully qualified nickname"
do
user
=
insert
(
:user
)
fetched_user
=
User
.
get_or_fetch_by_nickname
(
user
.
nickname
<>
"@"
<>
Pleroma
.
Web
.
Endpoint
.
host
())
assert
user
==
fetched_user
end
test
"gets an existing user by fully qualified nickname, case insensitive"
do
user
=
insert
(
:user
,
nickname:
"nick"
)
casing_altered_fqn
=
String
.
upcase
(
user
.
nickname
<>
"@"
<>
Pleroma
.
Web
.
Endpoint
.
host
())
fetched_user
=
User
.
get_or_fetch_by_nickname
(
casing_altered_fqn
)
assert
user
==
fetched_user
end
test
"fetches an external user via ostatus if no user exists"
do
fetched_user
=
User
.
get_or_fetch_by_nickname
(
"shp@social.heldscal.la"
)
assert
fetched_user
.
nickname
==
"shp@social.heldscal.la"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment