
    q[i                        U d Z ddlZddlmZ ddlZddlmZ ddlmZ dZej                  j                  ej                  j                  ej                  j                  e      d	            Z ej                  d
d ej                   eej"                  j%                  e      d             ej                  dd ej                   eej"                  j%                  e      d ej&                  dej(                  j*                  ej,                  j.                  ddddddi                   ej                  dd ej                   eej"                  j%                  e      d ej&                  d                  gZeej                     ed<    ej6                  e e       de      Zd Zej>                  j@                  d         Z!ej>                  j@                  d!        Z"ej>                  j@                  d"        Z#y)#zTests for upscale_image.    N)ValidationError   )types   )pytest_helperzimagen-4.0-upscale-previewz../data/bridge1.pngtest_upscale_no_configz&only supported in the Vertex AI clientlocationx2)modelimageupscale_factor)nameexception_if_mldev
parameterstest_upscaleT
image/jpegP   333333?imagen_label_keyupscale_image)include_rai_reasonperson_generationsafety_filter_leveloutput_mime_typeoutput_compression_qualityenhance_input_imageimage_preservation_factorlabelsr   r   r   configtest_upscale_gcs!gs://genai-sdk-tests/temp/images/output_gcs_uri
test_tablezmodels.upscale_image)fileglobals_for_filetest_methodr&   c                    	 | j                   j                  t        t        j                  j                  t              dddd       J # t        $ r+}t        |t              sJ dt        |      v sJ Y d }~y d }~ww xY wNr	   r   upscale   )modenumber_of_imagesr    zExtra inputs are not permitted)modelsr   IMAGEN_MODEL_LATESTr   Image	from_fileIMAGE_FILE_PATH	Exception
isinstancer   strclientes     e/mnt/data/GridWatch/venv/lib/python3.12/site-packages/google/genai/tests/models/test_upscale_image.py$test_upscale_extra_config_parametersr<   S   s}    6
MM!kk##_#= !
	    5	 6a)))+s1v5556s   A
A 	B !A;;B c                   K   t        j                  | t              5  | j                  j                  j                  t        t        j                  j                  t              dt        j                  t        j                  j                  t        j                  j                  ddddd             d {   }|j                   d	   j"                  j$                  sJ 	 d d d        y 7 3# 1 sw Y   y xY ww)
Nr	   r   Tr   r   r   )r   r   r   r   r   r   r   r    r   )r   r   
ValueErroraior0   r   r1   r   r2   r3   r4   UpscaleImageConfigPersonGenerationALLOW_ADULTSafetyFilterLevelBLOCK_LOW_AND_ABOVEgenerated_imagesr   image_bytesr9   responses     r;   test_upscale_asyncrI   h   s     ''
; :ZZ&&44!kk##_#=''#44@@ % 7 7 K K#)') $&)
	 5  H $$Q'--9999: :: :s/   C<BC0:C.;)C0%	C<.C00C95C<c           	        K   t        j                  | t              5  | j                  j                  j                  t        t        j                  j                  t              dt        j                  d             d {   }|j                  d   j                  j                  sJ 	 d d d        y 7 3# 1 sw Y   y xY ww)Nr	   r   r#   r$   r    r   )r   r   r>   r?   r0   r   r1   r   r2   r3   r4   r@   rE   r   gcs_urirG   s     r;   test_upscale_gcs_asyncrL   |   s     ''
; 	6ZZ&&44!kk##_#=''>
	 5  H $$Q'--5555	6 	6	6 	6s/   CA'B:B8)B:/	C8B::C?Cc                 6  K   	 | j                   j                  j                  t        t        j
                  j                  t              dddd       d {    J 7 # t        $ r+}t        |t              sJ dt        |      v sJ Y d }~y d }~ww xY wwr+   )r?   r0   r   r1   r   r2   r3   r4   r5   r6   r   r7   r8   s     r;   *test_upscale_extra_config_parameters_asyncrN      s     6
**


)
)!kk##_#= !
	 *    5 
 6a)))+s1v5556s5   BAA" A A" "	B+!BBBB)$__doc__ospydanticr   pytest r   r   r1   pathabspathjoindirname__file__r4   TestTableItemUpscaleImageParametersr2   r3   r@   rA   rB   rC   rD   r&   list__annotations__setupglobals
pytestmarkr<   markasynciorI   rL   rN        r;   <module>rd      s  "  	 $   2 ''//GGLL*,AB
  M%C/5//%++'''A
  MC/5//%++'''A+5++#'"'"8"8"D"D$)$;$;$O$O!-+-$(*-*O<		
&  MC/5//%++'''A+5++B	
;)1
D,,- )T !]  	Y&	
6* : :& 
6 
6 6 6rc   