
    恕f$#                         d dl Z d dlmZ d dlZd dlmZ d dlmZ d dl	m
Z
 ddlmZ 	 d dlmZ  G d d	      Z G d
 dej"                        Zy# e$ r	 d dlmZ Y -w xY w)    N)	fileadmin)Admin)Flask   )setup)StringIOc                   6    e Zd Z G d dej                        Zy)Basec                   j    e Zd Z ej                   ej
                  e      d      Zd Zd Z	d Z
d Zy)Base.FileAdminTestsfilesc                     t         NNotImplementedErrorselfs    i/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/flask_admin/tests/fileadmin/test_fileadmin.pyfileadmin_classz#Base.FileAdminTests.fileadmin_class       %%    c                     t         r   r   r   s    r   fileadmin_argsz"Base.FileAdminTests.fileadmin_args   r   r   c                 t   | j                         }| j                         \  }}t               \  }} G d d|      }t        |      }|j	                  dd        ||i |}|j                  |       |j                         }	|	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      v sJ |	j                  d	      }
|
j                  dk(  sJ d
|
j                  j                  d      v sJ |	j                  d	t        d            }
|
j                  dk(  sJ |	j                  d	      }
|
j                  dk(  sJ d
|
j                  j                  d      v sJ d|
j                  j                  d      v sJ |	j                  d      }
|
j                  dk(  sJ d
|
j                  j                  d      v sJ |	j                  dt        dd
            }
|
j                  dk(  sJ |	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      v sJ d|
j                  j                  d      vsJ |	j                  d      }
|
j                  dk(  sJ |	j                  dt        t        d      d
f            }
|
j                  dk(  sJ |	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      v sJ d|
j                  j                  d      v sJ |	j                  dt        d            }
|
j                  dk(  sJ |	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      vsJ d|
j                  j                  d      v sJ |	j                  d      }
|
j                  dk(  sJ |	j                  dt        d            }
|
j                  dk(  sJ |	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      v sJ d|
j                  j                  d      v sJ |	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      v sJ |	j                  dt        dd            }
|
j                  dk(  sJ |	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      v sJ d|
j                  j                  d      vsJ |	j                  dt        d            }
|
j                  dk(  sJ |	j                  d      }
|
j                  dk(  sJ d|
j                  j                  d      vsJ d|
j                  j                  d      v sJ y )Nc                       e Zd ZdZy)8Base.FileAdminTests.test_file_admin.<locals>.MyFileAdmintxtN__name__
__module____qualname__editable_extensions r   r   MyFileAdminr   !   s    &.#r   r%   nameFilesz/admin/myfileadmin/   path=dummy.txtutf-8z'/admin/myfileadmin/edit/?path=dummy.txtz	dummy.txt
new_string)content)datai.  z)/admin/myfileadmin/rename/?path=dummy.txtzdummy_renamed.txt)r&   pathzpath=dummy_renamed.txtz/admin/myfileadmin/upload/ )uploadz/admin/myfileadmin/delete/)r.   z/admin/myfileadmin/mkdir/	dummy_dir)r&   zpath=dummy_dirz)/admin/myfileadmin/rename/?path=dummy_dirdummy_renamed_dirzpath=dummy_renamed_dir)r   r   r   dict
setdefaultadd_viewtest_clientgetstatus_coder-   decodepostr   )r   r   r   fileadmin_kwargsappadminr%   view_kwargsviewclientrvs              r   test_file_adminz#Base.FileAdminTests.test_file_admin   s   "224O/3/B/B/D,N,JC/o / /0K""673>+>DNN4 __&F 12B>>S(((#rww~~g'>>>> EFB>>S((("''.."9999F"&|"<  >B>>S(((EFB>>S((("''.."9999277>>'#:::: GHB>>S((("''.."9999H"&,?,7#9  :B >>S(((12B>>S(((+rww~~g/FFFF#277>>'+BBBB 89B>>S(((9"&x|[.I"J  LB>>S(((12B>>S(((#rww~~g'>>>>+rww~~g/FFFF 9"&,?"@  BB>>S(((12B>>S(((+277>>'3JJJJ#rww~~g'>>>> 78B>>S(((8"&K"8  :B>>S(((12B>>S(((#rww~~g'>>>>#rww~~g'>>>> GHB>>S((("''.."9999H"&,?,7#9  :B >>S(((12B>>S(((+rww~~g/FFFF#277>>'+BBBB 9"&,?"@  BB>>S(((12B>>S(((+277>>'3JJJJ#rww~~g'>>>>r   c                 Z   t        t              }t        |d      }| j                         }| j	                         \  }} G d d|      } G d d|      }t        |      }|j                  dd        ||i |}	t        |      }
|
j                  dd	        ||i |
}|j                  |	       |j                  |       |j                         }|j                  d
      }|j                  dk(  sJ |j                  j                  d      }d|v sJ |j                  d      }|j                  dk(  sJ |j                  j                  d      }d|vsJ t        t              }t        |d      }|j                  |	       |j                  |       |j                         }|j                  d
      }|j                  dk(  sJ |j                  j                  d      }d|v sJ |j                  d      }|j                  dk(  sJ |j                  j                  d      }d|vsJ y )N
