diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2020-06-01 15:48:51 +0400 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2020-06-01 15:48:51 +0400 |
commit | a7627bdc7ae67a5c103f968eea02d6b1cf1ef8da (patch) | |
tree | e12af401307cfc3120d50c01580cd959f3b2503a /test/plugs/ensure_authenticated_plug_test.exs | |
parent | decaa64f75f8bd69622fa5fba757f99719f09808 (diff) | |
parent | e96765df6b04fe5e9766271a9c62e559392758b2 (diff) | |
download | pleroma-a7627bdc7ae67a5c103f968eea02d6b1cf1ef8da.tar.gz pleroma-a7627bdc7ae67a5c103f968eea02d6b1cf1ef8da.zip |
Merge remote-tracking branch 'origin/develop' into global-status-expiration
Diffstat (limited to 'test/plugs/ensure_authenticated_plug_test.exs')
-rw-r--r-- | test/plugs/ensure_authenticated_plug_test.exs | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/test/plugs/ensure_authenticated_plug_test.exs b/test/plugs/ensure_authenticated_plug_test.exs index 689fe757f..a0667c5e0 100644 --- a/test/plugs/ensure_authenticated_plug_test.exs +++ b/test/plugs/ensure_authenticated_plug_test.exs @@ -24,11 +24,36 @@ defmodule Pleroma.Plugs.EnsureAuthenticatedPlugTest do end end + test "it halts if user is assigned and MFA enabled", %{conn: conn} do + conn = + conn + |> assign(:user, %User{multi_factor_authentication_settings: %{enabled: true}}) + |> assign(:auth_credentials, %{password: "xd-42"}) + |> EnsureAuthenticatedPlug.call(%{}) + + assert conn.status == 403 + assert conn.halted == true + + assert conn.resp_body == + "{\"error\":\"Two-factor authentication enabled, you must use a access token.\"}" + end + + test "it continues if user is assigned and MFA disabled", %{conn: conn} do + conn = + conn + |> assign(:user, %User{multi_factor_authentication_settings: %{enabled: false}}) + |> assign(:auth_credentials, %{password: "xd-42"}) + |> EnsureAuthenticatedPlug.call(%{}) + + refute conn.status == 403 + refute conn.halted + end + describe "with :if_func / :unless_func options" do setup do %{ - true_fn: fn -> true end, - false_fn: fn -> false end + true_fn: fn _conn -> true end, + false_fn: fn _conn -> false end } end |