
    j=v                         d dl Z d dlmZ d dlmZ d dlmZ d dlZd dlZd dl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZ dedefd	Zdefd
Z  G d de      Z!y)    N)Path)TestCase)patch)YouTubeTranscriptApiTranscriptsDisabledNoTranscriptFoundVideoUnavailable	IpBlockedNotTranslatableTranslationLanguageNotAvailableCookiePathInvalidCookieInvalidFailedToCreateConsentCookieYouTubeRequestFailedInvalidVideoIdFetchedTranscriptFetchedTranscriptSnippetAgeRestrictedRequestBlockedVideoUnplayable)GenericProxyConfigWebshareProxyConfigfilenamereturnc                 |    t        dj                  t        j                  j	                  t
              |             S )Nz{dirname}/assets/{filename})dirnamer   )r   formatospathr   __file__)r   s    e/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/youtube_transcript_api/test/test_api.pyget_asset_pathr"       s4    %,,GGOOH- 	- 	
     c                 z    t        t        |       d      5 }|j                         cd d d        S # 1 sw Y   y xY w)Nrb)mode)openr"   read)r   files     r!   
load_assetr*   (   s1    	nX&T	2 dyy{  s   1:c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z ed      d        Z ed      d        Z ed      d        Z  ed      d        Z! ed      d         Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z: ed      d9        Z; ed      d:        Z<d; Z=d< Z>d= Z? ed>      d?        Z@ ed> eAd@      A      dB        ZB ed> eAd@      A      dC        ZC ed>      dD        ZD ed>      dE        ZEyF)GTestYouTubeTranscriptApic           	         t        t        ddd      t        ddd      t        ddd	      gd
ddd      | _        | j                  j                         | _        t        j                          t        j                  t
        j                  dt        d             t        j                  t
        j                  dt        d             y )NHey, this is just a test        p=
ף?textstartduration#this is not the original transcriptp=
ף@-just something shorter, I made up for testing@x	@EnglishenFGJLlxj_dtq8)snippetslanguagelanguage_codeis_generatedvideo_idhttps://www.youtube.com/watchzyoutube.html.staticbodyz%https://www.youtube.com/api/timedtextztranscript.xml.static)
r   r   ref_transcriptto_raw_dataref_transcript_raw	httprettyenableregister_uriGETr*   selfs    r!   setUpzTestYouTubeTranscriptApi.setUp.   s    /(3!
 )>!
 )H"" "+
. #'"5"5"A"A"CMM+12	

 	MM334	
r#   c                 T    t        j                          t        j                          y )N)rH   resetdisablerL   s    r!   tearDownz!TestYouTubeTranscriptApi.tearDownS   s    r#   c                 n    t               j                  d      }| j                  || j                         y )Nr<   )r   fetchassertEqualrE   rM   
transcripts     r!   
test_fetchz#TestYouTubeTranscriptApi.test_fetchW   s/    )+11-@
	
r#   c                     t               j                  dd      }d| j                  d   _        | j	                  || j                         y )Nr<   Tpreserve_formatting*this is <i>not</i> the original transcript   )r   rT   rE   r2   rU   rV   s     r!   test_fetch_formattedz-TestYouTubeTranscriptApi.test_fetch_formatted_   sO    )+11t 2 

 'SA#	
r#   c                     t        j                  t         j                  dt        d             t	               j                  d      }| j                  || j                         y )NrB   z&youtube_altered_user_agent.html.staticrC   r<   )rH   rJ   rK   r*   r   rT   rU   rE   rV   s     r!   #test_fetch__with_altered_user_agentz<TestYouTubeTranscriptApi.test_fetch__with_altered_user_agentk   sR    MM+DE	
 *+11-@
	
r#   c                     t               j                  d      }|D ch c]  }|j                   }}| j                  |h d       y c c}w Nr<   >   csder;   eshijakozh)r   listr?   rU   rM   transcript_listrW   language_codess       r!   	test_listz"TestYouTubeTranscriptApi.test_listy   sH    .055mDETUz*22UUR	
 Vs   Ac                     t               j                  d      }|j                  dg      }| j                  |j                         y Nr<   rc   )r   rj    find_manually_created_transcriptassertFalser@   rM   rl   rW   s      r!    test_list__find_manually_createdz9TestYouTubeTranscriptApi.test_list__find_manually_created   s;    .055mD$EEtfM
