
    ChX                         d dl Z d dlZd dlmZmZ ddlmZ ddlmZm	Z	m
Z
mZ 	 d dlmZ d Z G d d	e      Zy# e$ r	 d dlmZ Y w xY w)
    N)API_URLSIG_KEY_VERSION   )TestBot)TEST_FOLLOWER_ITEMTEST_FOLLOWING_ITEMTEST_SEARCH_USERNAME_ITEMTEST_USERNAME_INFO_ITEM)patchc                 H   | j                   j                  D ]  }| j                   j                  |        | j                  j                  D ]  }| j                  j                  |        | j                  j                  D ]  }| j                  j                  |        y )N)followed_filelistremoveunfollowed_fileskipped_file)_botxs     `/var/www/html/Telegram-Engagement-Pod-/env/lib/python3.12/site-packages/tests/test_bot_follow.pyreset_filesr      s    $$!!!$ %!!&&##A& '##  # $    c                      e Zd Zej                  ej                  j                  ded   ed    e	ed         g       e
dd      d                      Zej                  ej                  j                  d e	ed          e	ed   dz          e	ed   d	z          e	ed   d
z         g e	ed          e	ed   dz          e	ed   dz          e	ed   dz         gg       e
dd      d                      Zej                  ej                  j                  dddg       e
dd      d                      Zej                  ej                  j                  dddg       e
dd      d                      Zej                  ej                  j                  dg d       e
dd      d                      Zej                  ej                  j                  dg d       e
dd      d                      Zy)TestBotFilterusernamepkz
time.sleepN)return_valuec                    | j                   j                  d   }dg| j                   _        t        | j                          t        d   }t	        j
                         }t        j
                         }d|d<   d|d<   d|d<   d|d	<   d
|d<   | j                   j                  dz   |d<   d|d<   t        d   |d<   t        d   |d<   d|d<   d|d<   d|d<   d|d	<   d
|d<   | j                   j                  dz   |d<   d|d<   d|d}t        j                  t        j                  dj                  t        |      d|       d|d}t        j                  t        j                  dj                  t        |      d|       ddi}t        j                  t        j                  dj                  t        |      |d       | j                   j                  |      sJ | j                   j                  d   |dz   k(  sJ | j                   j                  j                   d   t#        |      k(  sJ t#        |      | j                   j$                  v sJ y )Nfollowsr   r   Fis_verifiedis_business
is_privated   follower_count   following_countmedia_counthas_anonymous_profile_picturer   okstatususer'{api_url}users/{username}/usernameinfo/api_urlr      r)   json{api_url}users/{user_id}/info/r-   user_idr)   &{api_url}friendships/create/{user_id}/r0   r)   )bottotal
_followingr   r	   copyr
   min_media_count_to_follow	responsesaddGETformatr   POSTfollowr   r   str	following)selfpatched_time_sleepr   follows_at_startr3   my_test_search_username_itemmy_test_username_info_itemresponse_datas           r   test_followzTestBotFilter.test_follow   su     88>>)4 cDHH+D1'@'E'E'G$%<%A%A%C"6;$]36;$]35:$\29<$%56:<$%67HH..2 	%]3 IN$%DE+DT+J"4(1J:1V":.49"=149"=138"<07:"#348:"#45HH..2 	#=1 GL"#BC#'1MNMM5<<( =  	
 $(1KLMM,33GW3U		
 "4(NN4;; <  	
 xxx(((xx~~i(,<q,@@@@xx%%**2.#g,>>>7|txx11111r   user_idsr                  c                    dg| j                   _        t        | j                          | j                   j                  d   }| j                   j                  j                  t        |d                | j                   j                  j                  t        |d                | j                   j                  j                  t        |d                t        j                         }t        j                         }d|d<   d|d<   d|d<   d	|d
<   d|d<   | j                   j                  dz   |d<   d|d<   t        d   |d<   d|d<   d|d<   d|d<   d	|d
<   d|d<   | j                   j                  dz   |d<   d|d<   |D ]  }||d<   ||d<   d|d}t        j                  t        j                  dj!                  t"        |      d|       d|d}t        j                  t        j                  dj!                  t"        |      d|       ddi}t        j                  t        j$                  dj!                  t"        |      |d        g | j                   j'                  |      k(  }| j                   j                  d   |dz   k(  }	| j                   j(                  d|d   gk(  }
t        |d         | j                   j                  j*                  v }|r|	r|r|
sJ y )Nr   r   rL   rM   Fr   r   r    r!   r"   r#   r$   r%   r&   r   r   r'   r(   r+   r,   r.   r/   r1   r2   r)   r4   r5   r   )r7   r9   r   r8   r   appendrB   r   r   r	   r:   r
   r;   r<   r=   r>   r?   r   r@   follow_usersrC   r   )rD   rE   rK   rF   rG   rH   r3   rI   test_broken_itemstest_followstest_followingtest_followeds               r   test_follow_userszTestBotFilter.test_follow_userse   s   (  !cDHH88>>)4%%c(1+&67  ''HQK(89$$S!%56'@'E'E'G$%<%A%A%C"6;$]36;$]35:$\29<$%56:<$%67HH..2 	%]3 IN$%DE1J:1V":.49"=149"=138"<07:"#348:"#45HH..2 	#=1 GL"#BCG18(./6&t,'+5QRMMM9@@#g A  " (,5OPMMM077#W 8  " &t,MMM8??#W @  #3  D $(("7"7"AAxx~~i04Dq4HH++8A;/??HQK(DHH,B,B,G,GG \mVVr   
1234567890Ic           	      >
   g | _         t        j                         }t        j                         }t	        j                         }g | j
                  _        t        | j
                         | j
                  j                  d   }dt        d}t        j                  t        j                  dj                  t        |      d|       dt        d}t        j                  t        j                  dj                  t        |	      d|       d
}	t        |	      D 
cg c]  }
|j                          }}
t        |	      D 
cg c]  }
|j                          }}
t        |	      D 
cg c]  }
|j                          }}
t        t        |	            D ]6  \  }}
t        d   |z   ||   d<   dj                  t        d   |      ||   d<   8 ddd d |d}t        j                  t        j                  dj                  t        || j
                  j                   j"                        |d       t        t        |	            D ]  \  }}
dj                  t        d   |      ||   d<   t        d   |z   ||   d<   d||   d<   d||   d<   d||   d<   d||   d<   d||   d<   | j
                  j$                  dz   ||   d<   d||   d<   dj                  t        d   |      ||   d<   t        d   |z   ||   d<   d||   d<   d||   d<   d||   d<   d||   d<   d||   d<   | j
                  j$                  dz   ||   d<   d||   d<   d||   d}t        j                  t        j                  dj                  t        ||   d         d|       d||   d}t        j                  t        j                  dj                  t        ||   d   	      d|       ddi}t        j                  t        j&                  dj                  t        ||   d   	      |d        | j
                  j)                  |       | j
                  j                  d   ||	z   k(  }t+        | j
                  j,                        t        |	      D cg c]  }t/        ||   d          c}k(  }t+        | j
                  j0                  j2                        t        |	      D cg c]  }t/        ||   d          c}k(  }|r|r|sJ y c c}
w c c}
w c c}
w c c}w c c}w )Nr   r'   r(   r+   r,   r.   r/   r1   r2   rO   r   {}_{}r   Fr)   big_listnext_max_idsectionsuserszA{api_url}friendships/{user_id}/followers/?rank_token={rank_token})r-   r3   
rank_tokenr5   r   r   r    r!   r"   r#   r$   r   r%   r&   r)   r4   )	blacklistr	   r:   r
   r   r7   r9   r   r8   r<   r=   r>   r?   r   range	enumerateapirb   r;   r@   follow_followerssortedrC   rB   r   r   )rD   rE   r   rG   rH   my_test_follower_itemrF   response_data_1response_data_2	results_3_my_test_follower_itemsmy_test_search_username_itemsmy_test_username_info_itemsiresponse_data_3rI   rU   rV   rW   s                       r   test_follow_followersz#TestBotFilter.test_follow_followers   s    '@'E'E'G$%<%A%A%C" 2 7 7 9 DHH88>>)4%)3LMMM5<<( =   	
 &*3JKMM,33GX3V 		
 	27	2B"
2BQ!&&(2B 	 "
 :?y9I)
9IA(--/9I 	& )
 8=Y7G'
7G!&++-7G 	$ '
 eI./DAq.@.F.J"1%d+4;NN":.5"1%j1 0 +
 	MMXfdhhll>U>U   !		
 eI./DAq;B>>":.<)!,Z8 6H5MPQ5Q)!,T2>C)!,];>C)!,];=B)!,\:AD)!,-=>BD)!,->?22Q6 *!,]; QV)!,-LM9@":.:'*:6 4Fd3Ka3O'*40<A'*=9<A'*=9;@'*<8?B'*+;<@B'*+<=22Q6 (*=9 OT'*+JK'+5RST5UVMMM9@@#:1=jI A  " (,5PQR5STMMM077#-H-KD-Q 8  " &t,MMM8??#-H-KD-Q @  #g 0x 	!!(+xx~~i04Dy4PP 2 23?DY?O8
?O!C+A.t45?O8
 
 txx55::;?DY?O@
?O!C+A.t45?O@
 
 =@@=M"
)
'
t8
@
s   TT(TT Tc           
      J
   g | _         t        j                         }t        j                         }t	        j                         }g | j
                  _        t        | j
                         | j
                  j                  d   }dt        d}t        j                  t        j                  dj                  t        |      d|       dt        d}t        j                  t        j                  dj                  t        |	      d|       d
}	t        |	      D 
cg c]  }
|j                          }}
t        |	      D 
cg c]  }
|j                          }}
t        |	      D 
cg c]  }
|j                          }}
t        t        |	            D ]6  \  }}
t        d   |z   ||   d<   dj                  t        d   |      ||   d<   8 ddd d |d}t        j                  t        j                  dj                  t        || j
                  j                   j"                  t$        d      |d       t        t        |	            D ]  \  }}
dj                  t        d   |      ||   d<   t        d   |z   ||   d<   d||   d<   d||   d<   d||   d<   d||   d<   d||   d<   | j
                  j&                  dz   ||   d<   d||   d<   dj                  t        d   |      ||   d<   t        d   |z   ||   d<   d||   d<   d||   d<   d||   d<   d||   d<   d||   d<   | j
                  j&                  dz   ||   d<   d||   d<   d||   d}t        j                  t        j                  dj                  t        ||   d         d|       d||   d}t        j                  t        j                  dj                  t        ||   d   	      d|       ddi}t        j                  t        j(                  dj                  t        ||   d   	      |d        | j
                  j+                  |       | j
                  j                  d   ||	z   k(  }t-        | j
                  j.                        t        |	      D cg c]  }t1        ||   d          c}k(  }t-        | j
                  j2                  j4                        t        |	      D cg c]  }t1        ||   d          c}k(  }|r|r|sJ y c c}
w c c}
w c c}
w c c}w c c}w ) Nr   r'   r(   r+   r,   r.   r/   r1   r2   rO   r   r\   r   Fr]   zn{api_url}friendships/{user_id}/following/?max_id={max_id}&ig_sig_key_version={sig_key}&rank_token={rank_token} )r-   r3   rb   sig_keymax_idr5   r   r   r    r!   r"   r#   r$   r   r%   r&   r)   r4   )rc   r	   r:   r
   r   r7   r9   r   r8   r<   r=   r>   r?   r   rd   re   rf   rb   r   r;   r@   follow_followingrh   rC   rB   r   r   )rD   rE   r   rG   rH   my_test_following_itemrF   rj   rk   rl   rm   my_test_following_itemsro   rp   rq   rr   rI   rU   rV   rW   s                       r   test_follow_followingz#TestBotFilter.test_follow_followingG  s    '@'E'E'G$%<%A%A%C"!4!9!9!; DHH88>>)4%)3LMMM5<<( =   	
 &*3JKMM,33GX3V 		
 	383C#
3Ca"'')3C 	  #
 :?y9I)
9IA(--/9I 	& )
 8=Y7G'
7G!&++-7G 	$ '
 eI./DAq/B4/H1/L#A&t,5<^^#J/6#A&z2 0 ,
 	MMIf 88<<22'   !	
  eI./DAq;B>>#J/<)!,Z8 6I5NQR5R)!,T2>C)!,];>C)!,];=B)!,\:AD)!,-=>BD)!,->?22Q6 *!,]; QV)!,-LM9@#J/:'*:6 4Gt3Lq3P'*40<A'*=9<A'*=9;@'*<8?B'*+;<@B'*+<=22Q6 (*=9 OT'*+JK'+5RST5UVMMM9@@#:1=jI A  " (,5PQR5STMMM077#-H-KD-Q 8  " &t,MMM8??#-H-KD-Q @  #g 0x 	!!(+xx~~i04Dy4PP 2 23?DY?O8
?O!C+A.t45?O8
 
 txx55::;?DY?O@
?O!C+A.t45?O@
 
 =@@=W#
)
'
~8
@
s   TT(TT&T z7blocked_actions_protection,blocked_actions_sleep,result))TTFTFTFTFFFFc           
         || j                   _        || j                   _        d}ddddddddd	d
	}t        j                  t        j
                  dj                  t        |      |d       t        j                  t        j
                  dj                  t        |      dddi       | j                   j                  |d       | j                   j                  |d       | j                   j                  d   |k(  sJ y )NrZ   failfeedback_requiredThis action was blocked. Please try again later. We restrict certain content and actions to protect our community. Tell us if you think we made a mistake.Treport_problemReport problemOK)repute/report_problem/instagram_like_add/	r)   feedback_titlefeedback_messagespamfeedback_actionfeedback_appeal_labelfeedback_ignore_labelmessagefeedback_urlr4   r2     r5   r.   r)   r'   r/   F
check_userr   
r7   blocked_actions_protectionblocked_actions_sleepr<   r=   r@   r?   r   rA   blocked_actionsrD   rE   r   r   resultr3   rI   s          r   test_sleep_feedback_successfulz,TestBotFilter.test_sleep_feedback_successful  s    $ /I+)>&3"#  1&7&+,I
 	NN4;; <  	
 	NN4;; <  D!	
 	E2E2xx''	2f<<<r   ))TTTr|   r}   r~   c           
         || j                   _        || j                   _        d}ddddddddd	d
	}t        j                  t        j
                  dj                  t        |      |d       t        j                  t        j
                  dj                  t        |      |d       | j                   j                  |d       | j                   j                  |d       | j                   j                  d   |k(  sJ y )NrZ   r   r   r   Tr   r   r   r   r   r4   r2   r   r5   Fr   r   r   r   s          r    test_sleep_feedback_unsuccessfulz.TestBotFilter.test_sleep_feedback_unsuccessful  s    $ /I+)>&3"#  1&7&+,I
 	NN4;; <  	
 	NN4;; <  	
 	E2E2xx''	2f<<<r   )__name__
__module____qualname__r<   activatepytestmarkparametrizer	   rB   r   rJ   rX   rs   r{   r   r    r   r   r   r      s   [[%j1%d+)$/0	
 <d+;2 , ;2z [[ -d34-d3a78-d3a78-d3a78	 -d34-d3a78-d3a78-d3a78		
" <d+EW ,# &EWN [[Z,
)CD
<d+CA , E CAJ [[Z,
)CD
<d+HA , E HAT [[A	
 <d++= , +=Z [[A	
 <d++= , +=r   r   )r   r<   instabot.api.configr   r   test_botr   test_variablesr   r   r	   r
   unittest.mockr   ImportErrormockr   r   r   r   r   <module>r      sJ      8  #
$e=G e=  s   9 AA