
    עi                      f   U d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ g Ze	ej                     ed<    ej                  e e       d	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"ejF                  jH                  d        Z%ejF                  jH                  d        Z&ejF                  jH                  d         Z'ejF                  jH                  d!        Z(ejF                  jH                  d"        Z)ejF                  jH                  d#        Z*y)$zTest files upload method.    N   )types)errors   )pytest_helper
test_tablezfiles.upload)fileglobals_for_filetest_methodr   c                     t        j                  | t              5  | j                  j	                  d      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY wNtests/data/google.pngr	   files/r   exception_if_vertex
ValueErrorfilesuploadname
startswithclientr	   s     e/sites/domain-asset-master/.venv/lib/python3.12/site-packages/google/genai/tests/files/test_upload.pytest_image_png_uploadr   %   W    ((< *<<$;<D99)))* * *   :AA(c                 *   t        j                  | t              5  t        j                  d      }| j
                  j                  |t        j                  d            }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)Nr   test_image_png_pathdisplay_namer	   configr   )r   r   r   pathlibPathr   r   r   UploadFileConfigr   r   )r   pr	   s      r   test_image_png_upload_with_pathr(   *   s{    ((< *,-A<<%%3HI  D 99)))* * *s   A$B		Bc           	         t        j                  | t              5  t        dd      5 }t	        j
                  |j                               5 }| j                  j                  |t        j                  d            }|j                  j                  d      sJ 	 d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY wNr   rbz	image/png	mime_typer"   r   )r   r   r   openioBytesIOreadr   r   r   r&   r   r   r   fbufferr	   s       r   "test_image_png_upload_with_bytesior5   3   s    ((< .	%t	, .::affh .6||""))K@ # 

 yy##H---... .. .. .. .s;   C$CAB5C$C5B>:CC
	CCc                 B   t        j                  | t              5  t        dd      5 }| j                  j                  |t        j                  d            }d d d        j                  j                  d      sJ 	 d d d        y # 1 sw Y   0xY w# 1 sw Y   y xY wr*   )
r   r   r   r.   r   r   r   r&   r   r   )r   r3   r	   s      r   test_image_png_upload_with_fdr7   >   s    ((< *	%t	, \\  ''+> ! d 99)))* * * *s"   B2B	%B	B	BBc                     t        j                  | t              5  | j                  j	                  dt        j                  d            }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)Nr   test_image_pngr    r"   r   	r   r   r   r   r   r   r&   r   r   r   s     r   !test_image_png_upload_with_configr;   H   l    ((< *<<$%%3CD  D 99)))* * *   AA44A=c                     t        j                  | t              5  | j                  j	                  dddi      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)Nr   r!   r9   r"   r   r   r   s     r   &test_image_png_upload_with_config_dictr?   Q   e    ((< *<<$n>N-O  D 99)))	* * *   =A""A+c                     t        j                  | t              5  | j                  j	                  d      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)Ntests/data/google.jpgr   r   r   r   s     r   test_image_jpg_uploadrD   Y   r   r   c                     t        j                  | t              5  | j                  j	                  dt        j                  d            }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)NrC   test_image_jpgr    r"   r   r:   r   s     r   !test_image_jpg_upload_with_configrG   _   r<   r=   c                     t        j                  | t              5  | j                  j	                  dddi      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)NrC   r!   rF   r"   r   r   r   s     r   &test_image_jpg_upload_with_config_dictrI   h   r@   rA   c                     t        j                  | t              5  | j                  j	                  d      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)Ntests/data/story.pdfr   r   r   r   s     r    test_application_pdf_file_uploadrL   p   sW    ((< *<<$:;D99)))* * *r   c                     t        j                  | t              5  | j                  j	                  dt        j                  d            }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)NrK   test_application_pdfr    r"   r   r:   r   s     r   'test_application_pdf_upload_with_configrO   v   sl    ((< *<<#%%3IJ  D 99)))* * *r=   c                     t        j                  | t              5  | j                  j	                  dddi      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)NrK   r!   rN   r"   r   r   r   s     r   ,test_application_pdf_upload_with_config_dictrQ      sf    ((< *<<# 67  D 99)))* * *rA   c                     t        j                  | t              5  | j                  j	                  d      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)Ntests/data/animal.mp4r   r   r   r   s     r   test_video_mp4_file_uploadrT      r   r   c                     t        j                  | t              5  | j                  j	                  dt        j                  d            }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)NrS   test_video_mp4r    r"   r   r:   r   s     r   !test_video_mp4_upload_with_configrW      r<   r=   c                     t        j                  | t              5  | j                  j	                  dddi      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)NrS   r!   rV   r"   r   r   r   s     r   &test_video_mp4_upload_with_config_dictrY      r@   rA   c                     t        j                  | t              5  | j                  j	                  dt        j                  d            }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY w)Ntests/data/pixel.m4a	audio/mp4r,   r"   r   r:   r   s     r   test_audio_m4a_file_uploadr]      sk    ((< *<<#%%<  D 99)))* * *r=   c                    t        j                  | t              5  | j                  j	                  dt        j                  dd            }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY wNr[   test_audio_m4ar\   )r!   r-   r"   r   r:   r   s     r   !test_audio_m4a_upload_with_configra      sp    ((< *<<#%%)[
  D 99)))* * *s   AA55A>c                     t        j                  | t              5  | j                  j	                  dddd      }|j
                  j                  d      sJ 	 d d d        y # 1 sw Y   y xY wr_   r   r   s     r   &test_audio_m4a_upload_with_config_dictrc      se    ((< *<<# 0{K  D 99)))* * *s   >A##A,c                 :   t        j                  | t              5  t        j                  t
        j                  d      5  | j                  j                  t        j                  d      ddi      }d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wNzUnsupported MIME)matchs   testr-   zbad/mime_typer"   )r   r   r   pytestraisesr   APIErrorr   r   r/   r0   r   s     r   test_bad_mime_typerj      s    ((< 	v.@	A \\  zz'"/ ! d   s#   &B3B4BB	