001r#   c                    t               j                  d      }| j                  t              5  |j	                  dg       d d d        |j	                  dg      }| j                  |j                         y # 1 sw Y   7xY wNr<   rc   r;   )r   rj   assertRaisesr   find_generated_transcript
assertTruer@   rs   s      r!   test_list__find_generatedz2TestYouTubeTranscriptApi.test_list__find_generated   so    .055mD01 	>55tf=	> %>>vF

//0	> 	>s   A88Bc                     t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        y # 1 sw Y   y xY wNrB   %youtube_video_unavailable.html.staticrC   z+https://www.youtube.com/watch?v=GJLlxj_dtq8)rH   rJ   rK   r*   rw   r   r   rj   rL   s    r!   test_list__url_as_video_idz3TestYouTubeTranscriptApi.test_list__url_as_video_id   s^    MM+CD	
 ~. 	W "''(UV	W 	W 	W   A((A1c                     t        j                  t         j                  dt        d             t	               j                  d      }|D ]'  }| j                  t        |j                        d       ) y NrB   z,youtube_no_translation_languages.html.staticrC   r<   r   )	rH   rJ   rK   r*   r   rj   rU   lentranslation_languagesrs   s      r!   ,test_list__no_translation_languages_providedzETestYouTubeTranscriptApi.test_list__no_translation_languages_provided   sd    MM+JK	
 /055mD) 	GJS!A!ABAF	Gr#   c                     t               j                  d      j                  dg      }|j                  d      }| j	                  |j
                  d       | j                  d|j                         y Nr<   r;   afz	&tlang=af)r   rj   find_transcript	translaterU   r?   assertIn_urlrM   rW   translated_transcripts      r!   test_translate_transcriptz2TestYouTubeTranscriptApi.test_translate_transcript   sa    )+00?OOQUPVW
 * 4 4T :.<<dCk#8#=#=>r#   c                     t               j                  d      j                  dg      }| j                  t              5  |j                  d       d d d        y # 1 sw Y   y xY wNr<   r;   xyz)r   rj   r   rw   r   r   rV   s     r!   =test_translate_transcript__translation_language_not_availablezVTestYouTubeTranscriptApi.test_translate_transcript__translation_language_not_available   sV    )+00?OOQUPVW
>? 	(  '	( 	( 	(s   AA#c                     t               j                  d      j                  dg      }g |_        | j	                  t
              5  |j                  d       d d d        y # 1 sw Y   y xY wNr<   r;   r   )r   rj   r   r   rw   r   r   rV   s     r!   +test_translate_transcript__not_translatablezDTestYouTubeTranscriptApi.test_translate_transcript__not_translatable   s]    )+00?OOQUPVW
+-
(/ 	'  &	' 	' 	's   A!!A*c                    t               j                  dddg       t        j                         j                  }| j                  d|       | j                  t        |d         d       | j                  |d   d   d       y Nr<   rd   r;   langr]   r   )r   rT   rH   last_requestquerystringr   rU   r   rM   query_strings     r!   $test_fetch__correct_language_is_usedz=TestYouTubeTranscriptApi.test_fetch__correct_language_is_used   so    $$]T4LA --/;;fl+\&12A6f-a0$7r#   c                 f   t        j                  t         j                  dt        d             t	               j                  dddg       t        j                         j                  }| j                  d|       | j                  t        |d         d       | j                  |d   d	   d       y 
NrB   zyoutube_ww1_nl_en.html.staticrC   F1xioXWb8CYrd   r;   r   r]   r   )rH   rJ   rK   r*   r   rT   r   r   r   rU   r   r   s     r!   %test_fetch__fallback_language_is_usedz>TestYouTubeTranscriptApi.test_fetch__fallback_language_is_used   s    MM+;<	
 	$$]T4LA --/;;fl+\&12A6f-a0$7r#   c                 d   t        j                  t         j                  dt        d             t	               j                  d       | j                  t        t        j                               d       t        j                         dd  D ]!  }| j                  |j                  d   d       # y 	NrB    youtube_consent_page.html.staticrC   r      r]   cookiez'CONSENT=YES+cb.20210328-17-p0.de+FX+119)
