summaryrefslogtreecommitdiff
path: root/test/plugs/admin_secret_authentication_plug_test.exs
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2020-07-16 14:51:36 -0500
committerAlex Gleason <alex@alexgleason.me>2020-07-16 14:51:36 -0500
commit38425ebdbf157377ccb0402f78dc3d02f81c55f5 (patch)
tree740f32837d28e918f097c948d89827d99434d5b2 /test/plugs/admin_secret_authentication_plug_test.exs
parent8daacc911498d827fd68ea3d34eb1be9ae4a1ffe (diff)
parent3a2b2cb6f2d6ce39ae0d246649189c021c535992 (diff)
downloadpleroma-38425ebdbf157377ccb0402f78dc3d02f81c55f5.tar.gz
pleroma-38425ebdbf157377ccb0402f78dc3d02f81c55f5.zip
Merge remote-tracking branch 'upstream/develop' into linkify
Diffstat (limited to 'test/plugs/admin_secret_authentication_plug_test.exs')
-rw-r--r--test/plugs/admin_secret_authentication_plug_test.exs13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/plugs/admin_secret_authentication_plug_test.exs b/test/plugs/admin_secret_authentication_plug_test.exs
index 100016c62..89df03c4b 100644
--- a/test/plugs/admin_secret_authentication_plug_test.exs
+++ b/test/plugs/admin_secret_authentication_plug_test.exs
@@ -4,9 +4,14 @@
defmodule Pleroma.Plugs.AdminSecretAuthenticationPlugTest do
use Pleroma.Web.ConnCase, async: true
+
+ import Mock
import Pleroma.Factory
alias Pleroma.Plugs.AdminSecretAuthenticationPlug
+ alias Pleroma.Plugs.OAuthScopesPlug
+ alias Pleroma.Plugs.PlugHelper
+ alias Pleroma.Plugs.RateLimiter
test "does nothing if a user is assigned", %{conn: conn} do
user = insert(:user)
@@ -25,6 +30,10 @@ defmodule Pleroma.Plugs.AdminSecretAuthenticationPlugTest do
describe "when secret set it assigns an admin user" do
setup do: clear_config([:admin_token])
+ setup_with_mocks([{RateLimiter, [:passthrough], []}]) do
+ :ok
+ end
+
test "with `admin_token` query parameter", %{conn: conn} do
Pleroma.Config.put(:admin_token, "password123")
@@ -33,12 +42,14 @@ defmodule Pleroma.Plugs.AdminSecretAuthenticationPlugTest do
|> AdminSecretAuthenticationPlug.call(%{})
refute conn.assigns[:user]
+ assert called(RateLimiter.call(conn, name: :authentication))
conn =
%{conn | params: %{"admin_token" => "password123"}}
|> AdminSecretAuthenticationPlug.call(%{})
assert conn.assigns[:user].is_admin
+ assert PlugHelper.plug_skipped?(conn, OAuthScopesPlug)
end
test "with `x-admin-token` HTTP header", %{conn: conn} do
@@ -50,6 +61,7 @@ defmodule Pleroma.Plugs.AdminSecretAuthenticationPlugTest do
|> AdminSecretAuthenticationPlug.call(%{})
refute conn.assigns[:user]
+ assert called(RateLimiter.call(conn, name: :authentication))
conn =
conn
@@ -57,6 +69,7 @@ defmodule Pleroma.Plugs.AdminSecretAuthenticationPlugTest do
|> AdminSecretAuthenticationPlug.call(%{})
assert conn.assigns[:user].is_admin
+ assert PlugHelper.plug_skipped?(conn, OAuthScopesPlug)
end
end
end