1 # frozen_string_literal: true
 
   5 class AclTest < ActiveSupport::TestCase
 
   8     assert_predicate acl, :valid?
 
  10     assert_not_predicate acl, :valid?
 
  13   def test_no_account_creation_by_subnet
 
  14     assert_not Acl.no_account_creation?("192.168.1.1")
 
  15     create(:acl, :address => "192.168.0.0/16", :k => "no_account_creation")
 
  16     assert Acl.no_account_creation?("192.168.1.1")
 
  19   def test_no_account_creation_by_domain
 
  20     assert_not Acl.no_account_creation?("192.168.1.1", :domain => "example.com")
 
  21     assert_not Acl.no_account_creation?("192.168.1.1", :domain => "test.example.com")
 
  22     create(:acl, :domain => "example.com", :k => "no_account_creation")
 
  23     assert Acl.no_account_creation?("192.168.1.1", :domain => "example.com")
 
  24     assert Acl.no_account_creation?("192.168.1.1", :domain => "test.example.com")
 
  27   def test_no_account_creation_by_mx
 
  28     assert_not Acl.no_account_creation?("192.168.1.1", :mx => "mail.example.com")
 
  29     create(:acl, :mx => "mail.example.com", :k => "no_account_creation")
 
  30     assert Acl.no_account_creation?("192.168.1.1", :mx => "mail.example.com")
 
  33   def test_allow_account_creation_by_subnet
 
  34     assert_not Acl.allow_account_creation?("192.168.1.1")
 
  35     create(:acl, :address => "192.168.0.0/16", :k => "allow_account_creation")
 
  36     assert Acl.allow_account_creation?("192.168.1.1")
 
  39   def test_allow_account_creation_by_domain
 
  40     assert_not Acl.allow_account_creation?("192.168.1.1", :domain => "example.com")
 
  41     assert_not Acl.allow_account_creation?("192.168.1.1", :domain => "test.example.com")
 
  42     create(:acl, :domain => "example.com", :k => "allow_account_creation")
 
  43     assert Acl.allow_account_creation?("192.168.1.1", :domain => "example.com")
 
  44     assert Acl.allow_account_creation?("192.168.1.1", :domain => "test.example.com")
 
  47   def test_allow_account_creation_by_mx
 
  48     assert_not Acl.allow_account_creation?("192.168.1.1", :mx => "mail.example.com")
 
  49     create(:acl, :mx => "mail.example.com", :k => "allow_account_creation")
 
  50     assert Acl.allow_account_creation?("192.168.1.1", :mx => "mail.example.com")
 
  53   def test_no_note_comment_by_domain
 
  54     assert_not Acl.no_note_comment?("192.168.1.1", "example.com")
 
  55     assert_not Acl.no_note_comment?("192.168.1.1", "test.example.com")
 
  56     create(:acl, :domain => "example.com", :k => "no_note_comment")
 
  57     assert Acl.no_note_comment?("192.168.1.1", "example.com")
 
  58     assert Acl.no_note_comment?("192.168.1.1", "test.example.com")
 
  61   def test_no_trace_download_by_domain
 
  62     assert_not Acl.no_trace_download?("192.168.1.1", "example.com")
 
  63     assert_not Acl.no_trace_download?("192.168.1.1", "test.example.com")
 
  64     create(:acl, :domain => "example.com", :k => "no_trace_download")
 
  65     assert Acl.no_trace_download?("192.168.1.1", "example.com")
 
  66     assert Acl.no_trace_download?("192.168.1.1", "test.example.com")