rH   rJ   rK   r*   r   rT   rU   r   latest_requestsheadersrM   requests     r!   +test_fetch__create_consent_cookie_if_neededzDTestYouTubeTranscriptApi.test_fetch__create_consent_cookie_if_needed   s    MM+>?	
 	$$]3Y66891= 002126 	G)+T	r#   c                 F   t        j                  t         j                  dt        d             t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        y # 1 sw Y   y xY wNrB   r   rC   r   rH   rJ   rK   r*   rw   r   r   rT   rL   s    r!   5test_fetch__exception_if_create_consent_cookie_failedzNTestYouTubeTranscriptApi.test_fetch__exception_if_create_consent_cookie_failed   s}    MM+>?	

 	MM+>?	
 :; 	8 "((7	8 	8 	8s   4BB c                     t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        y # 1 sw Y   y xY wNrB   z(youtube_consent_page_invalid.html.staticrC   r   r   rL   s    r!   3test_fetch__exception_if_consent_cookie_age_invalidzLTestYouTubeTranscriptApi.test_fetch__exception_if_consent_cookie_age_invalid   sZ    MM+FG	
 :; 	8 "((7	8 	8 	8r   c                     t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        y # 1 sw Y   y xY wNrB   r}   rC   abc)rH   rJ   rK   r*   rw   r	   r   rT   rL   s    r!   *test_fetch__exception_if_video_unavailablezCTestYouTubeTranscriptApi.test_fetch__exception_if_video_unavailable   sZ    MM+CD	
 /0 	0 "((/	0 	0 	0r   c                     t        j                  t         j                  dd       | j                  t              5 }t               j                  d       d d d        | j                  dt        j                               y # 1 sw Y   /xY w)NrB     statusr   zRequest to YouTube failed: )
