]> git.openstreetmap.org Git - rails.git/blobdiff - test/models/acl_test.rb
Merge remote-tracking branch 'upstream/pull/4407'
[rails.git] / test / models / acl_test.rb
index 189f92677019bae19f1f7c557563b64f243ae668..33601df2b60fbce8d36c521b30727cc2f47536ee 100644 (file)
@@ -3,20 +3,41 @@ require "test_helper"
 class AclTest < ActiveSupport::TestCase
   def test_k_required
     acl = create(:acl)
-    assert acl.valid?
+    assert_predicate acl, :valid?
     acl.k = nil
-    assert !acl.valid?
+    assert_not acl.valid?
   end
 
   def test_no_account_creation_by_subnet
-    assert !Acl.no_account_creation("192.168.1.1")
+    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 !Acl.no_account_creation("192.168.1.1", "example.com")
+    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", "example.com")
+    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_allowed_account_creation
+    assert_not Acl.allow_account_creation("192.168.1.1", :domain => "example.com", :mx => "mail.example.com")
+    create(:acl, :address => "192.168.1.1", :domain => "example.com", :mx => "mail.example.com", :k => "allow_account_creation")
+
+    assert_not Acl.allow_account_creation("192.168.1.2")
+    assert Acl.allow_account_creation("192.168.1.1")
+
+    assert_not Acl.allow_account_creation("192.168.1.2", :domain => "example.com", :mx => "mail.example.com")
+    assert_not Acl.allow_account_creation("192.168.1.1", :domain => "example1.com", :mx => "mail.example.com")
+    assert_not Acl.allow_account_creation("192.168.1.1", :domain => "example.com", :mx => "mail1.example.com")
+    assert Acl.allow_account_creation("192.168.1.1", :domain => "example.com", :mx => "mail.example.com")
   end
 end