o
     ÐãYa  ã                   @   sð   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	 de 
d¡gfZde 
d¡e 
d¡gfZde 
d	¡ed
ƒfgfZde 
d¡gfZde 
d¡gfZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )é    N)Úoverride_settings)ÚEmailMessageTestCaseÚget_email_as_text)ÚImapTransportÚPop3TransportÚOKzP18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44z"1 (UID 18 RFC822.SIZE 58070000000)z2 (UID 19 RFC822.SIZE 2593)z1 (UID 18 RFC822 {5807}úgeneric_message.emlz[COPYUID 1 2 2] (Success)z,(\HasNoChildren \All) "/" "[Gmail]/All Mail"c                       ó   e Zd Z‡ fdd„Z‡  ZS )ÚIMAPTestCasec                    s>   dd„ }ddd„}t  ¡ | _|| j_|| j_tt| ƒ ¡  d S )Nc                  W   sP   | d }| d }|dkrt S |dkrtS |dkr$|dkrtS |dkr&tS d S d S )Nr   é   ÚsearchÚcopyÚfetchz(RFC822.SIZE)z(RFC822))ÚFAKE_UID_SEARCH_ANSWERÚFAKE_UID_COPY_MSGÚFAKE_UID_FETCH_SIZESÚFAKE_UID_FETCH_MSG)ÚargsÚcmdÚarg2© r   úV/var/www/html/env/lib/python3.10/site-packages/django_mailbox/tests/test_transports.pyÚimap_server_uid_method2   s   üz2IMAPTestCase.setUp.<locals>.imap_server_uid_methodc                 S   s   t S ©N)Ú!FAKE_LIST_ARCHIVE_FOLDERS_ANSWERS)Úpatternr   r   r   Úimap_server_list_method?   s   z3IMAPTestCase.setUp.<locals>.imap_server_list_methodr   )ÚmockÚMockÚimap_serverÚuidÚlistÚsuperr
   ÚsetUp)Úselfr   r   ©Ú	__class__r   r   r#   1   s   

zIMAPTestCase.setUp©Ú__name__Ú
__module__Ú__qualname__r#   Ú__classcell__r   r   r%   r   r
   0   ó    r
   c                       ó$   e Zd Z‡ fdd„Zdd„ Z‡  ZS )ÚTestImapTransportc                    sB   t t| ƒ ¡  d| _d| _d| _t| j| j| jƒ| _| j| j_	d S ©Nzone.two.threeéd   F)
r"   r.   r#   Úarbitrary_hostnameÚarbitrary_portÚsslr   Ú	transportr   Úserver©r$   r%   r   r   r#   I   s   ýzTestImapTransport.setUpc                 C   ó@   t | j ¡ ƒ}|  t|ƒd¡ |d }|  d¡}|  ||¡ d S )Né   r   r   ©r!   r4   Úget_messageÚassertEqualÚlenÚ_get_email_object©r$   Úactual_messagesÚactual_messageÚexpected_messager   r   r   Útest_get_email_messageU   ó
   
z(TestImapTransport.test_get_email_message©r(   r)   r*   r#   rB   r+   r   r   r%   r   r.   H   ó    r.   c                       r	   )ÚTestImapArchivedTransportc                    s:   t t| ƒ ¡  d| _t| j| j| j| jƒ| _| j	| j_
d S )NÚArchive)r"   rF   r#   Úarchiver   r1   r2   r3   r4   r   r5   r6   r%   r   r   r#   ^   s   üzTestImapArchivedTransport.setUpr'   r   r   r%   r   rF   ]   r,   rF   c                       s6   e Zd Zedd�‡ fdd„ƒZdd„ Zdd„ Z‡  ZS )	ÚTestMaxSizeImapTransporti¯  )ÚDJANGO_MAILBOX_MAX_MESSAGE_SIZEc                    s0   t t| ƒ ¡  t| j| j| jƒ| _| j| j_	d S r   )
r"   rI   r#   r   r1   r2   r3   r4   r   r5   r6   r%   r   r   r#   l   s   ýzTestMaxSizeImapTransport.setUpc                 C   s*   | j  ¡ }| j  |¡}|  t|ƒd¡ d S )Né   )r4   Ú_get_all_message_idsÚ_get_small_message_idsr;   r<   )r$   Úall_message_idsÚsmall_message_idsr   r   r   Útest_size_limitw   s
   
ÿz(TestMaxSizeImapTransport.test_size_limitc                 C   r7   )NrK   r   r   r9   r>   r   r   r   rB   ~   rC   z/TestMaxSizeImapTransport.test_get_email_message)r(   r)   r*   r   r#   rP   rB   r+   r   r   r%   r   rI   j   s
    
rI   c                       r-   )ÚTestPop3Transportc                    s@   d| _ d| _d| _t| j | j| jƒ| _d | j_tt| ƒ ¡  d S r/   )	r1   r2   r3   r   r4   r5   r"   rQ   r#   r6   r%   r   r   r#   ‡   s   ýzTestPop3Transport.setUpc                 C   s¨   t j | jd¡�+}d dgg|j_ddd„ |  d¡ d¡ d¡D ƒd	g|j	_t| j 
¡ ƒ}W d   ƒ n1 s6w   Y  |  t|ƒd
¡ |d }|  d¡}|  ||¡ d S )Nr5   Úsome_msgz+OK message followsc                 S   s   g | ]}|  d ¡‘qS )Úascii)Úencode)Ú.0Úliner   r   r   Ú
<listcomp>š   s    ÿÿz<TestPop3Transport.test_get_email_message.<locals>.<listcomp>r   rS   Ú
i"'  rK   r   )r   ÚpatchÚobjectr4   r!   Úreturn_valueÚ_get_email_as_textÚdecodeÚsplitÚretrr:   r;   r<   r=   )r$   r5   r?   r@   rA   r   r   r   rB   “   s"   ÿüøñ
z(TestPop3Transport.test_get_email_messagerD   r   r   r%   r   rQ   †   rE   rQ   )r   ÚsixÚdjango.test.utilsr   Údjango_mailbox.tests.baser   r   Údjango_mailbox.transportsr   r   Úbr   r   r   r   r   r
   r.   rF   rI   rQ   r   r   r   r   Ú<module>   sF    ÿÿþ
þþþÿþ
ÿþÿþ