
    Bvhd
              	          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&                               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      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    J/RAG/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)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_suppliedr-   2   s    		BxLr   )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_repeatingr2   7   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_sha256r9   D   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   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   s    		B
MM"""$7KK  4077<<(("*=*=>D	dD	Q	
 
$$&77>>$BGGLL))2+>+>?@
   r6(|!!! 
	s   EE)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 h  
4bhh55578??D	
 W$s) W W W bhh;;;=>tCy T 

 bhh;;;=> f+,	@tCy @T @@A"r   