mirror of
https://github.com/samba-team/samba.git
synced 2025-08-02 00:22:11 +03:00
s4:sam.py - test the "sAMAccountName" attribute
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Sun Oct 31 21:02:48 UTC 2010 on sn-devel-104
This commit is contained in:
@ -125,6 +125,17 @@ class SamTests(unittest.TestCase):
|
|||||||
group_rid_2 = security.dom_sid(ldb.schema_format_value("objectSID",
|
group_rid_2 = security.dom_sid(ldb.schema_format_value("objectSID",
|
||||||
res1[0]["objectSID"][0])).split()[1]
|
res1[0]["objectSID"][0])).split()[1]
|
||||||
|
|
||||||
|
# Try to create a user with an invalid account name
|
||||||
|
try:
|
||||||
|
ldb.add({
|
||||||
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
|
"objectclass": ["user", "person"],
|
||||||
|
"sAMAccountName": "administrator"})
|
||||||
|
self.fail()
|
||||||
|
except LdbError, (num, _):
|
||||||
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
self.delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
|
||||||
# Try to create a user with an invalid primary group
|
# Try to create a user with an invalid primary group
|
||||||
try:
|
try:
|
||||||
ldb.add({
|
ldb.add({
|
||||||
@ -314,6 +325,34 @@ class SamTests(unittest.TestCase):
|
|||||||
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
"objectclass": ["user", "person"]})
|
"objectclass": ["user", "person"]})
|
||||||
|
|
||||||
|
# Try to set an invalid account name
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
m["sAMAccountName"] = MessageElement("administrator", FLAG_MOD_REPLACE,
|
||||||
|
"sAMAccountName")
|
||||||
|
try:
|
||||||
|
ldb.modify(m)
|
||||||
|
self.fail()
|
||||||
|
except LdbError, (num, _):
|
||||||
|
self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
|
||||||
|
|
||||||
|
# But to reset the actual "sAMAccountName" should still be possible
|
||||||
|
res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
|
||||||
|
scope=SCOPE_BASE, attrs=["sAMAccountName"])
|
||||||
|
self.assertTrue(len(res1) == 1)
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
m["sAMAccountName"] = MessageElement(res1[0]["sAMAccountName"][0], FLAG_MOD_REPLACE,
|
||||||
|
"sAMAccountName")
|
||||||
|
ldb.modify(m)
|
||||||
|
|
||||||
|
# And another (free) name should be possible as well
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
m["sAMAccountName"] = MessageElement("xxx_ldaptestuser_xxx", FLAG_MOD_REPLACE,
|
||||||
|
"sAMAccountName")
|
||||||
|
ldb.modify(m)
|
||||||
|
|
||||||
# We should be able to reset our actual primary group
|
# We should be able to reset our actual primary group
|
||||||
m = Message()
|
m = Message()
|
||||||
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
@ -635,6 +674,26 @@ class SamTests(unittest.TestCase):
|
|||||||
except LdbError, (num, _):
|
except LdbError, (num, _):
|
||||||
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
m["sAMAccountName"] = MessageElement("test", FLAG_MOD_ADD,
|
||||||
|
"sAMAccountName")
|
||||||
|
try:
|
||||||
|
ldb.modify(m)
|
||||||
|
self.fail()
|
||||||
|
except LdbError, (num, _):
|
||||||
|
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
|
||||||
|
|
||||||
|
m = Message()
|
||||||
|
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
|
m["sAMAccountName"] = MessageElement([], FLAG_MOD_DELETE,
|
||||||
|
"sAMAccountName")
|
||||||
|
try:
|
||||||
|
ldb.modify(m)
|
||||||
|
self.fail()
|
||||||
|
except LdbError, (num, _):
|
||||||
|
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
|
||||||
|
|
||||||
self.delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
self.delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
|
||||||
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user