BBc                   K   t        j                  | t              5  | j                  j                  j                  d       d {   }|j                  j                  d      sJ 	 d d d        y 7 +# 1 sw Y   y xY wwr   r   r   r   aior   r   r   r   r   s     r   test_image_upload_asyncrn      sl     ((< *!!((.E(FFD99)))* *F* *s.   B*A5A3!A5*	B3A55A>:Bc                 0  K   t        j                  | t              5  | j                  j                  j                  dt        j                  d             d {   }|j                  j                  d      sJ 	 d d d        y 7 +# 1 sw Y   y xY ww)Nr   
test_imager    r"   r   )
r   r   r   rm   r   r   r   r&   r   r   r   s     r   #test_image_upload_with_config_asyncrq      s     ((< *!!(($%%<@ )  D 99)))* ** *s.   B?B
B!B
?	BB

BBc                   K   t        j                  | t              5  | j                  j                  j                  ddddid       d {   }|j                  j                  d      sJ 	 d d d        y 7 +# 1 sw Y   y xY ww)Nr   rp   timeout8000)r!   http_optionsr"   r   rl   r   s     r   (test_image_upload_with_config_dict_asyncrv      s     ((< *!!(($(&/
 )  D 99)))* ** *s.   B0A;A9!A;0	B9A;;B Bc                   K   t        j                  | t              5  t        dd      5 }t	        j
                  |j                               }d d d        | j                  j                  j                  t        j                  d             d {   }|j                  j                  d      sJ 	 d d d        y # 1 sw Y   sxY w7 7# 1 sw Y   y xY wwr*   )r   r   r   r.   r/   r0   r1   rm   r   r   r   r&   r   r   r2   s       r   $test_image_upload_with_bytesio_asyncrx      s     ((< *	%t	, $zz!&&(#f$!!((%%!# )  D
 99)))* *$ $* *s@   CC$C ACC!C7	C C		CCCc                   K   t        j                  | t              5  	 | j                  j                  j                  d       d {    d d d        y 7 # t        $ r}dt        |      v sJ Y d }~(d }~ww xY w# 1 sw Y   y xY ww)Nunknown_pathr   zis not a valid file path)r   r   r   rm   r   r   FileNotFoundErrorstr)r   es     r   test_unknown_path_upload_asyncr~      sz     ((< 22JJ###8882 28 2'3q611122 2sQ   B	A=)AA	A	B	A	A:!A50A=5A::A==BB	c                 j  K   t        j                  | t              5  t        j                  t
        j                  d      5  | j                  j                  j                  t        j                  d      ddi       d {   }d d d        d d d        y 7 # 1 sw Y   xY w# 1 sw Y   y xY wwre   )r   r   r   rg   rh   r   ri   rm   r   r   r/   r0   r   s     r   test_bad_mime_type_asyncr      s     ((< 	v.@	A ::##**zz'"/ +  d   sG   B3&B'A BBBB'	B3BB$	 B''B0,B3)+__doc__r/   r$   rg    r   r   r   r   listTestTableItem__annotations__setup__file__globals
pytestmarkr   r(   r5   r7   r;   r?   rD   rG   rI   rL   rO   rQ   rT   rW   rY   r]   ra   rc   rj   markasynciorn   rq   rv   rx   r~   r        r   <module>r      sh  "   
      13
D,,- 2 ]  	Y	
*
*	.*************** * * * * 	* 	* 	* 	* 2 2  r   