forked from AkkomaGang/akkoma
42 lines
1 KiB
Elixir
42 lines
1 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Web.Plugs.SetUserSessionIdPlugTest do
|
|
use Pleroma.Web.ConnCase, async: true
|
|
|
|
alias Pleroma.Web.Plugs.SetUserSessionIdPlug
|
|
|
|
setup %{conn: conn} do
|
|
session_opts = [
|
|
store: :cookie,
|
|
key: "_test",
|
|
signing_salt: "cooldude"
|
|
]
|
|
|
|
conn =
|
|
conn
|
|
|> Plug.Session.call(Plug.Session.init(session_opts))
|
|
|> fetch_session()
|
|
|
|
%{conn: conn}
|
|
end
|
|
|
|
test "doesn't do anything if the user isn't set", %{conn: conn} do
|
|
ret_conn = SetUserSessionIdPlug.call(conn, %{})
|
|
|
|
assert ret_conn == conn
|
|
end
|
|
|
|
test "sets :oauth_token in session to :token assign", %{conn: conn} do
|
|
%{user: user, token: oauth_token} = oauth_access(["read"])
|
|
|
|
ret_conn =
|
|
conn
|
|
|> assign(:user, user)
|
|
|> assign(:token, oauth_token)
|
|
|> SetUserSessionIdPlug.call(%{})
|
|
|
|
assert get_session(ret_conn, :oauth_token) == oauth_token.token
|
|
end
|
|
end
|