§
    Ètºf¾  ã                  ó�   — d dl mZ d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
mZmZ d dlmZ d dlmZ  G d„ d	ej        ¦  «        ZdS )
é    )ÚannotationsN)ÚMessage)ÚBytesIOÚStringIO)ÚIOÚAnyStrÚCallable)Úbounce)Úunittestc                  ó:   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚBounceTestsz#
    Bounce message generation
    ÚreturnÚNonec                óú  — t          j        t          d¦  «        dd¦  «        \  }}}|                      |d¦  «         |                      |d¦  «         t          j                             ¦   «         }|                     t          |                     d¦  «        ¦  «        ¦  «        }|                      |d         d¦  «         |                      |d         d	¦  «         |                      |d
         d¦  «         dS )zN
        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         ú\/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/mail/test/test_bounce.pyÚtest_bounceMessageUnicodez%BounceTests.test_bounceMessageUnicode   s÷   € õ $Ô2Ýðñô ð !Ø%ñ
ô 
Ñˆ�R˜ð 	×Ò˜ cÑ*Ô*Ð*Ø×Ò˜Ð2Ñ3Ô3Ð3Ý”l×)Ò)Ñ+Ô+ˆØ× Ò ¥¨!¯(ª(°7Ñ*;Ô*;Ñ!<Ô!<Ñ=Ô=ˆØ×Ò˜˜dœÐ%9Ñ:Ô:Ð:Ø×Ò˜˜fœÐ'?Ñ@Ô@Ð@Ø×Ò˜˜iœÐ*UÑVÔVÐVÐVÐVr   c                óú  — t          j        t          d¦  «        dd¦  «        \  }}}|                      |d¦  «         |                      |d¦  «         t          j                             ¦   «         }|                     t          | 	                    d¦  «        ¦  «        ¦  «        }|                      |d         d¦  «         |                      |d         d	¦  «         |                      |d
         d¦  «         dS )zL
        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_bounceMessageBytesz#BounceTests.test_bounceMessageBytes,   s÷   € õ $Ô2Ýðñô ð "Ø&ñ
ô 
Ñˆ�R˜ð 	×Ò˜ cÑ*Ô*Ð*Ø×Ò˜Ð2Ñ3Ô3Ð3Ý”l×)Ò)Ñ+Ô+ˆØ× Ò ¥¨!¯(ª(°7Ñ*;Ô*;Ñ!<Ô!<Ñ=Ô=ˆØ×Ò˜˜dœÐ%9Ñ:Ô:Ð:Ø×Ò˜˜fœÐ'?Ñ@Ô@Ð@Ø×Ò˜˜iœÐ*UÑVÔVÐVÐVÐVr   c                óÎ  — t          j        t          d¦  «        ddd¦  «        \  }}}|                      |d¦  «         |                      |d¦  «         t          j                             ¦   «         }|                     t          | 	                    d¦  «        ¦  «        ¦  «        }|                      |d         d¦  «         |                      |d	         d
¦  «         |                      |d         d¦  «         |  
                    |                     ¦   «         ¦  «         |                     ¦   «         }|                      |d                              ¦   «         d¦  «         dS )z\
        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_bounceMessageCustomTranscriptz.BounceTests.test_bounceMessageCustomTranscriptD   s[  € õ $Ô2Ýðñô ð "Ø&Øñ
ô 
Ñˆ�R˜ð 	×Ò˜ cÑ*Ô*Ð*Ø×Ò˜Ð2Ñ3Ô3Ð3Ý”l×)Ò)Ñ+Ô+ˆØ× Ò ¥¨!¯(ª(°7Ñ*;Ô*;Ñ!<Ô!<Ñ=Ô=ˆØ×Ò˜˜dœÐ%9Ñ:Ô:Ð:Ø×Ò˜˜fœÐ'?Ñ@Ô@Ð@Ø×Ò˜˜iœÐ*UÑVÔVÐVØ�Š˜×)Ò)Ñ+Ô+Ñ,Ô,Ð,Ø#×/Ò/Ñ1Ô1ˆØ×ÒØ�!ŒH× Ò Ñ"Ô"Ø!ñ	
ô 	
ð 	
ð 	
ð 	
r   Úheaderr   ÚmessageÚioTypeúCallable[[AnyStr], IO[AnyStr]]c                ó
  — t          j         |||z   ¦  «        dd¦  «        \  }}}t          j                             ¦   «         }|                     t          |                     d¦  «        ¦  «        ¦  «        }|                      |d         d¦  «         |                      |d         d¦  «         |                      |d         d¦  «         |  	                    | 
                    ¦   «         ¦  «         |                     ¦   «         }	|	d	                              ¦   «         }
t          |t          ¦  «        r|                     d¦  «        }n|}|
d
                              ¦   «         }|                      |dz   |¦  «         dS )zU
        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   r0   r1   r2   Ú
isinstanceÚbytes)r#   r5   r6   r7   r$   r%   r&   r'   r(   r3   ÚinnerMessageÚmessageTextÚpls                r)   Ú_bounceBigMessagezBounceTests._bounceBigMessagec   se  € õ $Ô2ØˆF�6˜GÑ#Ñ$Ô$Ð&:Ð<Uñ
ô 
Ñˆ�R˜õ ”l×)Ò)Ñ+Ô+ˆØ× Ò ¥¨!¯(ª(°7Ñ*;Ô*;Ñ!<Ô!<Ñ=Ô=ˆØ×Ò˜˜dœÐ%9Ñ:Ô:Ð:Ø×Ò˜˜fœÐ'?Ñ@Ô@Ð@Ø×Ò˜˜iœÐ*UÑVÔVÐVØ�Š˜×)Ò)Ñ+Ô+Ñ,Ô,Ð,Ø#×/Ò/Ñ1Ô1ˆØ&+¨A¤h×&:Ò&:Ñ&<Ô&<ˆÝ�g�uÑ%Ô%ð 	"Ø!Ÿ.š.¨Ñ1Ô1ˆKˆKà!ˆKØ˜q”/×-Ò-Ñ/Ô/ˆØ×Ò˜˜d™ KÑ0Ô0Ð0Ð0Ð0r   c                ó¬   — d}|                       |ddz  t          ¦  «         |                       |                     d¦  «        ddz  t          ¦  «         dS )zj
        L{twisted.mail.bounce.generateBounce} with big L{unicode} and
        L{bytes} messages.
        r,   s
   Test test
i'  r   z
More test
N)rA   r   r!   r   )r#   r5   s     r)   Útest_bounceBigMessagez!BounceTests.test_bounceBigMessage{   sW   € ð
ˆð 	×Ò˜v ~¸Ñ'=½wÑGÔGÐGØ×Ò˜vŸ}š}¨WÑ5Ô5°}ÀuÑ7LÍhÑWÔWÐWÐWÐWr   N)r   r   )r5   r   r6   r   r7   r8   r   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r*   r.   r4   rA   rC   © r   r)   r   r      s�   € € € € € ðð ðWð Wð Wð Wð0Wð Wð Wð Wð0
ð 
ð 
ð 
ð>1ð 1ð 1ð 1ð0Xð Xð Xð Xð Xð Xr   r   )Ú
__future__r   Úemail.messager   Úemail.parserr   Úior   r   Útypingr   r   r	   Útwisted.mailr
   Útwisted.trialr   ÚTestCaser   rH   r   r)   ú<module>rQ      sè   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "ðxXð xXð xXð xXð xX�(Ô#ñ xXô xXð xXð xXð xXr   