From: Andrew Bartlett Date: Wed, 12 Feb 2020 00:44:44 +0000 (+1300) Subject: ldb: Ensure @IDXONE modes is tested in ldb.python (apy.py) tests X-Git-Tag: ldb-2.1.1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec34a7095705592279647c5046a000e0bf052d1a;p=thirdparty%2Fsamba.git ldb: Ensure @IDXONE modes is tested in ldb.python (apy.py) tests Signed-off-by: Andrew Bartlett Reviewed-by: Stefan Metzmacher --- diff --git a/lib/ldb/tests/python/api.py b/lib/ldb/tests/python/api.py index 66034d03013..a7c1f359529 100755 --- a/lib/ldb/tests/python/api.py +++ b/lib/ldb/tests/python/api.py @@ -1011,6 +1011,38 @@ class SearchTests(LdbBaseTest): enum = err.args[0] self.assertEqual(enum, ldb.ERR_NO_SUCH_OBJECT) + def test_subtree(self): + """Testing a search""" + + try: + res11 = self.l.search(base="DC=SAMBA,DC=ORG", + scope=ldb.SCOPE_SUBTREE) + if hasattr(self, 'IDXCHECK'): + self.fail() + except ldb.LdbError as err: + enum = err.args[0] + estr = err.args[1] + self.assertEqual(enum, ldb.ERR_INAPPROPRIATE_MATCHING) + self.assertIn(estr, "ldb FULL SEARCH disabled") + else: + self.assertEqual(len(res11), 25) + + def test_subtree2(self): + """Testing a search""" + + try: + res11 = self.l.search(base="DC=ORG", + scope=ldb.SCOPE_SUBTREE) + if hasattr(self, 'IDXCHECK'): + self.fail() + except ldb.LdbError as err: + enum = err.args[0] + estr = err.args[1] + self.assertEqual(enum, ldb.ERR_INAPPROPRIATE_MATCHING) + self.assertIn(estr, "ldb FULL SEARCH disabled") + else: + self.assertEqual(len(res11), 36) + def test_subtree_and(self): """Testing a search""" @@ -1299,6 +1331,41 @@ class SearchTests(LdbBaseTest): expression="(@IDXONE=DC=SAMBA,DC=ORG)") self.assertEqual(len(res11), 0) + def test_onelevel(self): + """Testing a search""" + + try: + res11 = self.l.search(base="DC=SAMBA,DC=ORG", + scope=ldb.SCOPE_ONELEVEL) + if hasattr(self, 'IDXCHECK') \ + and not hasattr(self, 'IDXONE'): + self.fail() + except ldb.LdbError as err: + enum = err.args[0] + estr = err.args[1] + self.assertEqual(enum, ldb.ERR_INAPPROPRIATE_MATCHING) + self.assertIn(estr, "ldb FULL SEARCH disabled") + else: + self.assertEqual(len(res11), 24) + + def test_onelevel2(self): + """Testing a search""" + + try: + res11 = self.l.search(base="DC=EXAMPLE,DC=ORG", + scope=ldb.SCOPE_ONELEVEL) + if hasattr(self, 'IDXCHECK') \ + and not hasattr(self, 'IDXONE'): + self.fail() + self.fail() + except ldb.LdbError as err: + enum = err.args[0] + estr = err.args[1] + self.assertEqual(enum, ldb.ERR_INAPPROPRIATE_MATCHING) + self.assertIn(estr, "ldb FULL SEARCH disabled") + else: + self.assertEqual(len(res11), 9) + def test_onelevel_and_or(self): """Testing a search""" @@ -1914,7 +1981,6 @@ class GUIDIndexedSearchTests(SearchTests): super(GUIDIndexedSearchTests, self).setUp() self.IDXGUID = True - self.IDXONE = True class GUIDIndexedDNFilterSearchTests(SearchTests): @@ -1943,6 +2009,7 @@ class GUIDAndOneLevelIndexedSearchTests(SearchTests): def setUp(self): self.index = {"dn": "@INDEXLIST", "@IDXATTR": [b"x", b"y", b"ou"], + "@IDXONE": [b"1"], "@IDXGUID": [b"objectUUID"], "@IDX_DN_GUID": [b"GUID"]} super(GUIDAndOneLevelIndexedSearchTests, self).setUp()