
    ,h                         d dl mZ d dlZd dlmZmZmZ ddlmZm	Z	m
Z
mZmZmZ ddlmZ  G d d	e      Z G d
 de      Z G d de      Zy)    )unicode_literalsN)patchsentinelMock   )DELETEDSEENANSWEREDFLAGGEDDRAFTRECENT   )IMAPClientTestc                       e Zd Zd Zy)TestFlagsConstsc                     t         t        t        t        t        t
        fD ]1  }t        |t        j                        r| j                  d|z         3 y )Nz%r flag is not bytes)
r   r	   r
   r   r   r   
isinstancesixbinary_typefail)selfflags     \/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/imapclient/test/test_store.pytest_flags_are_bytesz$TestFlagsConsts.test_flags_are_bytes   s>    T8WeVC 	9DdCOO4		0478	9    N)__name__
__module____qualname__r    r   r   r   r      s    9r   r   c                   D     e Zd Z fdZd Zd Zd Zd Zd ZddZ	 xZ
S )		TestFlagsc                 \    t         t        |           t               | j                  _        y N)superr!   setUpr   client_command_and_checkr   	__class__s    r   r%   zTestFlags.setUp   s    i$&)-&r   c                 t   t        j                  | j                  dddddgiddgid      5  | j                  j                  t        j
                        }| j                  j                  j                  t        j
                  dg       | j                  |ddgdgd       d d d        y # 1 sw Y   y xY w)	NfetchT   FLAGS   foo   bar{   i  autospecreturn_valueFLAGS)	r   objectr&   	get_flagsr   messagesr+   assert_called_withassertEqualr   outs     r   test_getzTestFlags.test_get   s    \\$++w.68H-I.6-A(CD 	3 ++''(9(9:CKK001B1BWINS(8)/#2 3	3 	3 	3   A7B..B7c                 P    | j                  | j                  j                  d       y )Nr,   )checkr&   	set_flagsr   s    r   test_setzTestFlags.test_set%   s    

4;;(((3r   c                 P    | j                  | j                  j                  d       y )Ns   +FLAGS)r?   r&   	add_flagsrA   s    r   test_addzTestFlags.test_add(   s    

4;;(()4r   c                 P    | j                  | j                  j                  d       y )Ns   -FLAGS)r?   r&   remove_flagsrA   s    r   test_removezTestFlags.test_remove+   s    

4;;++Y7r   c                 P    | j                  ||       | j                  ||d       y NTsilent_checkr   methexpected_commands      r   r?   zTestFlags.check.   $    D*+D*48r   c                    |r|dz  }| j                   j                  }g d|_         |ddgd|      }|j                  dd|d	d
       |r| j	                  |       n| j                  |ddd       |j                          y )N   .SILENT)s   11 (FLAGS (blah foo) UID 1)s   11 (UID 1 OTHER (dont))s   22 (FLAGS (foo) UID 2)s   22 (UID 2 OTHER (care))r   r   foorK   store   1,2z(foo)Tuid)   blahr-   )r-   r   r   r&   r'   r3   assert_called_once_withassertIsNoner9   
reset_mockr   rP   rQ   rL   ccresps         r   rN   zTestFlags._check2   s    
*[[++
 QFE&1
""V	 	# 	
 d#T$$ 
 	r   Fr   r   r   r%   r<   rB   rE   rH   r?   rN   __classcell__r)   s   @r   r!   r!      s&    034589r   r!   c                   D     e Zd Z fdZd Zd Zd Zd Zd ZddZ	 xZ
S )	TestGmailLabelsc                 \    t         t        |           t               | j                  _        y r#   )r$   rh   r%   r   r&   r'   r(   s    r   r%   zTestGmailLabels.setUpO   s    ot*,)-&r   c                 t   t        j                  | j                  dddddgiddgid      5  | j                  j                  t        j
                        }| j                  j                  j                  t        j
                  dg       | j                  |ddgdgd       d d d        y # 1 sw Y   y xY w)Nr+   T   X-GM-LABELSr-   r.   r/   r1   )	r   r5   r&   get_gmail_labelsr   r7   r+   r8   r9   r:   s     r   r<   zTestGmailLabels.test_getS   s    \\$++w.<vv>N-O.<vh-G(IJ 	3 ++..x/@/@ACKK001B1B^DTUS(8)/#2 3	3 	3 	3r=   c                 P    | j                  | j                  j                  d       y )Nrk   )r?   r&   set_gmail_labelsrA   s    r   rB   zTestGmailLabels.test_set\   s    

4;;//@r   c                 P    | j                  | j                  j                  d       y )Ns   +X-GM-LABELS)r?   r&   add_gmail_labelsrA   s    r   rE   zTestGmailLabels.test_add_   s    

4;;//Ar   c                 P    | j                  | j                  j                  d       y )Ns   -X-GM-LABELS)r?   r&   remove_gmail_labelsrA   s    r   rH   zTestGmailLabels.test_removeb   s    

4;;22ODr   c                 P    | j                  ||       | j                  ||d       y rJ   rM   rO   s      r   r?   zTestGmailLabels.checke   rR   r   c                    |r|dz  }| j                   j                  }g d|_         |ddgd|      }|j                  dd|d	d
       |r| j	                  |       n| j                  |ddd       |j                          y )NrT   )s'   11 (X-GM-LABELS (blah "f\"o\"o") UID 1)s"   22 (X-GM-LABELS ("f\"o\"o") UID 2)s   11 (UID 1 FLAGS (dont))s   22 (UID 2 FLAGS (care))r   r   zf"o"orK   rV   rW   z("f\"o\"o")TrX   )rZ      f"o"o)ru   r[   r\   r`   s         r   rN   zTestGmailLabels._checki   s    
*[[++
 QFGF3
""V	 	# 	
 d#T&$ 
 	r   rc   rd   rf   s   @r   rh   rh   M   s)    03ABE9r   rh   )
__future__r   r   mockr   r   r   
imapclientr   r	   r
   r   r   r   imapclient_testr   r   r!   rh   r   r   r   <module>rz      sA   
 ( 
 & & H H +9n 95 5n5n 5r   