a  ze@sddlZddlZddlZddlmZmZddlmZddlm Z Gddde Z GdddZ d d Z Gd d d e e Z d dZddZGddde e ZedkredS)N)Message EmailMessage)default) TestEmailBasec@s:eZdZGdddeZejjddZddZ ddZ d S) TestCustomMessagecseZdZfddZZS)zTestCustomMessage.MyMessagecs||_tdSN) check_policysuper__init__)selfpolicy __class__O/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_email/test_parser.pyr sz$TestCustomMessage.MyMessage.__init__)__name__ __module__ __qualname__r __classcell__rrr r MyMessage srZboo)linesepcCs6tjd|j|jd}|||j||j|jdSNzSubject: bogus msg r )emailmessage_from_stringrMyPolicyassertIsInstanceassertIsr)r msgrrr7test_custom_message_gets_policy_if_possible_from_strings zITestCustomMessage.test_custom_message_gets_policy_if_possible_from_stringcCs@td}tj||j|jd}|||j||j|jdSr) ioStringIOrmessage_from_filerrrrr)r Z source_filerrrr5test_custom_message_gets_policy_if_possible_from_files zGTestCustomMessage.test_custom_message_gets_policy_if_possible_from_fileN) rrrrrrr clonerrr#rrrrr src@s4eZdZddZGdddeZddZddZd S) TestParserBasec Csn|jD]b}|j|jd@|dtd}||gd||dWdq1s^0YqdS)NparseruNext-Line: not…broken Null: notbroken Vertical-Tab: not broken Form-Feed: not broken File-Separator: notbroken Group-Separator: notbroken Record-Separator: notbroken Line-Separator: not
broken Paragraph-Separator: not
broken r) )z Next-Lineu not…broken)ZNullz notbroken)z Vertical-Tabz not broken)z Form-Feedz not broken)zFile-Separatorz notbroken)zGroup-Separatorz notbroken)zRecord-Separatorz notbroken)zLine-Separatoru not
broken)zParagraph-Separatoru not
broken)parserssubTestrrZ assertEqualitemsZ get_payload)r r'rrrrtest_only_split_on_cr_lf&s    z'TestParserBase.test_only_split_on_cr_lfc@s eZdZdS)zTestParserBase.MyMessageN)rrrrrrrrFsrc Csf|jD]Z}|j|jd8tj|jd}|d|d}|||jWdq1sV0YqdSNr&)Zmessage_factoryz To: foo testr)r)r*rrr$rrr r'rrrrr%test_custom_message_factory_on_policyIs   z4TestParserBase.test_custom_message_factory_on_policyc Cst|jD]h}|j|jdFtj|jd}|dt|d}|||j||tWdq1sd0YqdSr-) r)r*rrr$rrZassertNotIsInstancerr.rrr!test_factory_arg_overrides_policyPs  z0TestParserBase.test_factory_arg_overrides_policyN)rrrr,rrr/r0rrrrr%$s r%cOs"t|}tj|g|Ri|Sr)r r!rr"sargskwfrrrr"[s r"c@seZdZejefZdS) TestParserN)rrrrrr"r)rrrrr6_sr6cOstj|g|Ri|Sr)rmessage_from_bytesencode)r2r3r4rrrr7bsr7cOs&t|}tj|g|Ri|Sr)r BytesIOr8rmessage_from_binary_filer1rrrr:esr:c@seZdZeefZdS)TestBytesParserN)rrrr7r:r)rrrrr;isr;__main__)r rZunittestZ email.messagerrZ email.policyrZtest.test_emailrrr%r"r6r7r:r;rmainrrrrs  7