]> granicus.if.org Git - ejabberd/commitdiff
Variant for user ACL test
authorMickael Remond <mremond@process-one.net>
Wed, 6 Apr 2016 12:48:43 +0000 (14:48 +0200)
committerMickael Remond <mremond@process-one.net>
Wed, 6 Apr 2016 16:13:08 +0000 (18:13 +0200)
test/acl_test.exs

index 0aca9bce5abfa7a50e9aef872a472a8b176fb45d..663d3bb63e111c81400d3eca47f5734e8c2d12c2 100644 (file)
@@ -30,6 +30,10 @@ defmodule ACLTest do
     :ok = :acl.start
   end
 
+  setup do
+    :acl.clear
+  end
+
   test "simple user access rule matches" do
     :acl.add(:global, :basic_acl_1, {:user, "test1"})
     :acl.add_access(:global, :basic_rule_1, [{:basic_acl_1, :allow}])
@@ -38,5 +42,12 @@ defmodule ACLTest do
     # We match on user part only for local domain. As an implicit rule remote domain are not matched
     assert :acl.match_rule(:global, :basic_rule_1, :jid.from_string("test1@otherdomain")) == :deny
     assert :acl.match_rule(:global, :basic_rule_1, :jid.from_string("test11@domain1")) == :deny
+
+    :acl.add(:global, :basic_acl_2, {:user, {"test2", "domain1"}})
+    :acl.add_access(:global, :basic_rule_2, [{:basic_acl_2, :allow}])
+    assert :acl.match_rule(:global, :basic_rule_2, :jid.from_string("test2@domain1")) == :allow
+    assert :acl.match_rule(:global, :basic_rule_2, :jid.from_string("test2@domain2")) == :deny
+    assert :acl.match_rule(:global, :basic_rule_2, :jid.from_string("test2@otherdomain")) == :deny
   end
+
 end