1 # frozen_string_literal: true
5 class AclTest < ActiveSupport::TestCase
8 assert_predicate acl, :valid?
10 assert_not_predicate acl, :valid?
13 def test_address_must_be_valid
14 acl = build(:acl, :address => "192.0.2.0/24")
15 assert_predicate acl, :valid?
17 acl = build(:acl, :address => "")
18 assert_predicate acl, :valid?
19 assert_nil acl.address
21 acl = build(:acl, :address => "not-an-address")
22 assert_not_predicate acl, :valid?
23 assert_includes acl.errors[:address], "is invalid"
26 def test_no_account_creation_by_subnet
27 assert_not Acl.no_account_creation?("192.168.1.1")
28 create(:acl, :address => "192.168.0.0/16", :k => "no_account_creation")
29 assert Acl.no_account_creation?("192.168.1.1")
32 def test_no_account_creation_by_domain
33 assert_not Acl.no_account_creation?("192.168.1.1", :domain => "example.com")
34 assert_not Acl.no_account_creation?("192.168.1.1", :domain => "test.example.com")
35 create(:acl, :domain => "example.com", :k => "no_account_creation")
36 assert Acl.no_account_creation?("192.168.1.1", :domain => "example.com")
37 assert Acl.no_account_creation?("192.168.1.1", :domain => "test.example.com")
40 def test_no_account_creation_by_mx
41 assert_not Acl.no_account_creation?("192.168.1.1", :mx => "mail.example.com")
42 create(:acl, :mx => "mail.example.com", :k => "no_account_creation")
43 assert Acl.no_account_creation?("192.168.1.1", :mx => "mail.example.com")
46 def test_allow_account_creation_by_subnet
47 assert_not Acl.allow_account_creation?("192.168.1.1")
48 create(:acl, :address => "192.168.0.0/16", :k => "allow_account_creation")
49 assert Acl.allow_account_creation?("192.168.1.1")
52 def test_allow_account_creation_by_domain
53 assert_not Acl.allow_account_creation?("192.168.1.1", :domain => "example.com")
54 assert_not Acl.allow_account_creation?("192.168.1.1", :domain => "test.example.com")
55 create(:acl, :domain => "example.com", :k => "allow_account_creation")
56 assert Acl.allow_account_creation?("192.168.1.1", :domain => "example.com")
57 assert Acl.allow_account_creation?("192.168.1.1", :domain => "test.example.com")
60 def test_allow_account_creation_by_mx
61 assert_not Acl.allow_account_creation?("192.168.1.1", :mx => "mail.example.com")
62 create(:acl, :mx => "mail.example.com", :k => "allow_account_creation")
63 assert Acl.allow_account_creation?("192.168.1.1", :mx => "mail.example.com")
66 def test_no_note_comment_by_domain
67 assert_not Acl.no_note_comment?("192.168.1.1", "example.com")
68 assert_not Acl.no_note_comment?("192.168.1.1", "test.example.com")
69 create(:acl, :domain => "example.com", :k => "no_note_comment")
70 assert Acl.no_note_comment?("192.168.1.1", "example.com")
71 assert Acl.no_note_comment?("192.168.1.1", "test.example.com")
74 def test_no_trace_download_by_domain
75 assert_not Acl.no_trace_download?("192.168.1.1", "example.com")
76 assert_not Acl.no_trace_download?("192.168.1.1", "test.example.com")
77 create(:acl, :domain => "example.com", :k => "no_trace_download")
78 assert Acl.no_trace_download?("192.168.1.1", "example.com")
79 assert Acl.no_trace_download?("192.168.1.1", "test.example.com")