forked from AkkomaGang/akkoma
Exclude tests that use :crypt.crypt/2 on macOS
This commit is contained in:
parent
2951714429
commit
9340896c9e
3 changed files with 16 additions and 27 deletions
|
@ -9,7 +9,6 @@ defmodule Pleroma.Plugs.AuthenticationPlugTest do
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
|
||||||
import ExUnit.CaptureLog
|
import ExUnit.CaptureLog
|
||||||
import Mock
|
|
||||||
|
|
||||||
setup %{conn: conn} do
|
setup %{conn: conn} do
|
||||||
user = %User{
|
user = %User{
|
||||||
|
@ -67,13 +66,12 @@ test "check pbkdf2 hash" do
|
||||||
refute AuthenticationPlug.checkpw("test-password1", hash)
|
refute AuthenticationPlug.checkpw("test-password1", hash)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@tag :skip_on_mac
|
||||||
test "check sha512-crypt hash" do
|
test "check sha512-crypt hash" do
|
||||||
hash =
|
hash =
|
||||||
"$6$9psBWV8gxkGOZWBz$PmfCycChoxeJ3GgGzwvhlgacb9mUoZ.KUXNCssekER4SJ7bOK53uXrHNb2e4i8yPFgSKyzaW9CcmrDXWIEMtD1"
|
"$6$9psBWV8gxkGOZWBz$PmfCycChoxeJ3GgGzwvhlgacb9mUoZ.KUXNCssekER4SJ7bOK53uXrHNb2e4i8yPFgSKyzaW9CcmrDXWIEMtD1"
|
||||||
|
|
||||||
with_mock :crypt, crypt: fn _password, password_hash -> password_hash end do
|
assert AuthenticationPlug.checkpw("password", hash)
|
||||||
assert AuthenticationPlug.checkpw("password", hash)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
test "it returns false when hash invalid" do
|
test "it returns false when hash invalid" do
|
||||||
|
|
|
@ -5,19 +5,18 @@
|
||||||
defmodule Pleroma.Plugs.LegacyAuthenticationPlugTest do
|
defmodule Pleroma.Plugs.LegacyAuthenticationPlugTest do
|
||||||
use Pleroma.Web.ConnCase
|
use Pleroma.Web.ConnCase
|
||||||
|
|
||||||
|
import Pleroma.Factory
|
||||||
|
|
||||||
alias Pleroma.Plugs.LegacyAuthenticationPlug
|
alias Pleroma.Plugs.LegacyAuthenticationPlug
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
|
||||||
import Mock
|
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
# password is "password"
|
user =
|
||||||
user = %User{
|
insert(:user,
|
||||||
id: 1,
|
password: "password",
|
||||||
name: "dude",
|
password_hash:
|
||||||
password_hash:
|
"$6$9psBWV8gxkGOZWBz$PmfCycChoxeJ3GgGzwvhlgacb9mUoZ.KUXNCssekER4SJ7bOK53uXrHNb2e4i8yPFgSKyzaW9CcmrDXWIEMtD1"
|
||||||
"$6$9psBWV8gxkGOZWBz$PmfCycChoxeJ3GgGzwvhlgacb9mUoZ.KUXNCssekER4SJ7bOK53uXrHNb2e4i8yPFgSKyzaW9CcmrDXWIEMtD1"
|
)
|
||||||
}
|
|
||||||
|
|
||||||
%{user: user}
|
%{user: user}
|
||||||
end
|
end
|
||||||
|
@ -36,6 +35,7 @@ test "it does nothing if a user is assigned", %{conn: conn, user: user} do
|
||||||
assert ret_conn == conn
|
assert ret_conn == conn
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@tag :skip_on_mac
|
||||||
test "it authenticates the auth_user if present and password is correct and resets the password",
|
test "it authenticates the auth_user if present and password is correct and resets the password",
|
||||||
%{
|
%{
|
||||||
conn: conn,
|
conn: conn,
|
||||||
|
@ -46,22 +46,12 @@ test "it authenticates the auth_user if present and password is correct and rese
|
||||||
|> assign(:auth_credentials, %{username: "dude", password: "password"})
|
|> assign(:auth_credentials, %{username: "dude", password: "password"})
|
||||||
|> assign(:auth_user, user)
|
|> assign(:auth_user, user)
|
||||||
|
|
||||||
conn =
|
conn = LegacyAuthenticationPlug.call(conn, %{})
|
||||||
with_mocks([
|
|
||||||
{:crypt, [], [crypt: fn _password, password_hash -> password_hash end]},
|
|
||||||
{User, [],
|
|
||||||
[
|
|
||||||
reset_password: fn user, %{password: password, password_confirmation: password} ->
|
|
||||||
{:ok, user}
|
|
||||||
end
|
|
||||||
]}
|
|
||||||
]) do
|
|
||||||
LegacyAuthenticationPlug.call(conn, %{})
|
|
||||||
end
|
|
||||||
|
|
||||||
assert conn.assigns.user == user
|
assert conn.assigns.user.id == user.id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@tag :skip_on_mac
|
||||||
test "it does nothing if the password is wrong", %{
|
test "it does nothing if the password is wrong", %{
|
||||||
conn: conn,
|
conn: conn,
|
||||||
user: user
|
user: user
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
ExUnit.start()
|
os_exclude = if :os.type() == {:unix, :darwin}, do: [skip_on_mac: true], else: []
|
||||||
|
ExUnit.start(exclude: os_exclude)
|
||||||
Ecto.Adapters.SQL.Sandbox.mode(Pleroma.Repo, :manual)
|
Ecto.Adapters.SQL.Sandbox.mode(Pleroma.Repo, :manual)
|
||||||
Mox.defmock(Pleroma.ReverseProxy.ClientMock, for: Pleroma.ReverseProxy.Client)
|
Mox.defmock(Pleroma.ReverseProxy.ClientMock, for: Pleroma.ReverseProxy.Client)
|
||||||
{:ok, _} = Application.ensure_all_started(:ex_machina)
|
{:ok, _} = Application.ensure_all_started(:ex_machina)
|
||||||
|
|
Loading…
Reference in a new issue