
    ug
              	          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mZ dedefdZ ed       e ej"                   ej$                   ej&                               j)                  d	       ed
            dee   ddfd              Z e ej"                   ej$                   ej&                               j)                  d       d
e            dee   ddfd       ZddZ e ej"                   ej$                   ej&                               j)                  d       d
      j)                  d             dee   ddfd       ZddZddZy)    N)ListHashable)givensettings)ONNXMiniLM_L6_V2_verify_sha256xreturnc                     | S N r	   s    U/var/www/openai/venv/lib/python3.12/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BDDr      )r   min_size)	providersr   c                     t        j                  t              5 }t        |       } |dg       d d d        dt	        j
                        v sJ y # 1 sw Y   #xY w)Npreferred_providerstestz9Preferred providers must be subset of available providerspytestraises
ValueErrorr   strvaluer   eefs      r   "test_unavailable_provider_multipler(      sL     
z	"a)<
F8 
# G#agg,VVV 
#	"   AAc                 .    | t        j                         v S r   r   r   s    r   r   r   (       a;>>@@r   )r   r   c                 .    t        |       } |dg       y )Nr   r   r   )r   r'   s     r   test_available_providerr.   %   s     
i	8BxLr   c                  *    t               }  | dg       y )Nr   r-   )r'   s    r   "test_warning_no_providers_suppliedr0   3   s    		BxLr   c                 .    | t        j                         v S r   r   r   s    r   r   r   ;   r+   r   )r   c                 B    t        |       t        t        |             kD  S r   )lensetr   s    r   r   r   >   s    s1vCF+r   c                     t        j                  t              5 }t        |       } |dg       d d d        dt	        j
                        v sJ y # 1 sw Y   #xY w)Nr   r   z"Preferred providers must be uniquer   r%   s      r   test_provider_repeatingr6   8   sK     
z	"a)<
F8 
# 03qww<??? 
#	"r)   c                     t               } t        j                  | j                         t	        j
                  t              5 }d| _         | dg       d d d        dt        j                        v sJ y # 1 sw Y   #xY w)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_sha256r=   G   sa    		B
MM"""#	z	"a$
F8 
# 1CL@@@ 
#	"s   A66A?c                     t               } t        j                  | j                  d       t	        j
                  | j                  d       t        j                  j                  | j                  | j                        }t        |d      5 }|j                  d       d d d        | j                          t        j                  j                  |      sJ t        t        t        j                  j                  | j                  | j                              | j                        sJ t!         | dg            dk(  sJ y # 1 sw Y   xY w)NT)ignore_errors)exist_okwbs   invalidr   r   )r   r9   r:   r;   osmakedirspathjoinARCHIVE_FILENAMEopenwrite_download_model_if_not_existsexistsr   r#   r<   r3   )r'   rD   fs      r   test_partial_downloadrL   P   s    		B
MM"""$7KK  4077<<(("*=*=>D	dD	Q	
 
$$&77>>$BGGLL))2+>+>?@
   r6(|!!! 
	s   EE)r
   N)r9   rB   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.   r0   r6   r=   rL   r   r   r   <module>rW      s    	 ! "   & h  
4bhh55578??D	
 W$s) W W W bhh55578??@	
 tCy T 

 bhh55578??@	
 	
 f+,@tCy @T @@A"r   