Files
@ 8902cd5aa66b
Branch filter:
Location: majic-ansible-roles/roles/ldap_server/molecule/default/tests/helpers.py - annotation
8902cd5aa66b
756 B
text/x-python
MAR-218: Improve mail server role test reliability:
- Introduce sleep after sending out mails in order to ensure that
Postfix has had enough time to process the messages.
- Relevant only for tests that take care of parsing the mail log.
- Solves the false negatives caused by timing issues.
- It might be a good idea down the line to implement some kind of
retry/backoff mechanism instead.
- Introduce sleep after sending out mails in order to ensure that
Postfix has had enough time to process the messages.
- Relevant only for tests that take care of parsing the mail log.
- Solves the false negatives caused by timing issues.
- It might be a good idea down the line to implement some kind of
retry/backoff mechanism instead.
d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 | import io
import ldif
def parse_ldif(ldif_input):
"""
Helper function that parses the passed-in LDIF string. This is a
simple wrapper around the Python LDAP ldif.LDIFRecordList class.
Entries are returned as list of (dn, attributes)
tuples. Attributes are represented by a dictionary mapping
attribute names to list of associated values.
:param ldif_input: LDIF to parse.
:type ldif_input: str
:returns: List of parsed entries.
:rtype: list[tuple(str, dict{str: list[str]})]
Returns:
"""
parser = ldif.LDIFRecordList(io.StringIO(ldif_input))
try:
parser.parse()
except Exception as e:
raise ValueError("Failed to parse input: %s" % str(e))
return parser.all_records
|