
    3id
              	          S SK r S SKrS SKJrJr  S SKJr  S SKrS SK	r	S SK
JrJr  S SKJr  S SKJr  S\S\4S jr\" SS	9\" \R"                  " \R$                  " \R&                  " 5       5      R)                  S
 5      \SS9S9S\\   SS4S j5       5       r\" \R"                  " \R$                  " \R.                  " 5       5      S\S9S9S\\   SS4S j5       rSS jr\" \R"                  " \R$                  " \R.                  " 5       5      SS9R)                  S 5      S9S\\   SS4S j5       rSS jrSS jrg)    N)ListHashable)givensettingsONNXMiniLM_L6_V2)_verify_sha256xreturnc                     U $ N r
   s    Z/home/james-whalen/.local/lib/python3.13/site-packages/chromadb/test/ef/test_default_ef.py	unique_byr      s    H    )deadlinec                 2    U [         R                  " 5       ;  $ r   )onnxruntimeget_available_providersr   s    r   <lambda>r      s    a{BBDDr      )r   min_size)	providersr   c                     [         R                  " [        5       n[        U S9nU" S/5        S S S 5        S[	        WR
                  5      ;   d   eg ! , (       d  f       N*= f)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                 (    [        U S9nU" S/5        g )Nr   r   r   )r   r'   s     r   test_available_providerr+   &   s     
i	8BxLr   c                  *    [        5       n U " S/5        g )Nr   r   )r'   s    r   "test_warning_no_providers_suppliedr-   2   s    		BxLr   )r   c                 B    [        U 5      [        [        U 5      5      :  $ r   )lensetr   s    r   r   r   ;   s    s1vCF+r   c                     [         R                  " [        5       n[        U S9nU" S/5        S S S 5        S[	        WR
                  5      ;   d   eg ! , (       d  f       N*= f)Nr   r   z"Preferred providers must be uniquer   r%   s      r   test_provider_repeatingr2   7   sK     
z	"a)<
F8 
# 03qww<??? 
#	"r)   c                     [        5       n [        R                  " U R                  5        [        R
                  " [        5       nSU l        U " S/5        S S S 5        S[        WR                  5      ;   d   eg ! , (       d  f       N*= f)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   A::
Bc                     [        5       n [        R                  " U R                  SS9  [        R
                  " U R                  SS9  [        R                  R                  U R                  U R                  5      n[        US5       nUR                  S5        S S S 5        U R                  5         [        R                  R                  U5      (       d   e[        [        [        R                  R                  U R                  U R                  5      5      U R                  5      (       d   e[!        U " S/5      5      S:X  d   eg ! , (       d  f       N= f)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      sm    	 ! "   & Q h  
4hh
5578??D	
 W$s) W W W hh
;;=>tCy T 

 hh
;;=> f+,	@tCy @T @@A"r   