]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4/linked_attribute tests: test duplicate values
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 31 May 2017 05:42:01 +0000 (17:42 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 15 Jun 2017 15:33:10 +0000 (17:33 +0200)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/dsdb/tests/python/linked_attributes.py

index 183360027a416b7a830f740ba2fc4c343dd0ac1a..6235bf77a8949860430b57e2b3f2260a2e37770e 100644 (file)
@@ -382,12 +382,21 @@ class LATests(samba.tests.TestCase):
 
     def test_multiple_links(self):
         u1, u2, u3, u4 = self.add_objects(4, 'user', 'u_multiple_links')
-        g1, g2, g3 = self.add_objects(3, 'group', 'g_multiple_links')
+        g1, g2, g3, g4 = self.add_objects(4, 'group', 'g_multiple_links')
 
         self.add_linked_attribute(g1, [u1, u2, u3, u4])
         self.add_linked_attribute(g2, [u3, u1])
         self.add_linked_attribute(g3, u2)
 
+        try:
+            # adding u2 twice should be an error
+            self.add_linked_attribute(g2, [u1, u2, u3, u2])
+        except ldb.LdbError as (num, msg):
+            if num != ldb.ERR_ENTRY_ALREADY_EXISTS:
+                self.fail("adding duplicate values, expected "
+                          "ERR_ENTRY_ALREADY_EXISTS, (%d) "
+                          "got %d" % (ldb.ERR_ENTRY_ALREADY_EXISTS, num))
+
         self.assert_forward_links(g1, [u1, u2, u3, u4])
         self.assert_forward_links(g2, [u3, u1])
         self.assert_forward_links(g3, [u2])
@@ -581,6 +590,15 @@ class LATests(samba.tests.TestCase):
         (g2,) = self.add_objects(1, 'group', 'g_all_at_once2',
                                  more_attrs={'member': users[:5]})
 
+        try:
+            self.add_objects(1, 'group', 'g_with_duplicate_links',
+                             more_attrs={'member': users[:5] + users[1:2]})
+        except ldb.LdbError as (num, msg):
+            if num != ldb.ERR_ENTRY_ALREADY_EXISTS:
+                self.fail("adding duplicate values, expected "
+                          "ERR_ENTRY_ALREADY_EXISTS, (%d) "
+                          "got %d" % (ldb.ERR_ENTRY_ALREADY_EXISTS, num))
+
         self.assert_forward_links(g1, users)
         self.assert_forward_links(g2, users[:5])
         self.assert_forward_links(g3, users)