
    _jd
              	          d dl Z d dlZd dlmZmZ d dlmZ d dlZd dl	Z	d dl
mZmZ d dlmZ d dlmZ dedefdZ ed	           e ej         ej         ej                                                  d
           ed                    dee         ddfd                        Z e ej         ej         ej                              de                    dee         ddfd            ZddZ e ej         ej         ej                              d                              d                     dee         ddfd            ZddZddZdS )    N)ListHashable)givensettingsONNXMiniLM_L6_V2)_verify_sha256xreturnc                     | S N r
   s    ]/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/chromadb/test/ef/test_default_ef.py	unique_byr      s    H    )deadlinec                 ,    | t          j                    vS r   )onnxruntimeget_available_providersr   s    r   <lambda>r      s    a{BDDD r      )r   min_size)	providersr   c                     t          j        t                    5 }t          |           } |dg           d d d            n# 1 swxY w Y   dt	          |j                  v sJ d S )Npreferred_providerstestz9Preferred providers must be subset of available providerspytestraises
ValueErrorr   strvaluer   eefs      r   "test_unavailable_provider_multipler(      s     
z	"	" a)<<<
F8               G#ag,,VVVVVV   AA
A)r   r   c                 >    t          |           } |dg           d S )Nr   r   r   )r   r'   s     r   test_available_providerr+   &   s'     
i	8	8	8BBxLLLLLr   c                  :    t                      }  | dg           d S )Nr   r   )r'   s    r   "test_warning_no_providers_suppliedr-   2   s     			BBxLLLLLr   )r   c                 \    t          |           t          t          |                     k    S r   )lensetr   s    r   r   r   ;   s    s1vvCFF+ r   c                     t          j        t                    5 }t          |           } |dg           d d d            n# 1 swxY w Y   dt	          |j                  v sJ d S )Nr   r   z"Preferred providers must be uniquer   r%   s      r   test_provider_repeatingr2   7   s     
z	"	" a)<<<
F8               03qw<<??????r)   c                     t                      } t          j        | j                   t	          j        t                    5 }d| _         | dg           d d d            n# 1 swxY w Y   dt          |j	                  v sJ d S )Ninvalidr   z#does not match expected SHA256 hash)
r   shutilrmtreeDOWNLOAD_PATHr    r!   r"   _MODEL_SHA256r#   r$   )r'   r&   s     r   test_invalid_sha256r9   D   s    			B
M""###	z	"	" a$
F8               1CLL@@@@@@s   A!!A%(A%c                     t                      } t          j        | j        d           t	          j        | j        d           t          j                            | j        | j                  }t          |d          5 }|
                    d           d d d            n# 1 swxY w Y   |                                  t          j                            |          sJ t          t          t          j                            | j        | j                            | j                  sJ t!           | dg                    dk    sJ d S )NT)ignore_errors)exist_okwbs   invalidr   r   )r   r5   r6   r7   osmakedirspathjoinARCHIVE_FILENAMEopenwrite_download_model_if_not_existsexistsr	   r#   r8   r/   )r'   r@   fs      r   test_partial_downloadrH   M   sf   			B
M""$7777K 400007<<("*=>>D	dD		 Q	
              $$&&&7>>$BGLL)2+>??@@
     rr6(||!!!!!!s   ?B!!B%(B%)r   N)r5   r>   typingr   r   hypothesis.strategies
strategiesstr   r    
hypothesisr   r   5chromadb.utils.embedding_functions.onnx_mini_lm_l6_v2r   r	   r   listssampled_fromget_all_providersfilterr#   r(   r   r+   r-   r2   r9   rH   r   r   r   <module>rS      s    				 ! ! ! ! ! ! ! ! " " " " " "      & & & & & & & &      Q P P P P P h     
4bh557788??DD	
 	
     W$s) W W W W  W bh;;==>>    tCy T    
   
 bh;;==>>   f++,,	  @tCy @T @ @ @ @A A A A" " " " " "r   