X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/98184dfb9cacc74ac5bcb91a41a2d5804b3f4f7d..5e3cda345a144014148db5e3543f99ae9bd08b5e:/test/models/acl_test.rb diff --git a/test/models/acl_test.rb b/test/models/acl_test.rb index 9d8431912..6bd87729c 100644 --- a/test/models/acl_test.rb +++ b/test/models/acl_test.rb @@ -1,8 +1,66 @@ -require 'test_helper' +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