Merge branch 'exclude-reblogs-from-admin-api-by-default' into 'develop'
[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
13 res =
14 conn
15 |> get(mongoose_im_path(conn, :user_exists), user: "lain")
16 |> json_response(200)
17
18 assert res == true
19
20 res =
21 conn
22 |> get(mongoose_im_path(conn, :user_exists), user: "alice")
23 |> json_response(404)
24
25 assert res == false
26
27 res =
28 conn
29 |> get(mongoose_im_path(conn, :user_exists), user: "bob")
30 |> json_response(404)
31
32 assert res == false
33 end
34
35 test "/check_password", %{conn: conn} do
36 user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt("cool"))
37
38 res =
39 conn
40 |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "cool")
41 |> json_response(200)
42
43 assert res == true
44
45 res =
46 conn
47 |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "uncool")
48 |> json_response(403)
49
50 assert res == false
51
52 res =
53 conn
54 |> get(mongoose_im_path(conn, :check_password), user: "nobody", pass: "cool")
55 |> json_response(404)
56
57 assert res == false
58 end
59 end