@ -226,7 +226,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" roles " = > %{ " admin " = > false , " moderator " = > false } ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
assert expected == json_response ( conn , 200 )
@ -635,7 +636,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( admin ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname )
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname ) ,
" confirmation_pending " = > false
} ,
%{
" deactivated " = > user . deactivated ,
@ -645,7 +647,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > false ,
" tags " = > [ " foo " , " bar " ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
|> Enum . sort_by ( & &1 [ " nickname " ] )
@ -686,7 +689,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -710,7 +714,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -734,7 +739,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -758,7 +764,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -782,7 +789,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -806,7 +814,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -825,7 +834,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user2 ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user2 . name || user2 . nickname )
" display_name " = > HTML . strip_tags ( user2 . name || user2 . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -854,7 +864,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -881,7 +892,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
} ,
%{
" deactivated " = > admin . deactivated ,
@ -891,7 +903,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( admin ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname )
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname ) ,
" confirmation_pending " = > false
} ,
%{
" deactivated " = > false ,
@ -901,7 +914,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" roles " = > %{ " admin " = > true , " moderator " = > false } ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( old_admin ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( old_admin . name || old_admin . nickname )
" display_name " = > HTML . strip_tags ( old_admin . name || old_admin . nickname ) ,
" confirmation_pending " = > false
}
]
|> Enum . sort_by ( & &1 [ " nickname " ] )
@ -930,7 +944,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > admin . local ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( admin ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname )
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname ) ,
" confirmation_pending " = > false
} ,
%{
" deactivated " = > false ,
@ -940,7 +955,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > second_admin . local ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( second_admin ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( second_admin . name || second_admin . nickname )
" display_name " = > HTML . strip_tags ( second_admin . name || second_admin . nickname ) ,
" confirmation_pending " = > false
}
]
|> Enum . sort_by ( & &1 [ " nickname " ] )
@ -971,7 +987,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > moderator . local ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( moderator ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( moderator . name || moderator . nickname )
" display_name " = > HTML . strip_tags ( moderator . name || moderator . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -995,7 +1012,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > user1 . local ,
" tags " = > [ " first " ] ,
" avatar " = > User . avatar_url ( user1 ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user1 . name || user1 . nickname )
" display_name " = > HTML . strip_tags ( user1 . name || user1 . nickname ) ,
" confirmation_pending " = > false
} ,
%{
" deactivated " = > false ,
@ -1005,7 +1023,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > user2 . local ,
" tags " = > [ " second " ] ,
" avatar " = > User . avatar_url ( user2 ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user2 . name || user2 . nickname )
" display_name " = > HTML . strip_tags ( user2 . name || user2 . nickname ) ,
" confirmation_pending " = > false
}
]
|> Enum . sort_by ( & &1 [ " nickname " ] )
@ -1041,7 +1060,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > user . local ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -1067,7 +1087,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( admin ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname )
" display_name " = > HTML . strip_tags ( admin . name || admin . nickname ) ,
" confirmation_pending " = > false
}
]
}
@ -1136,7 +1157,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" local " = > true ,
" tags " = > [ ] ,
" avatar " = > User . avatar_url ( user ) |> MediaProxy . url ( ) ,
" display_name " = > HTML . strip_tags ( user . name || user . nickname )
" display_name " = > HTML . strip_tags ( user . name || user . nickname ) ,
" confirmation_pending " = > false
}
log_entry = Repo . one ( ModerationLog )
@ -2833,6 +2855,105 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
" @ #{ admin . nickname } unfollowed relay: http://mastodon.example.org/users/admin "
end
end
describe " instances " do
test " GET /instances/:instance/statuses " do
admin = insert ( :user , is_admin : true )
user = insert ( :user , local : false , nickname : " archaeme@archae.me " )
user2 = insert ( :user , local : false , nickname : " test@test.com " )
insert_pair ( :note_activity , user : user )
insert ( :note_activity , user : user2 )
conn =
build_conn ( )
|> assign ( :user , admin )
|> get ( " /api/pleroma/admin/instances/archae.me/statuses " )
response = json_response ( conn , 200 )
assert length ( response ) == 2
conn =
build_conn ( )
|> assign ( :user , admin )
|> get ( " /api/pleroma/admin/instances/test.com/statuses " )
response = json_response ( conn , 200 )
assert length ( response ) == 1
conn =
build_conn ( )
|> assign ( :user , admin )
|> get ( " /api/pleroma/admin/instances/nonexistent.com/statuses " )
response = json_response ( conn , 200 )
assert length ( response ) == 0
end
end
describe " PATCH /confirm_email " do
setup %{ conn : conn } do
admin = insert ( :user , is_admin : true )
%{ conn : assign ( conn , :user , admin ) , admin : admin }
end
test " it confirms emails of two users " , %{ admin : admin } do
[ first_user , second_user ] = insert_pair ( :user , confirmation_pending : true )
assert first_user . confirmation_pending == true
assert second_user . confirmation_pending == true
build_conn ( )
|> assign ( :user , admin )
|> patch ( " /api/pleroma/admin/users/confirm_email " , %{
nicknames : [
first_user . nickname ,
second_user . nickname
]
} )
assert first_user . confirmation_pending == true
assert second_user . confirmation_pending == true
log_entry = Repo . one ( ModerationLog )
assert ModerationLog . get_log_entry_message ( log_entry ) ==
" @ #{ admin . nickname } confirmed email for users: @ #{ first_user . nickname } , @ #{
second_user . nickname
} "
end
end
describe " PATCH /resend_confirmation_email " do
setup %{ conn : conn } do
admin = insert ( :user , is_admin : true )
%{ conn : assign ( conn , :user , admin ) , admin : admin }
end
test " it resend emails for two users " , %{ admin : admin } do
[ first_user , second_user ] = insert_pair ( :user , confirmation_pending : true )
build_conn ( )
|> assign ( :user , admin )
|> patch ( " /api/pleroma/admin/users/resend_confirmation_email " , %{
nicknames : [
first_user . nickname ,
second_user . nickname
]
} )
log_entry = Repo . one ( ModerationLog )
assert ModerationLog . get_log_entry_message ( log_entry ) ==
" @ #{ admin . nickname } re-sent confirmation email for users: @ #{ first_user . nickname } , @ #{
second_user . nickname
} "
end
end
end
# Needed for testing