diff options
author | lambda <pleromagit@rogerbraun.net> | 2018-09-08 09:20:34 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2018-09-08 09:20:34 +0000 |
commit | 045953225e04862c914b51808907cc86b11fcaf4 (patch) | |
tree | 8f629e1572eec131651eae1a4421b6725b6f189a /test/plugs/session_authentication_plug_test.exs | |
parent | 530561a091f6f82e27ef3d5011b929b00e2da964 (diff) | |
parent | d22af29bb48e94ca21621c30d46cea42559277b7 (diff) | |
download | pleroma-045953225e04862c914b51808907cc86b11fcaf4.tar.gz pleroma-045953225e04862c914b51808907cc86b11fcaf4.zip |
Merge branch 'moonman/pleroma-sha512-crypt' into 'develop'
auth overhaul and legacy GS auth
See merge request pleroma/pleroma!331
Diffstat (limited to 'test/plugs/session_authentication_plug_test.exs')
-rw-r--r-- | test/plugs/session_authentication_plug_test.exs | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/test/plugs/session_authentication_plug_test.exs b/test/plugs/session_authentication_plug_test.exs new file mode 100644 index 000000000..bb51bc0db --- /dev/null +++ b/test/plugs/session_authentication_plug_test.exs @@ -0,0 +1,59 @@ +defmodule Pleroma.Plugs.SessionAuthenticationPlugTest do + use Pleroma.Web.ConnCase, async: true + + alias Pleroma.Plugs.SessionAuthenticationPlug + alias Pleroma.User + + 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 + |> assign(:auth_user, %User{id: 1}) + + %{conn: conn} + end + + test "it does nothing if a user is assigned", %{conn: conn} do + conn = + conn + |> assign(:user, %User{}) + + ret_conn = + conn + |> SessionAuthenticationPlug.call(%{}) + + assert ret_conn == conn + end + + test "if the auth_user has the same id as the user_id in the session, it assigns the user", %{ + conn: conn + } do + conn = + conn + |> put_session(:user_id, conn.assigns.auth_user.id) + |> SessionAuthenticationPlug.call(%{}) + + assert conn.assigns.user == conn.assigns.auth_user + end + + test "if the auth_user has a different id as the user_id in the session, it does nothing", %{ + conn: conn + } do + conn = + conn + |> put_session(:user_id, -1) + + ret_conn = + conn + |> SessionAuthenticationPlug.call(%{}) + + assert ret_conn == conn + end +end |