From 8420a36dc7fe72fb665e065b8673fa44ff1bbf21 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 5 Jul 2011 10:01:32 +1000 Subject: ldb: make ldb a top level library for Samba 4.0 Signed-off-by: Andrew Tridgell --- source4/lib/ldb/tests/init.ldif | 41 -- source4/lib/ldb/tests/init_slapd.sh | 41 -- source4/lib/ldb/tests/kill_slapd.sh | 12 - source4/lib/ldb/tests/ldapi_url.sh | 11 - source4/lib/ldb/tests/photo.ldif | 5 - source4/lib/ldb/tests/python/api.py | 748 --------------------- source4/lib/ldb/tests/samba4.png | Bin 6239 -> 0 bytes source4/lib/ldb/tests/sample_module.c | 71 -- .../ldb/tests/schema-tests/schema-add-test.ldif | 66 -- .../ldb/tests/schema-tests/schema-mod-test-1.ldif | 5 - .../ldb/tests/schema-tests/schema-mod-test-2.ldif | 5 - .../ldb/tests/schema-tests/schema-mod-test-3.ldif | 5 - .../ldb/tests/schema-tests/schema-mod-test-4.ldif | 5 - .../ldb/tests/schema-tests/schema-mod-test-5.ldif | 5 - source4/lib/ldb/tests/schema-tests/schema.ldif | 100 --- source4/lib/ldb/tests/slapd.conf | 26 - source4/lib/ldb/tests/start_slapd.sh | 14 - source4/lib/ldb/tests/test-attribs.ldif | 6 - source4/lib/ldb/tests/test-config.ldif | 67 -- source4/lib/ldb/tests/test-controls.sh | 45 -- source4/lib/ldb/tests/test-default-config.ldif | 17 - source4/lib/ldb/tests/test-extended.sh | 69 -- source4/lib/ldb/tests/test-generic.sh | 128 ---- source4/lib/ldb/tests/test-index.ldif | 7 - source4/lib/ldb/tests/test-ldap.sh | 54 -- source4/lib/ldb/tests/test-modify-modrdn.ldif | 12 - source4/lib/ldb/tests/test-modify.ldif | 23 - source4/lib/ldb/tests/test-schema.sh | 34 - source4/lib/ldb/tests/test-soloading.sh | 32 - source4/lib/ldb/tests/test-sqlite3.sh | 25 - source4/lib/ldb/tests/test-tdb-features.sh | 160 ----- source4/lib/ldb/tests/test-tdb.sh | 33 - source4/lib/ldb/tests/test-wildcard.ldif | 5 - source4/lib/ldb/tests/test-wrong_attributes.ldif | 3 - source4/lib/ldb/tests/test.ldif | 417 ------------ source4/lib/ldb/tests/testdata.txt | 8 - source4/lib/ldb/tests/testsearch.txt | 5 - 37 files changed, 2310 deletions(-) delete mode 100644 source4/lib/ldb/tests/init.ldif delete mode 100755 source4/lib/ldb/tests/init_slapd.sh delete mode 100755 source4/lib/ldb/tests/kill_slapd.sh delete mode 100755 source4/lib/ldb/tests/ldapi_url.sh delete mode 100644 source4/lib/ldb/tests/photo.ldif delete mode 100755 source4/lib/ldb/tests/python/api.py delete mode 100644 source4/lib/ldb/tests/samba4.png delete mode 100644 source4/lib/ldb/tests/sample_module.c delete mode 100644 source4/lib/ldb/tests/schema-tests/schema-add-test.ldif delete mode 100644 source4/lib/ldb/tests/schema-tests/schema-mod-test-1.ldif delete mode 100644 source4/lib/ldb/tests/schema-tests/schema-mod-test-2.ldif delete mode 100644 source4/lib/ldb/tests/schema-tests/schema-mod-test-3.ldif delete mode 100644 source4/lib/ldb/tests/schema-tests/schema-mod-test-4.ldif delete mode 100644 source4/lib/ldb/tests/schema-tests/schema-mod-test-5.ldif delete mode 100644 source4/lib/ldb/tests/schema-tests/schema.ldif delete mode 100644 source4/lib/ldb/tests/slapd.conf delete mode 100755 source4/lib/ldb/tests/start_slapd.sh delete mode 100644 source4/lib/ldb/tests/test-attribs.ldif delete mode 100644 source4/lib/ldb/tests/test-config.ldif delete mode 100755 source4/lib/ldb/tests/test-controls.sh delete mode 100644 source4/lib/ldb/tests/test-default-config.ldif delete mode 100755 source4/lib/ldb/tests/test-extended.sh delete mode 100755 source4/lib/ldb/tests/test-generic.sh delete mode 100644 source4/lib/ldb/tests/test-index.ldif delete mode 100755 source4/lib/ldb/tests/test-ldap.sh delete mode 100644 source4/lib/ldb/tests/test-modify-modrdn.ldif delete mode 100644 source4/lib/ldb/tests/test-modify.ldif delete mode 100755 source4/lib/ldb/tests/test-schema.sh delete mode 100755 source4/lib/ldb/tests/test-soloading.sh delete mode 100755 source4/lib/ldb/tests/test-sqlite3.sh delete mode 100644 source4/lib/ldb/tests/test-tdb-features.sh delete mode 100755 source4/lib/ldb/tests/test-tdb.sh delete mode 100644 source4/lib/ldb/tests/test-wildcard.ldif delete mode 100644 source4/lib/ldb/tests/test-wrong_attributes.ldif delete mode 100644 source4/lib/ldb/tests/test.ldif delete mode 100644 source4/lib/ldb/tests/testdata.txt delete mode 100644 source4/lib/ldb/tests/testsearch.txt (limited to 'source4/lib/ldb/tests') diff --git a/source4/lib/ldb/tests/init.ldif b/source4/lib/ldb/tests/init.ldif deleted file mode 100644 index 97b4561e37..0000000000 --- a/source4/lib/ldb/tests/init.ldif +++ /dev/null @@ -1,41 +0,0 @@ -dn: o=University of Michigan,c=TEST -objectclass: organization -objectclass: domainRelatedObject -l: Ann Arbor, Michigan -st: Michigan -o: University of Michigan -o: UMICH -o: UM -o: U-M -o: U of M -description: The University of Michigan at Ann Arbor -postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481 - 09 $ US -telephonenumber: +1 313 764-1817 -associateddomain: example.com - -# there was an empty "seeAlso" here - -dn: ou=People,o=University of Michigan,c=TEST -objectclass: organizationalUnit -objectclass: extensibleObject -ou: People -uidNumber: 0 -gidNumber: 0 - -dn: ou=Ldb Test,ou=People,o=University of Michigan,c=TEST -objectclass: organizationalUnit -objectclass: extensibleObject -ou: People -ou: Ldb Test -uidNumber: 0 -gidNumber: 0 - -dn: ou=LdbTspace,ou=People,o=University of Michigan,c=TEST -objectclass: organizationalUnit -objectclass: extensibleObject -ou: People -ou: LdbTspace -description: test white space removal in comparisons -uidNumber: 0 -gidNumber: 0 diff --git a/source4/lib/ldb/tests/init_slapd.sh b/source4/lib/ldb/tests/init_slapd.sh deleted file mode 100755 index cf06acd08b..0000000000 --- a/source4/lib/ldb/tests/init_slapd.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -if [ -z "$LDBDIR" ]; then - LDBDIR=`dirname $0`/.. - export LDBDIR -fi - -rm -rf tests/tmp/db -mkdir -p tests/tmp/db - -if [ -f tests/tmp/slapd.pid ]; then - kill `cat tests/tmp/slapd.pid` - sleep 1 -fi -if [ -f tests/tmp/slapd.pid ]; then - kill -9 `cat tests/tmp/slapd.pid` - rm -f tests/tmp/slapd.pid -fi - -# we don't consider a slapadd failure as a test suite failure, as it -# has nothing to do with ldb - -MODCONF=tests/tmp/modules.conf -rm -f $MODCONF -touch $MODCONF || exit 1 - -slaptest -u -f $LDBDIR/tests/slapd.conf > /dev/null 2>&1 || { - echo "enabling sladp modules" -cat > $MODCONF < - -import os -import unittest - -import ldb - - -def filename(): - import tempfile - try: - dir_prefix = os.path.join(os.environ["SELFTEST_PREFIX"], "tmp") - except KeyError: - dir_prefix = None - return tempfile.mktemp(dir=dir_prefix) - -class NoContextTests(unittest.TestCase): - - def test_valid_attr_name(self): - self.assertTrue(ldb.valid_attr_name("foo")) - self.assertFalse(ldb.valid_attr_name("24foo")) - - def test_timestring(self): - self.assertEquals("19700101000000.0Z", ldb.timestring(0)) - self.assertEquals("20071119191012.0Z", ldb.timestring(1195499412)) - - def test_string_to_time(self): - self.assertEquals(0, ldb.string_to_time("19700101000000.0Z")) - self.assertEquals(1195499412, ldb.string_to_time("20071119191012.0Z")) - - -class SimpleLdb(unittest.TestCase): - - def test_connect(self): - ldb.Ldb(filename()) - - def test_connect_none(self): - ldb.Ldb() - - def test_connect_later(self): - x = ldb.Ldb() - x.connect(filename()) - - def test_repr(self): - x = ldb.Ldb() - self.assertTrue(repr(x).startswith("]", repr(x.modules())) - - def test_search(self): - l = ldb.Ldb(filename()) - self.assertEquals(len(l.search()), 1) - - def test_search_controls(self): - l = ldb.Ldb(filename()) - self.assertEquals(len(l.search(controls=["paged_results:0:5"])), 1) - - def test_search_attrs(self): - l = ldb.Ldb(filename()) - self.assertEquals(len(l.search(ldb.Dn(l, ""), ldb.SCOPE_SUBTREE, "(dc=*)", ["dc"])), 0) - - def test_search_string_dn(self): - l = ldb.Ldb(filename()) - self.assertEquals(len(l.search("", ldb.SCOPE_SUBTREE, "(dc=*)", ["dc"])), 0) - - def test_search_attr_string(self): - l = ldb.Ldb(filename()) - self.assertRaises(TypeError, l.search, attrs="dc") - - def test_opaque(self): - l = ldb.Ldb(filename()) - l.set_opaque("my_opaque", l) - self.assertTrue(l.get_opaque("my_opaque") is not None) - self.assertEquals(None, l.get_opaque("unknown")) - - def test_search_scope_base(self): - l = ldb.Ldb(filename()) - self.assertEquals(len(l.search(ldb.Dn(l, "dc=foo1"), - ldb.SCOPE_ONELEVEL)), 0) - - def test_delete(self): - l = ldb.Ldb(filename()) - self.assertRaises(ldb.LdbError, lambda: l.delete(ldb.Dn(l, "dc=foo2"))) - - def test_delete_w_unhandled_ctrl(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=foo1") - m["b"] = ["a"] - l.add(m) - self.assertRaises(ldb.LdbError, lambda: l.delete(m.dn, ["search_options:1:2"])) - l.delete(m.dn) - - def test_contains(self): - name = filename() - l = ldb.Ldb(name) - self.assertFalse(ldb.Dn(l, "dc=foo3") in l) - l = ldb.Ldb(name) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=foo3") - m["b"] = ["a"] - l.add(m) - try: - self.assertTrue(ldb.Dn(l, "dc=foo3") in l) - finally: - l.delete(m.dn) - - def test_get_config_basedn(self): - l = ldb.Ldb(filename()) - self.assertEquals(None, l.get_config_basedn()) - - def test_get_root_basedn(self): - l = ldb.Ldb(filename()) - self.assertEquals(None, l.get_root_basedn()) - - def test_get_schema_basedn(self): - l = ldb.Ldb(filename()) - self.assertEquals(None, l.get_schema_basedn()) - - def test_get_default_basedn(self): - l = ldb.Ldb(filename()) - self.assertEquals(None, l.get_default_basedn()) - - def test_add(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=foo4") - m["bla"] = "bla" - self.assertEquals(len(l.search()), 1) - l.add(m) - try: - self.assertEquals(len(l.search()), 2) - finally: - l.delete(ldb.Dn(l, "dc=foo4")) - - def test_add_w_unhandled_ctrl(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.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) - l.add(m) - try: - self.assertEquals(len(l.search()), 2) - 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) - l.add(m) - try: - self.assertEquals(len(l.search()), 2) - finally: - l.delete(ldb.Dn(l, "dc=foo6")) - - def test_rename(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=foo7") - m["bla"] = "bla" - self.assertEquals(len(l.search()), 1) - l.add(m) - try: - l.rename(ldb.Dn(l, "dc=foo7"), ldb.Dn(l, "dc=bar")) - self.assertEquals(len(l.search()), 2) - finally: - l.delete(ldb.Dn(l, "dc=bar")) - - def test_rename_string_dns(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=foo8") - m["bla"] = "bla" - self.assertEquals(len(l.search()), 1) - l.add(m) - self.assertEquals(len(l.search()), 2) - try: - l.rename("dc=foo8", "dc=bar") - self.assertEquals(len(l.search()), 2) - finally: - l.delete(ldb.Dn(l, "dc=bar")) - - def test_modify_delete(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=modifydelete") - m["bla"] = ["1234"] - l.add(m) - rm = l.search(m.dn)[0] - self.assertEquals(["1234"], list(rm["bla"])) - try: - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=modifydelete") - m["bla"] = ldb.MessageElement([], ldb.FLAG_MOD_DELETE, "bla") - self.assertEquals(ldb.FLAG_MOD_DELETE, m["bla"].flags()) - l.modify(m) - rm = l.search(m.dn)[0] - self.assertEquals(1, len(rm)) - rm = l.search(m.dn, attrs=["bla"]) - self.assertEquals(0, len(rm)) - finally: - l.delete(ldb.Dn(l, "dc=modifydelete")) - - def test_modify_add(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=add") - m["bla"] = ["1234"] - l.add(m) - try: - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=add") - m["bla"] = ldb.MessageElement(["456"], ldb.FLAG_MOD_ADD, "bla") - self.assertEquals(ldb.FLAG_MOD_ADD, m["bla"].flags()) - l.modify(m) - rm = l.search(m.dn)[0] - self.assertEquals(2, len(rm)) - self.assertEquals(["1234", "456"], list(rm["bla"])) - finally: - l.delete(ldb.Dn(l, "dc=add")) - - def test_modify_replace(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=modify2") - m["bla"] = ["1234", "456"] - l.add(m) - try: - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=modify2") - m["bla"] = ldb.MessageElement(["789"], ldb.FLAG_MOD_REPLACE, "bla") - self.assertEquals(ldb.FLAG_MOD_REPLACE, m["bla"].flags()) - l.modify(m) - rm = l.search(m.dn)[0] - self.assertEquals(2, len(rm)) - self.assertEquals(["789"], list(rm["bla"])) - rm = l.search(m.dn, attrs=["bla"])[0] - self.assertEquals(1, len(rm)) - finally: - l.delete(ldb.Dn(l, "dc=modify2")) - - def test_modify_flags_change(self): - l = ldb.Ldb(filename()) - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=add") - m["bla"] = ["1234"] - l.add(m) - try: - m = ldb.Message() - m.dn = ldb.Dn(l, "dc=add") - m["bla"] = ldb.MessageElement(["456"], ldb.FLAG_MOD_ADD, "bla") - self.assertEquals(ldb.FLAG_MOD_ADD, m["bla"].flags()) - l.modify(m) - rm = l.search(m.dn)[0] - self.assertEquals(2, len(rm)) - self.assertEquals(["1234", "456"], list(rm["bla"])) - - # Now create another modify, but switch the flags before we do it - m["bla"] = ldb.MessageElement(["456"], ldb.FLAG_MOD_ADD, "bla") - m["bla"].set_flags(ldb.FLAG_MOD_DELETE) - l.modify(m) - rm = l.search(m.dn, attrs=["bla"])[0] - self.assertEquals(1, len(rm)) - self.assertEquals(["1234"], list(rm["bla"])) - finally: - l.delete(ldb.Dn(l, "dc=add")) - - def test_transaction_commit(self): - l = ldb.Ldb(filename()) - l.transaction_start() - m = ldb.Message(ldb.Dn(l, "dc=foo9")) - m["foo"] = ["bar"] - l.add(m) - l.transaction_commit() - l.delete(m.dn) - - def test_transaction_cancel(self): - l = ldb.Ldb(filename()) - l.transaction_start() - m = ldb.Message(ldb.Dn(l, "dc=foo10")) - m["foo"] = ["bar"] - l.add(m) - l.transaction_cancel() - self.assertEquals(0, len(l.search(ldb.Dn(l, "dc=foo10")))) - - def test_set_debug(self): - def my_report_fn(level, text): - pass - l = ldb.Ldb(filename()) - l.set_debug(my_report_fn) - - def test_zero_byte_string(self): - """Testing we do not get trapped in the \0 byte in a property string.""" - l = ldb.Ldb(filename()) - l.add({ - "dn" : "dc=somedn", - "objectclass" : "user", - "cN" : "LDAPtestUSER", - "givenname" : "ldap", - "displayname" : "foo\0bar", - }) - res = l.search(expression="(dn=dc=somedn)") - self.assertEquals("foo\0bar", res[0]["displayname"][0]) - - def test_no_crash_broken_expr(self): - l = ldb.Ldb(filename()) - self.assertRaises(ldb.LdbError,lambda: l.search("", ldb.SCOPE_SUBTREE, "&(dc=*)(dn=*)", ["dc"])) - - -class DnTests(unittest.TestCase): - - def setUp(self): - self.ldb = ldb.Ldb(filename()) - - def test_set_dn_invalid(self): - x = ldb.Message() - def assign(): - x.dn = "astring" - self.assertRaises(TypeError, assign) - - def test_eq(self): - x = ldb.Dn(self.ldb, "dc=foo11,bar=bloe") - y = ldb.Dn(self.ldb, "dc=foo11,bar=bloe") - self.assertEquals(x, y) - y = ldb.Dn(self.ldb, "dc=foo11,bar=blie") - self.assertNotEquals(x, y) - - def test_str(self): - x = ldb.Dn(self.ldb, "dc=foo12,bar=bloe") - self.assertEquals(x.__str__(), "dc=foo12,bar=bloe") - - def test_repr(self): - x = ldb.Dn(self.ldb, "dc=foo13,bla=blie") - self.assertEquals(x.__repr__(), "Dn('dc=foo13,bla=blie')") - - def test_get_casefold(self): - x = ldb.Dn(self.ldb, "dc=foo14,bar=bloe") - self.assertEquals(x.get_casefold(), "DC=FOO14,BAR=bloe") - - def test_validate(self): - x = ldb.Dn(self.ldb, "dc=foo15,bar=bloe") - self.assertTrue(x.validate()) - - def test_parent(self): - x = ldb.Dn(self.ldb, "dc=foo16,bar=bloe") - self.assertEquals("bar=bloe", x.parent().__str__()) - - def test_parent_nonexistant(self): - x = ldb.Dn(self.ldb, "@BLA") - self.assertEquals(None, x.parent()) - - def test_is_valid(self): - x = ldb.Dn(self.ldb, "dc=foo18,dc=bloe") - self.assertTrue(x.is_valid()) - x = ldb.Dn(self.ldb, "") - self.assertTrue(x.is_valid()) - - def test_is_special(self): - x = ldb.Dn(self.ldb, "dc=foo19,bar=bloe") - self.assertFalse(x.is_special()) - x = ldb.Dn(self.ldb, "@FOOBAR") - self.assertTrue(x.is_special()) - - def test_check_special(self): - x = ldb.Dn(self.ldb, "dc=foo20,bar=bloe") - self.assertFalse(x.check_special("FOOBAR")) - x = ldb.Dn(self.ldb, "@FOOBAR") - self.assertTrue(x.check_special("@FOOBAR")) - - def test_len(self): - x = ldb.Dn(self.ldb, "dc=foo21,bar=bloe") - self.assertEquals(2, len(x)) - x = ldb.Dn(self.ldb, "dc=foo21") - self.assertEquals(1, len(x)) - - def test_add_child(self): - x = ldb.Dn(self.ldb, "dc=foo22,bar=bloe") - self.assertTrue(x.add_child(ldb.Dn(self.ldb, "bla=bloe"))) - self.assertEquals("bla=bloe,dc=foo22,bar=bloe", x.__str__()) - - def test_add_base(self): - x = ldb.Dn(self.ldb, "dc=foo23,bar=bloe") - base = ldb.Dn(self.ldb, "bla=bloe") - self.assertTrue(x.add_base(base)) - self.assertEquals("dc=foo23,bar=bloe,bla=bloe", x.__str__()) - - def test_add(self): - x = ldb.Dn(self.ldb, "dc=foo24") - y = ldb.Dn(self.ldb, "bar=bla") - self.assertEquals("dc=foo24,bar=bla", str(y + x)) - - def test_parse_ldif(self): - msgs = self.ldb.parse_ldif("dn: foo=bar\n") - msg = msgs.next() - self.assertEquals("foo=bar", str(msg[1].dn)) - self.assertTrue(isinstance(msg[1], ldb.Message)) - ldif = self.ldb.write_ldif(msg[1], ldb.CHANGETYPE_NONE) - self.assertEquals("dn: foo=bar\n\n", ldif) - - def test_parse_ldif_more(self): - msgs = self.ldb.parse_ldif("dn: foo=bar\n\n\ndn: bar=bar") - msg = msgs.next() - self.assertEquals("foo=bar", str(msg[1].dn)) - msg = msgs.next() - self.assertEquals("bar=bar", str(msg[1].dn)) - - def test_canonical_string(self): - x = ldb.Dn(self.ldb, "dc=foo25,bar=bloe") - self.assertEquals("/bloe/foo25", x.canonical_str()) - - def test_canonical_ex_string(self): - x = ldb.Dn(self.ldb, "dc=foo26,bar=bloe") - self.assertEquals("/bloe\nfoo26", x.canonical_ex_str()) - - -class LdbMsgTests(unittest.TestCase): - - def setUp(self): - self.msg = ldb.Message() - - def test_init_dn(self): - self.msg = ldb.Message(ldb.Dn(ldb.Ldb(), "dc=foo27")) - self.assertEquals("dc=foo27", str(self.msg.dn)) - - def test_iter_items(self): - self.assertEquals(0, len(self.msg.items())) - self.msg.dn = ldb.Dn(ldb.Ldb(filename()), "dc=foo28") - self.assertEquals(1, len(self.msg.items())) - - def test_repr(self): - self.msg.dn = ldb.Dn(ldb.Ldb(filename()), "dc=foo29") - self.msg["dc"] = "foo" - self.assertEquals("Message({'dn': Dn('dc=foo29'), 'dc': MessageElement(['foo'])})", repr(self.msg)) - - def test_len(self): - self.assertEquals(0, len(self.msg)) - - def test_notpresent(self): - self.assertRaises(KeyError, lambda: self.msg["foo"]) - - def test_del(self): - del self.msg["foo"] - - def test_add(self): - self.msg.add(ldb.MessageElement(["456"], ldb.FLAG_MOD_ADD, "bla")) - - def test_elements_empty(self): - self.assertEquals([], self.msg.elements()) - - def test_elements(self): - el = ldb.MessageElement(["456"], ldb.FLAG_MOD_ADD, "bla") - self.msg.add(el) - self.assertEquals([el], self.msg.elements()) - - def test_add_value(self): - self.assertEquals(0, len(self.msg)) - self.msg["foo"] = ["foo"] - self.assertEquals(1, len(self.msg)) - - def test_add_value_multiple(self): - self.assertEquals(0, len(self.msg)) - self.msg["foo"] = ["foo", "bla"] - self.assertEquals(1, len(self.msg)) - self.assertEquals(["foo", "bla"], list(self.msg["foo"])) - - def test_set_value(self): - self.msg["foo"] = ["fool"] - self.assertEquals(["fool"], list(self.msg["foo"])) - self.msg["foo"] = ["bar"] - self.assertEquals(["bar"], list(self.msg["foo"])) - - def test_keys(self): - self.msg.dn = ldb.Dn(ldb.Ldb(filename()), "@BASEINFO") - self.msg["foo"] = ["bla"] - self.msg["bar"] = ["bla"] - self.assertEquals(["dn", "foo", "bar"], self.msg.keys()) - - def test_dn(self): - self.msg.dn = ldb.Dn(ldb.Ldb(filename()), "@BASEINFO") - self.assertEquals("@BASEINFO", self.msg.dn.__str__()) - - def test_get_dn(self): - self.msg.dn = ldb.Dn(ldb.Ldb(filename()), "@BASEINFO") - self.assertEquals("@BASEINFO", self.msg.get("dn").__str__()) - - def test_get_invalid(self): - self.msg.dn = ldb.Dn(ldb.Ldb(filename()), "@BASEINFO") - self.assertRaises(TypeError, self.msg.get, 42) - - def test_get_other(self): - self.msg["foo"] = ["bar"] - self.assertEquals("bar", self.msg.get("foo")[0]) - - def test_get_default(self): - self.assertEquals(None, self.msg.get("tatayoyo")) - - self.assertEquals("anniecordie", self.msg.get("tatayoyo", "anniecordie")) - - def test_get_unknown(self): - self.assertEquals(None, self.msg.get("lalalala")) - - def test_msg_diff(self): - l = ldb.Ldb() - msgs = l.parse_ldif("dn: foo=bar\nfoo: bar\nbaz: do\n\ndn: foo=bar\nfoo: bar\nbaz: dont\n") - msg1 = msgs.next()[1] - msg2 = msgs.next()[1] - msgdiff = l.msg_diff(msg1, msg2) - self.assertEquals("foo=bar", msgdiff.get("dn").__str__()) - self.assertRaises(KeyError, lambda: msgdiff["foo"]) - self.assertEquals(1, len(msgdiff)) - - def test_equal_empty(self): - msg1 = ldb.Message() - msg2 = ldb.Message() - self.assertEquals(msg1, msg2) - - def test_equal_simplel(self): - db = ldb.Ldb(filename()) - msg1 = ldb.Message() - msg1.dn = ldb.Dn(db, "foo=bar") - msg2 = ldb.Message() - msg2.dn = ldb.Dn(db, "foo=bar") - self.assertEquals(msg1, msg2) - msg1['foo'] = 'bar' - msg2['foo'] = 'bar' - self.assertEquals(msg1, msg2) - msg2['foo'] = 'blie' - self.assertNotEquals(msg1, msg2) - msg2['foo'] = 'blie' - - def test_from_dict(self): - rec = {"dn": "dc=fromdict", - "a1": ["a1-val1", "a1-val1"]} - l = ldb.Ldb() - # check different types of input Flags - for flags in [ldb.FLAG_MOD_ADD, ldb.FLAG_MOD_REPLACE, ldb.FLAG_MOD_DELETE]: - m = ldb.Message.from_dict(l, rec, flags) - self.assertEquals(rec["a1"], list(m["a1"])) - self.assertEquals(flags, m["a1"].flags()) - # check input params - self.assertRaises(TypeError, ldb.Message.from_dict, dict(), rec, ldb.FLAG_MOD_REPLACE) - self.assertRaises(TypeError, ldb.Message.from_dict, l, list(), ldb.FLAG_MOD_REPLACE) - self.assertRaises(ValueError, ldb.Message.from_dict, l, rec, 0) - # Message.from_dict expects dictionary with 'dn' - err_rec = {"a1": ["a1-val1", "a1-val1"]} - self.assertRaises(TypeError, ldb.Message.from_dict, l, err_rec, ldb.FLAG_MOD_REPLACE) - - - -class MessageElementTests(unittest.TestCase): - - def test_cmp_element(self): - x = ldb.MessageElement(["foo"]) - y = ldb.MessageElement(["foo"]) - z = ldb.MessageElement(["bzr"]) - self.assertEquals(x, y) - self.assertNotEquals(x, z) - - def test_create_iterable(self): - x = ldb.MessageElement(["foo"]) - self.assertEquals(["foo"], list(x)) - - def test_repr(self): - x = ldb.MessageElement(["foo"]) - self.assertEquals("MessageElement(['foo'])", repr(x)) - x = ldb.MessageElement(["foo", "bla"]) - self.assertEquals(2, len(x)) - self.assertEquals("MessageElement(['foo','bla'])", repr(x)) - - def test_get_item(self): - x = ldb.MessageElement(["foo", "bar"]) - self.assertEquals("foo", x[0]) - self.assertEquals("bar", x[1]) - self.assertEquals("bar", x[-1]) - self.assertRaises(IndexError, lambda: x[45]) - - def test_len(self): - x = ldb.MessageElement(["foo", "bar"]) - self.assertEquals(2, len(x)) - - def test_eq(self): - x = ldb.MessageElement(["foo", "bar"]) - y = ldb.MessageElement(["foo", "bar"]) - self.assertEquals(y, x) - x = ldb.MessageElement(["foo"]) - self.assertNotEquals(y, x) - y = ldb.MessageElement(["foo"]) - self.assertEquals(y, x) - - def test_extended(self): - el = ldb.MessageElement(["456"], ldb.FLAG_MOD_ADD, "bla") - self.assertEquals("MessageElement(['456'])", repr(el)) - - -class ModuleTests(unittest.TestCase): - - def test_register_module(self): - class ExampleModule: - name = "example" - ldb.register_module(ExampleModule) - - def test_use_module(self): - ops = [] - class ExampleModule: - name = "bla" - - def __init__(self, ldb, next): - ops.append("init") - self.next = next - - def search(self, *args, **kwargs): - return self.next.search(*args, **kwargs) - - def request(self, *args, **kwargs): - pass - - name = filename() - ldb.register_module(ExampleModule) - if os.path.exists(name): - os.unlink(name) - l = ldb.Ldb(name) - l.add({"dn": "@MODULES", "@LIST": "bla"}) - self.assertEquals([], ops) - l = ldb.Ldb(name) - self.assertEquals(["init"], ops) - -class LdbResultTests(unittest.TestCase): - - def setUp(self): - name = filename() - self.name = name - if os.path.exists(name): - os.unlink(name) - self.l = ldb.Ldb(name) - self.l.add({"dn": "DC=SAMBA,DC=ORG", "name": "samba.org"}) - self.l.add({"dn": "OU=ADMIN,DC=SAMBA,DC=ORG", "name": "Admins"}) - self.l.add({"dn": "OU=USERS,DC=SAMBA,DC=ORG", "name": "Users"}) - self.l.add({"dn": "OU=OU1,DC=SAMBA,DC=ORG", "name": "OU #1"}) - self.l.add({"dn": "OU=OU2,DC=SAMBA,DC=ORG", "name": "OU #2"}) - self.l.add({"dn": "OU=OU3,DC=SAMBA,DC=ORG", "name": "OU #3"}) - self.l.add({"dn": "OU=OU4,DC=SAMBA,DC=ORG", "name": "OU #4"}) - self.l.add({"dn": "OU=OU5,DC=SAMBA,DC=ORG", "name": "OU #5"}) - self.l.add({"dn": "OU=OU6,DC=SAMBA,DC=ORG", "name": "OU #6"}) - self.l.add({"dn": "OU=OU7,DC=SAMBA,DC=ORG", "name": "OU #7"}) - self.l.add({"dn": "OU=OU8,DC=SAMBA,DC=ORG", "name": "OU #8"}) - self.l.add({"dn": "OU=OU9,DC=SAMBA,DC=ORG", "name": "OU #9"}) - self.l.add({"dn": "OU=OU10,DC=SAMBA,DC=ORG", "name": "OU #10"}) - - def tearDown(self): - if os.path.exists(self.name): - os.unlink(self.name) - - def test_return_type(self): - res = self.l.search() - self.assertEquals(str(res), "") - - def test_get_msgs(self): - res = self.l.search() - list = res.msgs - - def test_get_controls(self): - res = self.l.search() - list = res.controls - - def test_get_referals(self): - res = self.l.search() - list = res.referals - - def test_iter_msgs(self): - found = False - for l in self.l.search().msgs: - if str(l.dn) == "OU=OU10,DC=SAMBA,DC=ORG": - found = True - self.assertTrue(found) - - def test_iter_msgs_count(self): - self.assertTrue(self.l.search().count > 0) - # 13 objects has been added to the DC=SAMBA, DC=ORG - self.assertEqual(self.l.search(base="DC=SAMBA,DC=ORG").count, 13) - - def test_iter_controls(self): - res = self.l.search().controls - it = iter(res) - - def test_create_control(self): - self.assertRaises(ValueError, ldb.Control, self.l, "tatayoyo:0") - c = ldb.Control(self.l, "relax:1") - self.assertEquals(c.critical, True) - self.assertEquals(c.oid, "1.3.6.1.4.1.4203.666.5.12") - - def test_iter_refs(self): - res = self.l.search().referals - it = iter(res) - - def test_iter_as_sequence_msgs(self): - found = False - res = self.l.search().msgs - - for i in range(0, len(res)): - l = res[i] - if str(l.dn) == "OU=OU10,DC=SAMBA,DC=ORG": - found = True - self.assertTrue(found) - - def test_iter_as_sequence(self): - found = False - res = self.l.search() - - for i in range(0, len(res)): - l = res[i] - if str(l.dn) == "OU=OU10,DC=SAMBA,DC=ORG": - found = True - self.assertTrue(found) - -class VersionTests(unittest.TestCase): - - def test_version(self): - self.assertTrue(isinstance(ldb.__version__, str)) - - -if __name__ == '__main__': - import unittest - unittest.TestProgram() diff --git a/source4/lib/ldb/tests/samba4.png b/source4/lib/ldb/tests/samba4.png deleted file mode 100644 index c8096889a6..0000000000 Binary files a/source4/lib/ldb/tests/samba4.png and /dev/null differ diff --git a/source4/lib/ldb/tests/sample_module.c b/source4/lib/ldb/tests/sample_module.c deleted file mode 100644 index bee40a5e80..0000000000 --- a/source4/lib/ldb/tests/sample_module.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - Unix SMB/CIFS implementation. - Samba utility functions - Copyright (C) Jelmer Vernooij 2007 - - ** NOTE! The following LGPL license applies to the ldb - ** library. This does NOT imply that all of Samba is released - ** under the LGPL - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, see . -*/ - -#include "replace.h" -#include "system/filesys.h" -#include "system/time.h" -#include "ldb_module.h" - -static int sample_add(struct ldb_module *mod, struct ldb_request *req) -{ - struct ldb_control *control; - - ldb_msg_add_fmt(req->op.add.message, "touchedBy", "sample"); - - /* check if there's a relax control */ - control = ldb_request_get_control(req, LDB_CONTROL_RELAX_OID); - if (control == NULL) { - /* not found go on */ - return ldb_next_request(mod, req); - } else { - return LDB_ERR_UNWILLING_TO_PERFORM; - } -} - -static int sample_modify(struct ldb_module *mod, struct ldb_request *req) -{ - struct ldb_control *control; - - /* check if there's a relax control */ - control = ldb_request_get_control(req, LDB_CONTROL_RELAX_OID); - if (control == NULL) { - /* not found go on */ - return ldb_next_request(mod, req); - } else { - return LDB_ERR_UNWILLING_TO_PERFORM; - } -} - - -static struct ldb_module_ops ldb_sample_module_ops = { - .name = "sample", - .add = sample_add, - .del = sample_modify, - .modify = sample_modify, -}; - -int ldb_sample_init(const char *version) -{ - LDB_MODULE_CHECK_VERSION(version); - return ldb_register_module(&ldb_sample_module_ops); -} diff --git a/source4/lib/ldb/tests/schema-tests/schema-add-test.ldif b/source4/lib/ldb/tests/schema-tests/schema-add-test.ldif deleted file mode 100644 index 472ab48fac..0000000000 --- a/source4/lib/ldb/tests/schema-tests/schema-add-test.ldif +++ /dev/null @@ -1,66 +0,0 @@ -dn: CN=Users,DC=schema,DC=test -objectClass: top -objectClass: container -cn: Users -description: Default container for upgraded user accounts -instanceType: 4 -whenCreated: 20050116175504.0Z -whenChanged: 20050116175504.0Z -uSNCreated: 1 -uSNChanged: 1 -showInAdvancedViewOnly: FALSE -name: Users -objectGUID: b847056a-9934-d87b-8a1a-99fabe0863c8 -systemFlags: 0x8c000000 -objectCategory: CN=Container,CN=Schema,CN=Configuration,DC=schema,DC=test -isCriticalSystemObject: TRUE -nTSecurityDescriptor: foo - -dn: CN=Administrator,CN=Users,DC=schema,DC=test -objectClass: top -objectClass: person -objectClass: organizationalPerson -objectClass: user -cn: Administrator -description: Built-in account for administering the computer/domain -instanceType: 4 -whenCreated: 20050116175504.0Z -whenChanged: 20050116175504.0Z -uSNCreated: 1 -memberOf: CN=Group Policy Creator Owners,CN=Users,DC=schema,DC=test -memberOf: CN=Domain Admins,CN=Users,DC=schema,DC=test -memberOf: CN=Enterprise Admins,CN=Users,DC=schema,DC=test -memberOf: CN=Schema Admins,CN=Users,DC=schema,DC=test -memberOf: CN=Administrators,CN=Builtin,DC=schema,DC=test -uSNChanged: 1 -name: Administrator -objectGUID: 6c02f98c-46c6-aa38-5f13-a510cac04e6c -userAccountControl: 0x10200 -badPwdCount: 0 -codePage: 0 -countryCode: 0 -badPasswordTime: 0 -lastLogoff: 0 -lastLogon: 0 -pwdLastSet: 0 -primaryGroupID: 513 -objectSid: S-1-5-21-43662522-77495566-38969261-500 -adminCount: 1 -accountExpires: 9223372036854775807 -logonCount: 0 -sAMAccountName: Administrator -sAMAccountType: 0x30000000 -objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=schema,DC=test -isCriticalSystemObject: TRUE -unicodePwd: samba -nTSecurityDescriptor: foo - -dn: CN=Test,CN=Users,DC=schema,DC=test -objectClass: top -objectClass: test -cn: Test -description: This is a test -objectCategory: CN=Test,CN=Schema,CN=Configuration,DC=schema,DC=test -nTSecurityDescriptor: foo -instanceType: 4 - diff --git a/source4/lib/ldb/tests/schema-tests/schema-mod-test-1.ldif b/source4/lib/ldb/tests/schema-tests/schema-mod-test-1.ldif deleted file mode 100644 index b976724485..0000000000 --- a/source4/lib/ldb/tests/schema-tests/schema-mod-test-1.ldif +++ /dev/null @@ -1,5 +0,0 @@ -dn: CN=Test,CN=Users,DC=schema,DC=test -changetype: modify -replace: description -description: this test must not fail - diff --git a/source4/lib/ldb/tests/schema-tests/schema-mod-test-2.ldif b/source4/lib/ldb/tests/schema-tests/schema-mod-test-2.ldif deleted file mode 100644 index fa193af683..0000000000 --- a/source4/lib/ldb/tests/schema-tests/schema-mod-test-2.ldif +++ /dev/null @@ -1,5 +0,0 @@ -dn: CN=Test,CN=Users,DC=schema,DC=test -changetype: modify -delete: description -# this test must not fail - diff --git a/source4/lib/ldb/tests/schema-tests/schema-mod-test-3.ldif b/source4/lib/ldb/tests/schema-tests/schema-mod-test-3.ldif deleted file mode 100644 index 8ab7798f9c..0000000000 --- a/source4/lib/ldb/tests/schema-tests/schema-mod-test-3.ldif +++ /dev/null @@ -1,5 +0,0 @@ -dn: CN=Test,CN=Users,DC=schema,DC=test -changetype: modify -add: description -description: this test must not fail - diff --git a/source4/lib/ldb/tests/schema-tests/schema-mod-test-4.ldif b/source4/lib/ldb/tests/schema-tests/schema-mod-test-4.ldif deleted file mode 100644 index cbf0e60bbe..0000000000 --- a/source4/lib/ldb/tests/schema-tests/schema-mod-test-4.ldif +++ /dev/null @@ -1,5 +0,0 @@ -dn: CN=Test,CN=Users,DC=schema,DC=test -changetype: modify -add: foo -foo: this test must fail - diff --git a/source4/lib/ldb/tests/schema-tests/schema-mod-test-5.ldif b/source4/lib/ldb/tests/schema-tests/schema-mod-test-5.ldif deleted file mode 100644 index bc64e9edb6..0000000000 --- a/source4/lib/ldb/tests/schema-tests/schema-mod-test-5.ldif +++ /dev/null @@ -1,5 +0,0 @@ -dn: CN=Test,CN=Users,DC=schema,DC=test -changetype: modify -delete: nTSecurityDescriptor -# this test must fail - diff --git a/source4/lib/ldb/tests/schema-tests/schema.ldif b/source4/lib/ldb/tests/schema-tests/schema.ldif deleted file mode 100644 index 4ab1932839..0000000000 --- a/source4/lib/ldb/tests/schema-tests/schema.ldif +++ /dev/null @@ -1,100 +0,0 @@ -dn: @INDEXLIST -@IDXATTR: name -@IDXATTR: sAMAccountName -@IDXATTR: objectSid -@IDXATTR: objectClass -@IDXATTR: member -@IDXATTR: uidNumber -@IDXATTR: gidNumber -@IDXATTR: unixName -@IDXATTR: privilege -@IDXATTR: lDAPDisplayName - -dn: @ATTRIBUTES -realm: CASE_INSENSITIVE -userPrincipalName: CASE_INSENSITIVE -servicePrincipalName: CASE_INSENSITIVE -name: CASE_INSENSITIVE -dn: CASE_INSENSITIVE -sAMAccountName: CASE_INSENSITIVE -objectClass: CASE_INSENSITIVE -unicodePwd: HIDDEN -ntPwdHash: HIDDEN -ntPwdHistory: HIDDEN -lmPwdHash: HIDDEN -lmPwdHistory: HIDDEN -createTimestamp: HIDDEN -modifyTimestamp: HIDDEN - -dn: @MODULES -@LIST: timestamps,schema - -dn: CN=Top,CN=Schema,CN=Configuration,DC=schema,DC=test -objectClass: top -objectClass: classSchema -lDAPDisplayName: top -cn: Top -uSNCreated: 1 -uSNChanged: 1 -subClassOf: top -systemMustContain: objectClass -systemMayContain: structuralObjectClass -systemMayContain: createTimeStamp -systemMayContain: modifyTimeStamp -systemMayContain: creatorsName -systemMayContain: modifiersName -systemMayContain: hasSubordinates -systemMayContain: subschemaSubentry -systemMayContain: collectiveSubentry -systemMayContain: entryUUID -systemMayContain: entryCSN -systemMayContain: namingCSN -systemMayContain: superiorUUID -systemMayContain: contextCSN -systemMayContain: whenCreated -systemMayContain: whenChanged -systemMayContain: uSNCreated -systemMayContain: uSNChanged -systemMayContain: distinguishedName -systemMayContain: name -systemMayContain: cn -systemMayContain: userPassword -systemMayContain: labeledURI - -dn: CN=Class-Schema,CN=Schema,CN=Configuration,DC=schema,DC=test -objectClass: top -objectClass: classSchema -lDAPDisplayName: classSchema -cn: Class-Schema -uSNCreated: 2 -uSNChanged: 2 -lDAPDisplayName: classSchema -subClassOf: top -systemMustContain: cn -systemMustContain: subClassOf -systemMayContain: systemPossSuperiors -systemMayContain: systemOnly -systemMayContain: systemMustContain -systemMayContain: systemMayContain -systemMayContain: systemAuxiliaryClass -systemMayContain: possSuperiors -systemMayContain: mustContain -systemMayContain: mayContain -systemMayContain: lDAPDisplayName -systemMayContain: auxiliaryClass - -dn: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=schema,DC=test -objectClass: top -objectClass: classSchema -cn: Attribute-Schema -uSNCreated: 3 -uSNChanged: 3 -lDAPDisplayName: attributeSchema -subClassOf: top -systemMustContain: oMSyntax -systemMustContain: lDAPDisplayName -systemMustContain: isSingleValued -systemMustContain: cn -systemMustContain: attributeSyntax -systemMustContain: attributeID - diff --git a/source4/lib/ldb/tests/slapd.conf b/source4/lib/ldb/tests/slapd.conf deleted file mode 100644 index fa2789d8c1..0000000000 --- a/source4/lib/ldb/tests/slapd.conf +++ /dev/null @@ -1,26 +0,0 @@ -loglevel 0 - -include tests/schema/core.schema -include tests/schema/cosine.schema -include tests/schema/inetorgperson.schema -include tests/schema/openldap.schema -include tests/schema/nis.schema - - -pidfile tests/tmp/slapd.pid -argsfile tests/tmp/slapd.args - -access to * by * write - -allow update_anon bind_anon_dn - -include tests/tmp/modules.conf - -defaultsearchbase "o=University of Michigan,c=TEST" - -backend bdb -database bdb -suffix "o=University of Michigan,c=TEST" -directory tests/tmp/db -index objectClass eq -index uid eq diff --git a/source4/lib/ldb/tests/start_slapd.sh b/source4/lib/ldb/tests/start_slapd.sh deleted file mode 100755 index 11679d47a3..0000000000 --- a/source4/lib/ldb/tests/start_slapd.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -if [ -z "$LDBDIR" ]; then - LDBDIR=`dirname $0`/.. - export LDBDIR -fi - -mkdir -p $LDBDIR/tests/tmp/db - -# running slapd in the background (with &) means it stays in the same process group, so it can be -# killed by timelimit -slapd -d0 -f $LDBDIR/tests/slapd.conf -h "`$LDBDIR/tests/ldapi_url.sh`" $* & - -sleep 2 diff --git a/source4/lib/ldb/tests/test-attribs.ldif b/source4/lib/ldb/tests/test-attribs.ldif deleted file mode 100644 index 79508c4b7b..0000000000 --- a/source4/lib/ldb/tests/test-attribs.ldif +++ /dev/null @@ -1,6 +0,0 @@ -dn: @ATTRIBUTES -uid: CASE_INSENSITIVE -cn: CASE_INSENSITIVE -ou: CASE_INSENSITIVE -dn: CASE_INSENSITIVE - diff --git a/source4/lib/ldb/tests/test-config.ldif b/source4/lib/ldb/tests/test-config.ldif deleted file mode 100644 index 7926a9e3c5..0000000000 --- a/source4/lib/ldb/tests/test-config.ldif +++ /dev/null @@ -1,67 +0,0 @@ -############################## -# global configuration options -dn: cn=Global,cn=Config,cn=Samba -objectclass: globalconfig -LocalConfigCn: cn=%U,cn=Config,cn=Samba -LocalConfigCn;1: cn=%U,cn=Config,cn=Samba -LocalConfigCn;2: cn=%I,cn=Config,cn=Samba -LocalConfigCn;3: cn=%M,cn=Config,cn=Samba - -############# -dn: cn=Protocol,cn=Global,cn=Config,cn=Samba -maxXmit: 7000 - -################################ -dn: cn=Volker,cn=Config,cn=Samba -Workgroup: VNET3 -UnixCharset: UTF8 -Security: user -Interfaces: vmnet* eth* -NetbiosName: blu -GuestAccount: tridge - -################################# -dn: cn=Volker,cn=Config,cn=Samba -Workgroup: VNET3 -UnixCharset: UTF8 -Security: user -Interfaces: vmnet* eth* -NetbiosName: blu -GuestAccount: tridge -Include: cn=%U,cn=MyConfig,cn=Config,cn=Samba - -#### ((objectClass=fileshare)(cn=test)) -############################## -# [test] share -dn: cn=test,cn=Shares,cn=Config,cn=Samba -objectclass: fileshare -cn: test -Comment: a test share -Path: /home/tridge/samba4/prefix/test -ReadOnly: no - -##################################### -# [msdn] a remote proxy share, stored -# on \\msdn\test -dn: cn=msdn,cn=Shares,cn=Config,cn=Samba -objectclass: fileshare -cn: msdn -NtvfsHandler: cifs -ReadOnly: no -_CifsServer: msdn -_CifsUser: administrator -_CifsPassword: penguin -_CifsDomain: winxp -_CifsShare: test - - -############################## -# [VisualC] share -dn: cn=visualc,cn=Shares,cn=Config,cn=Samba -objectclass: fileshare -cn: VisualC -Comment: VisualC development -Path: /home/tridge/VisualC -ReadOnly: no -NtvfsHandler: simple - diff --git a/source4/lib/ldb/tests/test-controls.sh b/source4/lib/ldb/tests/test-controls.sh deleted file mode 100755 index 771085ec60..0000000000 --- a/source4/lib/ldb/tests/test-controls.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -if [ -n "$TEST_DATA_PREFIX" ]; then - LDB_URL="$TEST_DATA_PREFIX/tdbtest.ldb" -else - LDB_URL="tdbtest.ldb" -fi -export LDB_URL - -PATH=bin:$PATH -export PATH - -rm -f $LDB_URL* - -echo "LDB_URL: $LDB_URL" -cat </dev/null 2>&1 || exit 1 - -set diff --git a/source4/lib/ldb/tests/test-default-config.ldif b/source4/lib/ldb/tests/test-default-config.ldif deleted file mode 100644 index 87b7bcd3cc..0000000000 --- a/source4/lib/ldb/tests/test-default-config.ldif +++ /dev/null @@ -1,17 +0,0 @@ -############################## -# global configuration options -dn: cn=Global,cn=DefaultConfig,cn=Samba -objectclass: globalconfig -Workgroup: WORKGROUP -UnixCharset: UTF8 -Security: user -NetbiosName: blu -GuestAccount: nobody - -############################## -# [_default_] share -dn: cn=_default_,cn=Shares,cn=DefaultConfig,cn=Samba -objectclass: fileshare -cn: _default_ -Path: /tmp -ReadOnly: yes diff --git a/source4/lib/ldb/tests/test-extended.sh b/source4/lib/ldb/tests/test-extended.sh deleted file mode 100755 index 14b988e3f9..0000000000 --- a/source4/lib/ldb/tests/test-extended.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh - -echo "Running extended search tests" - -mv $LDB_URL $LDB_URL.1 - -cat < /dev/null && { - echo "Should have failed to add again - gave $?" - exit 1 -} - -echo "Modifying elements" -$VALGRIND ldbmodify$EXEEXT $LDBDIR/tests/test-modify.ldif || exit 1 - -echo "Showing modified record" -$VALGRIND ldbsearch$EXEEXT '(uid=uham)' || exit 1 - -echo "Rename entry with ldbmodify - modrdn" -$VALGRIND ldbmodify$EXEEXT $LDBDIR/tests/test-modify-modrdn.ldif || exit 1 - -echo "Rename entry with ldbrename" -OLDDN="cn=Ursula Hampster,ou=Alumni Association,ou=People,o=University of Michigan,c=TEST" -NEWDN="cn=Hampster Ursula,ou=Alumni Association,ou=People,o=University of Michigan,c=TEST" -$VALGRIND ldbrename$EXEEXT "$OLDDN" "$NEWDN" || exit 1 - -echo "Showing renamed record" -$VALGRIND ldbsearch$EXEEXT '(uid=uham)' || exit 1 - -echo "Starting ldbtest" -$VALGRIND ldbtest$EXEEXT --num-records 100 --num-searches 10 || exit 1 - -if [ $LDB_SPECIALS = 1 ]; then - echo "Adding index" - $VALGRIND ldbadd$EXEEXT $LDBDIR/tests/test-index.ldif || exit 1 -fi - -echo "Adding bad attributes - should fail" -$VALGRIND ldbadd$EXEEXT $LDBDIR/tests/test-wrong_attributes.ldif && { - echo "Should fhave failed - gave $?" - exit 1 -} - -echo "Testing indexed search" -$VALGRIND ldbsearch$EXEEXT '(uid=uham)' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(&(objectclass=person)(objectclass=person)(objectclass=top))' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(&(uid=uham)(uid=uham))' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(|(uid=uham)(uid=uham))' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(|(uid=uham)(uid=uham)(objectclass=OpenLDAPperson))' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(&(uid=uham)(uid=uham)(!(objectclass=xxx)))' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(&(objectclass=person)(uid=uham)(!(uid=uhamxx)))' uid \* \+ dn || exit 1 -$VALGRIND ldbsearch$EXEEXT '(&(uid=uham)(uid=uha*)(title=*))' uid || exit 1 - -# note that the "((" is treated as an attribute not an expression -# this matches the openldap ldapsearch behaviour of looking for a '=' -# to see if the first argument is an expression or not -$VALGRIND ldbsearch$EXEEXT '((' uid || exit 1 -$VALGRIND ldbsearch$EXEEXT '(objectclass=)' uid || exit 1 -$VALGRIND ldbsearch$EXEEXT -b 'cn=Hampster Ursula,ou=Alumni Association,ou=People,o=University of Michigan,c=TEST' -s base "" sn || exit 1 - -echo "Test wildcard match" -$VALGRIND ldbadd$EXEEXT $LDBDIR/tests/test-wildcard.ldif || exit 1 -$VALGRIND ldbsearch$EXEEXT '(cn=test*multi)' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(cn=*test*multi*)' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(cn=*test_multi)' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(cn=test_multi*)' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(cn=test*multi*test*multi)' || exit 1 -$VALGRIND ldbsearch$EXEEXT '(cn=test*multi*test*multi*multi_*)' || exit 1 - -echo "Starting ldbtest indexed" -$VALGRIND ldbtest$EXEEXT --num-records 100 --num-searches 500 || exit 1 - -echo "Testing one level search" -count=`$VALGRIND ldbsearch$EXEEXT -b 'ou=Groups,o=University of Michigan,c=TEST' -s one 'objectclass=*' none |grep '^dn' | wc -l` -if [ $count != 3 ]; then - echo returned $count records - expected 3 - exit 1 -fi - -echo "Testing binary file attribute value" -$VALGRIND ldbmodify$EXEEXT $LDBDIR/tests/photo.ldif || exit 1 -count=`$VALGRIND ldbsearch$EXEEXT '(cn=Hampster Ursula)' jpegPhoto | grep '^dn' | wc -l` -if [ $count != 1 ]; then - echo returned $count records - expected 1 - exit 1 -fi - -echo "*TODO* Testing UTF8 upper lower case searches !!" - -echo "Testing compare" -count=`$VALGRIND ldbsearch$EXEEXT '(cn>=t)' cn | grep '^dn' | wc -l` -if [ $count != 2 ]; then - echo returned $count records - expected 2 - echo "this fails on openLdap ..." -fi - -count=`$VALGRIND ldbsearch$EXEEXT '(cn<=t)' cn | grep '^dn' | wc -l` -if [ $count != 13 ]; then - echo returned $count records - expected 13 - echo "this fails on openLdap ..." -fi - -checkcount() { - count=$1 - scope=$2 - basedn=$3 - expression="$4" - n=`$VALGRIND ldbsearch$EXEEXT -s "$scope" -b "$basedn" "$expression" | grep '^dn' | wc -l` - if [ $n != $count ]; then - echo "Got $n but expected $count for $expression" - bin/ldbsearch "$expression" - exit 1 - fi - echo "OK: $count $expression" -} - -checkcount 0 'base' '' '(uid=uham)' -checkcount 0 'one' '' '(uid=uham)' - -checkcount 1 'base' 'cn=Hampster Ursula,ou=Alumni Association,ou=People,o=University of Michigan,c=TEST' '(uid=uham)' -checkcount 1 'one' 'ou=Alumni Association,ou=People,o=University of Michigan,c=TEST' '(uid=uham)' -checkcount 1 'one' 'ou=People,o=University of Michigan,c=TEST' '(ou=ldb test)' diff --git a/source4/lib/ldb/tests/test-index.ldif b/source4/lib/ldb/tests/test-index.ldif deleted file mode 100644 index 268173641d..0000000000 --- a/source4/lib/ldb/tests/test-index.ldif +++ /dev/null @@ -1,7 +0,0 @@ -dn: @INDEXLIST -@IDXATTR: uid -@IDXATTR: objectclass - -dn: @ATTRIBUTES -uid: CASE_INSENSITIVE - diff --git a/source4/lib/ldb/tests/test-ldap.sh b/source4/lib/ldb/tests/test-ldap.sh deleted file mode 100755 index 14cfb5f979..0000000000 --- a/source4/lib/ldb/tests/test-ldap.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH -export PATH -SCHEMA_NEEDED="core nis cosine inetorgperson openldap" - -# setup needed schema files -for f in $SCHEMA_NEEDED; do - if [ ! -r tests/schema/$f.schema ]; then - mkdir -p tests/schema - if [ -r /etc/ldap/schema/$f.schema ]; then - ln -s /etc/ldap/schema/$f.schema tests/schema/$f.schema - continue; - fi - if [ -r /etc/openldap/schema/$f.schema ]; then - ln -s /etc/openldap/schema/$f.schema tests/schema/$f.schema - continue; - fi - - echo "SKIPPING TESTS: you need the following OpenLDAP schema files" - for f in $SCHEMA_NEEDED; do - echo " $f.schema" - done - exit 0 - fi -done - -if [ -z "$LDBDIR" ]; then - LDBDIR=`dirname $0`/.. - export LDBDIR -fi - -LDB_URL=`$LDBDIR/tests/ldapi_url.sh` -export LDB_URL - -PATH=bin:$PATH -export PATH - -LDB_SPECIALS=0 -export LDB_SPECIALS - -if $LDBDIR/tests/init_slapd.sh && - $LDBDIR/tests/start_slapd.sh && - $LDBDIR/tests/test-generic.sh; then - echo "ldap tests passed"; - ret=0 -else - echo "ldap tests failed"; - ret=$? -fi - -#$LDBDIR/tests/kill_slapd.sh - -exit $ret diff --git a/source4/lib/ldb/tests/test-modify-modrdn.ldif b/source4/lib/ldb/tests/test-modify-modrdn.ldif deleted file mode 100644 index efa3149462..0000000000 --- a/source4/lib/ldb/tests/test-modify-modrdn.ldif +++ /dev/null @@ -1,12 +0,0 @@ -dn: cn=Ursula Hampster,ou=Alumni Association,ou=People,o=University of Michiga - n,c=TEST -changetype: moddn -newrdn: cn=Hampster Ursula -deleteoldrdn: 1 -newsuperior: ou=Alumni Association,ou=People,o=University of Michigan,c=TEST - -dn: cn=Hampster Ursula,ou=Alumni Association,ou=People,o=University of Michiga - n,c=TEST -changetype: modrdn -newrdn: cn=Ursula Hampster -deleteoldrdn: 1 diff --git a/source4/lib/ldb/tests/test-modify.ldif b/source4/lib/ldb/tests/test-modify.ldif deleted file mode 100644 index e5b9ca4086..0000000000 --- a/source4/lib/ldb/tests/test-modify.ldif +++ /dev/null @@ -1,23 +0,0 @@ -dn: cn=Ursula Hampster,ou=Alumni Association,ou=People,o=University of Michiga - n,c=TEST -changetype: modify -add: drink -drink: mango lassi -- -add: drink -drink: lemonade -- -delete: pager -- -replace: telephonenumber -telephonenumber: +61 2 6260 6012 -telephonenumber: +61 412 666 929 -- -delete: telephonenumber -telephonenumber: +61 2 6260 6012 -- -delete: telephonenumber -telephonenumber: +61 412 666 929 -- -add: telephonenumber -telephonenumber: +61 412 666 929 diff --git a/source4/lib/ldb/tests/test-schema.sh b/source4/lib/ldb/tests/test-schema.sh deleted file mode 100755 index 97841844db..0000000000 --- a/source4/lib/ldb/tests/test-schema.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -LDB_URL="tdb://schema.ldb" -export LDB_URL - -rm -f schema.ldb - -echo "LDB_URL: $LDB_URL" - -echo "Adding schema" -$VALGRIND bin/ldbadd $LDBDIR/tests/schema-tests/schema.ldif || exit 1 - -echo "Adding few test elements (no failure expected here)" -$VALGRIND bin/ldbadd $LDBDIR/tests/schema-tests/schema-add-test.ldif || exit 1 - -echo "Modifying elements (2 failures expected here)" - -$VALGRIND bin/ldbmodify $LDBDIR/tests/schema-tests/schema-mod-test-1.ldif || exit 1 -$VALGRIND bin/ldbmodify $LDBDIR/tests/schema-tests/schema-mod-test-2.ldif || exit 1 -$VALGRIND bin/ldbmodify $LDBDIR/tests/schema-tests/schema-mod-test-3.ldif || exit 1 -$VALGRIND bin/ldbmodify $LDBDIR/tests/schema-tests/schema-mod-test-4.ldif -if [ "$?" = "0" ]; then - echo "test failed!" - exit 1 -fi -$VALGRIND bin/ldbmodify $LDBDIR/tests/schema-tests/schema-mod-test-5.ldif -if [ "$?" = "0" ]; then - echo "test failed!" - exit 1 -fi - -echo "Showing modified record" -$VALGRIND bin/ldbsearch '(cn=Test)' || exit 1 - diff --git a/source4/lib/ldb/tests/test-soloading.sh b/source4/lib/ldb/tests/test-soloading.sh deleted file mode 100755 index da6d57541e..0000000000 --- a/source4/lib/ldb/tests/test-soloading.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -if [ -n "$TEST_DATA_PREFIX" ]; then - LDB_URL="$TEST_DATA_PREFIX/tdbtest.ldb" -else - LDB_URL="tdbtest.ldb" -fi -export LDB_URL - -PATH=bin:$PATH -export PATH - -rm -f $LDB_URL* - -if [ -z "$LDBDIR" ]; then - LDBDIR=`dirname $0`/.. - export LDBDIR -fi - -cat <