Skip to content

Commit

Permalink
Use class LDIFRecordList directly instead of deprecated function Pars…
Browse files Browse the repository at this point in the history
…eLDIF(), support ignored_attr_types
  • Loading branch information
stroeder committed Feb 10, 2016
1 parent 18e3968 commit 3090596
Showing 1 changed file with 22 additions and 7 deletions.
29 changes: 22 additions & 7 deletions Tests/t_ldif.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,15 @@

class TestEntryRecords(unittest.TestCase):

def _parse_entry_records(self, ldif_string, maxentries):
return ldif.ParseLDIF(StringIO(ldif_string), maxentries=maxentries)
def _parse_entry_records(self, ldif_string, ignored_attr_types=None, max_entries=0):
f = StringIO(ldif_string)
ldif_parser = ldif.LDIFRecordList(
f,
ignored_attr_types=ignored_attr_types,
max_entries=max_entries,
)
ldif_parser.parse_entry_records()
return ldif_parser.all_records

def _unparse_entry_records(self, records):
f = StringIO()
Expand All @@ -24,17 +31,25 @@ def _unparse_entry_records(self, records):
ldif_writer.unparse(dn, attrs)
return f.getvalue()

def check_roundtrip(self, ldif_source, entry_records, maxentries=0):
def check_roundtrip(self, ldif_source, entry_records, ignored_attr_types=None, max_entries=0):
ldif_source = textwrap.dedent(ldif_source).lstrip() + '\n'
parsed_entry_records = self._parse_entry_records(ldif_source, maxentries)
parsed_entry_records = self._parse_entry_records(
ldif_source,
ignored_attr_types=None,
max_entries=max_entries,
)
parsed_entry_records2 = self._parse_entry_records(
self._unparse_entry_records(entry_records), maxentries
self._unparse_entry_records(entry_records),
ignored_attr_types=None,
max_entries=max_entries,
)
self.assertEqual(parsed_entry_records, entry_records)
self.assertEqual(parsed_entry_records2, entry_records)

def test_simple(self):
self.check_roundtrip("""
version: 1
dn: cn=x,cn=y,cn=z
attrib: value
attrib: value2
Expand Down Expand Up @@ -150,7 +165,7 @@ def test_comments(self):
'c2': [b'value_c2']}),
])

def test_maxentries(self):
def test_max_entries(self):
self.check_roundtrip("""
dn: cn=x1,cn=y1,cn=z1
b1: value_b1
Expand All @@ -173,7 +188,7 @@ def test_maxentries(self):
'b1': [b'value_b1']}),
('cn=x2,cn=y2,cn=z2', {'a2': [b'value_a2'],
'b2': [b'value_b2']}),
], maxentries=2)
], max_entries=2)

def test_multiple_empty_lines(self):
"""
Expand Down

0 comments on commit 3090596

Please sign in to comment.