403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/test_email/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/test_email/__pycache__/test_contentmanager.cpython-313.opt-1.pyc
�

��i`����SSKrSSKJrJr SSKrSSKJr SSKJr SSK	J
r
Jr \"SS\55r\"SS	\55r
\S
:Xa\R"5 gg)�N)�
TestEmailBase�parameterize)�policy)�EmailMessage)�ContentManager�raw_data_managerc
���\rSrSr\R
r\rSSSS.rSr	Sr
Sr"S	S
\5r
\S-S-r"S
S\
5r\S-S-rS\4S\4SSS\
4S\4SSS\4SSSS.rSrSrSrS rS!rS"rg#)$�TestContentManager�	)��
text/plain)��text)��)�	full_type�
maintype_only�null_keyc��S	Sjn[5nURX#5 UR5nSUS'SUS'URUR	USS9S5 g)
Nc��USnX4$�N�X-Bar-Header�)�msg�foo�bars   �8C:\Python313\\Lib\test\test_email\test_contentmanager.py�
foo_getter�ATestContentManager.get_key_as_get_content_key.<locals>.foo_getters���n�%�C��8�O�r
�Content-Typerrr�r)rr�N)r�add_get_handler�
_make_message�assertEqual�get_content)�self�order�keyr�cm�ms      r�get_key_as_get_content_key�-TestContentManager.get_key_as_get_content_keys^��	��
��
���3�+���� ��(��.��!��.���������u��5�~�Fr c�<�SnSn[5nURX$5 URR5HupbXa:�dMURX#5 M UR	5nSUS'SUS'SUS'URUR
U5S5 g)	Nc��US$rr�rs r�
bar_getter�GTestContentManager.get_key_as_get_content_key_order.<locals>.bar_getter!�
���~�&�&r c��US$�N�X-Foo-Headerrr1s rr�GTestContentManager.get_key_as_get_content_key_order.<locals>.foo_getter#r4r r
r!rrrr7)rr$�get_key_params�valuesr%r&r')r(r)r*r2rr+�
precedencer,s        r� get_key_as_get_content_key_order�3TestContentManager.get_key_as_get_content_key_order s���	'�	'�
�
��
���3�+�#�2�2�9�9�;�O�J��!��"�"�3�3� <�
��� ��(��.��!��.��!��.���������*�U�4r c���[5nUR5nSUS'UR[S5 UR	U5 SSS5 g!,(df   g=f)Nr
r!)rr%�assertRaisesRegex�KeyErrorr'�r(r+r,s   r�:test_get_content_raises_if_unknown_mimetype_and_no_default�MTestContentManager.test_get_content_raises_if_unknown_mimetype_and_no_default0sJ��
�
����� ��(��.��
�
#�
#�H�l�
;��N�N�1��<�
;�
;�s�A�
Ac��\rSrSrSrg)�TestContentManager.BaseThing�7rN��__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rr r�	BaseThingrE7���r rM�.rEc��\rSrSrSrg)�TestContentManager.Thing�:rNrGrr r�ThingrQ:rNr rSrQrr)rrQ)rrS��)�rE)�rM�)rzbuiltins.str)�
�str)�N)�type�	full_path�qualname�name�	base_type�base_full_path�
base_qualname�	base_name�str_type�
str_full_path�str_namerc��SSjn[5nURX#5 UR5nUR5nUR	XVSS9 URUSS5 URUR
5U5 g)Nc�.�X S'URU5 gr6��set_payload)r�objrs   r�
foo_setter�ATestContentManager.set_key_as_set_content_key.<locals>.foo_setterNs��"%����O�O�C� r rr"r7r#)r�add_set_handlerr%rS�set_contentr&�get_payload)r(r)r*rlr+r,�msg_objs       r�set_key_as_set_content_key�-TestContentManager.set_key_as_set_content_keyMss��	!��
��
���3�+���� ���*�*�,��
���q�u��-�����>�*�E�2��������'�2r c��SnSn[5nURX#5 URR5HupbXa:�dMURX$5 M UR	5nUR5nUR
Xx5 URUSS5 URUR5U5 g)Nc�0�SUS'URU5 g)Nr�X-FooBar-Headerri�rrks  rrl�GTestContentManager.set_key_as_set_content_key_order.<locals>.foo_setterZs��%*�C�!�"��O�O�C� r c��SUS'g)Nrrvrrws  r�
bar_setter�GTestContentManager.set_key_as_set_content_key_order.<locals>.bar_setter]s
��%*�C�!�"r rvr)	rrnr9r:r%rSror&rp)	r(r)r*rlrzr+r;r,rqs	         r� set_key_as_set_content_key_order�3TestContentManager.set_key_as_set_content_key_orderYs���	!�	+�
�
��
���3�+�#�2�2�9�9�;�O�J��!��"�"�3�3� <�
��� ���*�*�,��
���q�"�����,�-�u�5��������'�2r c���[5nUR5nUR5nUR[UR
5 UR
X#5 SSS5 g!,(df   g=fr#)rr%rSr?r@�testobject_full_pathro)r(r+r,rqs    r�6test_set_content_raises_if_unknown_type_and_no_default�ITestContentManager.test_set_content_raises_if_unknown_type_and_no_defaultjsR��
�
����� ���*�*�,��
�
#�
#�H�d�.G�.G�
H��N�N�1�&�I�
H�
H�s�A&�&
A4c���[5nUR5nSUS'UR[5 UR	US5 SSS5 g!,(df   g=f)Nz
multipart/foor!�test)rr%�assertRaises�	TypeErrorrorAs   r�.test_set_content_raises_if_called_on_multipart�ATestContentManager.test_set_content_raises_if_called_on_multipartqsJ��
�
����� ��+��.��
�
�
�y�
)��N�N�1�f�%�*�
)�
)�s�A�
Ac�~�UR5nSUS'SUS'SUS'URS5 [5nUR[S5 URS	US
9 UR
US5 UR
US5 URUSS5 UR
UR55 g)NrzContent-Fooz	text/htmlr!r��To�abcc��gr#r)�args�kws  r�<lambda>�ITestContentManager.test_set_content_calls_clear_content.<locals>.<lambda>s��Dr �xyz)�content_manager)	r%rjrrnrZro�assertIsNoner&rp)r(r,r+s   r�$test_set_content_calls_clear_content�7TestContentManager.test_set_content_calls_clear_contentxs������ �� ��-��'��.����$��	�
�
�e��
�
��
���3� 8�9�	�
�
�e�R�
�0����!�M�*�+����!�N�+�,�����4��&�)����!�-�-�/�*r rN)rHrIrJrKr�defaultr�messager9r-r<rBrZrM�baseobject_full_pathrSr�set_key_paramsrrr|r�r�r�rLrr rr
r
	s����^�^�F��G�/�(�$�
�N�	G�5� �
�C�
�#�c�>�,J�J��
�	�
�#�c�>�,F�F����L��!5�7�=�*���,��!5�7�A�.���J�1�(�'�

�N�
3�3�"'�&�+r r
c��\rSrSr\R
R
S\S9r\r	Sr
SrSrSr
SrS	rS
rSrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#Sr$Sr%S r&S!r'S"r(S#r)S$r*S%r+S&r,S'r-S(r.S)r/S*r0S+r1S,r2S-r3S.r4S/r5S0r6S1r7S2r8S3r9S4r:S5S6S7S8\	"5S94\	"5S:4S;.r;S<r<S=r=S>r>S?r?S@r@S9rAgA)B�TestRawDataManager��<)�max_line_lengthr�c��UR[R"S55nUR[R
"U5S5 g)N�J            Content-Type: text/plain

            Basic text.
            zBasic text.
��_str_msg�textwrap�dedentr&rr'�r(r,s  r�test_get_text_plain�&TestRawDataManager.test_get_text_plain�s>���M�M�(�/�/�+��
��
	
���)�5�5�a�8�/�Jr c��UR[R"S55nUR[R
"U5S5 g)NzP            Content-Type: text/html

            <p>Basic text.</p>
            z<p>Basic text.</p>
r�r�s  r�test_get_text_html�%TestRawDataManager.test_get_text_html�sA���M�M�(�/�/�+��
��
	
���)�5�5�a�8�/�	1r c��UR[R"S5RS55nUR	[
R"U5S5 g)Nu\            Content-Type: text/plain; charset=latin1

            Basìc tëxt.
            �latin1�Basìc tëxt.
)�
_bytes_msgr�r��encoder&rr'r�s  r�test_get_text_plain_latin1�-TestRawDataManager.test_get_text_plain_latin1�sK���O�O�H�O�O�-�����!�	
#��
	
���)�5�5�a�8�:K�Lr c��UR[R"S55nUR[R
"U5S5 g)Nz�            Content-Type: text/plain; charset="latin-1"
            Content-Transfer-Encoding: quoted-printable

            Bas=ECc t=EBxt.
            r�r�r�s  r�+test_get_text_plain_latin1_quoted_printable�>TestRawDataManager.test_get_text_plain_latin1_quoted_printable��?���M�M�(�/�/�+��
��	
���)�5�5�a�8�:K�Lr c��UR[R"S55nUR[R
"U5S5 g)Nz�            Content-Type: text/plain; charset="utf8"
            Content-Transfer-Encoding: base64

            QmFzw6xjIHTDq3h0Lgo=
            r�r�r�s  r�test_get_text_plain_utf8_base64�2TestRawDataManager.test_get_text_plain_utf8_base64�r�r c��UR[R"S55nUR[R
"U5S5 g)N��            Content-Type: text/plain; charset="utf8"
            Content-Transfer-Encoding: quoted-printable

            Bas=c3=acc t=c3=abxt=fd.
            uBasìc tëxt�.
r�r�s  r�-test_get_text_plain_bad_utf8_quoted_printable�@TestRawDataManager.test_get_text_plain_bad_utf8_quoted_printable�s?���M�M�(�/�/�+��
��	
���)�5�5�a�8�:N�Or c��UR[R"S55nUR[R
"USS9S5 g)Nr��ignore��errorsr�r�r�s  r�;test_get_text_plain_bad_utf8_quoted_printable_ignore_errors�NTestRawDataManager.test_get_text_plain_bad_utf8_quoted_printable_ignore_errors��C���M�M�(�/�/�+��
��	
���)�5�5�a��I�*�	,r c��UR[R"S55nUR[R
"USS9S5 g)Nu�            Content-Type: text/plain; charset="utf8"
            Content-Transfer-Encoding: base64

            QmFzw6xjIHTDq3h0Lgoÿ=
            r�r�r�r�r�s  r�8test_get_text_plain_utf8_base64_recoverable_bad_CTE_data�KTestRawDataManager.test_get_text_plain_utf8_base64_recoverable_bad_CTE_data�r�r c���UR[R"S55nUR[5 [
R"USS9 SSS5 g!,(df   g=f)Nr�r�r"�r�r�r�r�r�rr'r�s  r�test_get_text_invalid_keyword�0TestRawDataManager.test_get_text_invalid_keyword�sL���M�M�(�/�/�+��
��
�
�
�y�
)��(�(���9�*�
)�
)���A�
A(c�D�[R"S5nSR5HdnURUS9 UR	URUS-55nUR
[R"U5S5 SSS5 Mf g!,(df   Mx=f)Nzu            Content-Type: {}
            Content-Transfer-Encoding: base64

            Ym9ndXMgZGF0YQ==
            zaudio image video application)�maintypez/foos
bogus data)	r�r��split�subTestr��formatr&rr')r(�templater�r,s    r�test_get_non_text�$TestRawDataManager.test_get_non_text�s���?�?�$���8�=�=�?�H����x��0��M�M�(�/�/�(�6�/�"B�C��� � �!1�!=�!=�a�!@�-�P�1�0�@�0�0�s�A
B�
B	c���UR[R"S55nUR[5 [
R"USS9 SSS5 g!,(df   g=f)Nz|            Content-Type: image/jpg
            Content-Transfer-Encoding: base64

            Ym9ndXMgZGF0YQ==
            r�r�r�r�s  r�!test_get_non_text_invalid_keyword�4TestRawDataManager.test_get_non_text_invalid_keyword�sL���M�M�(�/�/�+��
���
�
�y�
)��(�(��8�<�*�
)�
)�r�c���UR[R"S55nUR[5 [
R"U5 SSS5 g!,(df   g=f)Nzm            Content-Type: multipart/mixed; boundary="==="

            --===
            --===--
            )r�r�r�r�r@rr'r�s  r�test_get_raises_on_multipart�/TestRawDataManager.test_get_raises_on_multipart�sJ���M�M�(�/�/�+��
���
�
�x�
(��(�(��+�)�
(�
(�s�A�
A)c�"�[R"S5nSR5H�nURUS9 UR	URU55n[R"U5nURX@R5 UR[R"U5S5 URUSS5 URUSRSRS	5 SSS5 M� g!,(df   M�=f)
Nz�            Content-Type: message/{}

            To: foo@example.com
            From: bar@example.com
            Subject: example

            an example message
            �rfc822 external-body��subtypezan example message
�to�foo@example.com�fromrr)
r�r�r�r�r�r�rr'�assertIsInstancer�r&�	addresses�username)r(r�r�r,�sub_msgs     r�)test_get_message_rfc822_and_external_body�<TestRawDataManager.test_get_message_rfc822_and_external_bodys����?�?�$���.�3�3�5�G����g��.��M�M�(�/�/�'�":�;��*�6�6�q�9���%�%�g�|�|�<�� � �!1�!=�!=�g�!F�!7�9�� � ����0A�B�� � ����!:�!:�1�!=�!F�!F��N�/�.�6�.�.�s�B9C?�?
D	c��UR[R"S55nUR[R
"U5S5 g)Nz�            Content-Type: message/partial

            To: foo@example.com
            From: bar@example.com
            Subject: example

            The real body is in another message.
            s
To: foo@ex)r�r�r��assertStartsWithrr'r�s  r�9test_get_message_non_rfc822_or_external_body_yields_bytes�LTestRawDataManager.test_get_message_non_rfc822_or_external_body_yields_bytess>���M�M�(�/�/�+��
��	
���.�:�:�1�=�}�Mr c�N�UR5nSn[R"X5 UR[	U5[
R"S55 URURSS9RS5U5 URUR5U5 g)N�Simple message.
z�            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 7bit

            Simple message.
            T��decode�utf-8�
r%rror&rZr�r�rpr�r'�r(r,�contents   r�test_set_text_plain�&TestRawDataManager.test_set_text_plain%s������ ��%���$�$�Q�0�����Q�����2�"�	�	
������d��3�:�:�7�C�W�M��������'�2r c�N�UR5nSn[R"X5 UR[	U5[
R"S55 URURSS9RS5S5 URUR5S5 g)Nrzp            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 7bit


            Tr�r��
r�r�s   r�test_set_text_plain_null�+TestRawDataManager.test_set_text_plain_null2s������ �����$�$�Q�0�����Q�����2�"�	�	
������d��3�:�:�7�C�T�J��������$�/r c�L�UR5nSn[R"XSS9 UR[	U5[
R"S55 URURSS9RS5U5 URUR5U5 g)Nz<p>Simple message.</p>
�htmlr�z�            Content-Type: text/html; charset="utf-8"
            Content-Transfer-Encoding: 7bit

            <p>Simple message.</p>
            Tr�r�r�r�s   r�test_set_text_html�%TestRawDataManager.test_set_text_html?s������ ��,���$�$�Q��@�����Q�����2�"�	�	
������d��3�:�:�7�C�W�M��������'�2r c�L�UR5nSn[R"XSS9 UR[	U5[
R"S55 URURSS9RS5U5 URUR5U5 g)Nr��latin-1��charsetz�            Content-Type: text/plain; charset="iso-8859-1"
            Content-Transfer-Encoding: 7bit

            Simple message.
            Tr�r�r�r�s   r�test_set_text_charset_latin_1�0TestRawDataManager.test_set_text_charset_latin_1Ls������ ��%���$�$�Q��C�����Q�����2�"�	�	
������d��3�:�:�7�C�W�M��������'�2r c�N�UR5nSn[R"X5 UR[	U5[
R"S55 URURSS9RS5U5 URUR5U5 g)NzTSimple but long message that is over 78 characters long to force transfer encoding.
z�            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: quoted-printable

            Simple but long message that is over 78 characters long to =
            force transfer encoding.
            Tr�r�r�r�s   r�(test_set_text_plain_long_line_heuristics�;TestRawDataManager.test_set_text_plain_long_line_heuristicsYs������ ��9���$�$�Q�0�����Q�����2�"�	�	
������d��3�:�:�7�C�W�M��������'�2r c�l�UR5nSn[R"X5 UR[	U5[
R"S5RS55 URURSS9RS5U5 URUR5U5 g)Nu7et là il est monté sur moi et il commence à m'éto.
u�            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 8bit

            et là il est monté sur moi et il commence à m'éto.
            r�Tr��r%rror&�bytesr�r�r�rpr�r'r�s   r�5test_set_text_short_line_minimal_non_ascii_heuristics�HTestRawDataManager.test_set_text_short_line_minimal_non_ascii_heuristicshs������ ��L���$�$�Q�0�����q��8�?�?�4�$�
����	"�	
������d��3�:�:�7�C�W�M��������'�2r c�l�UR5nSn[R"X5 UR[	U5[
R"S5RS55 URURSS9RS5U5 URUR5U5 g)Nusj'ai un problème de python. il est sorti de son vivarium.  et là il est monté sur moi et il commence à m'éto.
a*            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: quoted-printable

            j'ai un probl=C3=A8me de python. il est sorti de son vivari=
            um.  et l=C3=A0 il est mont=C3=A9 sur moi et il commence =
            =C3=A0 m'=C3=A9to.
            r�Tr�rr�s   r�4test_set_text_long_line_minimal_non_ascii_heuristics�GTestRawDataManager.test_set_text_long_line_minimal_non_ascii_heuristicsus������ ��#��	�$�$�Q�0�����q��8�?�?�4�$�����	"�	
������d��3�:�:�7�C�W�M��������'�2r c�l�UR5nSn[R"X5 UR[	U5[
R"S5RS55 URURSS9RS5U5 URUR5U5 g)Nu}









j'ai un problème de python. il est sorti de son vivarium.  et là il est monté sur moi et il commence à m'éto.
a@            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: quoted-printable
            










            j'ai un probl=C3=A8me de python. il est sorti de son vivari=
            um.  et l=C3=A0 il est mont=C3=A9 sur moi et il commence =
            =C3=A0 m'=C3=A9to.
            r�Tr�rr�s   r�=test_set_text_11_lines_long_line_minimal_non_ascii_heuristics�PTestRawDataManager.test_set_text_11_lines_long_line_minimal_non_ascii_heuristics�s������ ��#��	�$�$�Q�0�����q��8�?�?�4�$�����	"�	
������d��3�:�:�7�C�W�M��������'�2r c�l�UR5nSn[R"X5 UR[	U5[
R"S5RS55 URURSS9RS5U5 URUR5U5 g)N�áàäéèęöő.
u�            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 8bit

            áàäéèęöő.
            r�Tr�rr�s   r�*test_set_text_maximal_non_ascii_heuristics�=TestRawDataManager.test_set_text_maximal_non_ascii_heuristics�s������ ��'���$�$�Q�0�����q��8�?�?�4�$�
����	"�	
������d��3�:�:�7�C�W�M��������'�2r c�l�UR5nSn[R"X5 UR[	U5[
R"S5RS55 URURSS9RS5U5 URUR5U5 g)Nu









áàäéèęöő.
u�            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 8bit
            










            áàäéèęöő.
            r�Tr�rr�s   r�3test_set_text_11_lines_maximal_non_ascii_heuristics�FTestRawDataManager.test_set_text_11_lines_maximal_non_ascii_heuristics�s������ ��1���$�$�Q�0�����q��8�?�?�4�$�
����	"�	
������d��3�:�:�7�C�W�M��������'�2r c�l�UR5nSn[R"X5 UR[	U5[
R"S5RS55 URURSS9RS5U5 URUR5U5 g)Nu�áàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöő.
a�            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: base64

            w6HDoMOkw6nDqMSZw7bFkcOhw6DDpMOpw6jEmcO2xZHDocOgw6TDqcOoxJnD
            tsWRw6HDoMOkw6nDqMSZw7bFkcOhw6DDpMOpw6jEmcO2xZHDocOgw6TDqcOo
            xJnDtsWRw6HDoMOkw6nDqMSZw7bFkcOhw6DDpMOpw6jEmcO2xZHDocOgw6TD
            qcOoxJnDtsWRw6HDoMOkw6nDqMSZw7bFkcOhw6DDpMOpw6jEmcO2xZHDocOg
            w6TDqcOoxJnDtsWRLgo=
            r�Tr�rr�s   r�4test_set_text_long_line_maximal_non_ascii_heuristics�GTestRawDataManager.test_set_text_long_line_maximal_non_ascii_heuristics�s������ ��Y��	�$�$�Q�0�����q��8�?�?�	4�	$�����		"�	
������d��3�:�:�7�C�W�M��������'�2r c�n�UR5nSn[R"US5 UR[	U5[
R"S5RS55 URURSS9RS5U5 URUR5U5 g)Nu�









áàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöőáàäéèęöő.
ak            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: quoted-printable
            










            =C3=A1=C3=A0=C3=A4=C3=A9=C3=A8=C4=99=C3=B6=C5=91=C3=A1=C3=
            =A0=C3=A4=C3=A9=C3=A8=C4=99=C3=B6=C5=91=C3=A1=C3=A0=C3=A4=
            =C3=A9=C3=A8=C4=99=C3=B6=C5=91=C3=A1=C3=A0=C3=A4=C3=A9=C3=
            =A8=C4=99=C3=B6=C5=91=C3=A1=C3=A0=C3=A4=C3=A9=C3=A8=C4=99=
            =C3=B6=C5=91=C3=A1=C3=A0=C3=A4=C3=A9=C3=A8=C4=99=C3=B6=C5=
            =91=C3=A1=C3=A0=C3=A4=C3=A9=C3=A8=C4=99=C3=B6=C5=91=C3=A1=
            =C3=A0=C3=A4=C3=A9=C3=A8=C4=99=C3=B6=C5=91=C3=A1=C3=A0=C3=
            =A4=C3=A9=C3=A8=C4=99=C3=B6=C5=91=C3=A1=C3=A0=C3=A4=C3=A9=
            =C3=A8=C4=99=C3=B6=C5=91=C3=A1=C3=A0=C3=A4=C3=A9=C3=A8=C4=
            =99=C3=B6=C5=91=C3=A1=C3=A0=C3=A4=C3=A9=C3=A8=C4=99=C3=B6=
            =C5=91.
            r�Tr�rr�s   r�=test_set_text_11_lines_long_line_maximal_non_ascii_heuristics�PTestRawDataManager.test_set_text_11_lines_long_line_maximal_non_ascii_heuristics�s���
��� ��Y��	�$�$�Q�)n�	o�	
����q��8�?�?�4�$�����	"� 	
������d��3�:�:�7�C�W�M��������'�2r c��UR5nUR[5 [R"USSS9 SSS5 g!,(df   g=f)Nr�7bit��cte�r%r��UnicodeErrorrror�s  r�,test_set_text_non_ascii_with_cte_7bit_raises�?TestRawDataManager.test_set_text_non_ascii_with_cte_7bit_raises�s=����� ��
�
�
�|�
,��(�(��+@�f�M�-�
,�
,���A�
Ac��UR5nUR[5 [R"USSS9 SSS5 g!,(df   g=f)Nr�asciir�r!r�s  r�1test_set_text_non_ascii_with_charset_ascii_raises�DTestRawDataManager.test_set_text_non_ascii_with_charset_ascii_raises�s=����� ��
�
�
�|�
,��(�(��+@�'�R�-�
,�
,�r%c��UR5nUR[5 [R"USSSS9 SSS5 g!,(df   g=f)Nrrr')r r�r!r�s  r�>test_set_text_non_ascii_with_cte_7bit_and_charset_ascii_raises�QTestRawDataManager.test_set_text_non_ascii_with_cte_7bit_and_charset_ascii_raises�s@����� ��
�
�
�|�
,��(�(��+@�f�V]�^�-�
,�
,�s�A�
Ac�p�UR5nSUS'UR5nSUS'SUS'SUS'URS5 [R"X5 UR[	U5[
R"S	55 URS
5nURX0R5 UR[	U5[	U55 URUR5UR5 UR[	UR55[	U55 g)NzForwarded message�Subjectzpython@vivarium.orgr��police@monty.org�Fromzget back in your boxzOr face the comfy chair.a�            Subject: Forwarded message
            Content-Type: message/rfc822
            Content-Transfer-Encoding: 8bit

            To: python@vivarium.org
            From: police@monty.org
            Subject: get back in your box
            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 7bit
            MIME-Version: 1.0

            Or face the comfy chair.
            r)r%rorr&rZr�r�rpr�r�r')r(r,r��payloads    r�test_set_message�#TestRawDataManager.test_set_message�s������ ��*��)���$�$�&��-���
�,����3��	�����6�7��$�$�Q�0�����Q�����
2�
"�
	��-�-��"�����g�|�|�4�����W��s�7�|�4����a�m�m�o�t�|�|�<�����Q�]�]�_�-�s�7�|�<r c�|�UR5nSUS'UR5nSUS'SUS'SUS'URS5 [R"X5 UR[	U5[
R"S	5RS
55 URURURRS9[
R"S55 URUR5UR5 UR[UR55[U55 g)
Nz
Escape reportr.r/r�zvictim@monty.orgr0�Helpu:j'ai un problème de python. il est sorti de son vivarium.u�            Subject: Escape report
            Content-Type: message/rfc822
            Content-Transfer-Encoding: 8bit

            To: police@monty.org
            From: victim@monty.org
            Subject: Help
            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 8bit
            MIME-Version: 1.0

            j'ai un problème de python. il est sorti de son vivarium.
            r�)�maxheaderlena�            Subject: Escape report
            Content-Type: message/rfc822
            Content-Transfer-Encoding: 8bit

            To: police@monty.org
            From: victim@monty.org
            Subject: Help
            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: base64
            MIME-Version: 1.0

            aidhaSB1biBwcm9ibMOobWUgZGUgcHl0aG9uLiBpbCBlc3Qgc29ydGkgZGUgc29uIHZpdmFyaXVt
            Lgo=
            )r%rorr&rr�r�r��	as_stringrr�r�r'r�rZr�s   r�4test_set_message_with_non_ascii_and_coercion_to_7bit�GTestRawDataManager.test_set_message_with_non_ascii_and_coercion_to_7bits����� ��&��)���$�$�&��*���
�,����#��	�����)�	*��$�$�Q�0�����q��8�?�?�
4�
$�����
	"�&	
������$�+�+�2M�2M��N�!���*��	� 	
���a�m�m�o�t�|�|�<�����Q�]�]�_�-�s�7�|�<r c
�T�UR5nUR5nSR5H�nSR5H�nURX4S9 UR[5nURX$US9 SSS5 [
WR5nURX65 URXF5 SSS5 M� M� SnSR5H�nURX4S9 UR[5nURX$US9 SSS5 [
WR5nURX65 URXF5 SSS5 M� g!,(df   N�=f!,(df   GM@=f!,(df   Nv=f!,(df   M�=f)Nzquoted-printable base64r�)r r�r�
external-bodyz8bit binary)	r%r�r�r��
ValueErrorrorZ�	exception�assertIn)r(r,r�r r��ar�excs       r�#test_set_message_invalid_cte_raises�6TestRawDataManager.test_set_message_invalid_cte_raises@sD����� ���$�$�&��,�2�2�4�C�1�7�7�9���\�\�c�\�;��*�*�:�6�"��
�
�g�C�
�@�7��b�l�l�+�C��M�M�#�+��M�M�'�/�<�;�:�5�"�� �&�&�(�C����#��7��&�&�z�2�b��M�M�'��M�<�3��"�,�,�'���
�
�c�'��
�
�g�+�8�7�)�
7�6��<�;��3�2��8�7�sH�E4�,E#	�=?E4�0F�F�?F�#
E1
�-E4�4
F�
F�F�
F'	c��S[S5[S54H�nURUS9 UR5n[R
"X!SS5 UR
[U5[R"S55 UR
URSS9U5 UR
UR5U5 SSS5 M� g!,(df   M�=f)Ns
bogus content)r��image�jpegz�                    Content-Type: image/jpeg
                    Content-Transfer-Encoding: base64

                    Ym9ndXMgY29udGVudA==
                    Tr�)�	bytearray�
memoryviewr�r%rror&rZr�r�rpr')r(r�r,s   r�test_set_image_jpg�%TestRawDataManager.test_set_image_jpgTs���(�!�"2�3�"�#3�4�6�G����g��.��&�&�(�� �,�,�Q��&�I�� � ��Q�����:�*��� � ����d��!;�W�E�� � �����'�:�/�.�6�/�.�s�BC�
C	c�F�UR5nSnURUSSSS9 UR[U5[R
"S5R
S55 URURSS	9U5 URUR5U5 g)
N�tb�gus	con
t
ent zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz�audio�aifzquoted-printablera            Content-Type: audio/aif
            Content-Transfer-Encoding: quoted-printable
            MIME-Version: 1.0

            b=FFgus=09con=0At=0Dent=20zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=
            zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzr�Tr��	r%ror&rr�r�r�rpr'r�s   r�,test_set_audio_aif_with_quoted_printable_cte�?TestRawDataManager.test_set_audio_aif_with_quoted_printable_cteds���
��� ��6��	�
�
�g�w��3E�
�F�����q��8�?�?�4C�$D�EK�F�9�DU�
	W�	
������d��3�W�=��������'�2r c�R�UR5nSnURUSSSS9 UR[U5[R
"S5R
S5S-S	-5 URURS
S9U5 URUR5U5 g)NrK�video�mpeg�binaryrz~            Content-Type: video/mpeg
            Content-Transfer-Encoding: binary
            MIME-Version: 1.0

            r's7b�gus	con
t
ent zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzs=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzTr�rNr�s   r�#test_set_video_mpeg_with_binary_cte�6TestRawDataManager.test_set_video_mpeg_with_binary_ctezs������ ��6��	�
�
�g�w��H�
�=�����q��8�?�?�4�$�
����
M�$M�
M�	$M�		N�	
������d��3�W�=��������'�2r c�R�UR5nSnURUSSSS9 UR[U5[R
"S5R
S5S-S	-5 URURS
S9U5 URUR5U5 g)NsMb�gus	con
t
ent
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
�application�octet-stream�8bitrz�            Content-Type: application/octet-stream
            Content-Transfer-Encoding: 8bit
            MIME-Version: 1.0

            r'sb�gus	con
t
ent
s=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Tr�rNr�s   r�/test_set_application_octet_stream_with_8bit_cte�BTestRawDataManager.test_set_application_octet_stream_with_8bit_cte�s���
��� ��>��	�
�
�g�}�n�&�
�I�����q��8�?�?�4�$�
����&�
$'�
N�$N�	O�	
������d��3�W�=��������'�2r c
��UR5nSnURRn[R"XU"SS5U"SS5U"SS54S9 UR[
U5[R"S55 g)	Nr�r�r�r0r.zI'm talking to myself.��headersz�            Content-Type: text/plain; charset="utf-8"
            To: foo@example.com
            From: foo@example.com
            Subject: I'm talking to myself.
            Content-Transfer-Encoding: 7bit

            Simple message.
            )	r%r�header_factoryrror&rZr�r��r(r,r�r`s    r�$test_set_headers_from_header_objects�7TestRawDataManager.test_set_headers_from_header_objects�s������ ��%�����3�3���$�$�Q��4�!2�3��6�#4�5��9�&>�?�:A�	B�	
