o
    g
                     @   sb  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dZedd	eejee d
d eddddee ddfddZeejee dd dedddee ddfddZd!ddZeejee dd dddd ddee ddfddZd!ddZd!dd ZdS )"    N)ListHashable)givensettings)ONNXMiniLM_L6_V2_verify_sha256xreturnc                 C   s   | S N r   r   r   W/var/www/visachat/venv/lib/python3.10/site-packages/chromadb/test/ef/test_default_ef.py	unique_by   s   r   )deadlinec                 C   s   | t  vS r
   onnxruntimeget_available_providersr   r   r   r   <lambda>       r      )r   min_size)	providersr   c                 C   T   t t}t| d}|dg W d    n1 s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efr   r   r   "test_unavailable_provider_multiple   s
   
r%   c                 C      | t  v S r
   r   r   r   r   r   r   (   r   )r   r   c                 C   s   t | d}|dg d S )Nr   r   r   )r   r$   r   r   r   test_available_provider%   s   

r(   c                  C   s   t  } | dg d S )Nr   r'   )r$   r   r   r   "test_warning_no_providers_supplied3   s   r)   c                 C   r&   r
   r   r   r   r   r   r   ;   r   )r   c                 C   s   t | t t| kS r
   )lensetr   r   r   r   r   >   s    c                 C   r   )Nr   r   z"Preferred providers must be uniquer   r"   r   r   r   test_provider_repeating8   s
   	
r,   c                  C   sb   t  } t| j tt}d| _| dg W d    n1 s!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#   r   r   r   test_invalid_sha256G   s   r2   c                  C   s   t  } tj| jdd tj| jdd tj| j| j}t	|d}|
d W d    n1 s1w   Y  |   tj|sBJ tttj| j| j| jsSJ t| dgdks^J d S )NT)ignore_errors)exist_okwbs   invalidr   r   )r   r.   r/   r0   osmakedirspathjoinARCHIVE_FILENAMEopenwrite_download_model_if_not_existsexistsr   r    r1   r*   )r$   r8   fr   r   r   test_partial_downloadP   s   r@   )r	   N)r.   r6   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   r@   r   r   r   r   <module>   sV    		


	