Add EnsureUserKeyPlug, smaller fixes

This commit is contained in:
lain 2018-09-05 19:06:28 +02:00
parent 32465b9939
commit 12bc73dd28
4 changed files with 42 additions and 1 deletions

View file

@ -37,4 +37,6 @@ def call(
Pbkdf2.dummy_checkpw()
conn
end
def call(conn, _), do: conn
end

View file

@ -0,0 +1,14 @@
defmodule Pleroma.Plugs.EnsureUserKeyPlug do
import Plug.Conn
def init(opts) do
opts
end
def call(%{assigns: %{user: _}} = conn, _), do: conn
def call(conn, _) do
conn
|> assign(:user, nil)
end
end

View file

@ -1,4 +1,4 @@
defmodule Pleroma.Plugs.AuthenticationPlugTest do
defmodule Pleroma.Plugs.BasicAuthDecoderPlugTest do
use Pleroma.Web.ConnCase, async: true
alias Pleroma.Plugs.BasicAuthDecoderPlug

View file

@ -0,0 +1,25 @@
defmodule Pleroma.Plugs.EnsureUserKeyPlugTest do
use Pleroma.Web.ConnCase, async: true
alias Pleroma.Plugs.EnsureUserKeyPlug
test "if the conn has a user key set, it does nothing", %{conn: conn} do
conn =
conn
|> assign(:user, 1)
ret_conn =
conn
|> EnsureUserKeyPlug.call(%{})
assert conn == ret_conn
end
test "if the conn has no key set, it sets it to nil", %{conn: conn} do
conn =
conn
|> EnsureUserKeyPlug.call(%{})
assert Map.has_key?(conn.assigns, :user)
end
end