����Q�����2�"�	r c��UR5nSn[R"XSS9 UR[	U5[
R"S55 g)Nr�)zX-Foo-Header: foozX-Bar-Header: barr^z�            Content-Type: text/plain; charset="utf-8"
            X-Foo-Header: foo
            X-Bar-Header: bar
            Content-Transfer-Encoding: 7bit

            Simple message.
            )r%rror&rZr�r�r�s   r�test_set_headers_from_strings�0TestRawDataManager.test_set_headers_from_strings�sP����� ��%���$�$�Q�:"�	#�	
����Q�����2�"�	r c��UR5nSnUR[S5 [R"XSS9 SSS5 g!,(df   g=f)Nr�r!)zContent-Type: foo/barr^)r%r?r<rror�s   r�<test_set_headers_with_invalid_duplicate_string_header_raises�OTestRawDataManager.test_set_headers_with_invalid_duplicate_string_header_raises�sG����� ��%��
�
#�
#�J��
?��(�(��>*�
�@�
?�
?�s�A�
Ac	���UR5nSnURRnUR[S5 [
R"XU"SS54S9 SSS5 g!,(df   g=f)Nr�r!z foo/barr^)r%rr`r?r<rroras    r�<test_set_headers_with_invalid_duplicate_header_header_raises�OTestRawDataManager.test_set_headers_with_invalid_duplicate_header_header_raises�s`����� ��%�����3�3��
�
#�
#�J��
?��(�(���~�z�:�>=�
�@�
?�
?�s�A&�&
A4c���UR5nSnUR[S5 [R"XSS9 [USR5 SSS5 g!,(df   g=f)Nr��a@fairly@@invalid@address)zTo: a@fairly@@invalid@addressr^r�)r%r?r<rro�print�defectsr�s   r�4test_set_headers_with_defective_string_header_raises�GTestRawDataManager.test_set_headers_with_defective_string_header_raises�sZ����� ��%��
�
#�
#�J�0K�
L��(�(��>2�
�
�!�D�'�/�/�"�	M�
L�
L�s�.A � 
A.c	��UR5nSnURRnUR[S5 [
R"XU"SS54S9 [USR5 SSS5 g!,(df   g=f)Nr�rnr�r^)	r%rr`r?r<rrororpras    r�4test_set_headers_with_defective_header_header_raises�GTestRawDataManager.test_set_headers_with_defective_header_header_raises�su����� ��%�����3�3��
�
#�
#�J�0K�
L��(�(���t�%@�A�>D�
�
�!�D�'�/�/�"�	M�
L�
L�s�6A>�>
Bc�n�UR5nURSSS9 URUSS5 g)Nr�inline��disposition�Content-Disposition�r%ror&r�s  r�test_set_disposition_inline�.TestRawDataManager.test_set_disposition_inline�s6����� ��	�
�
�e��
�2�����0�1�8�<r c�n�UR5nURSSS9 URUSS5 g)Nr�
attachmentrxrzr{r�s  r�test_set_disposition_attachment�2TestRawDataManager.test_set_disposition_attachment�s6����� ��	�
�
�e��
�6�����0�1�<�@r c�n�UR5nURSSS9 URUSS5 g)Nrrxrzr{r�s  r�test_set_disposition_foo�+TestRawDataManager.test_set_disposition_foo�s6����� ��	�
�
�e��
�/�����0�1�5�9r c�n�UR5nURSSS9 URUSS5 g)Nr�bar.txt��filenamerzzattachment; filename="bar.txt"r{r�s  r�test_set_filename�$TestRawDataManager.test_set_filename�s9����� ��	�
�
�e�i�
�0�����0�1�9�	;r c�p�UR5nURSSSS9 URUSS5 g)Nrrwr��ryr�rzzinline; filename="bar.txt"r{r�s  r�(test_set_filename_and_disposition_inline�;TestRawDataManager.test_set_filename_and_disposition_inline�s9����� ��	�
�
�e��I�
�F�����0�1�3O�Pr c��UR5nURSSS9 UR[U5[R
"S5R
S55 g)Nruábárî.txtr�a            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 7bit
            Content-Disposition: attachment;
             filename*=utf-8''%C3%A1b%C3%A1r%C3%AE.txt
            MIME-Version: 1.0

            foo
            r')r%ror&rr�r�r�r�s  r�test_set_non_ascii_filename�.TestRawDataManager.test_set_non_ascii_filename�sO����� ��	�
�
�e�n�
�5�����q��8�?�?�4�$�����	"r c��UR5nURSSSSS9 UR[U5[R
"S55 g)NsASCII-only message.
rXrYr)r�r�r z�            Content-Type: application/octet-stream
            Content-Transfer-Encoding: 7bit
            MIME-Version: 1.0

            ASCII-only message.
            )r%ror&rZr�r�r�s  r�test_set_content_bytes_cte_7bit�2TestRawDataManager.test_set_content_bytes_cte_7bitsP����� ��	�
�
�.�"�N��	�	H�����Q�����2�"�	r )r�r)r�)r�)�content)rX�octet_stream)r�)rDrEr)r;)�
text_plain�	text_html�application_octet_stream�
image_jpeg�message_rfc822�message_external_bodyc��UR5nUR"U/UQ7SS06 URUSS5 URUSS5 g)Nr_)zTo: foo@example.comzFrom: bar@simple.netr�r�r�zbar@simple.netr{�r(rk�mimetyper,s    r�!content_object_as_header_receiver�4TestRawDataManager.content_object_as_header_receiver!s[����� ��	�
�
�c�	%�H�	%�/$�	%�	
����4��"3�4�����6��$4�5r c�z�UR5nUR"U/UQ7SS06 URUSS5 g)Nryrwrzr{r�s    r�-content_object_as_disposition_inline_receiver�@TestRawDataManager.content_object_as_disposition_inline_receiver)s<����� ��	�
�
�c�;�H�;�(�;�����0�1�8�<r c��UR5nUR"U/UQ7SSS.6 URUSS5 URUR5S5 URUSRSS5 g)Nrwubár.txtr�rzuinline; filename="bár.txt"r�)r%ror&�get_filename�paramsr�s    r�-content_object_as_non_ascii_filename_receiver�@TestRawDataManager.content_object_as_non_ascii_filename_receiver.sw����� ��	�
�
�c�P�H�P�(�Z�P�����0�1�3P�Q�������)�:�6�����0�1�8�8��D�j�Qr c�z�UR5nUR"U/UQ7SS06 URUSS5 g)N�cid�some_random_stuffz
Content-IDr{r�s    r�content_object_as_cid_receiver�1TestRawDataManager.content_object_as_cid_receiver5s<����� ��	�
�
�c�>�H�>�*=�>�����<��*=�>r c���UR5nSSS.nUR"U/UQ7SU06 [U[5(aSUS'UR	USR
U5 g)Nubárr�)rr�r�r�r�r!)r%ro�
isinstancerZr&r�)r(rkr�r,r�s     r�!content_object_as_params_receiver�4TestRawDataManager.content_object_as_params_receiver:sb����� ����.��	�
�
�c�4�H�4�V�4��c�3��� '�F�9������>�*�1�1�6�:r N)BrHrIrJrKrr��clonerrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr#r(r+r2r8rArHrOrUr[rbrerhrkrqrtr|r�r�r�r�r�r��content_object_paramsr�r�r�r�r�rLrr rr�r��sr���^�^�
!�
!�"�2B�"�D�F��G�K�1�M�M�M�P�,�,�:�
Q�=�,�O�(
N�3�0�3�3�
3�3�3�"3�$3�3�3�&3�>N�
S�
_�
=�:.=�`,�(;� 3�,3�"3�"�$
���#�#�=�
A�
:�;�Q�
"�
�&�+�%F�5�"�9�b�/�")�)�-?�!@�
��6�=�
R�?�
;r r��__main__)�unittest�test.test_emailrrr��emailr�
email.messager�email.contentmanagerrrr
r�rH�mainrr r�<module>r�sm���7���&�A��z+��z+��z+�z�x
;��x
;��x
;�v�z���M�M�O�r 

Youez - 2016 - github.com/yon3zu
LinuXploit