rH   rJ   rK   rw   r   r   rT   r   str	exceptionrM   cms     r!   .test_fetch__exception_if_youtube_request_failszGTestYouTubeTranscriptApi.test_fetch__exception_if_youtube_request_fails  so    MM:3	
 34 	0 "((/	0 	3S5FG	0 	0s   BBc                     t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        y # 1 sw Y   y xY w)NrB   z"youtube_age_restricted.html.staticrC   Njp5uhTorCo)rH   rJ   rK   r*   rw   r   r   rT   rL   s    r!   'test_fetch__exception_if_age_restrictedz@TestYouTubeTranscriptApi.test_fetch__exception_if_age_restricted  sY    MM+@A	
 }- 	8 "((7	8 	8 	8r   c                     t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        y # 1 sw Y   y xY wNrB   z%youtube_too_many_requests.html.staticrC   r   )rH   rJ   rK   r*   rw   r
   r   rT   rL   s    r!   #test_fetch__exception_if_ip_blockedz<TestYouTubeTranscriptApi.test_fetch__exception_if_ip_blocked  sY    MM+CD	
 y) 	0 "((/	0 	0 	0r   c                 2   t        j                  t         j                  dt        d             | j	                  t
              5 }t               j                  d       d d d        | j                  dt        j                               y # 1 sw Y   /xY w)NrB   #youtube_request_blocked.html.staticrC   r   z)YouTube is blocking requests from your IP)rH   rJ   rK   r*   rw   r   r   rT   r   r   r   r   s     r!   %test_fetch__exception_request_blockedz>TestYouTubeTranscriptApi.test_fetch__exception_request_blocked!  su    MM+AB	
 ~. 	8" "((7	8 	A3r||CTU	8 	8s   BBc                    t        j                  t         j                  dt        d             | j	                  t
              5 }t               j                  d       d d d        j                  }| j                  |j                  d       | j                  |j                  ddg       | j                  dt        |             y # 1 sw Y   kxY w)NrB   zyoutube_unplayable.html.staticrC   r   zCustom ReasonzSub Reason 1zSub Reason 2)rH   rJ   rK   r*   rw   r   r   rT   r   rU   reasonsub_reasonsr   r   )rM   r   r   s      r!    test_fetch__exception_unplayablez9TestYouTubeTranscriptApi.test_fetch__exception_unplayable-  s    MM+<=	
 / 	82 "((7	8LL	))?;..0PQos9~6	8 	8s   C		Cc                    t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        t        j                  t         j                  dt        d             | j	                  t
              5  t               j                  d       d d d        y # 1 sw Y   pxY w# 1 sw Y   y xY wNrB   z(youtube_transcripts_disabled.html.staticrC   dsMFmonKDD4z)youtube_transcripts_disabled2.html.staticFjg5lYqvzUs)rH   rJ   rK   r*   rw   r   r   rT   rL   s    r!   -test_fetch__exception_if_transcripts_disabledzFTestYouTubeTranscriptApi.test_fetch__exception_if_transcripts_disabled;  s    MM+FG	
 23 	8 "((7	8 	MM+GH	

 23 	8 "((7	8 	8	8 	8	8 	8s   C+CCC#c                     | j                  t              5 }t               j                  ddg       d d d        | j	                  dt        j                               y # 1 sw Y   /xY w)Nr<   cz	languageszNo transcripts were found for)rw   r   r   rT   r   r   r   r   s     r!   -test_fetch__exception_if_language_unavailablezFTestYouTubeTranscriptApi.test_fetch__exception_if_language_unavailableM  s^    01 	JR "((4&(I	J 	5s2<<7HI	J 	Js   A!!A*zByoutube_transcript_api.proxies.GenericProxyConfig.to_requests_dictc                     t        dd      }t        |      j                  d      }| j                  || j                         |j                          y )Nhttp://localhost:8080http_url	https_urlproxy_configr<   )r   r   rT   rU   rE   assert_any_callrM   to_requests_dictr   rW   s       r!   test_fetch__with_proxyz/TestYouTubeTranscriptApi.test_fetch__with_proxyS  sV    ),-
 *|DJJ

 		
 	((*r#   c                     t        dd      }t        |      j                  d       t        j                         }| j                  |j                  j                  d      d       y )Nusernamepasswordproxy_usernameproxy_passwordr   r<   
Connectionclose)r   r   rT   rH   r   rU   r   get)rM   r   r   r   s       r!   0test_fetch__with_proxy_prevent_alive_connectionszITestYouTubeTranscriptApi.test_fetch__with_proxy_prevent_alive_connectionsb  sS    *%j
 	,7==mL((*,,\:GDr#   c                 ,   t        d      D ]1  }t        j                  t        j                  dt	        d             3 t        dd      }t        |      j                  d	       | j                  t        t        j                               d
       y )Nr   rB   r   rC   r   r   r   r   r      )rangerH   rJ   rK   r*   r   r   rT   rU   r   r   )rM   r   _r   s       r!   )test_fetch__with_proxy_retry_when_blockedzBTestYouTubeTranscriptApi.test_fetch__with_proxy_retry_when_blockedm  s{    q 	A""/ EF	 +%%

 	,7==mLY66895Ar#   c                    d}t        |      D ]1  }t        j                  t        j                  dt	        d             3 t        dd|      }| j                  t              5 }t        |      j                  d	       d d d        | j                  t        t        j                               |       | j                  j                  j                  |       | j                  d
t!        |j                               y # 1 sw Y   xY w)Nr   rB   r   rC   r   r   )r   r   retries_when_blockedr   r   Webshare)r   rH   rJ   rK   r*   r   rw   r   r   rT   rU   r   r   r   _proxy_configr   r   )rM   r   retriesr   r   r   s         r!   4test_fetch__with_webshare_proxy_reraise_when_blockedzMTestYouTubeTranscriptApi.test_fetch__with_webshare_proxy_reraise_when_blocked~  s    w 	A""/ EF	 +%%!(
 ~. 	Q" l;AA-P	Q 	Y66897C33\Bj#bll"34	Q 	Qs   %DDc                    t        j                  t         j                  dt        d             t	        dd      }| j                  t              5 }t        |      j                  d       d d d        | j                  t        t        j                               d       | j                  j                  j                  |       | j                  d	t        |j                               y # 1 sw Y   xY w)
