
    _j                         d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlZdeddfd	Zdeddfd
ZdeddfdZdeddfdZde	deeef         ddfdZdS )    N)DEFAULT_DATABASEDEFAULT_TENANT)ClientFactories)InvalidArgumentError)	GetResult)DictAnyclient_factoriesreturnc                    |                                  }|                                 |                                 }|                    d           |                    t
          d           |                    dddi           |                    t
          t                     |                    ddt          i           |                                }t          |          dk    sJ |d         j
        dk    sJ |                    |d         j
                  }|j        dt          ik    sJ |                    t
          d           |                                }t          |          dk    sJ |d         j        ddik    sJ |                    t
          t                     |                                d                             ddi           |                    t
          d           |                                d                             dd	i           |                    t
          t                     |                                }t          |          dk    sJ |d         j        ddik    sJ |                    t
          d           |                                }t          |          dk    sJ |d         j        dd	ik    sJ |                    t
          t                     |                    d           |                                }t          |          dk    sJ |                    t
          d           |                                }t          |          dk    sJ |                    d           |                                }t          |          dk    sJ d S )
Ntest_dbtenantdatabase
collectionr   )metadata   r   default2test_db2)create_client_from_systemresetcreate_admin_client_from_systemcreate_database
set_tenantr   create_collectionr   list_collectionslennameget_collectionr   modifydelete_collection)r
   clientadmin_clientcollectionsr   s        f/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/chromadb/test/client/test_database_tenant.py test_database_tenant_collectionsr&   
   s   7799F
LLNNN#CCEEL  +++ ^i@@@
\Z4KLLL ^6FGGG
\ZAQ4RSSS ))++K{q    q>,....&&{1~':;;J:/?"@@@@@ ^i@@@))++K{q    q>"z9&===== ^6FGGG
a ''*j1I'JJJ
^i@@@
a ''*j1I'JJJ ^6FGGG))++K{q    q>"z:&>>>>>
^i@@@))++K{q    q>"z:&>>>>> ^6FGGG
\***))++K{q    
^i@@@))++K{q    
\***))++K{q          c                 Z   |                                  }|                                 |                                 }|                    d           |                    d           |                    d          }|                    t                     |                    d          }g dd t          d          D             g dd}g d	d
 t          d          D             g d	d} |j        di |  |j        di | |	                    ddg          }|d         |d         k    sJ t          ||           |d         |d         k    sJ |	                    ddg          }|d         |d         k    sJ t          ||           |d         |d         k    sJ d S )Nr   )r   collection_newcollection_defaultabcc                     g | ]}g d S )g      ?g       @g      @ .0_s     r%   
<listcomp>z1test_database_collections_add.<locals>.<listcomp>Z       9991999r'      ids
embeddings	documentsr.   dec                     g | ]}g d S )g      @g      @g      @r1   r2   s     r%   r5   z1test_database_collections_add.<locals>.<listcomp>`   r6   r'   r:   r;   includer9   resrecordsr1   )r   r   r   r   set_databaser   r   rangeaddgetcheck_embeddings)r
   r"   r#   coll_newcoll_defaultrecords_newrecords_defaultrD   s           r%   test_database_collections_addrO   H   s   7799F
LLNNN $CCEEL  +++ +++''(899H !1222++,@AAL 99a999$__ K 99a999$__ O HL; L''''' ,,k:,
;
;Cu:U+++++k2222{{;77777


L+#>

?
?Cu://///o6666{{;;;;;;;r'   c                    |                                  }|                                 |                                 }|                    d           |                    d           |                    dd           |                    dd           |                    dd           |                    d          }|                    dd           |                    d          }g dd t          d	          D             g dd
}g dd t          d	          D             g dd
} |j        di |  |j        di | |	                    ddg          }|d         |d         k    sJ t          ||           |d         |d         k    sJ |	                    ddg          }|d         |d         k    sJ t          ||           |d         |d         k    sJ d S )Ntest_tenant1test_tenant2r   )r   r   r   r+   c                     g | ]}g d S r0   r1   r2   s     r%   r5   z/test_tenant_collections_add.<locals>.<listcomp>   r6   r'   r7   r8   r<   c                     g | ]}g d S r@   r1   r2   s     r%   r5   z/test_tenant_collections_add.<locals>.<listcomp>   r6   r'   r:   r;   rA   r9   rC   r1   )r   r   r   create_tenantr   r   r   rG   rH   rI   rJ   )r
   r"   r#   coll_tenant1coll_tenant2records_tenant1records_tenant2rD   s           r%   test_tenant_collections_addrZ   v   sQ   7799F
LLNNN $CCEEL~...~...  > BBB  > BBB ^i@@@++L99L
^i@@@++L99L 99a999$__ O 99a999$__ O L''''' L''''' 

L+#>

?
?Cu://///o6666{{;;;;;


L+#>

?
?Cu://///o6666{{;;;;;;;r'   c                    |                                  }|                                 |                                 }t          j        t
          t          f          5  |                    d           d d d            n# 1 swxY w Y   t          j        t
          t          f          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr,   )	r   r   r   pytestraises	Exceptionr   r   rU   )r
   r"   r#   s      r%   test_min_len_namer_      sB   7799F
LLNNN $CCEEL		#78	9	9 * *$$S)))* * * * * * * * * * * * * * * 
	#78	9	9 ( (""3'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s$   A??BB*CCCrD   rE   c                 t    | d         %t          j        | d         |d                   sJ d S |d         J d S )Nr:   )nparray_equalrC   s     r%   rJ   rJ      sL    
<$~c,/1FGGGGGGG|$,,,,,r'   )r\   chromadb.configr   r   chromadb.test.conftestr   chromadb.errorsr   chromadb.api.typesr   typingr   r	   numpyra   r&   rO   rZ   r_   strrJ   r1   r'   r%   <module>rj      sF    < < < < < < < < 2 2 2 2 2 2 0 0 0 0 0 0 ( ( ( ( ( (            ;! ;!4 ;! ;! ;! ;!|+<O +< +< +< +< +<\,</ ,<d ,< ,< ,< ,<^( (D ( ( ( (-) -d38n - - - - - - -r'   