ó
    Ö›‘h¾  ã                  ó’   • S SK Jr  S SKrS SKrS SKJr  S SKJrJr  S SK	J
r
JrJr  S SKJr  S SKJr   " S S	\R"                  5      rg)
é    )ÚannotationsN)ÚMessage)ÚBytesIOÚStringIO)ÚIOÚAnyStrÚCallable)Úbounce)Úunittestc                  óZ   • \ rS rSrSrS
S jrS
S jrS
S jr        SS jrS
S jr	Sr
g	)ÚBounceTestsé   z
Bounce message generation
c                ó   • [         R                  " [        S5      SS5      u  pnU R                  US5        U R                  US5        [        R
                  R                  5       nUR                  [        UR                  S5      5      5      nU R                  US   S5        U R                  US   S	5        U R                  US
   S5        g)z>
L{twisted.mail.bounce.generateBounce} can accept L{unicode}.
zRFrom: Moshe Zadka <moshez@example.com>
To: nonexistent@example.org
Subject: test

úmoshez@example.comúnonexistent@example.orgó    ó   moshez@example.comúutf-8ÚToÚFromúpostmaster@example.orgÚsubjectú)Returned Mail: see transcript for detailsN)	r
   ÚgenerateBouncer   ÚassertEqualÚemailÚparserÚParserÚparseÚdecode©ÚselfÚfromAddressÚtoÚsÚemailParserÚmesss         ÚaC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/mail/test/test_bounce.pyÚtest_bounceMessageUnicodeÚ%BounceTests.test_bounceMessageUnicode   sÀ   € ô $×2Ò2Üðóð !Ø%ó
