diff options
author | jessib <jessib@riseup.net> | 2013-10-17 10:51:47 -0700 |
---|---|---|
committer | jessib <jessib@riseup.net> | 2013-10-17 10:51:47 -0700 |
commit | bf3b59e6807c8e4789b97232c7416093b07cccdf (patch) | |
tree | 5ba3438eac4e0b6c221c76dc1d400245bcbfd76a /users/test | |
parent | 4302dcbf6215b863fa5e5389d89c449da300bd47 (diff) | |
parent | 9f4b1bcf315f09fd6d302ad187281ec4ed443f04 (diff) |
Merge pull request #102 from azul/feature/3602-email-blacklist
blacklist system logins for aliases and logins
Diffstat (limited to 'users/test')
-rw-r--r-- | users/test/unit/local_email_test.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/users/test/unit/local_email_test.rb b/users/test/unit/local_email_test.rb index b25f46f..20ee7f1 100644 --- a/users/test/unit/local_email_test.rb +++ b/users/test/unit/local_email_test.rb @@ -24,6 +24,37 @@ class LocalEmailTest < ActiveSupport::TestCase assert_equal ["needs to end in @#{LocalEmail.domain}"], local.errors[:email] end + test "blacklists rfc2142" do + black_listed = LocalEmail.new('hostmaster') + assert !black_listed.valid? + end + + test "blacklists etc passwd" do + black_listed = LocalEmail.new('nobody') + assert !black_listed.valid? + end + + test "whitelist overwrites automatic blacklists" do + with_config handle_whitelist: ['nobody', 'hostmaster'] do + white_listed = LocalEmail.new('nobody') + assert white_listed.valid? + white_listed = LocalEmail.new('hostmaster') + assert white_listed.valid? + end + end + + test "blacklists from config" do + black_listed = LocalEmail.new('www-data') + assert !black_listed.valid? + end + + test "blacklist from config overwrites whitelist" do + with_config handle_whitelist: ['www-data'] do + black_listed = LocalEmail.new('www-data') + assert !black_listed.valid? + end + end + def handle @handle ||= Faker::Internet.user_name end |