bootstrap2)template_modec                       e Zd ZdZdZy)8Base.FileAdminTests.test_modal_edit.<locals>.EditModalOnTr   Nr    r!   r"   
edit_modalr#   r$   r   r   EditModalOnrG      s    !
&.#r   rJ   c                       e Zd ZdZdZy)9Base.FileAdminTests.test_modal_edit.<locals>.EditModalOffFr   NrH   r$   r   r   EditModalOffrL      s    "
&.#r   rM   endpointedit_modal_onedit_modal_offz/admin/edit_modal_on/r(   r*   fa_modal_windowz/admin/edit_modal_off/
bootstrap3)r   r    r   r   r   r3   r4   r5   r6   r7   r8   r-   r9   )r   app_bs2	admin_bs2r   r   r;   rJ   rM   on_view_kwargsrO   off_view_kwargsrP   
client_bs2rA   r-   app_bs3	admin_bs3
client_bs3s                     r   test_modal_editz#Base.FileAdminTests.test_modal_edit   s   HoGg\BI"224O/3/B/B/D,N,/o // / ""23N%%j/B'J>JM"#34O&&z3CD)>M_MN}-~. ,,.J  78B>>S(((77>>'*D$,,,  89B>>S(((77>>'*D$D000 HoGg\BI}-~. ,,.J  78B>>S(((77>>'*D$,,,  89B>>S(((77>>'*D$D000r   N)r    r!   r"   opjoindirname__file___test_files_rootr   r   rB   r[   r$   r   r   FileAdminTestsr      s6    "277:2::h#7A	&	&n	?`>	1r   ra   N)r    r!   r"   unittestTestCasera   r$   r   r   r
   r
      s    w1** w1r   r
   c                       e Zd Zd Zd Zd Zy)LocalFileAdminTestsc                 "    t         j                  S r   )r   	FileAdminr   s    r   r   z#LocalFileAdminTests.fileadmin_class   s    """r   c                 "    | j                   dfi fS )Nz/files)r`   r   s    r   r   z"LocalFileAdminTests.fileadmin_args   s    %%x0"44r   c                    | j                         }| j                         \  }}t               \  }} G d d|      }t        |      }|j	                  dd        ||i |}|j                  |       |j                         }	t        t        j                  | j                  d      d      5 }
|
j                  d       |	j                  d      }|j                  d	k(  sJ |j                  j                  d
      j!                  d      |j                  j                  d
      j!                  d      k  sJ |	j                  d      }|j                  d	k(  sJ |j                  j                  d
      j!                  d      |j                  j                  d
      j!                  d      k  sJ 	 d d d        	 t#        j$                  t        j                  | j                  d             y # 1 sw Y   >xY w# t&        t(        f$ r Y y w xY w)Nc                       e Zd ZdZy)LLocalFileAdminTests.test_fileadmin_sort_bogus_url_param.<locals>.MyFileAdminr   Nr   r$   r   r   r%   rk      s    "*r   r%   r&   r'   z
dummy2.txtwtestz/admin/myfileadmin/?sort=bogusr(   r*   zpath=dummy2.txtr)   z/admin/myfileadmin/?sort=name)r   r   r   r3   r4   r5   r6   openr\   r]   r`   writer7   r8   r-   r9   findosremoveIOErrorOSError)r   r   r   r;   r<   r=   r%   r>   r?   r@   fprA   s               r   #test_fileadmin_sort_bogus_url_paramz7LocalFileAdminTests.test_fileadmin_sort_bogus_url_param   s   ..0+/+>+>+@((W
U	+/ 	+ +,vw/N:k:t""''$//>D 	@HHV<=B>>S(((77>>'*//0ABw',,-=>? ? ? ;<B>>S(((77>>'*//0@Aw',,->?@ @ @	@	IIbggd33\BC	@ 	@  ! 		s   ,DG.:3G: .G7:HHN)r    r!   r"   r   r   rv   r$   r   r   re   re      s    #5 r   re   )rq   os.pathr.   r\   rb   flask_admin.contribr   flask_adminr   flaskr   r/   r   r   ImportErrorior
   ra   re   r$   r   r   <module>r}      sV    	   )   !
x1 x1v'$-- '  s   A AA