diff options
author | Petr Viktorin <pviktori@redhat.com> | 2014-06-02 17:31:48 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-06-04 10:10:08 +0200 |
commit | a2aca68f63c2e442dc9e103ae31ba0c67d606186 (patch) | |
tree | 40acc5a527c058ebc106e92ac7cfbc4cdba48c60 /ipatests | |
parent | c123d950844dac6088c5a0f31e618184943c0162 (diff) | |
download | freeipa-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')
-rw-r--r-- | ipatests/test_ipalib/test_aci.py | 68 |
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";)', |