# Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.OAuth.LDAPAuthorizationTest do
import ExUnit.CaptureLog
import Mock
- setup_all do
- ldap_authenticator = Pleroma.Config.get([Pleroma.Web.Auth.Authenticator])
- ldap_enabled = Pleroma.Config.get([:ldap, :enabled])
+ @skip if !Code.ensure_loaded?(:eldap), do: :skip
- on_exit(fn ->
- Pleroma.Config.put([Pleroma.Web.Auth.Authenticator], ldap_authenticator)
- Pleroma.Config.put([:ldap, :enabled], ldap_enabled)
- end)
+ setup_all do: clear_config([:ldap, :enabled], true)
- Pleroma.Config.put([Pleroma.Web.Auth.Authenticator], Pleroma.Web.Auth.LDAPAuthenticator)
- Pleroma.Config.put([:ldap, :enabled], true)
-
- :ok
- end
+ setup_all do: clear_config(Pleroma.Web.Auth.Authenticator, Pleroma.Web.Auth.LDAPAuthenticator)
+ @tag @skip
test "authorizes the existing user using LDAP credentials" do
password = "testpassword"
user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt(password))
end
end
+ @tag @skip
test "creates a new user after successful LDAP authorization" do
password = "testpassword"
user = build(:user)
end
end
+ @tag @skip
test "falls back to the default authorization when LDAP is unavailable" do
password = "testpassword"
user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt(password))
end
end
+ @tag @skip
test "disallow authorization for wrong LDAP credentials" do
password = "testpassword"
user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt(password))