# Simple tests for the ldb python bindings.
# Copyright (C) 2007 Jelmer Vernooij <jelmer@samba.org>
-import os
-import unittest
+import os, sys
+from samba.tests import TestCase, TestSkipped
import ldb
dir_prefix = None
return tempfile.mktemp(dir=dir_prefix)
-class NoContextTests(unittest.TestCase):
+class NoContextTests(TestCase):
def test_valid_attr_name(self):
self.assertTrue(ldb.valid_attr_name("foo"))
self.assertEquals(1195499412, ldb.string_to_time("20071119191012.0Z"))
def test_binary_encode(self):
- encoded = self.binary_encode('test\\x')
- decoded = self.binary_decode(encoded)
+ encoded = ldb.binary_encode('test\\x')
+ decoded = ldb.binary_decode(encoded)
self.assertEquals(decoded, 'test\\x')
-class SimpleLdb(unittest.TestCase):
+class SimpleLdb(TestCase):
def test_connect(self):
ldb.Ldb(filename())
x = ldb.Ldb()
x.set_create_perms(0600)
- def test_set_modules_dir(self):
- x = ldb.Ldb()
- x.set_modules_dir("/tmp")
-
def test_modules_none(self):
x = ldb.Ldb()
self.assertEquals([], x.modules())
def test_search(self):
l = ldb.Ldb(filename())
- self.assertEquals(len(l.search()), 1)
+ self.assertEquals(len(l.search()), 0)
def test_search_controls(self):
l = ldb.Ldb(filename())
- self.assertEquals(len(l.search(controls=["paged_results:0:5"])), 1)
+ self.assertEquals(len(l.search(controls=["paged_results:0:5"])), 0)
def test_search_attrs(self):
l = ldb.Ldb(filename())
m = ldb.Message()
m.dn = ldb.Dn(l, "dc=foo4")
m["bla"] = "bla"
- self.assertEquals(len(l.search()), 1)
+ self.assertEquals(len(l.search()), 0)
l.add(m)
try:
- self.assertEquals(len(l.search()), 2)
+ self.assertEquals(len(l.search()), 1)
finally:
l.delete(ldb.Dn(l, "dc=foo4"))
m = ldb.Message()
m.dn = ldb.Dn(l, "dc=foo4")
m["bla"] = "bla"
- self.assertEquals(len(l.search()), 1)
+ self.assertEquals(len(l.search()), 0)
self.assertRaises(ldb.LdbError, lambda: l.add(m,["search_options:1:2"]))
def test_add_dict(self):
l = ldb.Ldb(filename())
m = {"dn": ldb.Dn(l, "dc=foo5"),
"bla": "bla"}
- self.assertEquals(len(l.search()), 1)
+ self.assertEquals(len(l.search()), 0)
l.add(m)
try:
- self.assertEquals(len(l.search()), 2)
+ self.assertEquals(len(l.search()), 1)
finally:
l.delete(ldb.Dn(l, "dc=foo5"))
def test_add_dict_string_dn(self):
l = ldb.Ldb(filename())
m = {"dn": "dc=foo6", "bla": "bla"}
- self.assertEquals(len(l.search()), 1)
+ self.assertEquals(len(l.search()), 0)
l.add(m)
try:
- self.assertEquals(len(l.search()), 2)
+ self.assertEquals(len(l.search()), 1)
finally:
l.delete(ldb.Dn(l, "dc=foo6"))
m = ldb.Message()
m.dn = ldb.Dn(l, "dc=foo7")
m["bla"] = "bla"
- self.assertEquals(len(l.search()), 1)
+ self.assertEquals(len(l.search()), 0)
l.add(m)
try:
l.rename(ldb.Dn(l, "dc=foo7"), ldb.Dn(l, "dc=bar"))
- self.assertEquals(len(l.search()), 2)
+ self.assertEquals(len(l.search()), 1)
finally:
l.delete(ldb.Dn(l, "dc=bar"))
m = ldb.Message()
m.dn = ldb.Dn(l, "dc=foo8")
m["bla"] = "bla"
- self.assertEquals(len(l.search()), 1)
+ self.assertEquals(len(l.search()), 0)
l.add(m)
- self.assertEquals(len(l.search()), 2)
+ self.assertEquals(len(l.search()), 1)
try:
l.rename("dc=foo8", "dc=bar")
- self.assertEquals(len(l.search()), 2)
+ self.assertEquals(len(l.search()), 1)
finally:
l.delete(ldb.Dn(l, "dc=bar"))
self.assertRaises(ldb.LdbError,lambda: l.search("", ldb.SCOPE_SUBTREE, "&(dc=*)(dn=*)", ["dc"]))
-class DnTests(unittest.TestCase):
+class DnTests(TestCase):
def setUp(self):
+ super(DnTests, self).setUp()
self.ldb = ldb.Ldb(filename())
def test_set_dn_invalid(self):
self.assertFalse(dn3.is_child_of(dn2))
self.assertFalse(dn1.is_child_of(dn4))
-class LdbMsgTests(unittest.TestCase):
+class LdbMsgTests(TestCase):
def setUp(self):
+ super(LdbMsgTests, self).setUp()
self.msg = ldb.Message()
def test_init_dn(self):
def test_get_other(self):
self.msg["foo"] = ["bar"]
self.assertEquals("bar", self.msg.get("foo")[0])
+ self.assertEquals("bar", self.msg.get("foo", idx=0))
+ self.assertEquals(None, self.msg.get("foo", idx=1))
+ self.assertEquals("", self.msg.get("foo", default='', idx=1))
def test_get_default(self):
- self.assertEquals(None, self.msg.get("tatayoyo"))
-
+ self.assertEquals(None, self.msg.get("tatayoyo", idx=0))
self.assertEquals("anniecordie", self.msg.get("tatayoyo", "anniecordie"))
def test_get_unknown(self):
-class MessageElementTests(unittest.TestCase):
+class MessageElementTests(TestCase):
def test_cmp_element(self):
x = ldb.MessageElement(["foo"])
self.assertEquals("MessageElement(['456'])", repr(el))
-class ModuleTests(unittest.TestCase):
+class ModuleTests(TestCase):
def test_register_module(self):
class ExampleModule:
def search(self, *args, **kwargs):
return self.next.search(*args, **kwargs)
- def request(self, *args, **kwargs):
- pass
+ def request(self, *args, **kwargs):
+ pass
name = filename()
ldb.register_module(ExampleModule)
l = ldb.Ldb(name)
self.assertEquals(["init"], ops)
-class LdbResultTests(unittest.TestCase):
+class LdbResultTests(TestCase):
def setUp(self):
+ super(LdbResultTests, self).setUp()
name = filename()
self.name = name
if os.path.exists(name):
self.l.add({"dn": "OU=OU10,DC=SAMBA,DC=ORG", "name": "OU #10"})
def tearDown(self):
+ super(LdbResultTests, self).tearDown()
if os.path.exists(self.name):
os.unlink(self.name)
found = True
self.assertTrue(found)
-class VersionTests(unittest.TestCase):
+class VersionTests(TestCase):
def test_version(self):
self.assertTrue(isinstance(ldb.__version__, str))
-
-
-if __name__ == '__main__':
- import unittest
- unittest.TestProgram()