34 lines
850 B
Elixir
34 lines
850 B
Elixir
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
|
|
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
|