
    ug                        U d dl mZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZ deded	efd
Zdededej&                  d	efdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZdededej&                  d	dfdZ dededej&                  d	dfdZ!dededej&                  d	dfdZ"dededej&                  d	dfdZ#dededej&                  d	dfdZ$dededej&                  d	dfd Z%dededej&                  d	dfd!Z&dededej&                  d	dfd"Z'i d#ed$ed%ed&ed'ed(ed)ed*ed+ed,ed-ed.e d/e!d0e"d1e#d2e$d3e%e&e'd4Z(ee)eeeej&                  gdf   f   e*d5<   y)6    N)CallableDict)	ServerAPI)DEFAULT_TENANTDEFAULT_DATABASE)collection_nametenant_database_name
Collectionapimodelreturnc                     t        | |      S )N)clientr   r
   r   r   s     [/var/www/openai/venv/lib/python3.12/site-packages/chromadb/test/auth/rbac_test_executors.py
wrap_modelr      s    S..    root_apidrawc                 $    |t                     }d }	 |j                  |      }|st        d      t	        ||      }|j                  dgdg       t	        | | j                  |            }|S # t        $ r |j                  |      }Y iw xY w)NzFailed to create collectionr   1test documentids	documents)r   create_collection	Exceptionget_collectionr   add)r   r   r   
collectionroot_colcols         r   add_to_root_and_get_collectionr$      s     o'(JH7--j9 566hh7HLLcU&7L8
C$6$6z$B
CCJ  7**:67s   A2 2BB	_root_apic                 ^     |t               }	 | j                  |       y # t        $ r Y y w xY wN)r	   create_tenantr   )r   r%   r   tenants       r   _create_tenant_executorr*   -   s4     &'F&! s     	,,_drawc                 .    | j                  t               y r'   )
get_tenantr   r   r%   r+   s      r   _get_tenant_executorr/   7   s    
 NN>"r   c                 h     |t               }	 | j                  |t               y # t        $ r Y y w xY wr'   )r	   create_databaser   r   )r   r%   r   databases       r   _create_database_executorr3   ?   s6     ()HHn5 s   % 	11c                 8    | j                  t        t               y r'   )get_databaser   r   r.   s      r   _get_database_executorr6   I   s    
 %~6r   c                 $    | j                          y r'   )resetr.   s      r   _reset_executorr9   Q   s    
 IIKr   c                 $    | j                          y r'   )list_collectionsr.   s      r   _list_collections_executorr<   Y   s    
 r   c                      |t                     }	 |j                  |       | j                  |       y # t        $ r Y w xY wr'   )r   r   r   r   r   r   r   r!   s       r   _get_collection_executorr?   a   sH    
 o'(J"":. z"     5 	A Ac                 F     |t                     }| j                  |       y r'   )r   r   r   r%   r   r!   s       r   _create_collection_executorrC   n   s    
 o'(J*%r   c                 f     |t                     }	 | j                  |       y # t        $ r Y y w xY wr'   )r   get_or_create_collectionr   rB   s       r   "_get_or_create_collection_executorrF   w   s6    
 o'(J$$Z0 s   $ 	00c                      |t                     }	 |j                  |       | j                  |       y # t        $ r Y w xY wr'   )r   r   r   delete_collectionr>   s       r   _delete_collection_executorrI      sH     o'(J"":. *%  r@   c                 F    t        | ||      }|j                  ddi       y )Nfoobar)metadata)r$   modifyr   r   r   r#   s       r   _update_collection_executorrP      s$     )h
=CJJJ'r   c                 H    t        | ||      }|j                  dgdg       y )Nr   r   r   )r$   r    rO   s       r   _add_executorrR      s'    
 )h
=CGG/!2G3r   c                 D    t        | ||      }|j                  dg       y Nr   )r   )r$   deleterO   s       r   _delete_executorrV      s"    
 )h
=CJJC5Jr   c                 D    t        | ||      }|j                  dg       y rT   )r$   getrO   s       r   _get_executorrY      s"    
 )h
=CGGGr   c                 D    t        | ||      }|j                  dg       y )Nztest query text)query_texts)r$   queryrO   s       r   _query_executorr]      s$    
 )h
=CII,-I.r   c                 >    t        | ||      }|j                          y r'   )r$   peekrO   s       r   _peek_executorr`      s    
 )h
=CHHJr   c                 >    t        | ||      }|j                          y r'   )r$   countrO   s       r   _count_executorrc      s    
 )h
=CIIKr   c                 H    t        | ||      }|j                  dgdg       y Nr   zdifferent test documentr   )r$   updaterO   s       r   _update_executorrg      (    
 )h
=CJJC5%>$?J@r   c                 H    t        | ||      }|j                  dgdg       y re   )r$   upsertrO   s       r   _upsert_executorrk      rh   r   zsystem:resetztenant:create_tenantztenant:get_tenantzdb:create_databasezdb:get_databasezdb:list_collectionszcollection:get_collectionzdb:create_collectionzdb:get_or_create_collectionzcollection:delete_collectionzcollection:update_collectionzcollection:addzcollection:deletezcollection:getzcollection:queryzcollection:peekzcollection:count)zcollection:updatezcollection:upsertapi_executors)+hypothesis.strategies
strategiessttypingr   r   chromadb.apir   chromadb.configr   r   !chromadb.test.property.strategiesr   r	   chromadb.api.models.Collectionr   chromadb.typesCollectionModelr   DrawFnr$   r*   r/   r3   r6   r9   r<   r?   rC   rF   rI   rP   rR   rV   rY   r]   r`   rc   rg   rk   rl   str__annotations__ r   r   <module>r{      s   " ! " < 6 8/I /o /* /	'/1yy6	(02			#	## 99# 
	#	(02			7	77 997 
	7	 99 
		 99 
	
#	
#
# ))
# 
	
#&	&& ))& 
	&				 ))	 
		&	&'&/1yy&	&(	('(/1yy(	(4	44 ))4 
	4	 )) 
		 )) 
	/	// ))/ 
	/	 )) 
		 )) 
	A	AA ))A 
	AA	AA ))A 
	AOOO3O -O 3	O
 -O 5O  !9O 7O "#EO #$?O #$?O mO )O mO O  ~!O" #O$ *)'OtC9i"CT"IJJK r   