X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/9a9b045372a6f48420a9a6dacfde52c34ab7abce..2f5ec61c1d8f117c408a8d298865e26514e8fd03:/test/models/acl_test.rb diff --git a/test/models/acl_test.rb b/test/models/acl_test.rb index 4022b8adb..6bd87729c 100644 --- a/test/models/acl_test.rb +++ b/test/models/acl_test.rb @@ -1,8 +1,66 @@ require "test_helper" class AclTest < ActiveSupport::TestCase - # Replace this with your real tests. - def test_truth - assert true + def test_k_required + acl = create(:acl) + assert_predicate acl, :valid? + acl.k = nil + assert_not_predicate acl, :valid? + end + + def test_no_account_creation_by_subnet + assert_not Acl.no_account_creation("192.168.1.1") + create(:acl, :address => "192.168.0.0/16", :k => "no_account_creation") + assert Acl.no_account_creation("192.168.1.1") + end + + def test_no_account_creation_by_domain + assert_not Acl.no_account_creation("192.168.1.1", :domain => "example.com") + assert_not Acl.no_account_creation("192.168.1.1", :domain => "test.example.com") + create(:acl, :domain => "example.com", :k => "no_account_creation") + assert Acl.no_account_creation("192.168.1.1", :domain => "example.com") + assert Acl.no_account_creation("192.168.1.1", :domain => "test.example.com") + end + + def test_no_account_creation_by_mx + assert_not Acl.no_account_creation("192.168.1.1", :mx => "mail.example.com") + create(:acl, :mx => "mail.example.com", :k => "no_account_creation") + assert Acl.no_account_creation("192.168.1.1", :mx => "mail.example.com") + end + + def test_allow_account_creation_by_subnet + assert_not Acl.allow_account_creation("192.168.1.1") + create(:acl, :address => "192.168.0.0/16", :k => "allow_account_creation") + assert Acl.allow_account_creation("192.168.1.1") + end + + def test_allow_account_creation_by_domain + assert_not Acl.allow_account_creation("192.168.1.1", :domain => "example.com") + assert_not Acl.allow_account_creation("192.168.1.1", :domain => "test.example.com") + create(:acl, :domain => "example.com", :k => "allow_account_creation") + assert Acl.allow_account_creation("192.168.1.1", :domain => "example.com") + assert Acl.allow_account_creation("192.168.1.1", :domain => "test.example.com") + end + + def test_allow_account_creation_by_mx + assert_not Acl.allow_account_creation("192.168.1.1", :mx => "mail.example.com") + create(:acl, :mx => "mail.example.com", :k => "allow_account_creation") + assert Acl.allow_account_creation("192.168.1.1", :mx => "mail.example.com") + end + + def test_no_note_comment_by_domain + assert_not Acl.no_note_comment("192.168.1.1", "example.com") + assert_not Acl.no_note_comment("192.168.1.1", "test.example.com") + create(:acl, :domain => "example.com", :k => "no_note_comment") + assert Acl.no_note_comment("192.168.1.1", "example.com") + assert Acl.no_note_comment("192.168.1.1", "test.example.com") + end + + def test_no_trace_download_by_domain + assert_not Acl.no_trace_download("192.168.1.1", "example.com") + assert_not Acl.no_trace_download("192.168.1.1", "test.example.com") + create(:acl, :domain => "example.com", :k => "no_trace_download") + assert Acl.no_trace_download("192.168.1.1", "example.com") + assert Acl.no_trace_download("192.168.1.1", "test.example.com") end end