s4:dsdb/tests/python/sam.py: test with member: <SID=...>
authorStefan Metzmacher <metze@samba.org>
Wed, 3 Nov 2010 16:41:10 +0000 (17:41 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 3 Nov 2010 18:31:16 +0000 (18:31 +0000)
metze

source4/dsdb/tests/python/sam.py

index e1dbc6b09c0c0bbbc785b17ae7267f4083d92e00..245d0516599fccf1c32be73dbda0f517a3b554c1 100755 (executable)
@@ -531,6 +531,22 @@ class SamTests(unittest.TestCase):
         except LdbError, (num, _):
             self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
 
+        # Already added, but as <SID=...>
+        res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
+                          scope=SCOPE_BASE, attrs=["objectSid"])
+        self.assertTrue(len(res1) == 1)
+        sid_bin = res1[0]["objectSid"][0]
+        sid_str = ("<SID=" + ldb.schema_format_value("objectSid", sid_bin) + ">").upper()
+
+        m = Message()
+        m.dn = Dn(ldb, "cn=ldaptestgroup2,cn=users," + self.base_dn)
+        m["member"] = MessageElement(sid_str, FLAG_MOD_ADD, "member")
+        try:
+            ldb.modify(m)
+            self.fail()
+        except LdbError, (num, _):
+            self.assertEquals(num, ERR_ENTRY_ALREADY_EXISTS)
+
         # Invalid member
         m = Message()
         m.dn = Dn(ldb, "cn=ldaptestgroup2,cn=users," + self.base_dn)