]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
tests/vlv: attempt to cause trouble by changing sort attribute
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 21 May 2019 22:32:29 +0000 (10:32 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 24 Aug 2020 01:46:29 +0000 (01:46 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/dsdb/tests/python/vlv.py

index b068f8edae3d2812c7fbfec3734108b682edfbba..86ac2b72240c3b07b4f82c08e0de7bf2beda34ac 100644 (file)
@@ -1216,6 +1216,29 @@ class VLVTests(VLVTestsBase):
         expected_results = [r for r in full_results if r != del_user[attr]]
         self.assertEqual(results, expected_results)
 
+    def test_vlv_change_during_search(self):
+        attr = 'facsimileTelephoneNumber'
+        prefix = "change_during_search_"
+        expr = "(&(objectClass=user)(cn=%s*))" % (prefix)
+        num_users = 3
+        users = [self.create_user(i, num_users, prefix=prefix)
+                 for i in range(num_users)]
+        expr = "(&(objectClass=user)(facsimileTelephoneNumber=%s*))" % (prefix)
+
+        # Start the VLV, change the searched attribute and try the
+        # cookie.
+        results, cookie = self.vlv_search(attr, expr)
+
+        for u in users:
+            self.ldb.modify_ldif("dn: %s\n"
+                                 "changetype: modify\n"
+                                 "replace: facsimileTelephoneNumber\n"
+                                 "facsimileTelephoneNumber: 123" % u['dn'])
+
+        for i in range(2):
+            results, cookie = self.vlv_search(attr, expr, cookie=cookie,
+                                              offset=i+1)
+
 
 
 class PagedResultsTests(TestsWithUserOU):