def test_smtpaction_build_msg(group_by_source): action = SMTPAction({'to': '*****@*****.**', 'group': group_by_source}) data = { 'a': ([('a1', {'source': 'sa1'}), ('a2', {'source': 'sa2'}), ('a3', {'source': 'sa1'})], ['uA']), 'b': ([], ['uB']), 'c': ([('c1', {'source': 'sc'})], []), 'd': ([], []) } msg = action._build_msg(data) if group_by_source: assert msg == textwrap.dedent(''' Logstapo results for 'a' =-=-=-=-=-=-=-=-=-=-=-=- Unparsable lines ~~~~~~~~~~~~~~~~ uA Unusual lines ------------- a1 a3 a2 Logstapo results for 'b' =-=-=-=-=-=-=-=-=-=-=-=- Unparsable lines ~~~~~~~~~~~~~~~~ uB Logstapo results for 'c' =-=-=-=-=-=-=-=-=-=-=-=- Unusual lines ------------- c1 ''').strip() else: assert msg == textwrap.dedent(''' Logstapo results for 'a' =-=-=-=-=-=-=-=-=-=-=-=- Unparsable lines ~~~~~~~~~~~~~~~~ uA Unusual lines ------------- a1 a2 a3 Logstapo results for 'b' =-=-=-=-=-=-=-=-=-=-=-=- Unparsable lines ~~~~~~~~~~~~~~~~ uB Logstapo results for 'c' =-=-=-=-=-=-=-=-=-=-=-=- Unusual lines ------------- c1 ''').strip()