1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

ldb: Add tests for Ldb.write_ldif() including the FLG_SHOW_BINARY and FLAG_FORCE_NO_BASE64_LDIF

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
This commit is contained in:
Andrew Bartlett 2019-07-04 13:30:36 +12:00
parent f8fbd9cfe1
commit bc48b4b158

View File

@ -2283,6 +2283,57 @@ class DnTests(TestCase):
msg = next(msgs)
self.assertEqual("bar=bar", str(msg[1].dn))
def test_print_ldif(self):
ldif = '''dn: dc=foo27
foo: foo
'''
self.msg = ldb.Message(ldb.Dn(self.ldb, "dc=foo27"))
self.msg["foo"] = [b"foo"]
self.assertEqual(ldif,
self.ldb.write_ldif(self.msg,
ldb.CHANGETYPE_NONE))
def test_print_ldif_binary(self):
# this also confirms that ldb flags are set even without a URL)
self.ldb = ldb.Ldb(flags=ldb.FLG_SHOW_BINARY)
ldif = '''dn: dc=foo27
foo: f
öö
'''
self.msg = ldb.Message(ldb.Dn(self.ldb, "dc=foo27"))
self.msg["foo"] = ["f\nöö"]
self.assertEqual(ldif,
self.ldb.write_ldif(self.msg,
ldb.CHANGETYPE_NONE))
def test_print_ldif_no_base64_bad(self):
ldif = '''dn: dc=foo27
foo: f
öö
'''
self.msg = ldb.Message(ldb.Dn(self.ldb, "dc=foo27"))
self.msg["foo"] = ["f\nöö"]
self.msg["foo"].set_flags(ldb.FLAG_FORCE_NO_BASE64_LDIF)
self.assertEqual(ldif,
self.ldb.write_ldif(self.msg,
ldb.CHANGETYPE_NONE))
def test_print_ldif_no_base64_good(self):
ldif = '''dn: dc=foo27
foo: föö
'''
self.msg = ldb.Message(ldb.Dn(self.ldb, "dc=foo27"))
self.msg["foo"] = ["föö"]
self.msg["foo"].set_flags(ldb.FLAG_FORCE_NO_BASE64_LDIF)
self.assertEqual(ldif,
self.ldb.write_ldif(self.msg,
ldb.CHANGETYPE_NONE))
def test_canonical_string(self):
x = ldb.Dn(self.ldb, "dc=foo25,bar=bloe")
self.assertEqual("/bloe/foo25", x.canonical_str())