mirror of
https://github.com/samba-team/samba.git
synced 2025-08-03 04:22:09 +03:00
dsdb python tests: convert 'except X, (tuple)' to 'except X as e'
In addition to converting the except line another line is also added for each except to extract the tuple contents. Signed-off-by: Noel Power <noel.power@suse.com> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
committed by
Douglas Bagnall
parent
9f61bf115e
commit
0c31d38794
@ -199,7 +199,8 @@ class AclAddTests(AclTests):
|
|||||||
self.ldb_user.newuser(self.test_user1, self.user_pass, userou=self.ou2)
|
self.ldb_user.newuser(self.test_user1, self.user_pass, userou=self.ou2)
|
||||||
self.ldb_user.newgroup("test_add_group1", groupou="OU=test_add_ou2,OU=test_add_ou1",
|
self.ldb_user.newgroup("test_add_group1", groupou="OU=test_add_ou2,OU=test_add_ou1",
|
||||||
grouptype=samba.dsdb.GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP)
|
grouptype=samba.dsdb.GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP)
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -223,7 +224,8 @@ class AclAddTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb_user.newgroup("test_add_group1", groupou="OU=test_add_ou2,OU=test_add_ou1",
|
self.ldb_user.newgroup("test_add_group1", groupou="OU=test_add_ou2,OU=test_add_ou1",
|
||||||
grouptype=samba.dsdb.GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP)
|
grouptype=samba.dsdb.GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP)
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -259,7 +261,8 @@ class AclAddTests(AclTests):
|
|||||||
anonymous = SamDB(url=ldaphost, credentials=self.creds_tmp, lp=lp)
|
anonymous = SamDB(url=ldaphost, credentials=self.creds_tmp, lp=lp)
|
||||||
try:
|
try:
|
||||||
anonymous.newuser("test_add_anonymous", self.user_pass)
|
anonymous.newuser("test_add_anonymous", self.user_pass)
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -370,7 +373,8 @@ replace: url
|
|||||||
url: www.samba.org"""
|
url: www.samba.org"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -398,7 +402,8 @@ replace: url
|
|||||||
url: www.samba.org"""
|
url: www.samba.org"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e4:
|
||||||
|
(num, _) = e4.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -413,7 +418,8 @@ replace: displayName
|
|||||||
displayName: test_changed"""
|
displayName: test_changed"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e5:
|
||||||
|
(num, _) = e5.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -440,7 +446,8 @@ replace: url
|
|||||||
url: www.samba.org"""
|
url: www.samba.org"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e6:
|
||||||
|
(num, _) = e6.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -459,7 +466,8 @@ replace: url
|
|||||||
url: www.samba.org"""
|
url: www.samba.org"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e7:
|
||||||
|
(num, _) = e7.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -477,7 +485,8 @@ replace: url
|
|||||||
url: www.samba.org"""
|
url: www.samba.org"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e8:
|
||||||
|
(num, _) = e8.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -495,7 +504,8 @@ replace: url
|
|||||||
url: www.samba.org"""
|
url: www.samba.org"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e9:
|
||||||
|
(num, _) = e9.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -511,7 +521,8 @@ add: adminDescription
|
|||||||
adminDescription: blah blah blah"""
|
adminDescription: blah blah blah"""
|
||||||
try:
|
try:
|
||||||
self.ldb_user.modify_ldif(ldif)
|
self.ldb_user.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e10:
|
||||||
|
(num, _) = e10.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -535,7 +546,8 @@ Member: """ + self.get_user_dn(self.user_with_sm)
|
|||||||
#the user has no rights granted, this should fail
|
#the user has no rights granted, this should fail
|
||||||
try:
|
try:
|
||||||
self.ldb_user2.modify_ldif(ldif)
|
self.ldb_user2.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e11:
|
||||||
|
(num, _) = e11.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This 'modify' operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -557,7 +569,8 @@ add: Member
|
|||||||
Member: CN=test_modify_user2,CN=Users,""" + self.base_dn
|
Member: CN=test_modify_user2,CN=Users,""" + self.base_dn
|
||||||
try:
|
try:
|
||||||
self.ldb_user2.modify_ldif(ldif)
|
self.ldb_user2.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e12:
|
||||||
|
(num, _) = e12.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -577,7 +590,8 @@ Member: CN=test_modify_user2,CN=Users,""" + self.base_dn
|
|||||||
self.sd_utils.dacl_add_ace("CN=test_modify_group2,CN=Users," + self.base_dn, mod)
|
self.sd_utils.dacl_add_ace("CN=test_modify_group2,CN=Users," + self.base_dn, mod)
|
||||||
try:
|
try:
|
||||||
self.ldb_user2.modify_ldif(ldif)
|
self.ldb_user2.modify_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e13:
|
||||||
|
(num, _) = e13.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -624,7 +638,8 @@ Member: CN=test_modify_user2,CN=Users,""" + self.base_dn
|
|||||||
"description")
|
"description")
|
||||||
try:
|
try:
|
||||||
anonymous.modify(m)
|
anonymous.modify(m)
|
||||||
except LdbError, (num, _):
|
except LdbError as e14:
|
||||||
|
(num, _) = e14.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -734,20 +749,23 @@ class AclSearchTests(AclTests):
|
|||||||
anonymous = SamDB(url=ldaphost, credentials=self.creds_tmp, lp=lp)
|
anonymous = SamDB(url=ldaphost, credentials=self.creds_tmp, lp=lp)
|
||||||
try:
|
try:
|
||||||
res = anonymous.search("", expression="(objectClass=*)", scope=SCOPE_SUBTREE)
|
res = anonymous.search("", expression="(objectClass=*)", scope=SCOPE_SUBTREE)
|
||||||
except LdbError, (num, _):
|
except LdbError as e15:
|
||||||
|
(num, _) = e15.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
try:
|
try:
|
||||||
res = anonymous.search(self.base_dn, expression="(objectClass=*)", scope=SCOPE_SUBTREE)
|
res = anonymous.search(self.base_dn, expression="(objectClass=*)", scope=SCOPE_SUBTREE)
|
||||||
except LdbError, (num, _):
|
except LdbError as e16:
|
||||||
|
(num, _) = e16.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
try:
|
try:
|
||||||
res = anonymous.search(anonymous.get_config_basedn(), expression="(objectClass=*)",
|
res = anonymous.search(anonymous.get_config_basedn(), expression="(objectClass=*)",
|
||||||
scope=SCOPE_SUBTREE)
|
scope=SCOPE_SUBTREE)
|
||||||
except LdbError, (num, _):
|
except LdbError as e17:
|
||||||
|
(num, _) = e17.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -857,7 +875,8 @@ class AclSearchTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb_user3.search("OU=ou3,OU=ou2,OU=ou1," + self.base_dn, expression="(objectClass=*)",
|
self.ldb_user3.search("OU=ou3,OU=ou2,OU=ou1," + self.base_dn, expression="(objectClass=*)",
|
||||||
scope=SCOPE_BASE)
|
scope=SCOPE_BASE)
|
||||||
except LdbError, (num, _):
|
except LdbError as e18:
|
||||||
|
(num, _) = e18.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1023,7 +1042,8 @@ class AclDeleteTests(AclTests):
|
|||||||
# Here delete User object should ALWAYS through exception
|
# Here delete User object should ALWAYS through exception
|
||||||
try:
|
try:
|
||||||
self.ldb_user.delete(self.get_user_dn("test_delete_user1"))
|
self.ldb_user.delete(self.get_user_dn("test_delete_user1"))
|
||||||
except LdbError, (num, _):
|
except LdbError as e19:
|
||||||
|
(num, _) = e19.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1061,7 +1081,8 @@ class AclDeleteTests(AclTests):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
anonymous.delete(self.get_user_dn("test_anonymous"))
|
anonymous.delete(self.get_user_dn("test_anonymous"))
|
||||||
except LdbError, (num, _):
|
except LdbError as e20:
|
||||||
|
(num, _) = e20.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1114,7 +1135,8 @@ class AclRenameTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb_user.rename("CN=%s,%s,%s" % (self.testuser1, self.ou1, self.base_dn), \
|
self.ldb_user.rename("CN=%s,%s,%s" % (self.testuser1, self.ou1, self.base_dn), \
|
||||||
"CN=%s,%s,%s" % (self.testuser5, self.ou1, self.base_dn))
|
"CN=%s,%s,%s" % (self.testuser5, self.ou1, self.base_dn))
|
||||||
except LdbError, (num, _):
|
except LdbError as e21:
|
||||||
|
(num, _) = e21.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1271,7 +1293,8 @@ class AclRenameTests(AclTests):
|
|||||||
self.sd_utils.dacl_add_ace(ou2_dn, mod)
|
self.sd_utils.dacl_add_ace(ou2_dn, mod)
|
||||||
try:
|
try:
|
||||||
self.ldb_user.rename(ou2_dn, ou3_dn)
|
self.ldb_user.rename(ou2_dn, ou3_dn)
|
||||||
except LdbError, (num, _):
|
except LdbError as e22:
|
||||||
|
(num, _) = e22.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
# This rename operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
# This rename operation should always throw ERR_INSUFFICIENT_ACCESS_RIGHTS
|
||||||
@ -1302,7 +1325,8 @@ class AclRenameTests(AclTests):
|
|||||||
# Rename 'User object' having SD and CC to AU
|
# Rename 'User object' having SD and CC to AU
|
||||||
try:
|
try:
|
||||||
self.ldb_admin.rename(user_dn, rename_user_dn)
|
self.ldb_admin.rename(user_dn, rename_user_dn)
|
||||||
except LdbError, (num, _):
|
except LdbError as e23:
|
||||||
|
(num, _) = e23.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1362,7 +1386,8 @@ unicodePwd:: """ + base64.b64encode("\"samba123@\"".encode('utf-16-le')) + """
|
|||||||
add: unicodePwd
|
add: unicodePwd
|
||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e24:
|
||||||
|
(num, _) = e24.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
else:
|
else:
|
||||||
# for some reason we get constraint violation instead of insufficient access error
|
# for some reason we get constraint violation instead of insufficient access error
|
||||||
@ -1388,7 +1413,8 @@ unicodePwd:: """ + base64.b64encode("\"samba123@\"".encode('utf-16-le')) + """
|
|||||||
add: unicodePwd
|
add: unicodePwd
|
||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e25:
|
||||||
|
(num, _) = e25.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
else:
|
else:
|
||||||
# for some reason we get constraint violation instead of insufficient access error
|
# for some reason we get constraint violation instead of insufficient access error
|
||||||
@ -1427,7 +1453,8 @@ dBCSPwd: XXXXXXXXXXXXXXXX
|
|||||||
add: dBCSPwd
|
add: dBCSPwd
|
||||||
dBCSPwd: YYYYYYYYYYYYYYYY
|
dBCSPwd: YYYYYYYYYYYYYYYY
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e26:
|
||||||
|
(num, _) = e26.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1445,7 +1472,8 @@ userPassword: thatsAcomplPASS1
|
|||||||
add: userPassword
|
add: userPassword
|
||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e27:
|
||||||
|
(num, _) = e27.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1463,7 +1491,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
# This fails on Windows 2000 domain level with constraint violation
|
# This fails on Windows 2000 domain level with constraint violation
|
||||||
except LdbError, (num, _):
|
except LdbError as e28:
|
||||||
|
(num, _) = e28.args
|
||||||
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
||||||
num == ERR_UNWILLING_TO_PERFORM)
|
num == ERR_UNWILLING_TO_PERFORM)
|
||||||
else:
|
else:
|
||||||
@ -1504,7 +1533,8 @@ changetype: modify
|
|||||||
replace: unicodePwd
|
replace: unicodePwd
|
||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS1\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS1\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e29:
|
||||||
|
(num, _) = e29.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1526,7 +1556,8 @@ changetype: modify
|
|||||||
replace: userPassword
|
replace: userPassword
|
||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e30:
|
||||||
|
(num, _) = e30.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1540,7 +1571,8 @@ replace: userPassword
|
|||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
# This fails on Windows 2000 domain level with constraint violation
|
# This fails on Windows 2000 domain level with constraint violation
|
||||||
except LdbError, (num, _):
|
except LdbError as e31:
|
||||||
|
(num, _) = e31.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
def test_reset_password3(self):
|
def test_reset_password3(self):
|
||||||
@ -1554,7 +1586,8 @@ changetype: modify
|
|||||||
replace: unicodePwd
|
replace: unicodePwd
|
||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS1\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS1\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e32:
|
||||||
|
(num, _) = e32.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1570,7 +1603,8 @@ changetype: modify
|
|||||||
replace: userPassword
|
replace: userPassword
|
||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
except LdbError, (num, _):
|
except LdbError as e33:
|
||||||
|
(num, _) = e33.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -1598,7 +1632,8 @@ replace: userPassword
|
|||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
# This fails on Windows 2000 domain level with constraint violation
|
# This fails on Windows 2000 domain level with constraint violation
|
||||||
except LdbError, (num, _):
|
except LdbError as e34:
|
||||||
|
(num, _) = e34.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
class AclExtendedTests(AclTests):
|
class AclExtendedTests(AclTests):
|
||||||
@ -1756,7 +1791,8 @@ class AclUndeleteTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.undelete_deleted(self.deleted_dn1, self.testuser1_dn)
|
self.undelete_deleted(self.deleted_dn1, self.testuser1_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e35:
|
||||||
|
(num, _) = e35.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
# seems that permissions on isDeleted and distinguishedName are irrelevant
|
# seems that permissions on isDeleted and distinguishedName are irrelevant
|
||||||
@ -1772,7 +1808,8 @@ class AclUndeleteTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.undelete_deleted_with_mod(self.deleted_dn3, self.testuser3_dn)
|
self.undelete_deleted_with_mod(self.deleted_dn3, self.testuser3_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e36:
|
||||||
|
(num, _) = e36.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
# undelete in an ou, in which we have no right to create children
|
# undelete in an ou, in which we have no right to create children
|
||||||
@ -1781,7 +1818,8 @@ class AclUndeleteTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.undelete_deleted(self.deleted_dn4, self.new_dn_ou)
|
self.undelete_deleted(self.deleted_dn4, self.new_dn_ou)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e37:
|
||||||
|
(num, _) = e37.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
# delete is not required
|
# delete is not required
|
||||||
@ -1795,7 +1833,8 @@ class AclUndeleteTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.undelete_deleted(self.deleted_dn4, self.testuser4_dn)
|
self.undelete_deleted(self.deleted_dn4, self.testuser4_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e38:
|
||||||
|
(num, _) = e38.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
class AclSPNTests(AclTests):
|
class AclSPNTests(AclTests):
|
||||||
@ -1905,7 +1944,8 @@ class AclSPNTests(AclTests):
|
|||||||
netbiosdomain = self.dcctx.get_domain_name()
|
netbiosdomain = self.dcctx.get_domain_name()
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, ctx.acct_dn, "HOST/%s/%s" % (ctx.myname, netbiosdomain))
|
self.replace_spn(self.ldb_user1, ctx.acct_dn, "HOST/%s/%s" % (ctx.myname, netbiosdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e39:
|
||||||
|
(num, _) = e39.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
mod = "(OA;;SW;f3a64788-5306-11d1-a9c5-0000f80367c1;;%s)" % str(self.user_sid1)
|
mod = "(OA;;SW;f3a64788-5306-11d1-a9c5-0000f80367c1;;%s)" % str(self.user_sid1)
|
||||||
@ -1942,26 +1982,31 @@ class AclSPNTests(AclTests):
|
|||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, ctx.acct_dn, "ldap/%s.%s/ForestDnsZones.%s" %
|
self.replace_spn(self.ldb_user1, ctx.acct_dn, "ldap/%s.%s/ForestDnsZones.%s" %
|
||||||
(ctx.myname, ctx.dnsdomain, ctx.dnsdomain))
|
(ctx.myname, ctx.dnsdomain, ctx.dnsdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e40:
|
||||||
|
(num, _) = e40.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, ctx.acct_dn, "ldap/%s.%s/DomainDnsZones.%s" %
|
self.replace_spn(self.ldb_user1, ctx.acct_dn, "ldap/%s.%s/DomainDnsZones.%s" %
|
||||||
(ctx.myname, ctx.dnsdomain, ctx.dnsdomain))
|
(ctx.myname, ctx.dnsdomain, ctx.dnsdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e41:
|
||||||
|
(num, _) = e41.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, ctx.acct_dn, "nosuchservice/%s/%s" % ("abcd", "abcd"))
|
self.replace_spn(self.ldb_user1, ctx.acct_dn, "nosuchservice/%s/%s" % ("abcd", "abcd"))
|
||||||
except LdbError, (num, _):
|
except LdbError as e42:
|
||||||
|
(num, _) = e42.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, ctx.acct_dn, "GC/%s.%s/%s" %
|
self.replace_spn(self.ldb_user1, ctx.acct_dn, "GC/%s.%s/%s" %
|
||||||
(ctx.myname, ctx.dnsdomain, netbiosdomain))
|
(ctx.myname, ctx.dnsdomain, netbiosdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e43:
|
||||||
|
(num, _) = e43.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, ctx.acct_dn, "E3514235-4B06-11D1-AB04-00C04FC2DCD2/%s/%s" %
|
self.replace_spn(self.ldb_user1, ctx.acct_dn, "E3514235-4B06-11D1-AB04-00C04FC2DCD2/%s/%s" %
|
||||||
(ctx.ntds_guid, ctx.dnsdomain))
|
(ctx.ntds_guid, ctx.dnsdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e44:
|
||||||
|
(num, _) = e44.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
def test_computer_spn(self):
|
def test_computer_spn(self):
|
||||||
@ -2005,7 +2050,8 @@ class AclSPNTests(AclTests):
|
|||||||
#user has neither WP nor Validated-SPN, access denied expected
|
#user has neither WP nor Validated-SPN, access denied expected
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s/%s" % (self.computername, netbiosdomain))
|
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s/%s" % (self.computername, netbiosdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e45:
|
||||||
|
(num, _) = e45.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
mod = "(OA;;SW;f3a64788-5306-11d1-a9c5-0000f80367c1;;%s)" % str(self.user_sid1)
|
mod = "(OA;;SW;f3a64788-5306-11d1-a9c5-0000f80367c1;;%s)" % str(self.user_sid1)
|
||||||
@ -2022,36 +2068,43 @@ class AclSPNTests(AclTests):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s/%s" % (self.computername, netbiosdomain))
|
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s/%s" % (self.computername, netbiosdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e46:
|
||||||
|
(num, _) = e46.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s.%s/%s" %
|
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s.%s/%s" %
|
||||||
(self.computername, self.dcctx.dnsdomain, netbiosdomain))
|
(self.computername, self.dcctx.dnsdomain, netbiosdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e47:
|
||||||
|
(num, _) = e47.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s/%s" %
|
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s/%s" %
|
||||||
(self.computername, self.dcctx.dnsdomain))
|
(self.computername, self.dcctx.dnsdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e48:
|
||||||
|
(num, _) = e48.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s.%s/%s" %
|
self.replace_spn(self.ldb_user1, self.computerdn, "HOST/%s.%s/%s" %
|
||||||
(self.computername, self.dcctx.dnsdomain, self.dcctx.dnsdomain))
|
(self.computername, self.dcctx.dnsdomain, self.dcctx.dnsdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e49:
|
||||||
|
(num, _) = e49.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "GC/%s.%s/%s" %
|
self.replace_spn(self.ldb_user1, self.computerdn, "GC/%s.%s/%s" %
|
||||||
(self.computername, self.dcctx.dnsdomain, self.dcctx.dnsforest))
|
(self.computername, self.dcctx.dnsdomain, self.dcctx.dnsforest))
|
||||||
except LdbError, (num, _):
|
except LdbError as e50:
|
||||||
|
(num, _) = e50.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "ldap/%s/%s" % (self.computername, netbiosdomain))
|
self.replace_spn(self.ldb_user1, self.computerdn, "ldap/%s/%s" % (self.computername, netbiosdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e51:
|
||||||
|
(num, _) = e51.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
try:
|
try:
|
||||||
self.replace_spn(self.ldb_user1, self.computerdn, "ldap/%s.%s/ForestDnsZones.%s" %
|
self.replace_spn(self.ldb_user1, self.computerdn, "ldap/%s.%s/ForestDnsZones.%s" %
|
||||||
(self.computername, self.dcctx.dnsdomain, self.dcctx.dnsdomain))
|
(self.computername, self.dcctx.dnsdomain, self.dcctx.dnsdomain))
|
||||||
except LdbError, (num, _):
|
except LdbError as e52:
|
||||||
|
(num, _) = e52.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
def test_spn_rwdc(self):
|
def test_spn_rwdc(self):
|
||||||
|
@ -216,7 +216,8 @@ class UserTests(samba.tests.TestCase):
|
|||||||
self.ldb.search(dn,
|
self.ldb.search(dn,
|
||||||
scope=SCOPE_BASE,
|
scope=SCOPE_BASE,
|
||||||
attrs=['cn'])
|
attrs=['cn'])
|
||||||
except LdbError as (num, msg):
|
except LdbError as e:
|
||||||
|
(num, msg) = e.args
|
||||||
if num != 32:
|
if num != 32:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
@ -114,7 +114,8 @@ class BasicDeleteTests(BaseDeleteTests):
|
|||||||
try:
|
try:
|
||||||
ldb.delete(dn)
|
ldb.delete(dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
def test_delete_protection(self):
|
def test_delete_protection(self):
|
||||||
@ -139,7 +140,8 @@ class BasicDeleteTests(BaseDeleteTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb.delete("cn=ldaptestcontainer," + self.base_dn)
|
self.ldb.delete("cn=ldaptestcontainer," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
||||||
|
|
||||||
self.ldb.delete("cn=ldaptestcontainer," + self.base_dn, ["tree_delete:1"])
|
self.ldb.delete("cn=ldaptestcontainer," + self.base_dn, ["tree_delete:1"])
|
||||||
@ -148,19 +150,22 @@ class BasicDeleteTests(BaseDeleteTests):
|
|||||||
res = self.ldb.search("cn=ldaptestcontainer," + self.base_dn,
|
res = self.ldb.search("cn=ldaptestcontainer," + self.base_dn,
|
||||||
scope=SCOPE_BASE, attrs=[])
|
scope=SCOPE_BASE, attrs=[])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
try:
|
try:
|
||||||
res = self.ldb.search("cn=entry1,cn=ldaptestcontainer," + self.base_dn,
|
res = self.ldb.search("cn=entry1,cn=ldaptestcontainer," + self.base_dn,
|
||||||
scope=SCOPE_BASE, attrs=[])
|
scope=SCOPE_BASE, attrs=[])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
try:
|
try:
|
||||||
res = self.ldb.search("cn=entry2,cn=ldaptestcontainer," + self.base_dn,
|
res = self.ldb.search("cn=entry2,cn=ldaptestcontainer," + self.base_dn,
|
||||||
scope=SCOPE_BASE, attrs=[])
|
scope=SCOPE_BASE, attrs=[])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e4:
|
||||||
|
(num, _) = e4.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=entry1,cn=ldaptestcontainer," + self.base_dn)
|
delete_force(self.ldb, "cn=entry1,cn=ldaptestcontainer," + self.base_dn)
|
||||||
@ -177,7 +182,8 @@ class BasicDeleteTests(BaseDeleteTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb.delete(res[0]["dsServiceName"][0])
|
self.ldb.delete(res[0]["dsServiceName"][0])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e5:
|
||||||
|
(num, _) = e5.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
res = self.ldb.search(self.base_dn, attrs=["rIDSetReferences"],
|
res = self.ldb.search(self.base_dn, attrs=["rIDSetReferences"],
|
||||||
@ -188,12 +194,14 @@ class BasicDeleteTests(BaseDeleteTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb.delete(res[0]["rIDSetReferences"][0])
|
self.ldb.delete(res[0]["rIDSetReferences"][0])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e6:
|
||||||
|
(num, _) = e6.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
try:
|
try:
|
||||||
self.ldb.delete(res[0]["rIDSetReferences"][0], ["tree_delete:1"])
|
self.ldb.delete(res[0]["rIDSetReferences"][0], ["tree_delete:1"])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e7:
|
||||||
|
(num, _) = e7.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Deletes failing since three main crossRef objects are protected
|
# Deletes failing since three main crossRef objects are protected
|
||||||
@ -201,23 +209,27 @@ class BasicDeleteTests(BaseDeleteTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb.delete("cn=Enterprise Schema,cn=Partitions," + self.configuration_dn)
|
self.ldb.delete("cn=Enterprise Schema,cn=Partitions," + self.configuration_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e8:
|
||||||
|
(num, _) = e8.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
try:
|
try:
|
||||||
self.ldb.delete("cn=Enterprise Schema,cn=Partitions," + self.configuration_dn, ["tree_delete:1"])
|
self.ldb.delete("cn=Enterprise Schema,cn=Partitions," + self.configuration_dn, ["tree_delete:1"])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e9:
|
||||||
|
(num, _) = e9.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.ldb.delete("cn=Enterprise Configuration,cn=Partitions," + self.configuration_dn)
|
self.ldb.delete("cn=Enterprise Configuration,cn=Partitions," + self.configuration_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e10:
|
||||||
|
(num, _) = e10.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
||||||
try:
|
try:
|
||||||
self.ldb.delete("cn=Enterprise Configuration,cn=Partitions," + self.configuration_dn, ["tree_delete:1"])
|
self.ldb.delete("cn=Enterprise Configuration,cn=Partitions," + self.configuration_dn, ["tree_delete:1"])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e11:
|
||||||
|
(num, _) = e11.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
||||||
|
|
||||||
res = self.ldb.search("cn=Partitions," + self.configuration_dn, attrs=[],
|
res = self.ldb.search("cn=Partitions," + self.configuration_dn, attrs=[],
|
||||||
@ -227,26 +239,30 @@ class BasicDeleteTests(BaseDeleteTests):
|
|||||||
try:
|
try:
|
||||||
self.ldb.delete(res[0].dn)
|
self.ldb.delete(res[0].dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e12:
|
||||||
|
(num, _) = e12.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
||||||
try:
|
try:
|
||||||
self.ldb.delete(res[0].dn, ["tree_delete:1"])
|
self.ldb.delete(res[0].dn, ["tree_delete:1"])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e13:
|
||||||
|
(num, _) = e13.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
||||||
|
|
||||||
# Delete failing since "SYSTEM_FLAG_DISALLOW_DELETE"
|
# Delete failing since "SYSTEM_FLAG_DISALLOW_DELETE"
|
||||||
try:
|
try:
|
||||||
self.ldb.delete("CN=Users," + self.base_dn)
|
self.ldb.delete("CN=Users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e14:
|
||||||
|
(num, _) = e14.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Tree-delete failing since "isCriticalSystemObject"
|
# Tree-delete failing since "isCriticalSystemObject"
|
||||||
try:
|
try:
|
||||||
self.ldb.delete("CN=Computers," + self.base_dn, ["tree_delete:1"])
|
self.ldb.delete("CN=Computers," + self.base_dn, ["tree_delete:1"])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e15:
|
||||||
|
(num, _) = e15.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
def test_all(self):
|
def test_all(self):
|
||||||
|
@ -140,7 +140,8 @@ systemOnly: FALSE
|
|||||||
attr_dn_new = attr_dn.replace(attr_name, attr_name + "-NEW")
|
attr_dn_new = attr_dn.replace(attr_name, attr_name + "-NEW")
|
||||||
try:
|
try:
|
||||||
self.sam_db.rename(attr_dn, attr_dn_new)
|
self.sam_db.rename(attr_dn, attr_dn_new)
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.fail("failed to change CN for %s: %s" % (attr_name, _))
|
self.fail("failed to change CN for %s: %s" % (attr_name, _))
|
||||||
|
|
||||||
# compare resulting schemaInfo
|
# compare resulting schemaInfo
|
||||||
@ -186,7 +187,8 @@ systemOnly: FALSE
|
|||||||
class_dn_new = class_dn.replace(class_name, class_name + "-NEW")
|
class_dn_new = class_dn.replace(class_name, class_name + "-NEW")
|
||||||
try:
|
try:
|
||||||
self.sam_db.rename(class_dn, class_dn_new)
|
self.sam_db.rename(class_dn, class_dn_new)
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.fail("failed to change CN for %s: %s" % (class_name, _))
|
self.fail("failed to change CN for %s: %s" % (class_name, _))
|
||||||
|
|
||||||
# compare resulting schemaInfo
|
# compare resulting schemaInfo
|
||||||
|
@ -116,7 +116,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectClass": [] })
|
"objectClass": [] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# Invalid objectclass specified
|
# Invalid objectclass specified
|
||||||
@ -125,7 +126,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectClass": "X" })
|
"objectClass": "X" })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
# Invalid objectCategory specified
|
# Invalid objectCategory specified
|
||||||
@ -135,7 +137,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectClass": "person",
|
"objectClass": "person",
|
||||||
"objectCategory": self.base_dn })
|
"objectCategory": self.base_dn })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Multi-valued "systemFlags"
|
# Multi-valued "systemFlags"
|
||||||
@ -145,7 +148,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectClass": "person",
|
"objectClass": "person",
|
||||||
"systemFlags": ["0", str(SYSTEM_FLAG_DOMAIN_DISALLOW_MOVE)] })
|
"systemFlags": ["0", str(SYSTEM_FLAG_DOMAIN_DISALLOW_MOVE)] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e4:
|
||||||
|
(num, _) = e4.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# We cannot instanciate from an abstract object class ("connectionPoint"
|
# We cannot instanciate from an abstract object class ("connectionPoint"
|
||||||
@ -159,14 +163,16 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectClass": "connectionPoint" })
|
"objectClass": "connectionPoint" })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e5:
|
||||||
|
(num, _) = e5.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
try:
|
try:
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectClass": ["person", "leaf"] })
|
"objectClass": ["person", "leaf"] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e6:
|
||||||
|
(num, _) = e6.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Objects instanciated using "satisfied" abstract classes (concrete
|
# Objects instanciated using "satisfied" abstract classes (concrete
|
||||||
@ -183,7 +189,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectClass": ["person", "container"] })
|
"objectClass": ["person", "container"] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e7:
|
||||||
|
(num, _) = e7.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Test allowed system flags
|
# Test allowed system flags
|
||||||
@ -225,7 +232,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e8:
|
||||||
|
(num, _) = e8.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# We cannot delete classes which weren't specified
|
# We cannot delete classes which weren't specified
|
||||||
@ -236,7 +244,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e9:
|
||||||
|
(num, _) = e9.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
# An invalid class cannot be added
|
# An invalid class cannot be added
|
||||||
@ -247,7 +256,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e10:
|
||||||
|
(num, _) = e10.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
# We cannot add a the new top-most structural class "user" here since
|
# We cannot add a the new top-most structural class "user" here since
|
||||||
@ -260,7 +270,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e11:
|
||||||
|
(num, _) = e11.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# An already specified objectclass cannot be added another time
|
# An already specified objectclass cannot be added another time
|
||||||
@ -271,7 +282,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e12:
|
||||||
|
(num, _) = e12.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
# Auxiliary classes can always be added
|
# Auxiliary classes can always be added
|
||||||
@ -290,7 +302,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e13:
|
||||||
|
(num, _) = e13.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Objectclass replace operations can be performed as well
|
# Objectclass replace operations can be performed as well
|
||||||
@ -315,7 +328,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e14:
|
||||||
|
(num, _) = e14.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# More than one change operation is allowed
|
# More than one change operation is allowed
|
||||||
@ -332,7 +346,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e15:
|
||||||
|
(num, _) = e15.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -342,7 +357,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e16:
|
||||||
|
(num, _) = e16.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Classes can be removed unless attributes of them are used.
|
# Classes can be removed unless attributes of them are used.
|
||||||
@ -379,7 +395,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e17:
|
||||||
|
(num, _) = e17.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Remove the previously specified attribute
|
# Remove the previously specified attribute
|
||||||
@ -411,7 +428,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e18:
|
||||||
|
(num, _) = e18.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Add a new top-most structural class "inetOrgPerson" and remove it
|
# Add a new top-most structural class "inetOrgPerson" and remove it
|
||||||
@ -466,7 +484,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestobject," + self.base_dn,
|
"dn": "cn=ldaptestobject," + self.base_dn,
|
||||||
"objectclass": "configuration"})
|
"objectclass": "configuration"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e19:
|
||||||
|
(num, _) = e19.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -474,7 +493,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=Test Secret,cn=system," + self.base_dn,
|
"dn": "cn=Test Secret,cn=system," + self.base_dn,
|
||||||
"objectclass": "secret"})
|
"objectclass": "secret"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e20:
|
||||||
|
(num, _) = e20.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
|
||||||
@ -500,7 +520,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e21:
|
||||||
|
(num, _) = e21.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=Test Secret,cn=system," + self.base_dn)
|
delete_force(self.ldb, "cn=Test Secret,cn=system," + self.base_dn)
|
||||||
@ -511,7 +532,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectclass": "container",
|
"objectclass": "container",
|
||||||
"isCriticalSystemObject": "TRUE"})
|
"isCriticalSystemObject": "TRUE"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e22:
|
||||||
|
(num, _) = e22.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -525,7 +547,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e23:
|
||||||
|
(num, _) = e23.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
|
||||||
@ -552,7 +575,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
+ self.base_dn,
|
+ self.base_dn,
|
||||||
"objectclass": "group"})
|
"objectclass": "group"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e24:
|
||||||
|
(num, _) = e24.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=thisdoesnotexist123,"
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=thisdoesnotexist123,"
|
||||||
@ -563,7 +587,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "ou=testou,cn=users," + self.base_dn,
|
"dn": "ou=testou,cn=users," + self.base_dn,
|
||||||
"objectclass": "organizationalUnit"})
|
"objectclass": "organizationalUnit"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e25:
|
||||||
|
(num, _) = e25.args
|
||||||
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
||||||
|
|
||||||
delete_force(self.ldb, "ou=testou,cn=users," + self.base_dn)
|
delete_force(self.ldb, "ou=testou,cn=users," + self.base_dn)
|
||||||
@ -580,7 +605,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"thisdoesnotexist": "x"})
|
"thisdoesnotexist": "x"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e26:
|
||||||
|
(num, _) = e26.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -596,7 +622,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e27:
|
||||||
|
(num, _) = e27.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -613,7 +640,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestobject," + self.base_dn,
|
"dn": "cn=ldaptestobject," + self.base_dn,
|
||||||
"objectclass": "ipProtocol"})
|
"objectclass": "ipProtocol"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e28:
|
||||||
|
(num, _) = e28.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# inadequate but schema-valid attribute specified
|
# inadequate but schema-valid attribute specified
|
||||||
@ -624,7 +652,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"ipProtocolNumber": "1",
|
"ipProtocolNumber": "1",
|
||||||
"uid" : "0"})
|
"uid" : "0"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e29:
|
||||||
|
(num, _) = e29.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -641,7 +670,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e30:
|
||||||
|
(num, _) = e30.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# mandatory attribute delete trial
|
# mandatory attribute delete trial
|
||||||
@ -652,7 +682,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e31:
|
||||||
|
(num, _) = e31.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# mandatory attribute delete trial
|
# mandatory attribute delete trial
|
||||||
@ -663,7 +694,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e32:
|
||||||
|
(num, _) = e32.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
|
||||||
@ -676,7 +708,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"sAMAccountName": ["nam1", "nam2"]})
|
"sAMAccountName": ["nam1", "nam2"]})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e33:
|
||||||
|
(num, _) = e33.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -690,7 +723,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e34:
|
||||||
|
(num, _) = e34.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -706,7 +740,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e35:
|
||||||
|
(num, _) = e35.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -740,7 +775,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"managedBy": managers
|
"managedBy": managers
|
||||||
})
|
})
|
||||||
self.fail("failed to fail to add multiple managedBy attributes")
|
self.fail("failed to fail to add multiple managedBy attributes")
|
||||||
except LdbError as (num, _):
|
except LdbError as e36:
|
||||||
|
(num, _) = e36.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
managee = "cn=group2," + ou
|
managee = "cn=group2," + ou
|
||||||
@ -756,7 +792,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e37:
|
||||||
|
(num, _) = e37.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -772,7 +809,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e38:
|
||||||
|
(num, _) = e38.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
self.ldb.delete(ou, ['tree_delete:1'])
|
self.ldb.delete(ou, ['tree_delete:1'])
|
||||||
@ -859,7 +897,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectClass": "person",
|
"objectClass": "person",
|
||||||
"sn": "" })
|
"sn": "" })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e39:
|
||||||
|
(num, _) = e39.args
|
||||||
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
||||||
|
|
||||||
# Too long (max. 64)
|
# Too long (max. 64)
|
||||||
@ -883,7 +922,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e40:
|
||||||
|
(num, _) = e40.args
|
||||||
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
||||||
|
|
||||||
# Too long (max. 64)
|
# Too long (max. 64)
|
||||||
@ -911,13 +951,15 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.add(m)
|
ldb.add(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e41:
|
||||||
|
(num, _) = e41.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e42:
|
||||||
|
(num, _) = e42.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -932,7 +974,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.add(m)
|
ldb.add(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e43:
|
||||||
|
(num, _) = e43.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -946,7 +989,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e44:
|
||||||
|
(num, _) = e44.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -960,7 +1004,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e45:
|
||||||
|
(num, _) = e45.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -974,7 +1019,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"instanceType": ["0", "1"]})
|
"instanceType": ["0", "1"]})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e46:
|
||||||
|
(num, _) = e46.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# The head NC flag cannot be set without the write flag
|
# The head NC flag cannot be set without the write flag
|
||||||
@ -984,7 +1030,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"instanceType": "1" })
|
"instanceType": "1" })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e47:
|
||||||
|
(num, _) = e47.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# We cannot manipulate NCs without the head NC flag
|
# We cannot manipulate NCs without the head NC flag
|
||||||
@ -994,7 +1041,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"instanceType": "32" })
|
"instanceType": "32" })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e48:
|
||||||
|
(num, _) = e48.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -1008,7 +1056,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e49:
|
||||||
|
(num, _) = e49.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1018,7 +1067,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e50:
|
||||||
|
(num, _) = e50.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1027,7 +1077,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e51:
|
||||||
|
(num, _) = e51.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -1039,7 +1090,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"instanceType": "3" })
|
"instanceType": "3" })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e52:
|
||||||
|
(num, _) = e52.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser2,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser2,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -1054,7 +1106,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.add(m)
|
ldb.add(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e53:
|
||||||
|
(num, _) = e53.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
# a wrong "distinguishedName" attribute is obviously tolerated
|
# a wrong "distinguishedName" attribute is obviously tolerated
|
||||||
@ -1080,7 +1133,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e54:
|
||||||
|
(num, _) = e54.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1092,7 +1146,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e55:
|
||||||
|
(num, _) = e55.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1104,7 +1159,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e56:
|
||||||
|
(num, _) = e56.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1116,7 +1172,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e57:
|
||||||
|
(num, _) = e57.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -1129,20 +1186,23 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.ldb.search("=,cn=users," + self.base_dn, scope=SCOPE_BASE)
|
self.ldb.search("=,cn=users," + self.base_dn, scope=SCOPE_BASE)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e58:
|
||||||
|
(num, _) = e58.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# empty RDN name
|
# empty RDN name
|
||||||
try:
|
try:
|
||||||
self.ldb.search("cn=,cn=users," + self.base_dn, scope=SCOPE_BASE)
|
self.ldb.search("cn=,cn=users," + self.base_dn, scope=SCOPE_BASE)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e59:
|
||||||
|
(num, _) = e59.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.ldb.search("=ldaptestgroup,cn=users," + self.base_dn, scope=SCOPE_BASE)
|
self.ldb.search("=ldaptestgroup,cn=users," + self.base_dn, scope=SCOPE_BASE)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e60:
|
||||||
|
(num, _) = e60.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# Add
|
# Add
|
||||||
@ -1153,7 +1213,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "=,cn=users," + self.base_dn,
|
"dn": "=,cn=users," + self.base_dn,
|
||||||
"objectclass": "group"})
|
"objectclass": "group"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e61:
|
||||||
|
(num, _) = e61.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# empty RDN name
|
# empty RDN name
|
||||||
@ -1162,7 +1223,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "=ldaptestgroup,cn=users," + self.base_dn,
|
"dn": "=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
"objectclass": "group"})
|
"objectclass": "group"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e62:
|
||||||
|
(num, _) = e62.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# empty RDN value
|
# empty RDN value
|
||||||
@ -1171,7 +1233,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=,cn=users," + self.base_dn,
|
"dn": "cn=,cn=users," + self.base_dn,
|
||||||
"objectclass": "group"})
|
"objectclass": "group"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e63:
|
||||||
|
(num, _) = e63.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# a wrong RDN candidate
|
# a wrong RDN candidate
|
||||||
@ -1180,7 +1243,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
"dn": "description=xyz,cn=users," + self.base_dn,
|
"dn": "description=xyz,cn=users," + self.base_dn,
|
||||||
"objectclass": "group"})
|
"objectclass": "group"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e64:
|
||||||
|
(num, _) = e64.args
|
||||||
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
||||||
|
|
||||||
delete_force(self.ldb, "description=xyz,cn=users," + self.base_dn)
|
delete_force(self.ldb, "description=xyz,cn=users," + self.base_dn)
|
||||||
@ -1207,7 +1271,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e65:
|
||||||
|
(num, _) = e65.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# Delete
|
# Delete
|
||||||
@ -1216,7 +1281,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.ldb.delete("cn=,cn=users," + self.base_dn)
|
self.ldb.delete("cn=,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e66:
|
||||||
|
(num, _) = e66.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# Rename
|
# Rename
|
||||||
@ -1226,7 +1292,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
"=,cn=users," + self.base_dn)
|
"=,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e67:
|
||||||
|
(num, _) = e67.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# new empty RDN name
|
# new empty RDN name
|
||||||
@ -1234,7 +1301,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
"=ldaptestgroup,cn=users," + self.base_dn)
|
"=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e68:
|
||||||
|
(num, _) = e68.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# new empty RDN value
|
# new empty RDN value
|
||||||
@ -1242,7 +1310,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
"cn=,cn=users," + self.base_dn)
|
"cn=,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e69:
|
||||||
|
(num, _) = e69.args
|
||||||
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
||||||
|
|
||||||
# new wrong RDN candidate
|
# new wrong RDN candidate
|
||||||
@ -1250,7 +1319,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
self.ldb.rename("cn=ldaptestgroup,cn=users," + self.base_dn,
|
||||||
"description=xyz,cn=users," + self.base_dn)
|
"description=xyz,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e70:
|
||||||
|
(num, _) = e70.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "description=xyz,cn=users," + self.base_dn)
|
delete_force(self.ldb, "description=xyz,cn=users," + self.base_dn)
|
||||||
@ -1260,7 +1330,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
self.ldb.rename("cn=,cn=users," + self.base_dn,
|
self.ldb.rename("cn=,cn=users," + self.base_dn,
|
||||||
"cn=ldaptestgroup,cn=users," + self.base_dn)
|
"cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e71:
|
||||||
|
(num, _) = e71.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
# names
|
# names
|
||||||
@ -1272,7 +1343,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e72:
|
||||||
|
(num, _) = e72.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_RDN)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_RDN)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1282,7 +1354,8 @@ class BasicTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e73:
|
||||||
|
(num, _) = e73.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_RDN)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_RDN)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
@ -1310,7 +1383,8 @@ objectClass: container
|
|||||||
"""
|
"""
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e74:
|
||||||
|
(num, _) = e74.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
delete_force(self.ldb, "%s,%s" % (rdn, self.base_dn))
|
delete_force(self.ldb, "%s,%s" % (rdn, self.base_dn))
|
||||||
|
|
||||||
@ -1320,14 +1394,16 @@ objectClass: container
|
|||||||
# cannot rename to be a child of itself
|
# cannot rename to be a child of itself
|
||||||
ldb.rename(self.base_dn, "dc=test," + self.base_dn)
|
ldb.rename(self.base_dn, "dc=test," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e75:
|
||||||
|
(num, _) = e75.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# inexistent object
|
# inexistent object
|
||||||
ldb.rename("cn=ldaptestuser2,cn=users," + self.base_dn, "cn=ldaptestuser2,cn=users," + self.base_dn)
|
ldb.rename("cn=ldaptestuser2,cn=users," + self.base_dn, "cn=ldaptestuser2,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e76:
|
||||||
|
(num, _) = e76.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -1342,28 +1418,32 @@ objectClass: container
|
|||||||
# containment problem: a user entry cannot contain user entries
|
# containment problem: a user entry cannot contain user entries
|
||||||
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "cn=ldaptestuser4,cn=ldaptestuser3,cn=users," + self.base_dn)
|
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "cn=ldaptestuser4,cn=ldaptestuser3,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e77:
|
||||||
|
(num, _) = e77.args
|
||||||
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
self.assertEquals(num, ERR_NAMING_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# invalid parent
|
# invalid parent
|
||||||
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "cn=ldaptestuser3,cn=people,cn=users," + self.base_dn)
|
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "cn=ldaptestuser3,cn=people,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e78:
|
||||||
|
(num, _) = e78.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# invalid target DN syntax
|
# invalid target DN syntax
|
||||||
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, ",cn=users," + self.base_dn)
|
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, ",cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e79:
|
||||||
|
(num, _) = e79.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# invalid RDN name
|
# invalid RDN name
|
||||||
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "ou=ldaptestuser3,cn=users," + self.base_dn)
|
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "ou=ldaptestuser3,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e80:
|
||||||
|
(num, _) = e80.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestuser3,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser3,cn=users," + self.base_dn)
|
||||||
@ -1374,21 +1454,24 @@ objectClass: container
|
|||||||
try:
|
try:
|
||||||
ldb.rename("CN=DisplaySpecifiers," + self.configuration_dn, "CN=DisplaySpecifiers,CN=Services," + self.configuration_dn)
|
ldb.rename("CN=DisplaySpecifiers," + self.configuration_dn, "CN=DisplaySpecifiers,CN=Services," + self.configuration_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e81:
|
||||||
|
(num, _) = e81.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Limited move failing since no "SYSTEM_FLAG_CONFIG_ALLOW_LIMITED_MOVE"
|
# Limited move failing since no "SYSTEM_FLAG_CONFIG_ALLOW_LIMITED_MOVE"
|
||||||
try:
|
try:
|
||||||
ldb.rename("CN=Directory Service,CN=Windows NT,CN=Services," + self.configuration_dn, "CN=Directory Service,CN=RRAS,CN=Services," + self.configuration_dn)
|
ldb.rename("CN=Directory Service,CN=Windows NT,CN=Services," + self.configuration_dn, "CN=Directory Service,CN=RRAS,CN=Services," + self.configuration_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e82:
|
||||||
|
(num, _) = e82.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Rename failing since no "SYSTEM_FLAG_CONFIG_ALLOW_RENAME"
|
# Rename failing since no "SYSTEM_FLAG_CONFIG_ALLOW_RENAME"
|
||||||
try:
|
try:
|
||||||
ldb.rename("CN=DisplaySpecifiers," + self.configuration_dn, "CN=DisplaySpecifiers2," + self.configuration_dn)
|
ldb.rename("CN=DisplaySpecifiers," + self.configuration_dn, "CN=DisplaySpecifiers2," + self.configuration_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e83:
|
||||||
|
(num, _) = e83.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# It's not really possible to test moves on the schema partition since
|
# It's not really possible to test moves on the schema partition since
|
||||||
@ -1398,21 +1481,24 @@ objectClass: container
|
|||||||
try:
|
try:
|
||||||
ldb.rename("CN=Top," + self.schema_dn, "CN=Top2," + self.schema_dn)
|
ldb.rename("CN=Top," + self.schema_dn, "CN=Top2," + self.schema_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e84:
|
||||||
|
(num, _) = e84.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Move failing since "SYSTEM_FLAG_DOMAIN_DISALLOW_MOVE"
|
# Move failing since "SYSTEM_FLAG_DOMAIN_DISALLOW_MOVE"
|
||||||
try:
|
try:
|
||||||
ldb.rename("CN=Users," + self.base_dn, "CN=Users,CN=Computers," + self.base_dn)
|
ldb.rename("CN=Users," + self.base_dn, "CN=Users,CN=Computers," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e85:
|
||||||
|
(num, _) = e85.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Rename failing since "SYSTEM_FLAG_DOMAIN_DISALLOW_RENAME"
|
# Rename failing since "SYSTEM_FLAG_DOMAIN_DISALLOW_RENAME"
|
||||||
try:
|
try:
|
||||||
ldb.rename("CN=Users," + self.base_dn, "CN=Users2," + self.base_dn)
|
ldb.rename("CN=Users," + self.base_dn, "CN=Users2," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e86:
|
||||||
|
(num, _) = e86.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Performs some other constraints testing
|
# Performs some other constraints testing
|
||||||
@ -1420,7 +1506,8 @@ objectClass: container
|
|||||||
try:
|
try:
|
||||||
ldb.rename("CN=Policies,CN=System," + self.base_dn, "CN=Users2," + self.base_dn)
|
ldb.rename("CN=Policies,CN=System," + self.base_dn, "CN=Users2," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e87:
|
||||||
|
(num, _) = e87.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
|
|
||||||
def test_rename_twice(self):
|
def test_rename_twice(self):
|
||||||
@ -1451,7 +1538,8 @@ objectClass: container
|
|||||||
objectGUID: bd3480c9-58af-4cd8-92df-bc4a18b6e44d
|
objectGUID: bd3480c9-58af-4cd8-92df-bc4a18b6e44d
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e88:
|
||||||
|
(num, _) = e88.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
self.ldb.add({
|
self.ldb.add({
|
||||||
@ -1467,7 +1555,8 @@ replace: objectGUID
|
|||||||
objectGUID: bd3480c9-58af-4cd8-92df-bc4a18b6e44d
|
objectGUID: bd3480c9-58af-4cd8-92df-bc4a18b6e44d
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e89:
|
||||||
|
(num, _) = e89.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
|
||||||
@ -1726,7 +1815,8 @@ delete: description
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"memberOf": "cn=ldaptestgroup,cn=users," + self.base_dn})
|
"memberOf": "cn=ldaptestgroup,cn=users," + self.base_dn})
|
||||||
except LdbError, (num, _):
|
except LdbError as e90:
|
||||||
|
(num, _) = e90.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
ldb.add({
|
ldb.add({
|
||||||
@ -1740,7 +1830,8 @@ delete: description
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e91:
|
||||||
|
(num, _) = e91.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1756,7 +1847,8 @@ delete: description
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e92:
|
||||||
|
(num, _) = e92.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1766,7 +1858,8 @@ delete: description
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e93:
|
||||||
|
(num, _) = e93.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1862,7 +1955,8 @@ delete: description
|
|||||||
"cn": "LDAPtest2COMPUTER"
|
"cn": "LDAPtest2COMPUTER"
|
||||||
})
|
})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e94:
|
||||||
|
(num, _) = e94.args
|
||||||
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_DN_SYNTAX)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -1872,7 +1966,8 @@ delete: description
|
|||||||
"sAMAccountType": str(ATYPE_NORMAL_ACCOUNT)
|
"sAMAccountType": str(ATYPE_NORMAL_ACCOUNT)
|
||||||
})
|
})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e95:
|
||||||
|
(num, _) = e95.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
ldb.add({"dn": "cn=ldaptestcomputer3,cn=computers," + self.base_dn,
|
ldb.add({"dn": "cn=ldaptestcomputer3,cn=computers," + self.base_dn,
|
||||||
@ -1912,7 +2007,8 @@ servicePrincipalName: host/ldaptest2computer
|
|||||||
servicePrincipalName: cifs/ldaptest2computer
|
servicePrincipalName: cifs/ldaptest2computer
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e96:
|
||||||
|
(num, msg) = e96.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
ldb.modify_ldif("""
|
ldb.modify_ldif("""
|
||||||
@ -1930,7 +2026,8 @@ add: servicePrincipalName
|
|||||||
servicePrincipalName: host/ldaptest2computer
|
servicePrincipalName: host/ldaptest2computer
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e97:
|
||||||
|
(num, msg) = e97.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
# Testing ranged results
|
# Testing ranged results
|
||||||
@ -2164,7 +2261,8 @@ servicePrincipalName: host/ldaptest2computer29
|
|||||||
"objectClass": "user",
|
"objectClass": "user",
|
||||||
"cn": "LDAPtestUSER3"})
|
"cn": "LDAPtestUSER3"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e98:
|
||||||
|
(num, _) = e98.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# rename back
|
# rename back
|
||||||
@ -2175,7 +2273,8 @@ servicePrincipalName: host/ldaptest2computer29
|
|||||||
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn,
|
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn,
|
||||||
"cn=ldaptestuser2,cn=users," + self.base_dn)
|
"cn=ldaptestuser2,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e99:
|
||||||
|
(num, _) = e99.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# ensure can now use that name
|
# ensure can now use that name
|
||||||
@ -2187,12 +2286,14 @@ servicePrincipalName: host/ldaptest2computer29
|
|||||||
try:
|
try:
|
||||||
ldb.rename("cn=ldaptestuser2,cn=users," + self.base_dn, "cn=ldaptestuser3,cn=users," + self.base_dn)
|
ldb.rename("cn=ldaptestuser2,cn=users," + self.base_dn, "cn=ldaptestuser3,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e100:
|
||||||
|
(num, _) = e100.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
try:
|
try:
|
||||||
ldb.rename("cn=ldaptestuser3,cn=users,%s" % self.base_dn, "cn=ldaptestuser3,%s" % ldb.get_config_basedn())
|
ldb.rename("cn=ldaptestuser3,cn=users,%s" % self.base_dn, "cn=ldaptestuser3,%s" % ldb.get_config_basedn())
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e101:
|
||||||
|
(num, _) = e101.args
|
||||||
self.assertTrue(num in (71, 64))
|
self.assertTrue(num in (71, 64))
|
||||||
|
|
||||||
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "cn=ldaptestuser5,cn=users," + self.base_dn)
|
ldb.rename("cn=ldaptestuser3,cn=users," + self.base_dn, "cn=ldaptestuser5,cn=users," + self.base_dn)
|
||||||
@ -2243,7 +2344,8 @@ member: cn=ldaptestuser2,cn=users,""" + self.base_dn + """
|
|||||||
expression="(&(cn=ldaptestuser4)(objectClass=user))",
|
expression="(&(cn=ldaptestuser4)(objectClass=user))",
|
||||||
scope=SCOPE_SUBTREE)
|
scope=SCOPE_SUBTREE)
|
||||||
self.fail(res)
|
self.fail(res)
|
||||||
except LdbError, (num, _):
|
except LdbError as e102:
|
||||||
|
(num, _) = e102.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# Testing one-level ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in (just renamed from) cn=ldaptestcontainer," + self.base_dn
|
# Testing one-level ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in (just renamed from) cn=ldaptestcontainer," + self.base_dn
|
||||||
@ -2251,7 +2353,8 @@ member: cn=ldaptestuser2,cn=users,""" + self.base_dn + """
|
|||||||
res = ldb.search("cn=ldaptestcontainer," + self.base_dn,
|
res = ldb.search("cn=ldaptestcontainer," + self.base_dn,
|
||||||
expression="(&(cn=ldaptestuser4)(objectClass=user))", scope=SCOPE_ONELEVEL)
|
expression="(&(cn=ldaptestuser4)(objectClass=user))", scope=SCOPE_ONELEVEL)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e103:
|
||||||
|
(num, _) = e103.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# Testing ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in renamed container"
|
# Testing ldb.search for (&(cn=ldaptestuser4)(objectClass=user)) in renamed container"
|
||||||
@ -2271,21 +2374,24 @@ member: cn=ldaptestuser2,cn=users,""" + self.base_dn + """
|
|||||||
try:
|
try:
|
||||||
ldb.rename("cn=ldaptestcontainer2," + self.base_dn, "cn=ldaptestcontainer,cn=ldaptestcontainer2," + self.base_dn)
|
ldb.rename("cn=ldaptestcontainer2," + self.base_dn, "cn=ldaptestcontainer,cn=ldaptestcontainer2," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e104:
|
||||||
|
(num, _) = e104.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Testing ldb.rename (into non-existent container) of cn=ldaptestcontainer2," + self.base_dn + " to cn=ldaptestcontainer,cn=ldaptestcontainer3," + self.base_dn
|
# Testing ldb.rename (into non-existent container) of cn=ldaptestcontainer2," + self.base_dn + " to cn=ldaptestcontainer,cn=ldaptestcontainer3," + self.base_dn
|
||||||
try:
|
try:
|
||||||
ldb.rename("cn=ldaptestcontainer2," + self.base_dn, "cn=ldaptestcontainer,cn=ldaptestcontainer3," + self.base_dn)
|
ldb.rename("cn=ldaptestcontainer2," + self.base_dn, "cn=ldaptestcontainer,cn=ldaptestcontainer3," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e105:
|
||||||
|
(num, _) = e105.args
|
||||||
self.assertTrue(num in (ERR_UNWILLING_TO_PERFORM, ERR_OTHER))
|
self.assertTrue(num in (ERR_UNWILLING_TO_PERFORM, ERR_OTHER))
|
||||||
|
|
||||||
# Testing delete (should fail, not a leaf node) of renamed cn=ldaptestcontainer2," + self.base_dn
|
# Testing delete (should fail, not a leaf node) of renamed cn=ldaptestcontainer2," + self.base_dn
|
||||||
try:
|
try:
|
||||||
ldb.delete("cn=ldaptestcontainer2," + self.base_dn)
|
ldb.delete("cn=ldaptestcontainer2," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e106:
|
||||||
|
(num, _) = e106.args
|
||||||
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
self.assertEquals(num, ERR_NOT_ALLOWED_ON_NON_LEAF)
|
||||||
|
|
||||||
# Testing base ldb.search for CN=ldaptestuser4,CN=ldaptestcontainer2," + self.base_dn
|
# Testing base ldb.search for CN=ldaptestuser4,CN=ldaptestcontainer2," + self.base_dn
|
||||||
@ -2717,7 +2823,8 @@ objectClass: posixAccount"""% (self.base_dn))
|
|||||||
"sAMAccountName": user_name,
|
"sAMAccountName": user_name,
|
||||||
"nTSecurityDescriptor": [] })
|
"nTSecurityDescriptor": [] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e107:
|
||||||
|
(num, _) = e107.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
finally:
|
finally:
|
||||||
delete_force(self.ldb, user_dn)
|
delete_force(self.ldb, user_dn)
|
||||||
@ -2803,7 +2910,8 @@ nTSecurityDescriptor:: """ + desc_base64)
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e108:
|
||||||
|
(num, _) = e108.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -2813,7 +2921,8 @@ nTSecurityDescriptor:: """ + desc_base64)
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e109:
|
||||||
|
(num, _) = e109.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -2823,7 +2932,8 @@ nTSecurityDescriptor:: """ + desc_base64)
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e110:
|
||||||
|
(num, _) = e110.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, user_dn)
|
delete_force(self.ldb, user_dn)
|
||||||
@ -2962,7 +3072,8 @@ nTSecurityDescriptor:: """ + desc_base64
|
|||||||
try:
|
try:
|
||||||
self.ldb.set_dsheuristics(dshstr + "x")
|
self.ldb.set_dsheuristics(dshstr + "x")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
dshstr = dshstr + str(i)
|
dshstr = dshstr + str(i)
|
||||||
else:
|
else:
|
||||||
|
@ -166,7 +166,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
ldif = """
|
ldif = """
|
||||||
@ -342,7 +343,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add duplicate attributeID value")
|
self.fail("Should have failed to add duplicate attributeID value")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e2:
|
||||||
|
(enum, estr) = e2.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -386,7 +388,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add duplicate governsID conflicting with attributeID value")
|
self.fail("Should have failed to add duplicate governsID conflicting with attributeID value")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e3:
|
||||||
|
(enum, estr) = e3.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -429,7 +432,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add attribute with duplicate CN")
|
self.fail("Should have failed to add attribute with duplicate CN")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e4:
|
||||||
|
(enum, estr) = e4.args
|
||||||
self.assertEquals(enum, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(enum, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
def test_duplicate_implicit_ldapdisplayname(self):
|
def test_duplicate_implicit_ldapdisplayname(self):
|
||||||
@ -472,7 +476,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add attribute with duplicate of the implicit ldapDisplayName")
|
self.fail("Should have failed to add attribute with duplicate of the implicit ldapDisplayName")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e5:
|
||||||
|
(enum, estr) = e5.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -517,7 +522,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add attribute with duplicate ldapDisplayName")
|
self.fail("Should have failed to add attribute with duplicate ldapDisplayName")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e6:
|
||||||
|
(enum, estr) = e6.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -565,7 +571,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add class with duplicate ldapDisplayName")
|
self.fail("Should have failed to add class with duplicate ldapDisplayName")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e7:
|
||||||
|
(enum, estr) = e7.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -619,7 +626,8 @@ ldapDisplayName: """ + attr_ldap_display_name + """
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify_ldif(ldif)
|
self.ldb.modify_ldif(ldif)
|
||||||
self.fail("Should have failed to modify schema to have attribute with duplicate ldapDisplayName")
|
self.fail("Should have failed to modify schema to have attribute with duplicate ldapDisplayName")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e8:
|
||||||
|
(enum, estr) = e8.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -673,7 +681,8 @@ attributeId: """ + attributeID + """
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify_ldif(ldif)
|
self.ldb.modify_ldif(ldif)
|
||||||
self.fail("Should have failed to modify schema to have attribute with duplicate attributeID")
|
self.fail("Should have failed to modify schema to have attribute with duplicate attributeID")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e9:
|
||||||
|
(enum, estr) = e9.args
|
||||||
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
def test_remove_ldapdisplayname(self):
|
def test_remove_ldapdisplayname(self):
|
||||||
@ -708,7 +717,8 @@ replace: ldapDisplayName
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify_ldif(ldif)
|
self.ldb.modify_ldif(ldif)
|
||||||
self.fail("Should have failed to remove the ldapdisplayname")
|
self.fail("Should have failed to remove the ldapdisplayname")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e10:
|
||||||
|
(enum, estr) = e10.args
|
||||||
self.assertEquals(enum, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(enum, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
def test_rename_ldapdisplayname(self):
|
def test_rename_ldapdisplayname(self):
|
||||||
@ -777,7 +787,8 @@ attributeId: """ + attributeID + """.1
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify_ldif(ldif)
|
self.ldb.modify_ldif(ldif)
|
||||||
self.fail("Should have failed to modify schema to have different attributeID")
|
self.fail("Should have failed to modify schema to have different attributeID")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e11:
|
||||||
|
(enum, estr) = e11.args
|
||||||
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
|
|
||||||
@ -814,7 +825,8 @@ attributeId: """ + attributeID + """
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify_ldif(ldif)
|
self.ldb.modify_ldif(ldif)
|
||||||
self.fail("Should have failed to modify schema to have the same attributeID")
|
self.fail("Should have failed to modify schema to have the same attributeID")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e12:
|
||||||
|
(enum, estr) = e12.args
|
||||||
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
|
|
||||||
@ -860,7 +872,8 @@ systemOnly: FALSE
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e13:
|
||||||
|
(enum, estr) = e13.args
|
||||||
self.fail(estr)
|
self.fail(estr)
|
||||||
|
|
||||||
attr_name_2 = "test-generated-linkID-2" + time.strftime("%s", time.gmtime()) + "-" + rand
|
attr_name_2 = "test-generated-linkID-2" + time.strftime("%s", time.gmtime()) + "-" + rand
|
||||||
@ -885,7 +898,8 @@ systemOnly: FALSE
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e14:
|
||||||
|
(enum, estr) = e14.args
|
||||||
self.fail(estr)
|
self.fail(estr)
|
||||||
|
|
||||||
res = self.ldb.search("CN=%s,%s" % (attr_name_1, self.schema_dn),
|
res = self.ldb.search("CN=%s,%s" % (attr_name_1, self.schema_dn),
|
||||||
@ -946,7 +960,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add duplicate linkID value")
|
self.fail("Should have failed to add duplicate linkID value")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e15:
|
||||||
|
(enum, estr) = e15.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# If we add another attribute with the attributeID or lDAPDisplayName
|
# If we add another attribute with the attributeID or lDAPDisplayName
|
||||||
@ -974,7 +989,8 @@ systemOnly: FALSE
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e16:
|
||||||
|
(enum, estr) = e16.args
|
||||||
self.fail(estr)
|
self.fail(estr)
|
||||||
|
|
||||||
res = self.ldb.search("CN=%s,%s" % (attr_name_3, self.schema_dn),
|
res = self.ldb.search("CN=%s,%s" % (attr_name_3, self.schema_dn),
|
||||||
@ -1006,7 +1022,8 @@ systemOnly: FALSE
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e17:
|
||||||
|
(enum, estr) = e17.args
|
||||||
self.fail(estr)
|
self.fail(estr)
|
||||||
|
|
||||||
res = self.ldb.search("CN=%s,%s" % (attr_name_4, self.schema_dn),
|
res = self.ldb.search("CN=%s,%s" % (attr_name_4, self.schema_dn),
|
||||||
@ -1042,7 +1059,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add duplicate backlink")
|
self.fail("Should have failed to add duplicate backlink")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e18:
|
||||||
|
(enum, estr) = e18.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# If we try to supply the attributeID or ldapDisplayName
|
# If we try to supply the attributeID or ldapDisplayName
|
||||||
@ -1072,7 +1090,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add backlink of backlink")
|
self.fail("Should have failed to add backlink of backlink")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e19:
|
||||||
|
(enum, estr) = e19.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
attr_name = "test-generated-linkID-backlink-invalid-2" + time.strftime("%s", time.gmtime()) + "-" + rand
|
attr_name = "test-generated-linkID-backlink-invalid-2" + time.strftime("%s", time.gmtime()) + "-" + rand
|
||||||
@ -1098,7 +1117,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add backlink of backlink")
|
self.fail("Should have failed to add backlink of backlink")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e20:
|
||||||
|
(enum, estr) = e20.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
def test_generated_mAPIID(self):
|
def test_generated_mAPIID(self):
|
||||||
@ -1133,7 +1153,8 @@ systemOnly: FALSE
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e21:
|
||||||
|
(enum, estr) = e21.args
|
||||||
self.fail(estr)
|
self.fail(estr)
|
||||||
|
|
||||||
res = self.ldb.search("CN=%s,%s" % (attr_name_1, self.schema_dn),
|
res = self.ldb.search("CN=%s,%s" % (attr_name_1, self.schema_dn),
|
||||||
@ -1174,7 +1195,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
self.fail("Should have failed to add duplicate mAPIID value")
|
self.fail("Should have failed to add duplicate mAPIID value")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e22:
|
||||||
|
(enum, estr) = e22.args
|
||||||
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(enum, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -1212,7 +1234,8 @@ governsId: """ + governsID + """.1
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify_ldif(ldif)
|
self.ldb.modify_ldif(ldif)
|
||||||
self.fail("Should have failed to modify schema to have different governsID")
|
self.fail("Should have failed to modify schema to have different governsID")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e23:
|
||||||
|
(enum, estr) = e23.args
|
||||||
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
|
|
||||||
@ -1250,7 +1273,8 @@ governsId: """ + governsID + """.1
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify_ldif(ldif)
|
self.ldb.modify_ldif(ldif)
|
||||||
self.fail("Should have failed to modify schema to have the same governsID")
|
self.fail("Should have failed to modify schema to have the same governsID")
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e24:
|
||||||
|
(enum, estr) = e24.args
|
||||||
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(enum, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
|
|
||||||
@ -1391,7 +1415,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif_fail)
|
self.ldb.add_ldif(ldif_fail)
|
||||||
self.fail("Adding attribute with preset msDS-IntId should fail")
|
self.fail("Adding attribute with preset msDS-IntId should fail")
|
||||||
except LdbError, (num, _):
|
except LdbError as e25:
|
||||||
|
(num, _) = e25.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# add the new attribute and update schema
|
# add the new attribute and update schema
|
||||||
@ -1418,7 +1443,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(msg)
|
self.ldb.modify(msg)
|
||||||
self.fail("Modifying msDS-IntId should return error")
|
self.fail("Modifying msDS-IntId should return error")
|
||||||
except LdbError, (num, _):
|
except LdbError as e26:
|
||||||
|
(num, _) = e26.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# 2. Create attribute with systemFlags = FLAG_SCHEMA_BASE_OBJECT
|
# 2. Create attribute with systemFlags = FLAG_SCHEMA_BASE_OBJECT
|
||||||
@ -1434,7 +1460,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif_fail)
|
self.ldb.add_ldif(ldif_fail)
|
||||||
self.fail("Adding attribute with preset msDS-IntId should fail")
|
self.fail("Adding attribute with preset msDS-IntId should fail")
|
||||||
except LdbError, (num, _):
|
except LdbError as e27:
|
||||||
|
(num, _) = e27.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# add the new attribute and update schema
|
# add the new attribute and update schema
|
||||||
@ -1461,7 +1488,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(msg)
|
self.ldb.modify(msg)
|
||||||
self.fail("Modifying msDS-IntId should return error")
|
self.fail("Modifying msDS-IntId should return error")
|
||||||
except LdbError, (num, _):
|
except LdbError as e28:
|
||||||
|
(num, _) = e28.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
|
|
||||||
@ -1521,7 +1549,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(msg)
|
self.ldb.modify(msg)
|
||||||
self.fail("Modifying msDS-IntId should return error")
|
self.fail("Modifying msDS-IntId should return error")
|
||||||
except LdbError, (num, _):
|
except LdbError as e29:
|
||||||
|
(num, _) = e29.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# 2. Create Class with systemFlags = FLAG_SCHEMA_BASE_OBJECT
|
# 2. Create Class with systemFlags = FLAG_SCHEMA_BASE_OBJECT
|
||||||
@ -1559,7 +1588,8 @@ systemOnly: FALSE
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(msg)
|
self.ldb.modify(msg)
|
||||||
self.fail("Modifying msDS-IntId should return error")
|
self.fail("Modifying msDS-IntId should return error")
|
||||||
except LdbError, (num, _):
|
except LdbError as e30:
|
||||||
|
(num, _) = e30.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["msDS-IntId"])
|
res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["msDS-IntId"])
|
||||||
self.assertEquals(len(res), 1)
|
self.assertEquals(len(res), 1)
|
||||||
@ -1613,7 +1643,8 @@ class SchemaTests_msDS_isRODC(samba.tests.TestCase):
|
|||||||
ntds_search_dn = "CN=NTDS Settings,%s" % ldb_msg['dn']
|
ntds_search_dn = "CN=NTDS Settings,%s" % ldb_msg['dn']
|
||||||
try:
|
try:
|
||||||
res_check = self.ldb.search(ntds_search_dn, attrs=["objectCategory"])
|
res_check = self.ldb.search(ntds_search_dn, attrs=["objectCategory"])
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
print("Server entry %s doesn't have a NTDS settings object" % res[0]['dn'])
|
print("Server entry %s doesn't have a NTDS settings object" % res[0]['dn'])
|
||||||
else:
|
else:
|
||||||
|
@ -222,7 +222,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:ABCD:" + self.base_dn)
|
self.dn_string_attribute, ": S:5:ABCD:" + self.base_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
||||||
|
|
||||||
# add object with the same dn but with different string value in case
|
# add object with the same dn but with different string value in case
|
||||||
@ -230,7 +231,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:abcde:" + self.base_dn)
|
self.dn_string_attribute, ": S:5:abcde:" + self.base_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# add object with the same dn but with different string value
|
# add object with the same dn but with different string value
|
||||||
@ -238,7 +240,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:FGHIJ:" + self.base_dn)
|
self.dn_string_attribute, ": S:5:FGHIJ:" + self.base_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# add object with the same dn but with different dn and string value
|
# add object with the same dn but with different dn and string value
|
||||||
@ -246,7 +249,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:FGHIJ:" + self.schema_dn)
|
self.dn_string_attribute, ": S:5:FGHIJ:" + self.schema_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# add object with the same dn but with different dn value
|
# add object with the same dn but with different dn value
|
||||||
@ -254,7 +258,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:ABCDE:" + self.schema_dn)
|
self.dn_string_attribute, ": S:5:ABCDE:" + self.schema_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e4:
|
||||||
|
(num, _) = e4.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# add object with GUID instead of DN
|
# add object with GUID instead of DN
|
||||||
@ -263,7 +268,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:ABCDE:<GUID=%s>" % str(uuid.uuid4()))
|
self.dn_string_attribute, ": S:5:ABCDE:<GUID=%s>" % str(uuid.uuid4()))
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e5:
|
||||||
|
(num, _) = e5.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# add object with SID instead of DN
|
# add object with SID instead of DN
|
||||||
@ -272,7 +278,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:ABCDE:<SID=%s>" % self.ldb.get_domain_sid())
|
self.dn_string_attribute, ": S:5:ABCDE:<SID=%s>" % self.ldb.get_domain_sid())
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e6:
|
||||||
|
(num, _) = e6.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# add object with random string instead of DN
|
# add object with random string instead of DN
|
||||||
@ -281,7 +288,8 @@ name: """ + object_name + """
|
|||||||
self.dn_string_attribute, ": S:5:ABCDE:randomSTRING")
|
self.dn_string_attribute, ": S:5:ABCDE:randomSTRING")
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e7:
|
||||||
|
(num, _) = e7.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
def test_dn_binary(self):
|
def test_dn_binary(self):
|
||||||
@ -315,7 +323,8 @@ name: """ + object_name + """
|
|||||||
self.dn_binary_attribute, ": B:5:67890:" + self.base_dn)
|
self.dn_binary_attribute, ": B:5:67890:" + self.base_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e8:
|
||||||
|
(num, _) = e8.args
|
||||||
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
|
||||||
|
|
||||||
# add object with the same dn but with different binary value
|
# add object with the same dn but with different binary value
|
||||||
@ -323,7 +332,8 @@ name: """ + object_name + """
|
|||||||
self.dn_binary_attribute, ": B:4:5678:" + self.base_dn)
|
self.dn_binary_attribute, ": B:4:5678:" + self.base_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e9:
|
||||||
|
(num, _) = e9.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# add object with the same dn but with different binary and dn value
|
# add object with the same dn but with different binary and dn value
|
||||||
@ -331,7 +341,8 @@ name: """ + object_name + """
|
|||||||
self.dn_binary_attribute, ": B:4:5678:" + self.schema_dn)
|
self.dn_binary_attribute, ": B:4:5678:" + self.schema_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e10:
|
||||||
|
(num, _) = e10.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# add object with the same dn but with different dn value
|
# add object with the same dn but with different dn value
|
||||||
@ -339,7 +350,8 @@ name: """ + object_name + """
|
|||||||
self.dn_binary_attribute, ": B:4:1234:" + self.schema_dn)
|
self.dn_binary_attribute, ": B:4:1234:" + self.schema_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e11:
|
||||||
|
(num, _) = e11.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# add object with GUID instead of DN
|
# add object with GUID instead of DN
|
||||||
@ -348,7 +360,8 @@ name: """ + object_name + """
|
|||||||
self.dn_binary_attribute, ": B:4:1234:<GUID=%s>" % str(uuid.uuid4()))
|
self.dn_binary_attribute, ": B:4:1234:<GUID=%s>" % str(uuid.uuid4()))
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e12:
|
||||||
|
(num, _) = e12.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# add object with SID instead of DN
|
# add object with SID instead of DN
|
||||||
@ -357,7 +370,8 @@ name: """ + object_name + """
|
|||||||
self.dn_binary_attribute, ": B:4:1234:<SID=%s>" % self.ldb.get_domain_sid())
|
self.dn_binary_attribute, ": B:4:1234:<SID=%s>" % self.ldb.get_domain_sid())
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e13:
|
||||||
|
(num, _) = e13.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# add object with random string instead of DN
|
# add object with random string instead of DN
|
||||||
@ -366,7 +380,8 @@ name: """ + object_name + """
|
|||||||
self.dn_binary_attribute, ": B:4:1234:randomSTRING")
|
self.dn_binary_attribute, ": B:4:1234:randomSTRING")
|
||||||
try:
|
try:
|
||||||
self.ldb.add_ldif(ldif)
|
self.ldb.add_ldif(ldif)
|
||||||
except LdbError, (num, _):
|
except LdbError as e14:
|
||||||
|
(num, _) = e14.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
TestProgram(module=__name__, opts=subunitopts)
|
TestProgram(module=__name__, opts=subunitopts)
|
||||||
|
@ -169,7 +169,8 @@ class LATests(samba.tests.TestCase):
|
|||||||
"""Assert a function raises a particular LdbError."""
|
"""Assert a function raises a particular LdbError."""
|
||||||
try:
|
try:
|
||||||
f(*args, **kwargs)
|
f(*args, **kwargs)
|
||||||
except ldb.LdbError as (num, msg):
|
except ldb.LdbError as e:
|
||||||
|
(num, msg) = e.args
|
||||||
if num != errcode:
|
if num != errcode:
|
||||||
lut = {v: k for k, v in vars(ldb).iteritems()
|
lut = {v: k for k, v in vars(ldb).iteritems()
|
||||||
if k.startswith('ERR_') and isinstance(v, int)}
|
if k.startswith('ERR_') and isinstance(v, int)}
|
||||||
|
@ -143,7 +143,8 @@ otherLoginWorkstations: AFTER"
|
|||||||
try:
|
try:
|
||||||
res = notify1.result()
|
res = notify1.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e10:
|
||||||
|
(num, _) = e10.args
|
||||||
self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED)
|
self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED)
|
||||||
self.assertIsNotNone(msg3)
|
self.assertIsNotNone(msg3)
|
||||||
|
|
||||||
@ -176,7 +177,8 @@ delete: otherLoginWorkstations
|
|||||||
continue
|
continue
|
||||||
res = notifies[i].result()
|
res = notifies[i].result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
if num == ERR_ADMIN_LIMIT_EXCEEDED:
|
if num == ERR_ADMIN_LIMIT_EXCEEDED:
|
||||||
num_admin_limit += 1
|
num_admin_limit += 1
|
||||||
continue
|
continue
|
||||||
@ -206,7 +208,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED)
|
self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -220,7 +223,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED)
|
self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -234,7 +238,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -248,7 +253,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e4:
|
||||||
|
(num, _) = e4.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -262,7 +268,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e5:
|
||||||
|
(num, _) = e5.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -276,7 +283,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e6:
|
||||||
|
(num, _) = e6.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -290,7 +298,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e7:
|
||||||
|
(num, _) = e7.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -304,7 +313,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e8:
|
||||||
|
(num, _) = e8.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
res = self.ldb.search(base=self.ldb.get_schema_basedn(),
|
res = self.ldb.search(base=self.ldb.get_schema_basedn(),
|
||||||
@ -328,7 +338,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e9:
|
||||||
|
(num, _) = e9.args
|
||||||
if num != ERR_UNWILLING_TO_PERFORM:
|
if num != ERR_UNWILLING_TO_PERFORM:
|
||||||
print "va[%s]" % va
|
print "va[%s]" % va
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
@ -345,7 +356,8 @@ delete: otherLoginWorkstations
|
|||||||
self.fail()
|
self.fail()
|
||||||
res = hnd.result()
|
res = hnd.result()
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e11:
|
||||||
|
(num, _) = e11.args
|
||||||
if num != ERR_UNWILLING_TO_PERFORM:
|
if num != ERR_UNWILLING_TO_PERFORM:
|
||||||
print "va[%s]" % va
|
print "va[%s]" % va
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
@ -169,7 +169,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e:
|
||||||
|
(num, msg) = e.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -215,7 +216,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e1:
|
||||||
|
(num, msg) = e1.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -243,7 +245,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e2:
|
||||||
|
(num, msg) = e2.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -271,7 +274,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e3:
|
||||||
|
(num, msg) = e3.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -297,7 +301,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e4:
|
||||||
|
(num, msg) = e4.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -323,7 +328,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2x
|
userPassword: thatsAcomplPASS2x
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e5:
|
||||||
|
(num, msg) = e5.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -368,7 +374,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2x
|
userPassword: thatsAcomplPASS2x
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e6:
|
||||||
|
(num, msg) = e6.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -415,7 +422,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2x\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2x\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e7:
|
||||||
|
(num, msg) = e7.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -479,7 +487,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2XYZ
|
userPassword: thatsAcomplPASS2XYZ
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e8:
|
||||||
|
(num, msg) = e8.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -506,7 +515,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2XYZ
|
userPassword: thatsAcomplPASS2XYZ
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e9:
|
||||||
|
(num, msg) = e9.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -608,7 +618,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e10:
|
||||||
|
(num, msg) = e10.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -660,7 +671,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e11:
|
||||||
|
(num, msg) = e11.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -703,7 +715,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e12:
|
||||||
|
(num, msg) = e12.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -732,7 +745,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e13:
|
||||||
|
(num, msg) = e13.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -758,7 +772,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e14:
|
||||||
|
(num, msg) = e14.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -784,7 +799,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(invalid_utf16) + """
|
unicodePwd:: """ + base64.b64encode(invalid_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e15:
|
||||||
|
(num, msg) = e15.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000775' in msg, msg)
|
self.assertTrue('00000775' in msg, msg)
|
||||||
|
|
||||||
@ -851,7 +867,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e16:
|
||||||
|
(num, msg) = e16.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -878,7 +895,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e17:
|
||||||
|
(num, msg) = e17.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -920,7 +938,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
unicodePwd:: """ + base64.b64encode(new_utf16) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e18:
|
||||||
|
(num, msg) = e18.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg, msg)
|
self.assertTrue('00000056' in msg, msg)
|
||||||
|
|
||||||
@ -1053,7 +1072,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e19:
|
||||||
|
(num, msg) = e19.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
# Windows (2008 at least) seems to have some small bug here: it
|
# Windows (2008 at least) seems to have some small bug here: it
|
||||||
# returns "0000056A" on longer (always wrong) previous passwords.
|
# returns "0000056A" on longer (always wrong) previous passwords.
|
||||||
|
@ -236,7 +236,8 @@ userPassword: """ + userpass + """
|
|||||||
try:
|
try:
|
||||||
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e:
|
||||||
|
(num, msg) = e.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
# Succeed to reset everything to 0
|
# Succeed to reset everything to 0
|
||||||
@ -248,7 +249,8 @@ userPassword: """ + userpass + """
|
|||||||
try:
|
try:
|
||||||
ldb = SamDB(url=url, credentials=creds, lp=lp)
|
ldb = SamDB(url=url, credentials=creds, lp=lp)
|
||||||
self.fail("Login unexpectedly succeeded")
|
self.fail("Login unexpectedly succeeded")
|
||||||
except LdbError, (num, msg):
|
except LdbError as e1:
|
||||||
|
(num, msg) = e1.args
|
||||||
if errno is not None:
|
if errno is not None:
|
||||||
self.assertEquals(num, errno, ("Login failed in the wrong way"
|
self.assertEquals(num, errno, ("Login failed in the wrong way"
|
||||||
"(got err %d, expected %d)" %
|
"(got err %d, expected %d)" %
|
||||||
@ -479,7 +481,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
|
|
||||||
except LdbError, (num, msg):
|
except LdbError as e2:
|
||||||
|
(num, msg) = e2.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -502,7 +505,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
|
|
||||||
except LdbError, (num, msg):
|
except LdbError as e3:
|
||||||
|
(num, msg) = e3.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -523,7 +527,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e4:
|
||||||
|
(num, msg) = e4.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -542,7 +547,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e5:
|
||||||
|
(num, msg) = e5.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -561,7 +567,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e6:
|
||||||
|
(num, msg) = e6.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -619,7 +626,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e7:
|
||||||
|
(num, msg) = e7.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -639,7 +647,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e8:
|
||||||
|
(num, msg) = e8.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -672,7 +681,8 @@ lockoutThreshold: """ + str(lockoutThreshold) + """
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e9:
|
||||||
|
(num, msg) = e9.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
|
@ -113,7 +113,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e:
|
||||||
|
(num, msg) = e.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
# Windows (2008 at least) seems to have some small bug here: it
|
# Windows (2008 at least) seems to have some small bug here: it
|
||||||
# returns "0000056A" on longer (always wrong) previous passwords.
|
# returns "0000056A" on longer (always wrong) previous passwords.
|
||||||
@ -141,7 +142,8 @@ userPassword: thatsAcomplPASS1
|
|||||||
add: userPassword
|
add: userPassword
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# Enables the user account
|
# Enables the user account
|
||||||
@ -171,7 +173,8 @@ add: userPassword
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
def test_unicodePwd_hash_change(self):
|
def test_unicodePwd_hash_change(self):
|
||||||
@ -189,7 +192,8 @@ add: unicodePwd
|
|||||||
unicodePwd: YYYYYYYYYYYYYYYY
|
unicodePwd: YYYYYYYYYYYYYYYY
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
def test_unicodePwd_clear_set(self):
|
def test_unicodePwd_clear_set(self):
|
||||||
@ -224,7 +228,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS4\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS4\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e4:
|
||||||
|
(num, msg) = e4.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg)
|
self.assertTrue('00000056' in msg)
|
||||||
|
|
||||||
@ -239,7 +244,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e5:
|
||||||
|
(num, msg) = e5.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('0000052D' in msg)
|
self.assertTrue('0000052D' in msg)
|
||||||
|
|
||||||
@ -254,7 +260,8 @@ unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS2\"".encode('utf-16-le'))
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e6:
|
||||||
|
(num, _) = e6.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
def test_dBCSPwd_hash_change(self):
|
def test_dBCSPwd_hash_change(self):
|
||||||
@ -271,7 +278,8 @@ add: dBCSPwd
|
|||||||
dBCSPwd: YYYYYYYYYYYYYYYY
|
dBCSPwd: YYYYYYYYYYYYYYYY
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e7:
|
||||||
|
(num, _) = e7.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
def test_userPassword_clear_set(self):
|
def test_userPassword_clear_set(self):
|
||||||
@ -310,7 +318,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS4
|
userPassword: thatsAcomplPASS4
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e8:
|
||||||
|
(num, msg) = e8.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('00000056' in msg)
|
self.assertTrue('00000056' in msg)
|
||||||
|
|
||||||
@ -325,7 +334,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e9:
|
||||||
|
(num, msg) = e9.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
self.assertTrue('0000052D' in msg)
|
self.assertTrue('0000052D' in msg)
|
||||||
|
|
||||||
@ -340,7 +350,8 @@ userPassword: thatsAcomplPASS2
|
|||||||
FLAG_MOD_REPLACE, "clearTextPassword")
|
FLAG_MOD_REPLACE, "clearTextPassword")
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
# this passes against s4
|
# this passes against s4
|
||||||
except LdbError, (num, msg):
|
except LdbError as e10:
|
||||||
|
(num, msg) = e10.args
|
||||||
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
||||||
if num != ERR_NO_SUCH_ATTRIBUTE:
|
if num != ERR_NO_SUCH_ATTRIBUTE:
|
||||||
raise LdbError(num, msg)
|
raise LdbError(num, msg)
|
||||||
@ -359,7 +370,8 @@ add: clearTextPassword
|
|||||||
clearTextPassword:: """ + base64.b64encode("thatsAcomplPASS2".encode('utf-16-le')) + """
|
clearTextPassword:: """ + base64.b64encode("thatsAcomplPASS2".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
# this passes against s4
|
# this passes against s4
|
||||||
except LdbError, (num, msg):
|
except LdbError as e11:
|
||||||
|
(num, msg) = e11.args
|
||||||
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
||||||
if num != ERR_NO_SUCH_ATTRIBUTE:
|
if num != ERR_NO_SUCH_ATTRIBUTE:
|
||||||
raise LdbError(num, msg)
|
raise LdbError(num, msg)
|
||||||
@ -375,7 +387,8 @@ add: clearTextPassword
|
|||||||
clearTextPassword:: """ + base64.b64encode("thatsAcomplPASS4".encode('utf-16-le')) + """
|
clearTextPassword:: """ + base64.b64encode("thatsAcomplPASS4".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e12:
|
||||||
|
(num, msg) = e12.args
|
||||||
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
||||||
if num != ERR_NO_SUCH_ATTRIBUTE:
|
if num != ERR_NO_SUCH_ATTRIBUTE:
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
@ -392,7 +405,8 @@ add: clearTextPassword
|
|||||||
clearTextPassword:: """ + base64.b64encode("thatsAcomplPASS2".encode('utf-16-le')) + """
|
clearTextPassword:: """ + base64.b64encode("thatsAcomplPASS2".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e13:
|
||||||
|
(num, msg) = e13.args
|
||||||
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
# "NO_SUCH_ATTRIBUTE" is returned by Windows -> ignore it
|
||||||
if num != ERR_NO_SUCH_ATTRIBUTE:
|
if num != ERR_NO_SUCH_ATTRIBUTE:
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
@ -409,7 +423,8 @@ delete: userPassword
|
|||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e14:
|
||||||
|
(num, _) = e14.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -420,7 +435,8 @@ delete: userPassword
|
|||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e15:
|
||||||
|
(num, _) = e15.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -430,7 +446,8 @@ changetype: modify
|
|||||||
delete: userPassword
|
delete: userPassword
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e16:
|
||||||
|
(num, _) = e16.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -440,7 +457,8 @@ changetype: modify
|
|||||||
delete: userPassword
|
delete: userPassword
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e17:
|
||||||
|
(num, _) = e17.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -451,7 +469,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e18:
|
||||||
|
(num, _) = e18.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -462,7 +481,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS1
|
userPassword: thatsAcomplPASS1
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e19:
|
||||||
|
(num, _) = e19.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -476,7 +496,8 @@ userPassword: thatsAcomplPASS2
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e20:
|
||||||
|
(num, _) = e20.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -490,7 +511,8 @@ userPassword: thatsAcomplPASS2
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e21:
|
||||||
|
(num, _) = e21.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -504,7 +526,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e22:
|
||||||
|
(num, _) = e22.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -518,7 +541,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e23:
|
||||||
|
(num, _) = e23.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -533,7 +557,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e24:
|
||||||
|
(num, _) = e24.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -548,7 +573,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e25:
|
||||||
|
(num, _) = e25.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -563,7 +589,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e26:
|
||||||
|
(num, _) = e26.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -578,7 +605,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS2
|
userPassword: thatsAcomplPASS2
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e27:
|
||||||
|
(num, _) = e27.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -593,7 +621,8 @@ replace: userPassword
|
|||||||
userPassword: thatsAcomplPASS3
|
userPassword: thatsAcomplPASS3
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e28:
|
||||||
|
(num, _) = e28.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -608,7 +637,8 @@ replace: userPassword
|
|||||||
userPassword: thatsAcomplPASS3
|
userPassword: thatsAcomplPASS3
|
||||||
""")
|
""")
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e29:
|
||||||
|
(num, _) = e29.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
# Reverse order does work
|
# Reverse order does work
|
||||||
@ -631,7 +661,8 @@ add: unicodePwd
|
|||||||
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS3\"".encode('utf-16-le')) + """
|
unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS3\"".encode('utf-16-le')) + """
|
||||||
""")
|
""")
|
||||||
# this passes against s4
|
# this passes against s4
|
||||||
except LdbError, (num, _):
|
except LdbError as e30:
|
||||||
|
(num, _) = e30.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -644,7 +675,8 @@ add: userPassword
|
|||||||
userPassword: thatsAcomplPASS4
|
userPassword: thatsAcomplPASS4
|
||||||
""")
|
""")
|
||||||
# this passes against s4
|
# this passes against s4
|
||||||
except LdbError, (num, _):
|
except LdbError as e31:
|
||||||
|
(num, _) = e31.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
# Several password changes at once are allowed
|
# Several password changes at once are allowed
|
||||||
@ -692,7 +724,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"unicodePwd": [] })
|
"unicodePwd": [] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e32:
|
||||||
|
(num, _) = e32.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -701,7 +734,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"dBCSPwd": [] })
|
"dBCSPwd": [] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e33:
|
||||||
|
(num, _) = e33.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -710,7 +744,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"userPassword": [] })
|
"userPassword": [] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e34:
|
||||||
|
(num, _) = e34.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -719,7 +754,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"clearTextPassword": [] })
|
"clearTextPassword": [] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e35:
|
||||||
|
(num, _) = e35.args
|
||||||
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
||||||
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
||||||
|
|
||||||
@ -731,7 +767,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e36:
|
||||||
|
(num, _) = e36.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -740,7 +777,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e37:
|
||||||
|
(num, _) = e37.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -749,7 +787,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e38:
|
||||||
|
(num, _) = e38.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -758,7 +797,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e39:
|
||||||
|
(num, _) = e39.args
|
||||||
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
||||||
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
||||||
|
|
||||||
@ -768,7 +808,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e40:
|
||||||
|
(num, _) = e40.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -777,7 +818,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e41:
|
||||||
|
(num, _) = e41.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -786,7 +828,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e42:
|
||||||
|
(num, _) = e42.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -795,7 +838,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e43:
|
||||||
|
(num, _) = e43.args
|
||||||
self.assertTrue(num == ERR_UNWILLING_TO_PERFORM or
|
self.assertTrue(num == ERR_UNWILLING_TO_PERFORM or
|
||||||
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
||||||
|
|
||||||
@ -805,7 +849,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e44:
|
||||||
|
(num, _) = e44.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -814,7 +859,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e45:
|
||||||
|
(num, _) = e45.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -823,7 +869,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e46:
|
||||||
|
(num, _) = e46.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -832,7 +879,8 @@ userPassword: thatsAcomplPASS4
|
|||||||
try:
|
try:
|
||||||
self.ldb.modify(m)
|
self.ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e47:
|
||||||
|
(num, _) = e47.args
|
||||||
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
|
||||||
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
|
||||||
|
|
||||||
|
@ -67,7 +67,8 @@ class RodcTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.add(o)
|
self.samdb.add(o)
|
||||||
self.fail("Failed to fail to add %s" % o['dn'])
|
self.fail("Failed to fail to add %s" % o['dn'])
|
||||||
except ldb.LdbError as (ecode, emsg):
|
except ldb.LdbError as e:
|
||||||
|
(ecode, emsg) = e.args
|
||||||
if ecode != ldb.ERR_REFERRAL:
|
if ecode != ldb.ERR_REFERRAL:
|
||||||
print emsg
|
print emsg
|
||||||
self.fail("Adding %s: ldb error: %s %s, wanted referral" %
|
self.fail("Adding %s: ldb error: %s %s, wanted referral" %
|
||||||
@ -103,7 +104,8 @@ class RodcTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(msg)
|
self.samdb.modify(msg)
|
||||||
self.fail("Failed to fail to modify %s %s" % (dn, attr))
|
self.fail("Failed to fail to modify %s %s" % (dn, attr))
|
||||||
except ldb.LdbError as (ecode, emsg):
|
except ldb.LdbError as e1:
|
||||||
|
(ecode, emsg) = e1.args
|
||||||
if ecode != ldb.ERR_REFERRAL:
|
if ecode != ldb.ERR_REFERRAL:
|
||||||
self.fail("Failed to REFER when trying to modify %s %s" %
|
self.fail("Failed to REFER when trying to modify %s %s" %
|
||||||
(dn, attr))
|
(dn, attr))
|
||||||
@ -138,7 +140,8 @@ class RodcTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail("Failed to fail to modify %s %s" % (dn, attr))
|
self.fail("Failed to fail to modify %s %s" % (dn, attr))
|
||||||
except ldb.LdbError as (ecode, emsg):
|
except ldb.LdbError as e2:
|
||||||
|
(ecode, emsg) = e2.args
|
||||||
if ecode != ldb.ERR_REFERRAL:
|
if ecode != ldb.ERR_REFERRAL:
|
||||||
self.fail("Failed to REFER when trying to modify %s %s" %
|
self.fail("Failed to REFER when trying to modify %s %s" %
|
||||||
(dn, attr))
|
(dn, attr))
|
||||||
@ -172,7 +175,8 @@ class RodcTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail("Failed to fail to modify %s %s" % (dn, attr))
|
self.fail("Failed to fail to modify %s %s" % (dn, attr))
|
||||||
except ldb.LdbError as (ecode, emsg):
|
except ldb.LdbError as e3:
|
||||||
|
(ecode, emsg) = e3.args
|
||||||
if ecode != ldb.ERR_REFERRAL:
|
if ecode != ldb.ERR_REFERRAL:
|
||||||
self.fail("Failed to REFER when trying to modify %s %s" %
|
self.fail("Failed to REFER when trying to modify %s %s" %
|
||||||
(dn, attr))
|
(dn, attr))
|
||||||
@ -190,7 +194,8 @@ class RodcTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.delete(dn)
|
self.samdb.delete(dn)
|
||||||
self.fail("Failed to fail to delete %s" % (dn))
|
self.fail("Failed to fail to delete %s" % (dn))
|
||||||
except ldb.LdbError as (ecode, emsg):
|
except ldb.LdbError as e4:
|
||||||
|
(ecode, emsg) = e4.args
|
||||||
if ecode != ldb.ERR_REFERRAL:
|
if ecode != ldb.ERR_REFERRAL:
|
||||||
print ecode, emsg
|
print ecode, emsg
|
||||||
self.fail("Failed to REFER when trying to delete %s" % dn)
|
self.fail("Failed to REFER when trying to delete %s" % dn)
|
||||||
@ -208,7 +213,8 @@ class RodcTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.delete(dn)
|
self.samdb.delete(dn)
|
||||||
self.fail("Failed to fail to delete %s" % (dn))
|
self.fail("Failed to fail to delete %s" % (dn))
|
||||||
except ldb.LdbError as (ecode, emsg):
|
except ldb.LdbError as e5:
|
||||||
|
(ecode, emsg) = e5.args
|
||||||
if ecode != ldb.ERR_NO_SUCH_OBJECT:
|
if ecode != ldb.ERR_NO_SUCH_OBJECT:
|
||||||
print ecode, emsg
|
print ecode, emsg
|
||||||
self.fail("Failed to NO_SUCH_OBJECT when trying to delete "
|
self.fail("Failed to NO_SUCH_OBJECT when trying to delete "
|
||||||
|
@ -471,7 +471,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
|
|
||||||
except LdbError, (num, msg):
|
except LdbError as e1:
|
||||||
|
(num, msg) = e1.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -494,7 +495,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
|
|
||||||
except LdbError, (num, msg):
|
except LdbError as e2:
|
||||||
|
(num, msg) = e2.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -515,7 +517,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e3:
|
||||||
|
(num, msg) = e3.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -534,7 +537,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e4:
|
||||||
|
(num, msg) = e4.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -553,7 +557,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e5:
|
||||||
|
(num, msg) = e5.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -608,7 +613,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e6:
|
||||||
|
(num, msg) = e6.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -628,7 +634,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e7:
|
||||||
|
(num, msg) = e7.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -661,7 +668,8 @@ class RodcRwdcCachedTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
ldb_lockout = SamDB(url=self.host_url, credentials=creds_lockout, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e8:
|
||||||
|
(num, msg) = e8.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
res = self._check_account(userdn,
|
res = self._check_account(userdn,
|
||||||
@ -781,7 +789,8 @@ class RodcRwdcTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
fn(*args, **kwargs)
|
fn(*args, **kwargs)
|
||||||
self.fail("failed to raise ldap referral")
|
self.fail("failed to raise ldap referral")
|
||||||
except ldb.LdbError as (code, msg):
|
except ldb.LdbError as e9:
|
||||||
|
(code, msg) = e9.args
|
||||||
self.assertEqual(code, ldb.ERR_REFERRAL,
|
self.assertEqual(code, ldb.ERR_REFERRAL,
|
||||||
"expected referral, got %s %s" % (code, msg))
|
"expected referral, got %s %s" % (code, msg))
|
||||||
|
|
||||||
@ -824,7 +833,8 @@ class RodcRwdcTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.rwdc_db.add(o)
|
self.rwdc_db.add(o)
|
||||||
except ldb.LdbError as (ecode, emsg):
|
except ldb.LdbError as e:
|
||||||
|
(ecode, emsg) = e.args
|
||||||
self.fail("Failed to add %s to rwdc: ldb error: %s %s" %
|
self.fail("Failed to add %s to rwdc: ldb error: %s %s" %
|
||||||
(ecode, emsg))
|
(ecode, emsg))
|
||||||
|
|
||||||
@ -1022,7 +1032,8 @@ class RodcRwdcTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
session_info=system_session(LP), lp=LP)
|
session_info=system_session(LP), lp=LP)
|
||||||
if errno is not None:
|
if errno is not None:
|
||||||
self.fail("logon failed to fail with ldb error %s" % errno)
|
self.fail("logon failed to fail with ldb error %s" % errno)
|
||||||
except ldb.LdbError as (code, msg):
|
except ldb.LdbError as e10:
|
||||||
|
(code, msg) = e10.args
|
||||||
if code != errno:
|
if code != errno:
|
||||||
if errno is None:
|
if errno is None:
|
||||||
self.fail("logon incorrectly raised ldb error (code=%s)" %
|
self.fail("logon incorrectly raised ldb error (code=%s)" %
|
||||||
@ -1172,7 +1183,8 @@ class RodcRwdcTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e11:
|
||||||
|
(num, msg) = e11.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
# Succeed to reset everything to 0
|
# Succeed to reset everything to 0
|
||||||
@ -1201,7 +1213,8 @@ class RodcRwdcTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e12:
|
||||||
|
(num, msg) = e12.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
# Succeed to reset everything to 0
|
# Succeed to reset everything to 0
|
||||||
@ -1225,7 +1238,8 @@ class RodcRwdcTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e13:
|
||||||
|
(num, msg) = e13.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
# Succeed to reset everything to 0
|
# Succeed to reset everything to 0
|
||||||
@ -1254,7 +1268,8 @@ class RodcRwdcTests(password_lockout_base.BasePasswordTestCase):
|
|||||||
try:
|
try:
|
||||||
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
ldb = SamDB(url=self.host_url, credentials=fail_creds, lp=self.lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e14:
|
||||||
|
(num, msg) = e14.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
|
|
||||||
# Succeed to reset everything to 0
|
# Succeed to reset everything to 0
|
||||||
|
@ -120,7 +120,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"sAMAccountName": "administrator"})
|
"sAMAccountName": "administrator"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e9:
|
||||||
|
(num, _) = e9.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -131,7 +132,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"sAMAccountName": []})
|
"sAMAccountName": []})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e10:
|
||||||
|
(num, _) = e10.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -142,7 +144,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"primaryGroupID": "0"})
|
"primaryGroupID": "0"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e11:
|
||||||
|
(num, _) = e11.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -153,7 +156,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"primaryGroupID": str(group_rid_1)})
|
"primaryGroupID": str(group_rid_1)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e12:
|
||||||
|
(num, _) = e12.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -166,7 +170,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e13:
|
||||||
|
(num, _) = e13.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# Test to see how we should behave when the account isn't a user
|
# Test to see how we should behave when the account isn't a user
|
||||||
@ -177,7 +182,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e14:
|
||||||
|
(num, _) = e14.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
|
|
||||||
# Test default primary groups on add operations
|
# Test default primary groups on add operations
|
||||||
@ -332,7 +338,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e15:
|
||||||
|
(num, _) = e15.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# But to reset the actual "sAMAccountName" should still be possible
|
# But to reset the actual "sAMAccountName" should still be possible
|
||||||
@ -367,7 +374,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e16:
|
||||||
|
(num, _) = e16.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Try to make group 1 primary - should be denied since it is not yet
|
# Try to make group 1 primary - should be denied since it is not yet
|
||||||
@ -379,7 +387,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e17:
|
||||||
|
(num, _) = e17.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Make group 1 secondary
|
# Make group 1 secondary
|
||||||
@ -400,7 +409,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.delete("cn=ldaptestgroup,cn=users," + self.base_dn)
|
ldb.delete("cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e18:
|
||||||
|
(num, _) = e18.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# Try to add group 1 also as secondary - should be denied
|
# Try to add group 1 also as secondary - should be denied
|
||||||
@ -411,7 +421,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e19:
|
||||||
|
(num, _) = e19.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# Try to add invalid member to group 1 - should be denied
|
# Try to add invalid member to group 1 - should be denied
|
||||||
@ -423,7 +434,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e20:
|
||||||
|
(num, _) = e20.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# Make group 2 secondary
|
# Make group 2 secondary
|
||||||
@ -471,7 +483,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e21:
|
||||||
|
(num, _) = e21.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Delete invalid group member
|
# Delete invalid group member
|
||||||
@ -482,7 +495,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e22:
|
||||||
|
(num, _) = e22.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Also this should be denied
|
# Also this should be denied
|
||||||
@ -492,7 +506,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"primaryGroupID": "0"})
|
"primaryGroupID": "0"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e23:
|
||||||
|
(num, _) = e23.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Recreate user accounts
|
# Recreate user accounts
|
||||||
@ -521,7 +536,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e24:
|
||||||
|
(num, _) = e24.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# Already added, but as <SID=...>
|
# Already added, but as <SID=...>
|
||||||
@ -537,7 +553,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e25:
|
||||||
|
(num, _) = e25.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
# Invalid member
|
# Invalid member
|
||||||
@ -548,7 +565,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e26:
|
||||||
|
(num, _) = e26.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# Invalid member
|
# Invalid member
|
||||||
@ -560,7 +578,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e27:
|
||||||
|
(num, _) = e27.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# Invalid member
|
# Invalid member
|
||||||
@ -573,7 +592,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e28:
|
||||||
|
(num, _) = e28.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -612,7 +632,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e29:
|
||||||
|
(num, _) = e29.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
# Delete protection tests
|
# Delete protection tests
|
||||||
@ -626,7 +647,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -635,7 +657,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -645,7 +668,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e30:
|
||||||
|
(num, _) = e30.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -655,7 +679,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e31:
|
||||||
|
(num, _) = e31.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -665,7 +690,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e32:
|
||||||
|
(num, _) = e32.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -675,7 +701,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e33:
|
||||||
|
(num, _) = e33.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -685,7 +712,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e34:
|
||||||
|
(num, _) = e34.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
# Delete protection tests
|
# Delete protection tests
|
||||||
@ -702,7 +730,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -711,7 +740,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
@ -727,7 +757,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"primaryGroupToken": "100"})
|
"primaryGroupToken": "100"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e35:
|
||||||
|
(num, _) = e35.args
|
||||||
self.assertEquals(num, ERR_UNDEFINED_ATTRIBUTE_TYPE)
|
self.assertEquals(num, ERR_UNDEFINED_ATTRIBUTE_TYPE)
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -785,7 +816,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e36:
|
||||||
|
(num, _) = e36.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
@ -851,7 +883,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"groupType": "0"})
|
"groupType": "0"})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e37:
|
||||||
|
(num, _) = e37.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -861,7 +894,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"groupType": str(GTYPE_SECURITY_BUILTIN_LOCAL_GROUP)})
|
"groupType": str(GTYPE_SECURITY_BUILTIN_LOCAL_GROUP)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e38:
|
||||||
|
(num, _) = e38.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -962,7 +996,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e39:
|
||||||
|
(num, _) = e39.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Security groups
|
# Security groups
|
||||||
@ -992,7 +1027,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e40:
|
||||||
|
(num, _) = e40.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Change to "universal"
|
# Change to "universal"
|
||||||
@ -1065,7 +1101,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e41:
|
||||||
|
(num, _) = e41.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Change to "builtin local" (shouldn't work)
|
# Change to "builtin local" (shouldn't work)
|
||||||
@ -1078,7 +1115,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e42:
|
||||||
|
(num, _) = e42.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -1109,7 +1147,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e43:
|
||||||
|
(num, _) = e43.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Change back to "global"
|
# Change back to "global"
|
||||||
@ -1137,7 +1176,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e44:
|
||||||
|
(num, _) = e44.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Distribution groups
|
# Distribution groups
|
||||||
@ -1167,7 +1207,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e45:
|
||||||
|
(num, _) = e45.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Change to "universal"
|
# Change to "universal"
|
||||||
@ -1240,7 +1281,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e46:
|
||||||
|
(num, _) = e46.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Change back to "universal"
|
# Change back to "universal"
|
||||||
@ -1254,7 +1296,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e47:
|
||||||
|
(num, _) = e47.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
# Make group 2 secondary
|
# Make group 2 secondary
|
||||||
@ -1314,7 +1357,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e48:
|
||||||
|
(num, _) = e48.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Change to "universal"
|
# Change to "universal"
|
||||||
@ -1387,7 +1431,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "groupType")
|
FLAG_MOD_REPLACE, "groupType")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e49:
|
||||||
|
(num, _) = e49.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# Change back to "universal"
|
# Change back to "universal"
|
||||||
@ -1465,7 +1510,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"pwdLastSet": str(1)})
|
"pwdLastSet": str(1)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e50:
|
||||||
|
(num, msg) = e50.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
self.assertTrue('00000057' in msg)
|
self.assertTrue('00000057' in msg)
|
||||||
|
|
||||||
@ -1475,7 +1521,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"pwdLastSet": str(lastset)})
|
"pwdLastSet": str(lastset)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e51:
|
||||||
|
(num, msg) = e51.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
self.assertTrue('00000057' in msg)
|
self.assertTrue('00000057' in msg)
|
||||||
|
|
||||||
@ -1538,7 +1585,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"pwdLastSet")
|
"pwdLastSet")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e52:
|
||||||
|
(num, msg) = e52.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
self.assertTrue('00002085' in msg)
|
self.assertTrue('00002085' in msg)
|
||||||
|
|
||||||
@ -1553,7 +1601,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"pwdLastSet")
|
"pwdLastSet")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e53:
|
||||||
|
(num, msg) = e53.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
self.assertTrue('00002085' in msg)
|
self.assertTrue('00002085' in msg)
|
||||||
|
|
||||||
@ -1588,7 +1637,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"pwdLastSet")
|
"pwdLastSet")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e54:
|
||||||
|
(num, msg) = e54.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
self.assertTrue('00000057' in msg)
|
self.assertTrue('00000057' in msg)
|
||||||
|
|
||||||
@ -1737,7 +1787,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
simple_ldb = SamDB(url=host, credentials=simple_creds, lp=lp)
|
simple_ldb = SamDB(url=host, credentials=simple_creds, lp=lp)
|
||||||
self.assertIsNotNone(simple_ldb)
|
self.assertIsNotNone(simple_ldb)
|
||||||
simple_ldb = None
|
simple_ldb = None
|
||||||
except LdbError, (num, msg):
|
except LdbError as e55:
|
||||||
|
(num, msg) = e55.args
|
||||||
if num != ERR_STRONG_AUTH_REQUIRED:
|
if num != ERR_STRONG_AUTH_REQUIRED:
|
||||||
raise
|
raise
|
||||||
requires_strong_auth = True
|
requires_strong_auth = True
|
||||||
@ -1750,7 +1801,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_fail = SamDB(url=host, credentials=sasl_wrong_creds, lp=lp)
|
ldb_fail = SamDB(url=host, credentials=sasl_wrong_creds, lp=lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e56:
|
||||||
|
(num, msg) = e56.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
self.assertTrue(error_msg_sasl_wrong_pw in msg)
|
self.assertTrue(error_msg_sasl_wrong_pw in msg)
|
||||||
|
|
||||||
@ -1758,7 +1810,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_fail = SamDB(url=host, credentials=simple_wrong_creds, lp=lp)
|
ldb_fail = SamDB(url=host, credentials=simple_wrong_creds, lp=lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e4:
|
||||||
|
(num, msg) = e4.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
assertLDAPErrorMsg(msg, error_msg_simple_wrong_pw)
|
assertLDAPErrorMsg(msg, error_msg_simple_wrong_pw)
|
||||||
|
|
||||||
@ -1776,14 +1829,16 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_fail = SamDB(url=host, credentials=sasl_wrong_creds, lp=lp)
|
ldb_fail = SamDB(url=host, credentials=sasl_wrong_creds, lp=lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e57:
|
||||||
|
(num, msg) = e57.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
assertLDAPErrorMsg(msg, error_msg_sasl_wrong_pw)
|
assertLDAPErrorMsg(msg, error_msg_sasl_wrong_pw)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ldb_fail = SamDB(url=host, credentials=sasl_creds, lp=lp)
|
ldb_fail = SamDB(url=host, credentials=sasl_creds, lp=lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e58:
|
||||||
|
(num, msg) = e58.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
assertLDAPErrorMsg(msg, error_msg_sasl_must_change)
|
assertLDAPErrorMsg(msg, error_msg_sasl_must_change)
|
||||||
|
|
||||||
@ -1791,14 +1846,16 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb_fail = SamDB(url=host, credentials=simple_wrong_creds, lp=lp)
|
ldb_fail = SamDB(url=host, credentials=simple_wrong_creds, lp=lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e5:
|
||||||
|
(num, msg) = e5.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
assertLDAPErrorMsg(msg, error_msg_simple_wrong_pw)
|
assertLDAPErrorMsg(msg, error_msg_simple_wrong_pw)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ldb_fail = SamDB(url=host, credentials=simple_creds, lp=lp)
|
ldb_fail = SamDB(url=host, credentials=simple_creds, lp=lp)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, msg):
|
except LdbError as e6:
|
||||||
|
(num, msg) = e6.args
|
||||||
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
self.assertEquals(num, ERR_INVALID_CREDENTIALS)
|
||||||
assertLDAPErrorMsg(msg, error_msg_simple_must_change)
|
assertLDAPErrorMsg(msg, error_msg_simple_must_change)
|
||||||
|
|
||||||
@ -1874,7 +1931,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"userAccountControl": str(UF_TEMP_DUPLICATE_ACCOUNT)})
|
"userAccountControl": str(UF_TEMP_DUPLICATE_ACCOUNT)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e59:
|
||||||
|
(num, _) = e59.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -1884,7 +1942,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"userAccountControl": str(UF_SERVER_TRUST_ACCOUNT)})
|
"userAccountControl": str(UF_SERVER_TRUST_ACCOUNT)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e60:
|
||||||
|
(num, _) = e60.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -1893,7 +1952,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"userAccountControl": str(UF_WORKSTATION_TRUST_ACCOUNT)})
|
"userAccountControl": str(UF_WORKSTATION_TRUST_ACCOUNT)})
|
||||||
except LdbError, (num, _):
|
except LdbError as e61:
|
||||||
|
(num, _) = e61.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -1902,7 +1962,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"userAccountControl": str(UF_WORKSTATION_TRUST_ACCOUNT | UF_PARTIAL_SECRETS_ACCOUNT)})
|
"userAccountControl": str(UF_WORKSTATION_TRUST_ACCOUNT | UF_PARTIAL_SECRETS_ACCOUNT)})
|
||||||
except LdbError, (num, _):
|
except LdbError as e62:
|
||||||
|
(num, _) = e62.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -1912,7 +1973,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "user",
|
"objectclass": "user",
|
||||||
"userAccountControl": str(UF_INTERDOMAIN_TRUST_ACCOUNT)})
|
"userAccountControl": str(UF_INTERDOMAIN_TRUST_ACCOUNT)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e63:
|
||||||
|
(num, _) = e63.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
@ -1944,7 +2006,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
m["userAccountControl"] = MessageElement("0",
|
m["userAccountControl"] = MessageElement("0",
|
||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
except LdbError, (num, _):
|
except LdbError as e64:
|
||||||
|
(num, _) = e64.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -1954,7 +2017,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
str(UF_NORMAL_ACCOUNT),
|
str(UF_NORMAL_ACCOUNT),
|
||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
except LdbError, (num, _):
|
except LdbError as e65:
|
||||||
|
(num, _) = e65.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -2020,7 +2084,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e66:
|
||||||
|
(num, _) = e66.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -2031,7 +2096,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e67:
|
||||||
|
(num, _) = e67.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -2049,7 +2115,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e68:
|
||||||
|
(num, _) = e68.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
|
res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
@ -2079,7 +2146,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e69:
|
||||||
|
(num, _) = e69.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
# With a computer object
|
# With a computer object
|
||||||
@ -2148,7 +2216,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "computer",
|
"objectclass": "computer",
|
||||||
"userAccountControl": str(UF_TEMP_DUPLICATE_ACCOUNT)})
|
"userAccountControl": str(UF_TEMP_DUPLICATE_ACCOUNT)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e70:
|
||||||
|
(num, _) = e70.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
|
||||||
|
|
||||||
@ -2169,7 +2238,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"dn": "cn=ldaptestcomputer,cn=computers," + self.base_dn,
|
"dn": "cn=ldaptestcomputer,cn=computers," + self.base_dn,
|
||||||
"objectclass": "computer",
|
"objectclass": "computer",
|
||||||
"userAccountControl": str(UF_WORKSTATION_TRUST_ACCOUNT)})
|
"userAccountControl": str(UF_WORKSTATION_TRUST_ACCOUNT)})
|
||||||
except LdbError, (num, _):
|
except LdbError as e71:
|
||||||
|
(num, _) = e71.args
|
||||||
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
|
||||||
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
|
||||||
|
|
||||||
@ -2179,7 +2249,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "computer",
|
"objectclass": "computer",
|
||||||
"userAccountControl": str(UF_INTERDOMAIN_TRUST_ACCOUNT)})
|
"userAccountControl": str(UF_INTERDOMAIN_TRUST_ACCOUNT)})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e72:
|
||||||
|
(num, _) = e72.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
|
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
|
||||||
|
|
||||||
@ -2212,7 +2283,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
m["userAccountControl"] = MessageElement("0",
|
m["userAccountControl"] = MessageElement("0",
|
||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
except LdbError, (num, _):
|
except LdbError as e73:
|
||||||
|
(num, _) = e73.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -2222,7 +2294,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
str(UF_NORMAL_ACCOUNT),
|
str(UF_NORMAL_ACCOUNT),
|
||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
except LdbError, (num, _):
|
except LdbError as e74:
|
||||||
|
(num, _) = e74.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -2288,7 +2361,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e75:
|
||||||
|
(num, _) = e75.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -2377,7 +2451,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
FLAG_MOD_REPLACE, "userAccountControl")
|
FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e76:
|
||||||
|
(num, _) = e76.args
|
||||||
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEquals(num, ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
|
|
||||||
# "primaryGroupID" does not change if account type remains the same
|
# "primaryGroupID" does not change if account type remains the same
|
||||||
@ -3299,7 +3374,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e77:
|
||||||
|
(num, _) = e77.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -3379,7 +3455,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e78:
|
||||||
|
(num, _) = e78.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -3434,7 +3511,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e79:
|
||||||
|
(num, _) = e79.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -3444,7 +3522,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e80:
|
||||||
|
(num, _) = e80.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -3464,7 +3543,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e81:
|
||||||
|
(num, _) = e81.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -3474,7 +3554,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e82:
|
||||||
|
(num, _) = e82.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -3521,7 +3602,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"fSMORoleOwner": self.base_dn})
|
"fSMORoleOwner": self.base_dn})
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e83:
|
||||||
|
(num, _) = e83.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -3530,7 +3612,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
"objectclass": "group",
|
"objectclass": "group",
|
||||||
"fSMORoleOwner": [] })
|
"fSMORoleOwner": [] })
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e84:
|
||||||
|
(num, _) = e84.args
|
||||||
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
|
||||||
|
|
||||||
# We are able to set it to a valid "nTDSDSA" entry if the server is
|
# We are able to set it to a valid "nTDSDSA" entry if the server is
|
||||||
@ -3553,7 +3636,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e85:
|
||||||
|
(num, _) = e85.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
m = Message()
|
m = Message()
|
||||||
@ -3562,7 +3646,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
ldb.modify(m)
|
ldb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e86:
|
||||||
|
(num, _) = e86.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
# We are able to set it to a valid "nTDSDSA" entry if the server is
|
# We are able to set it to a valid "nTDSDSA" entry if the server is
|
||||||
@ -3599,7 +3684,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
for pr_object in protected_list:
|
for pr_object in protected_list:
|
||||||
try:
|
try:
|
||||||
self.ldb.delete(pr_object[0] + "," + pr_object[1] + self.base_dn)
|
self.ldb.delete(pr_object[0] + "," + pr_object[1] + self.base_dn)
|
||||||
except LdbError, (num, _):
|
except LdbError as e7:
|
||||||
|
(num, _) = e7.args
|
||||||
self.assertEquals(num, ERR_OTHER)
|
self.assertEquals(num, ERR_OTHER)
|
||||||
else:
|
else:
|
||||||
self.fail("Deleted " + pr_object[0])
|
self.fail("Deleted " + pr_object[0])
|
||||||
@ -3607,7 +3693,8 @@ class SamTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.ldb.rename(pr_object[0] + "," + pr_object[1] + self.base_dn,
|
self.ldb.rename(pr_object[0] + "," + pr_object[1] + self.base_dn,
|
||||||
pr_object[0] + "2," + pr_object[1] + self.base_dn)
|
pr_object[0] + "2," + pr_object[1] + self.base_dn)
|
||||||
except LdbError, (num, _):
|
except LdbError as e8:
|
||||||
|
(num, _) = e8.args
|
||||||
self.fail("Could not rename " + pr_object[0])
|
self.fail("Could not rename " + pr_object[0])
|
||||||
|
|
||||||
self.ldb.rename(pr_object[0] + "2," + pr_object[1] + self.base_dn,
|
self.ldb.rename(pr_object[0] + "2," + pr_object[1] + self.base_dn,
|
||||||
|
@ -71,7 +71,8 @@ class DescriptorTests(samba.tests.TestCase):
|
|||||||
class_dn = "CN=%s,%s" % (class_name, self.schema_dn)
|
class_dn = "CN=%s,%s" % (class_name, self.schema_dn)
|
||||||
try:
|
try:
|
||||||
self.ldb_admin.search(base=class_dn, attrs=["name"])
|
self.ldb_admin.search(base=class_dn, attrs=["name"])
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@ -205,7 +205,8 @@ class BaseRestoreObjectTestCase(RestoredObjectAttributesBaseTestCase):
|
|||||||
FLAG_MOD_ADD, "enableOptionalFeature")
|
FLAG_MOD_ADD, "enableOptionalFeature")
|
||||||
try:
|
try:
|
||||||
self.samdb.modify(msg)
|
self.samdb.modify(msg)
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
def test_undelete(self):
|
def test_undelete(self):
|
||||||
@ -242,13 +243,15 @@ class BaseRestoreObjectTestCase(RestoredObjectAttributesBaseTestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.rename(str(objDeleted1.dn), usr1)
|
self.samdb.rename(str(objDeleted1.dn), usr1)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e1:
|
||||||
|
(num, _) = e1.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.samdb.rename(str(objDeleted1.dn), usr1, ["show_deleted:1"])
|
self.samdb.rename(str(objDeleted1.dn), usr1, ["show_deleted:1"])
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e2:
|
||||||
|
(num, _) = e2.args
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
def test_undelete_with_mod(self):
|
def test_undelete_with_mod(self):
|
||||||
@ -307,7 +310,8 @@ class BaseRestoreObjectTestCase(RestoredObjectAttributesBaseTestCase):
|
|||||||
try:
|
try:
|
||||||
self.restore_deleted_object(self.samdb, objDeleted1.dn, usr1)
|
self.restore_deleted_object(self.samdb, objDeleted1.dn, usr1)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e3:
|
||||||
|
(num, _) = e3.args
|
||||||
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
def test_undelete_cross_nc(self):
|
def test_undelete_cross_nc(self):
|
||||||
@ -338,13 +342,15 @@ class BaseRestoreObjectTestCase(RestoredObjectAttributesBaseTestCase):
|
|||||||
try:
|
try:
|
||||||
self.restore_deleted_object(self.samdb, objDeleted1.dn, c3)
|
self.restore_deleted_object(self.samdb, objDeleted1.dn, c3)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e4:
|
||||||
|
(num, _) = e4.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
#try to undelete from config to base dn
|
#try to undelete from config to base dn
|
||||||
try:
|
try:
|
||||||
self.restore_deleted_object(self.samdb, objDeleted2.dn, c4)
|
self.restore_deleted_object(self.samdb, objDeleted2.dn, c4)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (num, _):
|
except LdbError as e5:
|
||||||
|
(num, _) = e5.args
|
||||||
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
self.assertEquals(num, ERR_OPERATIONS_ERROR)
|
||||||
#assert undeletion will work in same nc
|
#assert undeletion will work in same nc
|
||||||
self.restore_deleted_object(self.samdb, objDeleted1.dn, c4)
|
self.restore_deleted_object(self.samdb, objDeleted1.dn, c4)
|
||||||
|
@ -38,7 +38,8 @@ class UrgentReplicationTests(samba.tests.TestCase):
|
|||||||
def delete_force(self, ldb, dn):
|
def delete_force(self, ldb, dn):
|
||||||
try:
|
try:
|
||||||
ldb.delete(dn, ["relax:0"])
|
ldb.delete(dn, ["relax:0"])
|
||||||
except LdbError, (num, _):
|
except LdbError as e:
|
||||||
|
(num, _) = e.args
|
||||||
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -227,7 +227,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail("Unexpectedly able to set userAccountControl to be a DC on %s" % m.dn)
|
self.fail("Unexpectedly able to set userAccountControl to be a DC on %s" % m.dn)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e5:
|
||||||
|
(enum, estr) = e5.args
|
||||||
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
||||||
|
|
||||||
m = ldb.Message()
|
m = ldb.Message()
|
||||||
@ -237,7 +238,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail("Unexpectedly able to set userAccountControl to be an RODC on %s" % m.dn)
|
self.fail("Unexpectedly able to set userAccountControl to be an RODC on %s" % m.dn)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e6:
|
||||||
|
(enum, estr) = e6.args
|
||||||
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
||||||
|
|
||||||
m = ldb.Message()
|
m = ldb.Message()
|
||||||
@ -247,7 +249,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail("Unexpectedly able to set userAccountControl to be an Workstation on %s" % m.dn)
|
self.fail("Unexpectedly able to set userAccountControl to be an Workstation on %s" % m.dn)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e7:
|
||||||
|
(enum, estr) = e7.args
|
||||||
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
||||||
|
|
||||||
m = ldb.Message()
|
m = ldb.Message()
|
||||||
@ -262,7 +265,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
ldb.FLAG_MOD_REPLACE, "primaryGroupID")
|
ldb.FLAG_MOD_REPLACE, "primaryGroupID")
|
||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e8:
|
||||||
|
(enum, estr) = e8.args
|
||||||
self.assertEqual(ldb.ERR_UNWILLING_TO_PERFORM, enum)
|
self.assertEqual(ldb.ERR_UNWILLING_TO_PERFORM, enum)
|
||||||
return
|
return
|
||||||
self.fail()
|
self.fail()
|
||||||
@ -297,7 +301,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail("Unexpectedly able to set userAccountControl on %s" % m.dn)
|
self.fail("Unexpectedly able to set userAccountControl on %s" % m.dn)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e9:
|
||||||
|
(enum, estr) = e9.args
|
||||||
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
||||||
|
|
||||||
m = ldb.Message()
|
m = ldb.Message()
|
||||||
@ -307,7 +312,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail()
|
self.fail()
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e10:
|
||||||
|
(enum, estr) = e10.args
|
||||||
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
||||||
|
|
||||||
m = ldb.Message()
|
m = ldb.Message()
|
||||||
@ -323,7 +329,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
self.fail("Unexpectedly able to set userAccountControl to be an Workstation on %s" % m.dn)
|
self.fail("Unexpectedly able to set userAccountControl to be an Workstation on %s" % m.dn)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e11:
|
||||||
|
(enum, estr) = e11.args
|
||||||
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
self.assertEqual(ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS, enum)
|
||||||
|
|
||||||
|
|
||||||
@ -345,7 +352,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
try:
|
try:
|
||||||
self.admin_samdb.modify(m)
|
self.admin_samdb.modify(m)
|
||||||
self.fail("Unexpectedly able to set userAccountControl to UF_WORKSTATION_TRUST_ACCOUNT|UF_PARTIAL_SECRETS_ACCOUNT|UF_TRUSTED_FOR_DELEGATION on %s" % m.dn)
|
self.fail("Unexpectedly able to set userAccountControl to UF_WORKSTATION_TRUST_ACCOUNT|UF_PARTIAL_SECRETS_ACCOUNT|UF_TRUSTED_FOR_DELEGATION on %s" % m.dn)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e12:
|
||||||
|
(enum, estr) = e12.args
|
||||||
self.assertEqual(ldb.ERR_OTHER, enum)
|
self.assertEqual(ldb.ERR_OTHER, enum)
|
||||||
|
|
||||||
m = ldb.Message()
|
m = ldb.Message()
|
||||||
@ -417,7 +425,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
if (bit in priv_bits):
|
if (bit in priv_bits):
|
||||||
self.fail("Unexpectedly able to set userAccountControl bit 0x%08X on %s" % (bit, m.dn))
|
self.fail("Unexpectedly able to set userAccountControl bit 0x%08X on %s" % (bit, m.dn))
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e:
|
||||||
|
(enum, estr) = e.args
|
||||||
if bit in invalid_bits:
|
if bit in invalid_bits:
|
||||||
self.assertEqual(enum, ldb.ERR_OTHER, "was not able to set 0x%08X on %s" % (bit, m.dn))
|
self.assertEqual(enum, ldb.ERR_OTHER, "was not able to set 0x%08X on %s" % (bit, m.dn))
|
||||||
# No point going on, try the next bit
|
# No point going on, try the next bit
|
||||||
@ -492,7 +501,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
if bit in invalid_bits:
|
if bit in invalid_bits:
|
||||||
self.fail("Should have been unable to set userAccountControl bit 0x%08X on %s" % (bit, m.dn))
|
self.fail("Should have been unable to set userAccountControl bit 0x%08X on %s" % (bit, m.dn))
|
||||||
|
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e1:
|
||||||
|
(enum, estr) = e1.args
|
||||||
if bit in invalid_bits:
|
if bit in invalid_bits:
|
||||||
self.assertEqual(enum, ldb.ERR_OTHER)
|
self.assertEqual(enum, ldb.ERR_OTHER)
|
||||||
# No point going on, try the next bit
|
# No point going on, try the next bit
|
||||||
@ -524,7 +534,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
ldb.FLAG_MOD_REPLACE, "userAccountControl")
|
ldb.FLAG_MOD_REPLACE, "userAccountControl")
|
||||||
self.samdb.modify(m)
|
self.samdb.modify(m)
|
||||||
|
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e2:
|
||||||
|
(enum, estr) = e2.args
|
||||||
self.fail("Unable to set userAccountControl bit 0x%08X on %s: %s" % (bit, m.dn, estr))
|
self.fail("Unable to set userAccountControl bit 0x%08X on %s: %s" % (bit, m.dn, estr))
|
||||||
|
|
||||||
res = self.admin_samdb.search("%s" % self.base_dn,
|
res = self.admin_samdb.search("%s" % self.base_dn,
|
||||||
@ -561,7 +572,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
if bit in priv_to_remove_bits:
|
if bit in priv_to_remove_bits:
|
||||||
self.fail("Should have been unable to remove userAccountControl bit 0x%08X on %s" % (bit, m.dn))
|
self.fail("Should have been unable to remove userAccountControl bit 0x%08X on %s" % (bit, m.dn))
|
||||||
|
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e3:
|
||||||
|
(enum, estr) = e3.args
|
||||||
if bit in priv_to_remove_bits:
|
if bit in priv_to_remove_bits:
|
||||||
self.assertEqual(enum, ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
self.assertEqual(enum, ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS)
|
||||||
else:
|
else:
|
||||||
@ -618,7 +630,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
if bit in priv_bits:
|
if bit in priv_bits:
|
||||||
self.fail("Unexpectdly able to set userAccountControl bit 0x%08X on %s" % (bit, computername))
|
self.fail("Unexpectdly able to set userAccountControl bit 0x%08X on %s" % (bit, computername))
|
||||||
|
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e4:
|
||||||
|
(enum, estr) = e4.args
|
||||||
if bit in invalid_bits:
|
if bit in invalid_bits:
|
||||||
self.assertEqual(enum, ldb.ERR_OTHER, "Invalid bit 0x%08X was able to be set on %s" % (bit, computername))
|
self.assertEqual(enum, ldb.ERR_OTHER, "Invalid bit 0x%08X was able to be set on %s" % (bit, computername))
|
||||||
# No point going on, try the next bit
|
# No point going on, try the next bit
|
||||||
@ -642,7 +655,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
# When creating a new object, you can not ever set the primaryGroupID
|
# When creating a new object, you can not ever set the primaryGroupID
|
||||||
self.add_computer_ldap(computername, others={"primaryGroupID": [str(security.DOMAIN_RID_ADMINS)]})
|
self.add_computer_ldap(computername, others={"primaryGroupID": [str(security.DOMAIN_RID_ADMINS)]})
|
||||||
self.fail("Unexpectedly able to set primaryGruopID to be an admin on %s" % computername)
|
self.fail("Unexpectedly able to set primaryGruopID to be an admin on %s" % computername)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e13:
|
||||||
|
(enum, estr) = e13.args
|
||||||
self.assertEqual(enum, ldb.ERR_UNWILLING_TO_PERFORM)
|
self.assertEqual(enum, ldb.ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
@ -676,7 +690,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
|
|
||||||
# When creating a new object, you can not ever set the primaryGroupID
|
# When creating a new object, you can not ever set the primaryGroupID
|
||||||
self.fail("Unexpectedly able to set primaryGroupID to be other than DCS on %s" % computername)
|
self.fail("Unexpectedly able to set primaryGroupID to be other than DCS on %s" % computername)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e14:
|
||||||
|
(enum, estr) = e14.args
|
||||||
self.assertEqual(enum, ldb.ERR_UNWILLING_TO_PERFORM)
|
self.assertEqual(enum, ldb.ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
def test_primarygroupID_priv_member_modify(self):
|
def test_primarygroupID_priv_member_modify(self):
|
||||||
@ -709,7 +724,8 @@ class UserAccountControlTests(samba.tests.TestCase):
|
|||||||
|
|
||||||
# When creating a new object, you can not ever set the primaryGroupID
|
# When creating a new object, you can not ever set the primaryGroupID
|
||||||
self.fail("Unexpectedly able to set primaryGroupID to be other than DCS on %s" % computername)
|
self.fail("Unexpectedly able to set primaryGroupID to be other than DCS on %s" % computername)
|
||||||
except LdbError, (enum, estr):
|
except LdbError as e15:
|
||||||
|
(enum, estr) = e15.args
|
||||||
self.assertEqual(enum, ldb.ERR_UNWILLING_TO_PERFORM)
|
self.assertEqual(enum, ldb.ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user