summaryrefslogtreecommitdiffstats
path: root/ipatests/test_ipalib
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2014-06-02 17:31:48 +0200
committerMartin Kosek <mkosek@redhat.com>2014-06-04 10:10:08 +0200
commita2aca68f63c2e442dc9e103ae31ba0c67d606186 (patch)
tree40acc5a527c058ebc106e92ac7cfbc4cdba48c60 /ipatests/test_ipalib
parentc123d950844dac6088c5a0f31e618184943c0162 (diff)
downloadfreeipa-a2aca68f63c2e442dc9e103ae31ba0c67d606186.tar.gz
freeipa-a2aca68f63c2e442dc9e103ae31ba0c67d606186.tar.xz
freeipa-a2aca68f63c2e442dc9e103ae31ba0c67d606186.zip
ipalib.aci: Fix bugs in comparison
- regression in be6edef6e48224e74344f48d25876b09cd263674: The __ne__ special method was named incorrectly - regression in 1ea6def129aa459ecc3d176a3b6aebdf75de2eb7: The targetattr operator was never compared Include some new comparison tests. Reviewed-By: Martin Kosek <mkosek@redhat.com>
Diffstat (limited to 'ipatests/test_ipalib')
-rw-r--r--ipatests/test_ipalib/test_aci.py68
1 files changed, 67 insertions, 1 deletions
diff --git a/ipatests/test_ipalib/test_aci.py b/ipatests/test_ipalib/test_aci.py
index 6b8e64e71..40ba5e88c 100644
--- a/ipatests/test_ipalib/test_aci.py
+++ b/ipatests/test_ipalib/test_aci.py
@@ -62,7 +62,8 @@ def test_aci_parsing_7():
check_aci_parsing('(targetattr = "userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory")(version 3.0; acl "change_password"; allow (write) groupdn = "ldap:///cn=change_password,cn=taskgroups,dc=example,dc=com";)',
'(targetattr = "userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory")(version 3.0;acl "change_password";allow (write) groupdn = "ldap:///cn=change_password,cn=taskgroups,dc=example,dc=com";)')
-def test_aci_equality():
+
+def make_test_aci():
a = ACI()
a.name ="foo"
a.set_target_attr(['title','givenname'], "!=")
@@ -70,6 +71,11 @@ def test_aci_equality():
a.set_bindrule_operator("=")
a.set_bindrule_expression("\"ldap:///cn=foo,cn=groups,cn=accounts,dc=example,dc=com\"")
a.permissions = ['read','write','add']
+ return a
+
+
+def test_aci_equality():
+ a = make_test_aci()
print a
b = ACI()
@@ -83,6 +89,66 @@ def test_aci_equality():
assert a.isequal(b)
assert a == b
+ assert not a != b
+
+
+def check_aci_inequality(b):
+ a = make_test_aci()
+ print a
+ print b
+
+ assert not a.isequal(b)
+ assert not a == b
+ assert a != b
+
+
+def test_aci_inequality_targetattr_expression():
+ b = make_test_aci()
+ b.set_target_attr(['givenname'], "!=")
+ check_aci_inequality(b)
+
+
+def test_aci_inequality_targetattr_op():
+ b = make_test_aci()
+ b.set_target_attr(['givenname', 'title'], "=")
+ check_aci_inequality(b)
+
+
+def test_aci_inequality_targetfilter():
+ b = make_test_aci()
+ b.set_target_filter('(objectclass=*)', "=")
+ check_aci_inequality(b)
+
+
+def test_aci_inequality_target():
+ b = make_test_aci()
+ b.set_target("ldap:///cn=bar,cn=groups,cn=accounts,dc=example,dc=com", "=")
+ check_aci_inequality(b)
+
+
+def test_aci_inequality_bindrule_keyword():
+ b = make_test_aci()
+ b.set_bindrule_keyword("userdn")
+ check_aci_inequality(b)
+
+
+def test_aci_inequality_bindrule_op():
+ b = make_test_aci()
+ b.set_bindrule_operator("!=")
+ check_aci_inequality(b)
+
+
+def test_aci_inequality_bindrule_expression():
+ b = make_test_aci()
+ b.set_bindrule_expression("\"ldap:///cn=bar,cn=groups,cn=accounts,dc=example,dc=com\"")
+ check_aci_inequality(b)
+
+
+def test_aci_inequality_permissions():
+ b = make_test_aci()
+ b.permissions = ['read', 'search', 'compare']
+ check_aci_inequality(b)
+
def test_aci_parsing_8():
check_aci_parsing('(targetattr != "userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory || krbMKey")(version 3.0; acl "Enable Anonymous access"; allow (read, search, compare) userdn = "ldap:///anyone";)',