o
    i                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ e jdd ej	
d eee jd  d dlmZ d dlmZ G d	d
 d
ZG dd dZG dd dZG dd dejZedkrce  dS dS )    N)Path)S3ErrorDATABASE_URLzsqlite:///./test.db   )StorageError)MinioServicec                   @   s   e Zd ZdZdZdZi ZdS )_DummyResponsei  z	Not Found    N)__name__
__module____qualname__statusreasondataheaders r   r   R/lsinfo/ai/hellotax_ai/base_platform/tests/services/test_minio_delete_by_prefix.pyr      s
    r   c                   @      e Zd ZdddZdS )_NoSuchBucketClientTc              
   C       ~~~t ddd d d t dd d)NNoSuchBucketz#The specified bucket does not existknowledge-documentscodemessageresource
request_idhost_idresponsebucket_nameobject_namer   r   selfr   prefix	recursiver   r   r   list_objects      z _NoSuchBucketClient.list_objectsNTr
   r   r   r&   r   r   r   r   r          r   c                   @   r   )_InternalErrorClientTc              
   C   r   )NInternalErrorzInternal errorr   r   r!   r"   r   r   r   r&   &   r'   z!_InternalErrorClient.list_objectsNr(   r)   r   r   r   r   r+   %   r*   r+   c                   @   s   e Zd Zdd Zdd ZdS )MinioDeleteByPrefixTestsc                 C   s.   t t }t |_|dd}| |d d S )Nr   tenant_0/kb_3/r   )r   __new__r   clientdelete_by_prefixassertEqual)r#   servicedeletedr   r   r   6test_delete_by_prefix_returns_zero_when_bucket_missing5   s   
zOMinioDeleteByPrefixTests.test_delete_by_prefix_returns_zero_when_bucket_missingc                 C   sN   t t }t |_| t |dd W d    d S 1 s w   Y  d S )Nr   r.   )r   r/   r+   r0   assertRaisesr   r1   )r#   r3   r   r   r   0test_delete_by_prefix_raises_for_other_s3_errors=   s
   
"zIMinioDeleteByPrefixTests.test_delete_by_prefix_raises_for_other_s3_errorsN)r
   r   r   r5   r7   r   r   r   r   r-   4   s    r-   __main__)ossysunittestpathlibr   minio.errorr   environ
setdefaultpathinsertstr__file__resolveparentsapp.core.exceptionsr   app.services.storage.minior   r   r   r+   TestCaser-   r
   mainr   r   r   r   <module>   s      