Compare commits
2 Commits
09aeb31cb3
...
5a7f651547
| Author | SHA1 | Date | |
|---|---|---|---|
| 5a7f651547 | |||
| 1c23e93d43 |
@ -1,4 +1,6 @@
|
||||
defmodule BasicSignupWhitelist do
|
||||
import FunCore.BasicSignupWhitelist
|
||||
|
||||
@moduledoc """
|
||||
Checks if an email address is allowed based on the SIGNUP_ALLOWED_EMAILS env variable.
|
||||
"""
|
||||
@ -20,7 +22,8 @@ defmodule BasicSignupWhitelist do
|
||||
false
|
||||
|
||||
"""
|
||||
def mail_whitelisted(_email) do
|
||||
false
|
||||
def mail_whitelisted(email) do
|
||||
env_value = System.get_env("SIGNUP_ALLOWED_EMAILS")
|
||||
mail_whitelisted_fun(env_value, email)
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,7 +2,32 @@ defmodule BasicSignupWhitelistTest do
|
||||
use ExUnit.Case
|
||||
doctest BasicSignupWhitelist
|
||||
|
||||
defp allow_signups_for(whitelist) do
|
||||
System.put_env("SIGNUP_ALLOWED_EMAILS", whitelist)
|
||||
end
|
||||
|
||||
setup do
|
||||
# Save original env var
|
||||
original_env = System.get_env("SIGNUP_ALLOWED_EMAILS")
|
||||
|
||||
on_exit(fn ->
|
||||
# Restore original env var after each test
|
||||
case original_env do
|
||||
nil -> System.delete_env("SIGNUP_ALLOWED_EMAILS")
|
||||
value -> System.put_env("SIGNUP_ALLOWED_EMAILS", value)
|
||||
end
|
||||
end)
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
test "When not set, not whitelisted" do
|
||||
assert BasicSignupWhitelist.mail_whitelisted("joe@example.com") == false
|
||||
System.delete_env("SIGNUP_ALLOWED_EMAILS")
|
||||
refute BasicSignupWhitelist.mail_whitelisted("joe@example.com")
|
||||
end
|
||||
|
||||
test "When set to star, whitelisted" do
|
||||
allow_signups_for("*")
|
||||
assert BasicSignupWhitelist.mail_whitelisted("joe@example.com")
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user