logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

set_user_session_id_plug_test.exs (1103B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Web.Plugs.SetUserSessionIdPlugTest do
  5. use Pleroma.Web.ConnCase, async: true
  6. alias Pleroma.Helpers.AuthHelper
  7. alias Pleroma.Web.Plugs.SetUserSessionIdPlug
  8. setup %{conn: conn} do
  9. session_opts = [
  10. store: :cookie,
  11. key: "_test",
  12. signing_salt: "cooldude"
  13. ]
  14. conn =
  15. conn
  16. |> Plug.Session.call(Plug.Session.init(session_opts))
  17. |> fetch_session()
  18. %{conn: conn}
  19. end
  20. test "doesn't do anything if the user isn't set", %{conn: conn} do
  21. ret_conn = SetUserSessionIdPlug.call(conn, %{})
  22. assert ret_conn == conn
  23. end
  24. test "sets session token basing on :token assign", %{conn: conn} do
  25. %{user: user, token: oauth_token} = oauth_access(["read"])
  26. ret_conn =
  27. conn
  28. |> assign(:user, user)
  29. |> assign(:token, oauth_token)
  30. |> SetUserSessionIdPlug.call(%{})
  31. assert AuthHelper.get_session_token(ret_conn) == oauth_token.token
  32. end
  33. end