+
    qmj
  c                       ^ RI t^ RIHu Ht ^ RIHt ^ RIH	t
 ^ RIHt  ! R R4      t ! R R4      tR R	 ltR
 R ltR R ltR R ltR R ltR# )    N
TestClient)Settingsc                   6   a  ] tR t^t o RtV 3R lR ltRtV tR# )
FakeOllamamodelo-testec                    < V ^8  d   QhRS[ /#    return)dict)format__classdict__s   ")/Volumes/www/pataniscAI/tests/test_api.py__annotate__FakeOllama.__annotate__
   s     
 
 
    c                    R RRRR^RRRRR//# )	versiontestemodel_availableTmodels_countgpumodel_loaded
vram_bytes    )selfs   &r   healthFakeOllama.health
   s(    w 14ND,=
 	
r   r   N)__name__
__module____qualname____firstlineno__modelr   __static_attributes____classdictcell__r   s   @r   r   r      s     E
 
r   r   c                   4   a  ] tR t^t o ]! 4       tR tRtV tR# )
FakeEnginec                   V^ ,          pRRRRRV P                   P                  R^RRVP                  R	VP                  R
VP                  RRR^R^R^R^RR/	.RRVP                  R	VP                  RVP                  RR/.R/ R. R. /	# )r   successTengine_versionzpataniscAI-3.0.0-devr$   duration_ms	documentsidnametypeocr_okcharsmodel_duration_ms
eval_count
error_code transcriptionsdocument_id	type_hinttextTESTEresultsavisosincertos)clientr$   r9   r0   document_type)r   r.   documents   && r   extractFakeEngine.extract   s    Q<t4T[[&&14!5!5vx}}fV^VlVl#T7A}aI\^_'L"> ? x/C/CVX]] +X-C-CVW V Wr8RR
 	
r   r   N)	r    r!   r"   r#   r   r@   rC   r%   r&   r'   s   @r   r)   r)      s     \F
 
r   r)   c                $    V ^8  d   QhR\         /# r	   r   )r   s   "r   r   r   $   s     & &J &r   c           
         a \        R \        R04      RR^^RR7      oV P                  \        RV3R l4       V P                  \        RR	 4       \	        \        P
                  4      # )
segredo
testclientzhttp://ollamar   r   )tokenallowed_ips
ollama_urlr$   request_timeout	max_filesmax_file_bytessettingsc                     < S # Nr   )configs   r   <lambda>_client.<locals>.<lambda>)   s    r   enginec                      \        4       # rQ   )r)   r   r   r   rS   rT   *   s    jlr   )r   	frozensetsetattr
api_moduler   app)monkeypatchrR   s   &@r   _clientr\   $   sZ    Y~%>?a1TF 
J?
H.BCjnn%%r   c                    V ^8  d   QhRR/# r
   r   Nr   )r   s   "r   r   r   .   s     : :D :r   c           	         \        V 4      P                  R 4      pVP                  p^q2V8H  qD'       g   \        P                  ! RV3RW#34      RR\
        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCVP                  4       R,          pR	qGVJ q'       gy   \        P                  ! RV3RWt34      R
\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;rVP                  4       R,          R,          pR	qGVJ q'       gy   \        P                  ! RV3RWt34      R
\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;rR# )z/healthpy0responsepy2py5assert %(py7)spy7NreadyTpy1py4assert %(py6)spy6r   r   ==z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)s)is)z%(py1)s is %(py4)s)r\   getstatus_code
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationjson)r[   ra   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_assert0@py_assert2@py_format5@py_format7s   &          r   test_health_reports_model_readyr   .   sD   {#''	2H&3&3&&&&&&&&&&&8&&&&8&&&&&&3&&&&&&&&==?7#+t+t+++++#+++#+++t++++++++==?5!.19T9T9999919991999T99999999r   c                    V ^8  d   QhRR/# r^   r   )r   s   "r   r   r   5   s     ' ' 'r   c           	         \        V 4      P                  R 4      pVP                  pRq2V8H  qD'       g   \        P                  ! R	V3R
W#34      RR\
        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCR# )/v1/extracti  r`   ra   rb   rc   rd   re   Nrk   rm   r\   postrp   rq   rr   rs   rt   ru   rv   rw   rx   r[   ra   rz   r{   r|   r}   r~   s   &      r   test_extract_requires_tokenr   5   s    {#((7H&3&3&&&&&&&&&&&8&&&&8&&&&&&3&&&&&&&&r   c                    V ^8  d   QhRR/# r^   r   )r   s   "r   r   r   :   s     ' ' 'r   c           	         \        V 4      P                  R RR/RR/R7      pVP                  pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\
        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCR# )r   X-PataniscAI-TokenrG   manifestz{"documents":[]})headersdatai  r`   ra   rb   rc   rd   re   Nrk   rm   r   r   s   &      r   #test_extract_rejects_empty_manifestr   :   s    {#((%y1,- ) H
 &3&3&&&&&&&&&&&8&&&&8&&&&&&3&&&&&&&&r   c                    V ^8  d   QhRR/# r^   r   )r   s   "r   r   r   C   s     	C 	CD 	Cr   c           	      x   R p\        V 4      P                  RRR/RV/RR/R7      pVP                  p^qCV8H  qU'       g   \        P                  ! RV3RW434      RR\
        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVP                  4       R,          ^ ,          R,          pRqXV8H  q'       gy   \        P                  ! RV	3RW34      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rR# )zW{"documents":[{"id":"d1","name":"pagina.png","type":"cc_verso","upload_key":"file_0"}]}r   r   rG   r   file_0)r   r   filesr`   ra   rb   rc   rd   re   Nr8   r;   r<   rg   rh   ri   rj   )z
pagina.pngs   imagemz	image/pngrk   rm   )z%(py1)s == %(py4)s)r\   r   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   )r[   r   ra   rz   r{   r|   r}   r~   r   r   r   r   s   &           r   'test_extract_accepts_dynamic_upload_keyr   C   s   hH{#((%y1(#?@	 ) H &3&3&&&&&&&&&&&8&&&&8&&&&&&3&&&&&&&&==?+,Q/7B7B7BBBBB7BBB7BBB7BBBBBBBBr   )builtinsrs   _pytest.assertion.rewrite	assertionrewriterq   fastapi.testclientr   pataniscai.apiapirY   pataniscai.configr   r   r)   r\   r   r   r   r   r   r   r   <module>r      sA       ) # &
 

 
&&:'
'	Cr   