Ñˆ˜ð 	×Ñ˜ cÔ*Ø×Ñ˜Ð2Ô3Ü—l‘l×)Ñ)Ó+ˆØ× Ñ ¤¨!¯(©(°7Ó*;Ó!<Ó=ˆØ×Ñ˜˜d™Ð%9Ô:Ø×Ñ˜˜f™Ð'?Ô@Ø×Ñ˜˜i™Ð*UÕVr   c                ó   • [         R                  " [        S5      SS5      u  pnU R                  US5        U R                  US5        [        R
                  R                  5       nUR                  [        UR                  S5      5      5      nU R                  US   S5        U R                  US   S	5        U R                  US
   S5        g)z<
L{twisted.mail.bounce.generateBounce} can accept L{bytes}.
óR   From: Moshe Zadka <moshez@example.com>
To: nonexistent@example.org
Subject: test

r   ó   nonexistent@example.orgr   r   r   r   r   r   r   r   N)
r
   r   r   r   r   r   r   r   r   r    r!   s         r(   Útest_bounceMessageBytesÚ#BounceTests.test_bounceMessageBytes,   sÀ   € ô $×2Ò2Üðóð "Ø&ó
Ñˆ˜ð 	×Ñ˜ cÔ*Ø×Ñ˜Ð2Ô3Ü—l‘l×)Ñ)Ó+ˆØ× Ñ ¤¨!¯(©(°7Ó*;Ó!<Ó=ˆØ×Ñ˜˜d™Ð%9Ô:Ø×Ñ˜˜f™Ð'?Ô@Ø×Ñ˜˜i™Ð*UÕVr   c                óF  • [         R                  " [        S5      SSS5      u  pnU R                  US5        U R                  US5        [        R
                  R                  5       nUR                  [        UR                  S5      5      5      nU R                  US   S5        U R                  US	   S
5        U R                  US   S5        U R                  UR                  5       5        UR                  5       nU R                  US   R                  5       S5        g)zL
Pass a custom transcript message to L{twisted.mail.bounce.generateBounce}.
r,   r   r-   zCustom transcriptr   r   r   r   r   r   r   r   r   zCustom transcript
N)r
   r   r   r   r   r   r   r   r   r    Ú
assertTrueÚis_multipartÚget_payload)r"   r#   r$   r%   r&   r'   Úpartss          r(   Ú"test_bounceMessageCustomTranscriptÚ.BounceTests.test_bounceMessageCustomTranscriptD   s  € ô $×2Ò2Üðóð "Ø&Øó
Ñˆ˜ð 	×Ñ˜ cÔ*Ø×Ñ˜Ð2Ô3Ü—l‘l×)Ñ)Ó+ˆØ× Ñ ¤¨!¯(©(°7Ó*;Ó!<Ó=ˆØ×Ñ˜˜d™Ð%9Ô:Ø×Ñ˜˜f™Ð'?Ô@Ø×Ñ˜˜i™Ð*UÔVØ�‰˜×)Ñ)Ó+Ô,Ø#×/Ñ/Ó1ˆØ×ÑØ�!‰H× Ñ Ó"Ø!õ	
r   c                ó|  • [         R                  " U" X-   5      SS5      u  pEn[        R                  R	                  5       nUR                  [        UR                  S5      5      5      nU R                  US   S5        U R                  US   S5        U R                  US   S5        U R                  UR                  5       5        UR                  5       n	U	S	   R                  5       n
[        U[        5      (       a  UR                  S5      nOUnU
S
   R                  5       nU R                  US-   U5        g)zE
Pass a really big message to L{twisted.mail.bounce.generateBounce}.
r   r   r   r   r   r   r   r   é   r   Ú
N)r
   r   r   r   r   r   r   r    r   r1   r2   r3   Ú
isinstanceÚbytes)r"   ÚheaderÚmessageÚioTyper#   r$   r%   r&   r'   r4   ÚinnerMessageÚmessageTextÚpls                r(   Ú_bounceBigMessageÚBounceTests._bounceBigMessagec   s  € ô $×2Ò2Ù�6Ñ#Ó$Ð&:Ð<Uó
Ñˆ˜ô —l‘l×)Ñ)Ó+ˆØ× Ñ ¤¨!¯(©(°7Ó*;Ó!<Ó=ˆØ×Ñ˜˜d™Ð%9Ô:Ø×Ñ˜˜f™Ð'?Ô@Ø×Ñ˜˜i™Ð*UÔVØ�‰˜×)Ñ)Ó+Ô,Ø#×/Ñ/Ó1ˆØ&+¨A¡h×&:Ñ&:Ó&<ˆÜ�gœu×%Ñ%Ø!Ÿ.™.¨Ó1‰Kà!ˆKØ˜q‘/×-Ñ-Ó/ˆØ×Ñ˜˜d™ KÕ0r   c                óŽ   • SnU R                  USS-  [        5        U R                  UR                  S5      SS-  [        5        g)zR
L{twisted.mail.bounce.generateBounce} with big L{unicode} and
L{bytes} messages.
r,   s
   Test test
i'  r   z
More test
N)rB   r   r    r   )r"   r<   s     r(   Útest_bounceBigMessageÚ!BounceTests.test_bounceBigMessage{   sB   € ð
ˆð 	×Ñ˜v ~¸Ñ'=¼wÔGØ×Ñ˜vŸ}™}¨WÓ5°}ÀuÑ7LÌhÕWr   © N)ÚreturnÚNone)r<   r   r=   r   r>   zCallable[[AnyStr], IO[AnyStr]]rH   rI   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r)   r.   r5   rB   rE   Ú__static_attributes__rG   r   r(   r   r      sC   † ñôWô0Wô0
ð>1Øð1Ø'-ð1Ø7Uð1à	ô1÷0Xr   r   )Ú
__future__r   Úemail.messager   Úemail.parserr   Úior   r   Útypingr   r   r	   Útwisted.mailr
   Útwisted.trialr   ÚTestCaser   rG   r   r(   Ú<module>rX      s8   ðõ #ã Û Ý !ß  ß 'Ñ 'å Ý "ôxX�(×#Ñ#õ xXr   