aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfence <fence@desu-mail.moe>2020-04-27 18:31:00 +0200
committerfence <fence@desu-mail.moe>2020-04-27 18:31:00 +0200
commit5c7cc109172c84b991fad7eebbdd51e75f0c5382 (patch)
tree6795c53a0e61167596ee067e30314adea8c70e82
parenta626cb682cc8fd6cad91484db064ed22646960af (diff)
downloadpleroma-5c7cc109172c84b991fad7eebbdd51e75f0c5382.tar.gz
add tests for deactivated users for mongoose auth
-rw-r--r--lib/pleroma/web/mongooseim/mongoose_im_controller.ex7
-rw-r--r--test/web/mongooseim/mongoose_im_controller_test.exs9
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/pleroma/web/mongooseim/mongoose_im_controller.ex b/lib/pleroma/web/mongooseim/mongoose_im_controller.ex
index 744cf5227..c15b4bfb8 100644
--- a/lib/pleroma/web/mongooseim/mongoose_im_controller.ex
+++ b/lib/pleroma/web/mongooseim/mongoose_im_controller.ex
@@ -27,8 +27,13 @@ defmodule Pleroma.Web.MongooseIM.MongooseIMController do
def check_password(conn, %{"user" => username, "pass" => password}) do
user = Repo.get_by(User, nickname: username, local: true)
+
+ state = case user do
+ nil -> nil
+ _ -> User.account_status(user)
+ end
- case User.account_status(user) do
+ case state do
:deactivated ->
conn
|> put_status(:not_found)
diff --git a/test/web/mongooseim/mongoose_im_controller_test.exs b/test/web/mongooseim/mongoose_im_controller_test.exs
index 291ae54fc..5987111e5 100644
--- a/test/web/mongooseim/mongoose_im_controller_test.exs
+++ b/test/web/mongooseim/mongoose_im_controller_test.exs
@@ -34,6 +34,7 @@ defmodule Pleroma.Web.MongooseIMController do
test "/check_password", %{conn: conn} do
user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt("cool"))
+ _deactivated_user = insert(:user, nickname: "konata", local: false, deactivated: true)
res =
conn
@@ -51,6 +52,14 @@ defmodule Pleroma.Web.MongooseIMController do
res =
conn
+ |> get(mongoose_im_path(conn, :check_password), user: "konata", pass: "1337")
+ |> json_response(404)
+
+ assert res == false
+
+
+ res =
+ conn
|> get(mongoose_im_path(conn, :check_password), user: "nobody", pass: "cool")
|> json_response(404)