NrB   r   rC   r   r   r   r   r]   z!YouTube is blocking your requests)rH   rJ   rK   r*   r   rw   r   r   rT   rU   r   r   r   r   r   r   )rM   r   r   r   s       r!   3test_fetch__with_generic_proxy_reraise_when_blockedzLTestYouTubeTranscriptApi.test_fetch__with_generic_proxy_reraise_when_blocked  s    MM+AB	

 *,-

 ~. 	Q" l;AA-P	Q 	Y66891=33\B93r||;LM	Q 	Qs   C//C8c                     t        d      }t        |      j                  d      }| j                  || j                         y )Nexample_cookies.txtcookie_pathr<   )r"   r   rT   rU   rE   )rM   r   rW   s      r!   test_fetch__with_cookiesz1TestYouTubeTranscriptApi.test_fetch__with_cookies  s<    $%:;)kBHHW
	
r#   c                     t        d      }t        |      }|j                  j                  j                  }| j                  ddit        j                  j                  |             y )Nr   r   
TEST_FIELD
TEST_VALUE)	r"   r   _fetcher_http_clientcookiesrU   requestsutilsdict_from_cookiejar)rM   r   ytt_apisession_cookiess       r!   test_load_cookiesz*TestYouTubeTranscriptApi.test_load_cookies  sV    $%:;&;?!**77??<(NN..?	
r#   c                     t        d      }| j                  t              5  t        |       d d d        y # 1 sw Y   y xY w)Nznonexistent_cookies.txtr   )r"   rw   r   r   rM   r   s     r!    test_load_cookies__bad_file_pathz9TestYouTubeTranscriptApi.test_load_cookies__bad_file_path  s9    $%>?01 	: [9	: 	: 	:	   7A c                     t        d      }| j                  t              5  t        |       d d d        y # 1 sw Y   y xY w)Nzexpired_example_cookies.txtr   )r"   rw   r   r   r  s     r!   #test_load_cookies__no_valid_cookiesz<TestYouTubeTranscriptApi.test_load_cookies__no_valid_cookies  s8    $%BC}- 	: [9	: 	: 	:r  c           	      p    t        j                  d      }| j                  |dddddddddd	d
dg       y )Nr<   r.   r/   r0   r1   r5   r6   r7   r8   r9   r   get_transcriptrU   rV   s     r!   test_get_transcript__deprecatedz8TestYouTubeTranscriptApi.test_get_transcript__deprecated  sQ    )88G
3ctTA! $ L  %	
r#   c           	      t    t        j                  dd      }| j                  |ddddddd	dd
dddg       y )Nr<   TrZ   r.   r/   r0   r1   r\   r6   r7   r8   r9   r  rV   s     r!   )test_get_transcript_formatted__deprecatedzBTestYouTubeTranscriptApi.test_get_transcript_formatted__deprecated  sX    )88t

 	3ctTH! $ L  %	
r#   c                     t        j                  d      }|D ch c]  }|j                   }}| j                  |h d       y c c}w rb   )r   list_transcriptsr?   rU   rk   s       r!   !test_list_transcripts__deprecatedz:TestYouTubeTranscriptApi.test_list_transcripts__deprecated  sE    .??NETUz*22UUR	
 Vs   Ac                     t        j                  d      }|j                  dg      }| j                  |j                         y rp   )r   r  rq   rr   r@   rs   s      r!   8test_list_transcripts__find_manually_created__deprecatedzQTestYouTubeTranscriptApi.test_list_transcripts__find_manually_created__deprecated  s8    .??N$EEtfM
001r#   c                     t        j                  d      }| j                  t              5  |j	                  dg       d d d        |j	                  dg      }| j                  |j                         y # 1 sw Y   7xY wrv   )r   r  rw   r   rx   ry   r@   rs   s      r!   1test_list_transcripts__find_generated__deprecatedzJTestYouTubeTranscriptApi.test_list_transcripts__find_generated__deprecated   sl    .??N01 	>55tf=	> %>>vF

