1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.MongooseIMController do
6 use Pleroma.Web.ConnCase
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)
16 |> get(mongoose_im_path(conn, :user_exists), user: "lain")
23 |> get(mongoose_im_path(conn, :user_exists), user: "alice")
30 |> get(mongoose_im_path(conn, :user_exists), user: "bob")
37 |> get(mongoose_im_path(conn, :user_exists), user: "konata")
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"))
49 |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "cool")
56 |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "uncool")
63 |> get(mongoose_im_path(conn, :check_password), user: "konata", pass: "cool")
71 |> get(mongoose_im_path(conn, :check_password), user: "nobody", pass: "cool")