
    ZTh                         d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZ  G d d	      Z G d
 d      Zd ZdefdZdefdZdefdZy)    N)MockFixture)GetRemoteFileResponse
RemoteFile)MockChannel)Entity
EntityType)ImageMetadata)FileAttachmentServicec                   8    e Zd ZU eed<   eed<   dedefdZd Zy)MockResponsestatus_codetextc                      || _         || _        y Nr   r   )selfr   r   s      j/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/sift_py/file_attachment/_service_test.py__init__zMockResponse.__init__   s    &	    c                 @    t        j                  | j                        S r   )jsonloadsr   r   s    r   r   zMockResponse.json   s    zz$))$$r   N)__name__
__module____qualname__int__annotations__strr   r    r   r   r   r      s%    
IC s %r   r   c                       e Zd Zed        Zy)MockMultipartEncoderc                      y)Nzmultipart/form-datar    r   s    r   content_typez!MockMultipartEncoder.content_type   s    $r   N)r   r   r   propertyr$   r    r   r   r"   r"      s    % %r   r"   c                  d    t               } t        | ddd      }|J t        | ddd      }|J y )Nzhttps://some_uri.com	123123123uriapikeysome_uri.com)r   r
   )mock_channelsvcs     r   1test_file_attachments_service_upload_validate_urir.      sQ    =L
)!	
C ??
!!	
C ??r   mockerc           	      6   t               }| j                  d      }d|_        t        j                  t
        d      5  t        |ddd      }|j                  dt        d	t        j                  
      t        dd             d d d        y # 1 sw Y   y xY w)N5sift_py.file_attachment._internal.upload.Path.is_fileFz does not point to a regular filematchr+   r'   r(   some_image.png.gz123-123-123	entity_identity_type   	   widthheightpathentitymetadatar   patchreturn_valuepytestraises	Exceptionr
   upload_attachmentr   r   ANNOTATION_LOGr	   r/   r,   mock_path_is_filer-   s       r   2test_file_attachments_service_upload_validate_pathrL   7   s    =L%\]%*"	y(J	K 
#%%
 	$'&55 # 	 
	

 
 
   ABBc           	      6   t               }| j                  d      }d|_        t        j                  t
        d      5  t        |ddd      }|j                  dt        d	t        j                  
      t        dd             d d d        y # 1 sw Y   y xY w)Nr1   TMIMEr2   r+   r'   r(   zsome_image.asdlkjfhr5   r6   r9   r:   r;   r>   rB   rJ   s       r   6test_file_attachments_service_upload_validate_mimetyperP   S   s    =L%\]%)"	y	/ 
#%%
 	&'&55 # 	 
	

 
 
rM   c           	         t               }| j                  d      }d|_        | j                  d| j                  d             | j                  d      }t	               |_        | j                  d      }t        dt        j                  d	d
dii            |_        t        |ddd      }| j                  j                  |j                  dt        t        d                  }|j                  dt        dt        j                         t#        dd            }|j%                          |j%                          |j%                          |j&                  dk(  sJ y )Nr1   Tz-sift_py.file_attachment._internal.upload.opens   PNG

   IHDR)	read_dataz9sift_py.file_attachment._internal.upload.MultipartEncoderz"sift_py.rest.requests.Session.post   
remoteFileremoteFileIdabcr   r+   r'   r(   GetRemoteFile)remote_file_id)remote_file)rD   r4   r5   r6   r9   r:   r;   r>   )r   rC   rD   	mock_openr"   r   r   dumpsr
   object_remote_file_service_stubr   r   rH   r   r   rI   r	   assert_called_oncerX   )r/   r,   rK   mock_multipart_encodermock_requests_postr-   mock_get_remote_filerY   s           r   8test_file_attachments_service_upload_returns_remote_filerb   o   sc   =L%\]%)"
LL7#IJ
 $\\C +?*@'&JK&2djj,8O)PQ'#  !!	
C "<<..%%*zQV7WX /  '' #"11
 
 ( 
K ++---/))+%%...r   )r   rE   pytest_mockr   %sift.remote_files.v1.remote_files_pb2r   r   #sift_py._internal.test_util.channelr   sift_py.file_attachment.entityr   r    sift_py.file_attachment.metadatar	   sift_py.file_attachment.servicer
   r   r"   r.   rL   rP   rb   r    r   r   <module>ri      sZ      # S ; = : A	% 	%% %0
{ 
8
; 
82/[ 2/r   