]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
selftest: Move self.assertRaisesLdbError() to samba.tests.TestCase
authorAndrew Bartlett <abartlet@samba.org>
Mon, 13 Sep 2021 09:48:13 +0000 (21:48 +1200)
committerJeremy Allison <jra@samba.org>
Mon, 4 Oct 2021 21:07:31 +0000 (21:07 +0000)
This is easier to reason with regarding which cases should work
and which cases should fail, avoiding issues where more success
than expected would be OK because a self.fail() was missed in a
try: block.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
python/samba/tests/__init__.py
source4/dsdb/tests/python/linked_attributes.py
source4/dsdb/tests/python/subtree_rename.py

index 7efd7807a22110e2108022233ad10f63255ce10d..2c7e77849665104bd6d78276abf047a7855d5985 100644 (file)
@@ -188,6 +188,31 @@ class TestCase(unittest.TestCase):
 
             self.fail(msg)
 
+    def assertRaisesLdbError(self, errcode, message, f, *args, **kwargs):
+        """Assert a function raises a particular LdbError."""
+        try:
+            f(*args, **kwargs)
+        except ldb.LdbError as e:
+            (num, msg) = e.args
+            if num != errcode:
+                lut = {v: k for k, v in vars(ldb).items()
+                       if k.startswith('ERR_') and isinstance(v, int)}
+                self.fail("%s, expected "
+                          "LdbError %s, (%d) "
+                          "got %s (%d) "
+                          "%s" % (message,
+                                  lut.get(errcode), errcode,
+                                  lut.get(num), num,
+                                  msg))
+        else:
+            lut = {v: k for k, v in vars(ldb).items()
+                   if k.startswith('ERR_') and isinstance(v, int)}
+            self.fail("%s, expected "
+                      "LdbError %s, (%d) "
+                      "but we got success" % (message,
+                                              lut.get(errcode),
+                                              errcode))
+
 
 class LdbTestCase(TestCase):
     """Trivial test case for running tests against a LDB."""
index e66a1fdd0d740bf53009c1ea01dfa1b9d6dec529..65a248a299a3b0477b3a093d5699f6d32c9719d4 100644 (file)
@@ -165,27 +165,6 @@ class LATests(samba.tests.TestCase):
                                 attrs=['objectGUID'])
         return str(misc.GUID(res[0]['objectGUID'][0]))
 
-    def assertRaisesLdbError(self, errcode, msg, f, *args, **kwargs):
-        """Assert a function raises a particular LdbError."""
-        try:
-            f(*args, **kwargs)
-        except ldb.LdbError as e:
-            (num, msg) = e.args
-            if num != errcode:
-                lut = {v: k for k, v in vars(ldb).items()
-                       if k.startswith('ERR_') and isinstance(v, int)}
-                self.fail("%s, expected "
-                          "LdbError %s, (%d) "
-                          "got %s (%d)" % (msg,
-                                           lut.get(errcode), errcode,
-                                           lut.get(num), num))
-        else:
-            lut = {v: k for k, v in vars(ldb).items()
-                   if k.startswith('ERR_') and isinstance(v, int)}
-            self.fail("%s, expected "
-                      "LdbError %s, (%d) "
-                      "but we got success" % (msg, lut.get(errcode), errcode))
-
     def _test_la_backlinks(self, reveal=False):
         tag = 'backlinks'
         kwargs = {}
index cace780a95851a3cb33b8c4a638efcf7d9fb8876..d396055af68a585993daf55f1ce0456e107f0158 100644 (file)
@@ -200,31 +200,6 @@ class SubtreeRenameTests(samba.tests.TestCase):
                                 attrs=['objectGUID'])
         return str(misc.GUID(res[0]['objectGUID'][0]))
 
-    def assertRaisesLdbError(self, errcode, message, f, *args, **kwargs):
-        """Assert a function raises a particular LdbError."""
-        try:
-            f(*args, **kwargs)
-        except ldb.LdbError as e:
-            (num, msg) = e.args
-            if num != errcode:
-                lut = {v: k for k, v in vars(ldb).items()
-                       if k.startswith('ERR_') and isinstance(v, int)}
-                self.fail("%s, expected "
-                          "LdbError %s, (%d) "
-                          "got %s (%d) "
-                          "%s" % (message,
-                                  lut.get(errcode), errcode,
-                                  lut.get(num), num,
-                                  msg))
-        else:
-            lut = {v: k for k, v in vars(ldb).items()
-                   if k.startswith('ERR_') and isinstance(v, int)}
-            self.fail("%s, expected "
-                      "LdbError %s, (%d) "
-                      "but we got success" % (message,
-                                              lut.get(errcode),
-                                              errcode))
-
     def test_la_move_ou_tree(self):
         tag = 'move_tree'