//0	> 	>s   A44A=c                     t        j                  t         j                  dt        d             | j	                  t
              5  t        j                  d       d d d        y # 1 sw Y   y xY wr|   )rH   rJ   rK   r*   rw   r   r   r  rL   s    r!   2test_list_transcripts__url_as_video_id__deprecatedzKTestYouTubeTranscriptApi.test_list_transcripts__url_as_video_id__deprecated
  sY    MM+CD	
 ~. 	 11=	 	 	   A$$A-c                     t        j                  t         j                  dt        d             t	        j
                  d      }|D ]'  }| j                  t        |j                        d       ) y r   )	rH   rJ   rK   r*   r   r  rU   r   r   rs   s      r!   Dtest_list_transcripts__no_translation_languages_provided__deprecatedz]TestYouTubeTranscriptApi.test_list_transcripts__no_translation_languages_provided__deprecated  sa    MM+JK	
 /??N) 	GJS!A!ABAF	Gr#   c                     t        j                  d      j                  dg      }|j                  d      }| j	                  |j
                  d       | j                  d|j                         y r   )r   r  r   r   rU   r?   r   r   r   s      r!   %test_translate_transcript__deprecatedz>TestYouTubeTranscriptApi.test_translate_transcript__deprecated!  sc    )::

/4&
! 	 !+ 4 4T :.<<dCk#8#=#=>r#   c                     t        j                  d      j                  dg      }| j                  t              5  |j                  d       d d d        y # 1 sw Y   y xY wr   )r   r  r   rw   r   r   rV   s     r!   Itest_translate_transcript__translation_language_not_available__deprecatedzbTestYouTubeTranscriptApi.test_translate_transcript__translation_language_not_available__deprecated+  sX    )::

/4&
! 	 >? 	(  '	( 	( 	(s   AAc                     t        j                  d      j                  dg      }g |_        | j	                  t
              5  |j                  d       d d d        y # 1 sw Y   y xY wr   )r   r  r   r   rw   r   r   rV   s     r!   7test_translate_transcript__not_translatable__deprecatedzPTestYouTubeTranscriptApi.test_translate_transcript__not_translatable__deprecated3  s_    )::

/4&
! 	 ,.
(/ 	'  &	' 	' 	's   AA&c                     t        j                  dddg       t        j                         j                  }| j                  d|       | j                  t        |d         d       | j                  |d   d   d       y r   )r   r  rH   r   r   r   rU   r   r   s     r!   9test_get_transcript__correct_language_is_used__deprecatedzRTestYouTubeTranscriptApi.test_get_transcript__correct_language_is_used__deprecated<  sl    ++MD$<H --/;;fl+\&12A6f-a0$7r#   c                 ^   t        j                  t         j                  dt        d             t	        j
                  dddg       t        j                         j                  }| j                  d|       | j                  t        |d         d       | j                  |d   d	   d       y r   )rH   rJ   rK   r*   r   r  r   r   r   rU   r   r   s     r!   :test_get_transcript__fallback_language_is_used__deprecatedzSTestYouTubeTranscriptApi.test_get_transcript__fallback_language_is_used__deprecatedD  s    MM+;<	
 	++MD$<H --/;;fl+\&12A6f-a0$7r#   c                 \   t        j                  t         j                  dt        d             t	        j
                  d       | j                  t        t        j                               d       t        j                         dd  D ]!  }| j                  |j                  d   d       # y r   )
