mongooseim test: explicitly set password for the deactivated used
[akkoma] / test / web / mongooseim / mongoose_im_controller_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.MongooseIMController do
6 use Pleroma.Web.ConnCase
7 import Pleroma.Factory
8
9 test "/user_exists", %{conn: conn} do
10 _user = insert(:user, nickname: "lain")
11 _remote_user = insert(:user, nickname: "alice", local: false)
12 _deactivated_user = insert(:user, nickname: "konata", deactivated: true)
13
14 res =
15 conn
16 |> get(mongoose_im_path(conn, :user_exists), user: "lain")
17 |> json_response(200)
18
19 assert res == true
20
21 res =
22 conn
23 |> get(mongoose_im_path(conn, :user_exists), user: "alice")
24 |> json_response(404)
25
26 assert res == false
27
28 res =
29 conn
30 |> get(mongoose_im_path(conn, :user_exists), user: "bob")
31 |> json_response(404)
32
33 assert res == false
34
35 res =
36 conn
37 |> get(mongoose_im_path(conn, :user_exists), user: "konata")
38 |> json_response(404)
39
40 assert res == false
41 end
42
43 test "/check_password", %{conn: conn} do
44 user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt("cool"))
45 _deactivated_user = insert(:user, nickname: "konata", deactivated: true, password_hash: Comeonin.Pbkdf2.hashpwsalt("cool"))
46
47 res =
48 conn
49 |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "cool")
50 |> json_response(200)
51
52 assert res == true
53
54 res =
55 conn
56 |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "uncool")
57 |> json_response(403)
58
59 assert res == false
60
61 res =
62 conn
63 |> get(mongoose_im_path(conn, :check_password), user: "konata", pass: "cool")
64 |> json_response(404)
65
66 assert res == false
67
68
69 res =
70 conn
71 |> get(mongoose_im_path(conn, :check_password), user: "nobody", pass: "cool")
72 |> json_response(404)
73
74 assert res == false
75 end
76 end