
    Ch                         d dl Z d dlZd dlmZ 	 d dlmZmZ  G d d      Z	 G d de	      Z
y# e$ r d dlmZmZ Y %w xY w)    N)Bot)Mockpatchc                       e Zd Zd Zd Zy)TestBotc                 |   d| _         d| _        d| _        d| _        d| _        t        d#i ddddd	d
dd
ddddddddddddddddddddddddddddd dd!d"| _        | j                  | j                         | j                  j                          | j                  j                          y )$Ni test_usernametest_passwordtest_full_nameabcdef123456max_likes_per_dayi  max_unlikes_per_daymax_follows_per_dayi^  max_unfollows_per_daymax_comments_per_dayd   max_blocks_per_daymax_unblocks_per_daymax_likes_to_likemin_likes_to_like   max_messages_per_dayi,  
like_delay
   unlike_delayfollow_delay   unfollow_delaycomment_delay<   block_delayunblock_delaymessage_delayblocked_actions_sleep_delaysave_logfileF )
USER_IDUSERNAMEPASSWORDFULLNAMETOKENr   botprepare_apireset_countersreset_cache)selfs    Y/var/www/html/Telegram-Engagement-Pod-/env/lib/python3.12/site-packages/tests/test_bot.pysetupzTestBot.setup   s)   ''(#
 
"
 $
 !$
 #&	

 "%
  #
 "%
 "
 !
 "%
 
 
 
 
 
  !
" #
$ %
& ),'
( )
, 	"!    c                 f   d|j                   _        t        j                         |j                   _        t               }| j                  | j                  d|_        ||j                   j                  j                  _
        |j                   j                  | j                  | j                         y )NT	csrftoken
ds_user_id)apiis_logged_inrequestsSessionsessionr   r+   r'   return_valuecookiesget_dictset_userr(   r)   )r0   r,   r>   s      r1   r-   zTestBot.prepare_api.   sp    #"**,&-1ZZt||T+2(6r3   N)__name__
__module____qualname__r2   r-   r&   r3   r1   r   r      s    @7r3   r   c                   :    e Zd Z ed      d        Zd Zd Zd Zy)
TestBotAPIz!instabot.API.load_uuid_and_cookiec                     t        d       _        t               |_        d } fd}t	        d      5 }|j
                  } |       |j                  _         |       |j                  _        t        j                  j                         |_	        |j                  j                   j                   j                  d       d d d        y # 1 sw Y   y xY w)NF)r%   c                  6    t               }d|_        d|_        |S )N   z{"status": "ok"})r   status_codetext)argskwargsrs      r1   
mockreturnz)TestBotAPI.test_login.<locals>.mockreturn?   s    AAM'AFHr3   c                      t               }d|_        t        j                  j                  j
                  j                  ddd      |_        |S )NrH   )pkusername	full_nameok)logged_in_userstatus)r   rI   jsondumpsr'   r(   r*   rJ   )rK   rL   rM   r0   s      r1   mockreturn_loginz/TestBotAPI.test_login.<locals>.mockreturn_loginE   sN    AAMZZ #ll$(MM%)]]'
 #	AF Hr3   zrequests.Sessionr5   )r   r,   	Exceptionside_effectr   r=   getpostr:   r>   RequestsCookieJarupdater+   r'   )r0   load_cookie_mockrN   rX   r;   instances   `     r1   
test_loginzTestBotAPI.test_login9   s    E*'0{$		 %&'++H(2HLL%)9);HMM&'//AACH##"jjE '&&s   BCCc                     ddl m} | j                  j                  j	                  d      }t         ||      |      sJ  ||      j                  |j                  dd      k(  sJ y )Nr   )UUIDT- )uuidrc   r,   r8   generate_UUID
isinstancehexreplace)r0   rc   generated_uuids      r1   test_generate_uuidzTestBotAPI.test_generate_uuidm   sX    33D9$~.555N#''>+A+A#r+JJJJr3   c                 0   d}d}| j                   j                  j                  ||       | j                   j                  j                  |k(  sJ | j                   j                  j                  |k(  sJ t        | j                   j                  d      sJ y )Nabcdefpasswordabcrf   )r,   r8   r@   rQ   passwordhasattr)r0   r	   r
   s      r1   test_set_userzTestBotAPI.test_set_useru   st     %m];xx||$$555xx||$$555txx||V,,,r3   c                    g d}|D ]9  }d| j                   j                  |<   | j                   j                  |   dk(  r9J  | j                   j                          |D ]   }| j                   j                  |   dk(  r J  y )N)likedunlikedfollowedmessages
unfollowed	commentedblocked	unblocked   r   )r,   totalr.   )r0   keyskeys      r1   test_reset_counterszTestBotAPI.test_reset_counters~   sy    	
 C"#DHHNN388>>#&!+++  	!C88>>#&!+++ r3   N)rA   rB   rC   r   ra   rl   rr   r   r&   r3   r1   rE   rE   8   s+    
./! 0!fK-,r3   rE   )rV   r:   instabotr   unittest.mockr   r   ImportErrormockr   rE   r&   r3   r1   <module>r      sG      !)
(7 (7VV, V,_  !  !s   . >>