rH   rJ   rK   r*   r   r  rU   r   r   r   r   s     r!   @test_get_transcript__create_consent_cookie_if_needed__deprecatedzYTestYouTubeTranscriptApi.test_get_transcript__create_consent_cookie_if_needed__deprecatedR  s    MM+>?	
 	++M:Y66891= 002126 	G)+T	r#   c                 >   t        j                  t         j                  dt        d             t        j                  t         j                  dt        d             | j	                  t
              5  t        j                  d       d d d        y # 1 sw Y   y xY wr   rH   rJ   rK   r*   rw   r   r   r  rL   s    r!   Jtest_get_transcript__exception_if_create_consent_cookie_failed__deprecatedzcTestYouTubeTranscriptApi.test_get_transcript__exception_if_create_consent_cookie_failed__deprecated`  s|     	MM+>?	

 	MM+>?	
 :; 	? //>	? 	? 	?s   4BBc                     t        j                  t         j                  dt        d             | j	                  t
              5  t        j                  d       d d d        y # 1 sw Y   y xY wr   r/  rL   s    r!   Htest_get_transcript__exception_if_consent_cookie_age_invalid__deprecatedzaTestYouTubeTranscriptApi.test_get_transcript__exception_if_consent_cookie_age_invalid__deprecatedq  sW    MM+FG	
 :; 	? //>	? 	? 	?r  c                     t        j                  t         j                  dt        d             | j	                  t
              5  t        j                  d       d d d        y # 1 sw Y   y xY wr   )rH   rJ   rK   r*   rw   r	   r   r  rL   s    r!   ?test_get_transcript__exception_if_video_unavailable__deprecatedzXTestYouTubeTranscriptApi.test_get_transcript__exception_if_video_unavailable__deprecated{  sW    MM+CD	
 /0 	7 //6	7 	7 	7r  c                     t        j                  t         j                  dd       | j                  t              5  t        j                  d       d d d        y # 1 sw Y   y xY w)NrB   r   r   r   )rH   rJ   rK   rw   r   r   r  rL   s    r!   Ctest_get_transcript__exception_if_youtube_request_fails__deprecatedz\TestYouTubeTranscriptApi.test_get_transcript__exception_if_youtube_request_fails__deprecated  sP    MM:3	
 34 	7 //6	7 	7 	7s   AA$c                     t        j                  t         j                  dt        d             | j	                  t
              5  t        j                  d       d d d        y # 1 sw Y   y xY wr   )rH   rJ   rK   r*   rw   r
   r   r  rL   s    r!   Ktest_get_transcript__exception_if_youtube_request_limit_reached__deprecatedzdTestYouTubeTranscriptApi.test_get_transcript__exception_if_youtube_request_limit_reached__deprecated  sX     	MM+CD	
 y) 	7 //6	7 	7 	7r  c                    t        j                  t         j                  dt        d             | j	                  t
              5  t        j                  d       d d d        t        j                  t         j                  dt        d             | j	                  t
              5  t        j                  d       d d d        y # 1 sw Y   lxY w# 1 sw Y   y xY wr   )rH   rJ   rK   r*   rw   r   r   r  rL   s    r!   Btest_get_transcript__exception_if_transcripts_disabled__deprecatedz[TestYouTubeTranscriptApi.test_get_transcript__exception_if_transcripts_disabled__deprecated  s    MM+FG	
 23 	? //>	? 	MM+GH	

 23 	? //>	? 	?	? 	?	? 	?s   C'CCCc                     | j                  t              5  t        j                  ddg       d d d        y # 1 sw Y   y xY w)Nr<   r   r   )rw   r   r   r  rL   s    r!   Btest_get_transcript__exception_if_language_unavailable__deprecatedz[TestYouTubeTranscriptApi.test_get_transcript__exception_if_language_unavailable__deprecated  s<    01 	Q //$P	Q 	Q 	Qs	   8Ac           	          ddd}t        j                  d|      }| j                  |ddddd	dd
dddddg       |j                          y )Nr   httphttpsr<   proxiesr.   r/   r0   r1   r5   r6   r7   r8   r9   )r   r  rU   r   )rM   r   rB  rW   s       r!   +test_get_transcript__with_proxy__deprecatedzDTestYouTubeTranscriptApi.test_get_transcript__with_proxy__deprecated  ss     ,,
 *88PWX
3ctTA! $ L  %	
  	((*r#   c           	          t        dd      }t        j                  d|      }| j                  |ddddd	dd
dddddg       |j	                          y )Nr   r   r<   rA  r.   r/   r0   r1   r5   r6   r7   r8   r9   )r   r   r  rU   r   r   s       r!   2test_get_transcript__with_proxy_config__deprecatedzKTestYouTubeTranscriptApi.test_get_transcript__with_proxy_config__deprecated  sx    ),-
 *88<

 	3ctTA! $ L  %	
  	((*r#   c           	          t        d      }t        j                  dt        |            }| j	                  |ddddddd	dd
dddg       y )Nr   r<   r  r.   r/   r0   r1   r5   r6   r7   r8   r9   )r"   r   r  r   rU   )rM   cookies_pathrW   s      r!   -test_get_transcript__with_cookies__deprecatedzFTestYouTubeTranscriptApi.test_get_transcript__with_cookies__deprecated  sh    %&;<)883|#4

 	3ctTA! $ L  %	
