
    Bvho
                         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 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)NotFoundError)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_databaseget_collectionupsert)r	   clientadmin_client
collections       P/RAG/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 
& 
}	%e$ 
& 
}	%5'?3 
&	% 
&	% 
&	% 
&	%s$   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	}	%##F+ 
&	%	%s   -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_removedr4   7   s    ''1F**+<=L  !78 1<RSF
U#  !78	}	%e$ 
& 
kk<=FFH1v{{ 
	 
&	% 
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_existr6   K   sM    ++-F
LLN#CCEL	}	%$$U+ 
&	%	%s   
A%%A.)r   chromadb.api.clientr   r   chromadb.configr   chromadb.db.impl.sqliter   chromadb.errorsr   chromadb.test.conftestr   r    r)   r4   r6        r   <module>r>      sd     3 " , ) 24O 4 4.,? ,t ,.6 d (, ,SW ,r=   