U
    -e=                     @   s   G d d dZ dS )c                   @   sd   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd ZdS )AbstractPutTestsc           
      C   s  |}|}| | |  s*|||d ||s8t||d}||d}	|||d| ||slt|||dd| ||	st|||	g ||rt||	rt|||d|d  ||st||st|||dd|d  ||	std S )Ndummyfile2subfile1subdir/)	mkdirsupports_empty_directoriestouchisdirAssertionErrorputisfilermexists)
selffsfs_join	fs_target
local_join local_bulk_operations_scenario_0sourcetargetZtarget_file2Ztarget_subfile1 r   Z/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/fsspec/tests/abstract/put.py#test_put_file_to_existing_directory   s(    	


z4AbstractPutTests.test_put_file_to_existing_directoryc                 C   sh   |}|}| | |||dd||d ||s:t|||dsNt|||ddsdtd S )Nr   r   znewdir/newdirr   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   test_put_file_to_new_directory,   s    

 z/AbstractPutTests.test_put_file_to_new_directoryc                 C   sD   |}|}| | |||dd||d |||ds@td S )Nr   r   newfile)r   r   r   r   r   r   r   r   +test_put_file_to_file_in_existing_directory<   s
    
z<AbstractPutTests.test_put_file_to_file_in_existing_directoryc                 C   s\   |}|}| | |||dd||dd |||dsBt|||ddsXtd S )Nr   r   r   r   r   r   r   r   r   &test_put_file_to_file_in_new_directoryH   s    


z7AbstractPutTests.test_put_file_to_file_in_new_directoryc                 C   s   |}|}| | |  s.||d}|| ||s<ttddgddgD ]\}}	||d}
|rn|
d7 }
|	rz|d n|}||
| |  r||g ksn|gst|j|
|dd |rF|||dst|||dst|||d	st|||d	d
st|	||dr,t|j
|j|dddd n|||ds\t|||ddstt|||ddst|||dd	st|||dd	d
st|j
||ddd |  r||g ksn|gst|j|
|ddd |r|||ds(t|||ds>t|	||d	rTt|	||drjt|j
|j|dddd nr|||dst|||ddst|||ddst|	||dd	rt|j
||ddd |  r||g ksNn|gsNtqNd S )Nr   FTr   r   	recursiver   subfile2	nesteddir
nestedfiledetail   r#   Zmaxdepthr   r   r	   r
   r   zipr   lsr   r   r   r   r   r   r   r   r   r   r   Zsource_slashtarget_slashstr   r   r   (test_put_directory_to_existing_directoryX   sT    



"(z9AbstractPutTests.test_put_directory_to_existing_directoryc                 C   s*  |}|}| | |  s.||d}|| ||s<ttddgddgD ]\}}	||d}
|rn|
d7 }
||d}|	r|d7 }||
| |  r||g ksn|gst|j|
|dd |||dst|||ddst|||dd	st|||dd
st|||dd
ds6t|	||drLt|j
||ddd |	||drvt|j|
|ddd |||dst|||ddst|||dd	st|	||dd
rt|	||drt|j
||ddd |	||drNtqNd S )Nr   FTr   r   r   r"   r   r$   r%   r&   r)   r*   r+   r.   r   r   r   #test_put_directory_to_new_directory   sB    




"z4AbstractPutTests.test_put_directory_to_new_directoryc                 C   s  |}|}| | |  s.||d}|| ||s<tdD ]D}	|	rR|d n|}
|||dd|
 |||ds~t|||dst|||drt|||dd	rt|||drt|j|j	|d
ddd |  r|	|g ksn|gst|j||dd|
dd |||ds>t|||dsTt|||dsjt|||dd	st|||drt|j|j	|d
ddd |  r|	|g ksn|gst|j||dd|
ddd |||dst|||dst|||dr4t|||drJt|j|j	|d
ddd |  r||	|g ks@n|gs@tq@d S )Nr   FTr   r   *r   r$   r%   r&   Fr'   Tr"   r)   r*   )
r   r   r	   r
   r   r   r   r   r   r-   r   r   r   r   r   r   r   r   r   r/   r1   r   r   r   #test_put_glob_to_existing_directory   s@    



((z4AbstractPutTests.test_put_glob_to_existing_directoryc                 C   s  |}|}| | |  s.||d}|| ||s<tdD ]}	||d}
|	r\|
d7 }
|||dd|
 |||dst|||ddst|||ddst|||dd	rt|||dd	d
rt|||drt|||ddr
t|j||ddd |||dr4t|j||dd|
dd |||dsbt|||ddszt|||ddst|||dd	st|||dd	d
st|||drt|||ddrt|j||ddd |||drt|j||dd|
ddd |||dsLt|||ddsdt|||dds|t|||dd	rt|||drt|||ddrt|j||ddd |||dr@tq@d S )Nr   r4   r   r   r   r5   r   r$   r%   r&   Tr"   r)   r*   )	r   r   r	   r
   r   r   r   r   r   r6   r   r   r   test_put_glob_to_new_directory   sP    




z/AbstractPutTests.test_put_glob_to_new_directoryc                 C   s   |}|}| | |  s.||d}	||	 ||s<t||d||d||ddg}
dD ]}|rn|d n|}||
| |||dst|||dst|||dst||| |  r|	|g ks^n|	gs^tq^d S )Nr   file1r   r   r   r4   r   )
r   r   r	   r
   r   r   r   r   findr-   )r   r   r   r   r   r   Zfs_pathr   r   r   source_filesr/   r1   r   r   r   ,test_put_list_of_files_to_existing_directory1  s&    




z=AbstractPutTests.test_put_list_of_files_to_existing_directoryc           	      C   s   |}|}| | ||d||d||ddg}||||dd  |||dsZt|||ddspt|||ddst|||ddstd S )Nr9   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r;   r   r   r   'test_put_list_of_files_to_new_directoryV  s    

z8AbstractPutTests.test_put_list_of_files_to_new_directoryc                 C   sR  ||d}||d}| | || |}	||	r:ttdD ]}
|j||	dd ||	sdt|
dkr|||	dst|||	drtqB|||	dst|||	dst|||	ddsBtqB|j|	dd ||	rttdD ]R}
|j|d |	dd ||	s"t|||	ds8t|||	drtqd S )Nsrcfile   Tr"       r   )	r   r	   r   r   ranger   r
   r   r   )r   r   r   r   Zlocal_fsr   Z
local_pathr>   Zsrc_filer   loopr   r   r   test_put_directory_recursivek  s,    



z-AbstractPutTests.test_put_directory_recursiveN)__name__
__module____qualname__r   r   r    r!   r2   r3   r7   r8   r<   r=   rD   r   r   r   r   r      s   *>119%r   N)r   r   r   r   r   <module>       