@@ -37,4 +37,6 @@ defmodule Pleroma.Plugs.AuthenticationPlug do | |||||
Pbkdf2.dummy_checkpw() | Pbkdf2.dummy_checkpw() | ||||
conn | conn | ||||
end | end | ||||
def call(conn, _), do: conn | |||||
end | end |
@@ -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 |
@@ -1,4 +1,4 @@ | |||||
defmodule Pleroma.Plugs.AuthenticationPlugTest do | |||||
defmodule Pleroma.Plugs.BasicAuthDecoderPlugTest do | |||||
use Pleroma.Web.ConnCase, async: true | use Pleroma.Web.ConnCase, async: true | ||||
alias Pleroma.Plugs.BasicAuthDecoderPlug | alias Pleroma.Plugs.BasicAuthDecoderPlug | ||||
@@ -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 |