aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-09-05 19:06:28 +0200
committerlain <lain@soykaf.club>2018-09-05 19:06:28 +0200
commit12bc73dd2833a22cce6a22841d33c992b1eb31fc (patch)
tree39a18d9d35ad8e28ce0b670c00c359338de31315
parent32465b9939718f7bc6604594e0404340c3e02cc9 (diff)
downloadpleroma-12bc73dd2833a22cce6a22841d33c992b1eb31fc.tar.gz
Add EnsureUserKeyPlug, smaller fixes
-rw-r--r--lib/pleroma/plugs/authentication_plug.ex2
-rw-r--r--lib/pleroma/plugs/ensure_user_key_plug.ex14
-rw-r--r--test/plugs/basic_auth_decoder_plug_test.exs2
-rw-r--r--test/plugs/ensure_user_key_plug_test.exs25
4 files changed, 42 insertions, 1 deletions
diff --git a/lib/pleroma/plugs/authentication_plug.ex b/lib/pleroma/plugs/authentication_plug.ex
index 8706b32cd..3ac301b97 100644
--- a/lib/pleroma/plugs/authentication_plug.ex
+++ b/lib/pleroma/plugs/authentication_plug.ex
@@ -37,4 +37,6 @@ defmodule Pleroma.Plugs.AuthenticationPlug do
Pbkdf2.dummy_checkpw()
conn
end
+
+ def call(conn, _), do: conn
end
diff --git a/lib/pleroma/plugs/ensure_user_key_plug.ex b/lib/pleroma/plugs/ensure_user_key_plug.ex
new file mode 100644
index 000000000..05a567757
--- /dev/null
+++ b/lib/pleroma/plugs/ensure_user_key_plug.ex
@@ -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
diff --git a/test/plugs/basic_auth_decoder_plug_test.exs b/test/plugs/basic_auth_decoder_plug_test.exs
index 317f7d167..a4876fef7 100644
--- a/test/plugs/basic_auth_decoder_plug_test.exs
+++ b/test/plugs/basic_auth_decoder_plug_test.exs
@@ -1,4 +1,4 @@
-defmodule Pleroma.Plugs.AuthenticationPlugTest do
+defmodule Pleroma.Plugs.BasicAuthDecoderPlugTest do
use Pleroma.Web.ConnCase, async: true
alias Pleroma.Plugs.BasicAuthDecoderPlug
diff --git a/test/plugs/ensure_user_key_plug_test.exs b/test/plugs/ensure_user_key_plug_test.exs
new file mode 100644
index 000000000..9beda838e
--- /dev/null
+++ b/test/plugs/ensure_user_key_plug_test.exs
@@ -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