r#   c                     | j                  t              5  t        j                  ddg       d d d        y # 1 sw Y   y xY wN
video_id_1
video_id_2)rw   AssertionErrorr   r  rL   s    r!   Ctest_get_transcript__assertionerror_if_input_not_string__deprecatedz\TestYouTubeTranscriptApi.test_get_transcript__assertionerror_if_input_not_string__deprecated  s<    ~. 	N //|0LM	N 	N 	N	   7A c                     | j                  t              5  t        j                  d       d d d        y # 1 sw Y   y xY w)NrL  )rw   rN  r   get_transcriptsrL   s    r!   Btest_get_transcripts__assertionerror_if_input_not_list__deprecatedz[TestYouTubeTranscriptApi.test_get_transcripts__assertionerror_if_input_not_list__deprecated  s3    ~. 	? 00>	? 	? 	?s   5>z:youtube_transcript_api.YouTubeTranscriptApi.get_transcriptc                     d}d}ddg}t        j                  ||g|       |j                  ||d d d       |j                  ||d d d       | j                  |j                  d       y )NrL  rM  rd   r;   r   F   )r   rR  r   rU   
call_count)rM   mock_get_transcriptrL  rM  r   s        r!    test_get_transcripts__deprecatedz9TestYouTubeTranscriptApi.test_get_transcripts__deprecated  sr    !
!
4L	,,$		
 	++J	4uU++J	4uU,77;r#   Error)side_effectc                     | j                  t              5  t        j                  ddg       d d d        y # 1 sw Y   y xY wrK  )rw   	Exceptionr   rR  )rM   rW  s     r!   /test_get_transcripts__stop_on_error__deprecatedzHTestYouTubeTranscriptApi.test_get_transcripts__stop_on_error__deprecated  s>    
 y) 	O 00,1MN	O 	O 	OrP  c                     d}d}t        j                  ddgd       |j                  |dd d d       |j                  |dd d d       y )NrL  rM  T)continue_after_errorr;   Fr   rR  r   )rM   rW  rL  rM  s       r!   3test_get_transcripts__continue_on_error__deprecatedzLTestYouTubeTranscriptApi.test_get_transcripts__continue_on_error__deprecated  sT    
 "
!
,,<(t	
 	++JtUS++JtUSr#   c                     t        d      }t        j                  dgt        |             |j	                  ddd t        |      d       y )Nr   r<   rG  r`  F)r"   r   rR  r   r   )rM   rW  r   s      r!   .test_get_transcripts__with_cookies__deprecatedzGTestYouTubeTranscriptApi.test_get_transcripts__with_cookies__deprecated'  sB    $%:;,,m_c+FVW++7D#k*:E	
r#   c                 h    ddd}t        j                  dg|       |j                  dd|d d       y )Nr   r>  r<   rA  r`  Fra  )rM   rW  rB  s      r!   .test_get_transcripts__with_proxies__deprecatedzGTestYouTubeTranscriptApi.test_get_transcripts__with_proxies__deprecated/  s>     ,,
 	,,m_gN++7GT5	
r#   N)F__name__
__module____qualname__rN   rR   rX   r^   r`   rn   rt   rz   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r  r  r  r  r  r  r  r!  r#  r%  r'  r)  r+  r-  r0  r2  r4  r6  r8  r:  r<  rC  rE  rI  rO  rS  rX  r\  r]  rb  rd  rf   r#   r!   r,   r,   -   st   #
J




21W	G?('88880H80
V78$J OP+ Q+ OPE QE OPB QB  OP5 Q5* OPN QN$
	
:
:
(
,
21
	G?('88?"?77
7?$Q OP+ Q+0 OP+ Q+4
.N? GH< I< Dg&O	O Dg&	T		T GH
 I
 GH
 I
r#   r,   )"r   pathlibr   unittestr   unittest.mockr   r  rH   youtube_transcript_apir   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   youtube_transcript_api.proxiesr   r   r   r"   r*   r,   rj  r#   r!   <module>rp     sc    	         & SS T  
K
x K
r#   