
    ug
                         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	m
Z
 d dlmZm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y)    N)AdminClientClient)System)SqliteDB)InvalidCollectionExceptionNotFoundError)NOT_CLUSTER_ONLYClientFactoriesclient_factoriesreturnc                 p   | j                         }|j                          | j                         }|j                  d       | j                  d      }|j	                  d      }|j                  d       t        j                  t              5  |j                  d       d d d        t        j                  t              5  |j                  d       d d d        t        j                  t              5  |j                  dgg d       d d d        y # 1 sw Y   txY w# 1 sw Y   MxY w# 1 sw Y   y xY w)Ntest_delete_databasedatabasefoo)        r   r   )create_clientresetcreate_admin_client_from_systemcreate_databasecreate_collectiondelete_databasepytestraisesr   get_databaser   get_collectionupsert)r   clientadmin_client
collections       [/var/www/openai/venv/lib/python3.12/site-packages/chromadb/test/api/test_delete_database.pytest_deletes_databaser"   	   s    ++-F
LLN#CCEL  !78++5K+LF))%0J  !78	}	%!!"89 
& 
1	2e$ 
3 
1	25'?3 
3	2 
&	% 
3	2 
3	2s$   DD 5D,D D),D5c                 (   | j                         }|j                          | j                         }|j                  d       |j                  d       | j                  d      }|j	                  d       | j                  d      }|j	                  d      }|j                  d       |j                  d      j                  |j                  k(  sJ t        j                  t              5  |j                  d       d d d        y # 1 sw Y   y xY w)Nfirstsecondr   test)r   r   r   r   r   r   r   idr   r   r   )r   r   r   first_clientsecond_clientsecond_collections         r!   $test_does_not_affect_other_databasesr+       s    ++-F
LLN#CCEL  )  *#1171CL""6*$22H2EM%77?  )''/226G6J6JJJJ	1	2##F+ 
3	2	2s   -DDsqlite_persistentc                    | j                  t              }t        j                  |       }|j	                  d       t        j                  | d      }|j                  d       |j                  d       t        j                  t              5  |j                  d       d d d        |j                         5 }|j                  d      j                         }|d   dk(  sJ 	 d d d        y # 1 sw Y   MxY w# 1 sw Y   y xY w)Nr   r   r   z SELECT COUNT(*) from collectionsr   )instancer   r   from_systemr   r   r   r   r   r   r   r   txexecutefetchone)r,   sqliter   r   currows         r!   test_collection_was_removedr6   7   s    ''1F**+<=L  !78 1<RSF
U#  !78	1	2e$ 
3 
kk<=FFH1v{{ 
	 
3	2 
s   C,8*C8,C58Dc                     | j                         }|j                          | j                         }t        j                  t
              5  |j                  d       d d d        y # 1 sw Y   y xY w)Nr   )r   r   r   r   r   r   r   )r   r   r   s      r!   (test_errors_when_database_does_not_existr8   K   sM    ++-F
LLN#CCEL	}	%$$U+ 
&	%	%s   
A%%A.)r   chromadb.api.clientr   r   chromadb.configr   chromadb.db.impl.sqliter   chromadb.errorsr   r   chromadb.test.conftestr	   r
   r"   r+   r6   r8        r!   <module>r@      sd     3 " , E D4O 4 4.,? ,t ,.6 d (, ,SW ,r?   