diff options
author | Andrew Bartlett <abartlet@samba.org> | 2020-02-12 13:44:44 +1300 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2020-02-26 08:51:32 +0000 |
commit | 811d8057973bf8c6109dd158debbe9bbbbbc436c (patch) | |
tree | 691412c5ceca39d33f746c3169f11c96f1ded319 | |
parent | e7ed0a8088543abc9d83edbcc907357218a049c4 (diff) | |
download | samba-811d8057973bf8c6109dd158debbe9bbbbbc436c.tar.gz |
ldb: Ensure @IDXONE modes is tested in ldb.python (apy.py) tests
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
(cherry picked from commit ec34a7095705592279647c5046a000e0bf052d1a)
-rwxr-xr-x | lib/ldb/tests/python/api.py | 69 |
1 files changed, 68 insertions, 1 deletions
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() |