o
    _6÷d¡  ã                   @   sR   d Z ddlmZ ddlZe e¡ZddlmZm	Z
 ddlmZ G dd„ deƒZdS )ztest passlib.appsé    )Úwith_statementN)ÚappsÚhash)ÚTestCasec                   @   sh   e Zd 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 )ÚAppsTestz0perform general tests to make sure contexts workc                 C   s   t j}|  t| ¡ ƒd¡ d S )Né2   )r   Zmaster_contextZassertGreaterÚlenÚschemes)ÚselfÚctx© r   únC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\passlib/tests/test_apps.pyÚtest_master_context   s   zAppsTest.test_master_contextc                 C   s6   t j}|  | ¡ d¡ dD ]}|  | d|¡¡ qd S )N)Zsha512_cryptZsha256_crypt)zw$6$rounds=41128$VoQLvDjkaZ6L6BIE$4pt.1Ll1XdDYduEwEYPCMOBiR6W6znsyUEoNlcVXpv2gKKIbQolgmTGe6uEEVJ7azUxuc8Tf7zV9SD2z7Ij751zL$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGnyxDGgMlDcOsfaI17Útest)r   Zcustom_app_contextÚassertEqualr	   Ú
assertTrueÚverify©r
   r   r   r   r   r   Útest_custom_app_context   s
   úz AppsTest.test_custom_app_contextc                 C   óJ   t j}dD ]}|  | d|¡¡ q|  | d¡d¡ |  | dd¡¡ d S )N)úMpbkdf2_sha256$29000$ZsgquwnCyBs2$fBxRQpfKd2PIeMxtkKPy0h7SrnrN+EU/cm67aitoZ2s=z3sha1$0d082$cdb462ae8b6be8784ef24b20778c4d0c82d5957fz*md5$b887a$37767f8a745af10612ad44c80ff52e92zcrypt$95a6d$95x74hLDQKXI2Z 098f6bcd4621d373cade4e832627b4f6r   ú!Údjango_disabled)r   Zdjango16_contextr   r   r   ÚidentifyÚassertFalser   r   r   r   Útest_django16_context)   s
   zAppsTest.test_django16_contextc                 C   r   )N)r   r   r   r   )r   Zdjango_contextr   r   r   r   r   r   r   r   r   Útest_django_context7   s
   zAppsTest.test_django_contextc                 C   s8   t j}dD ]}|  | d|¡¡ q|  | d¡d ¡ d S )N)ú&{SSHA}cPusOzd6d5n3OjSVK3R329ZGCNyFcC7Fr   r   úS{CRYPT}$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGnyxDGgMlDcOsfaI17)r   Zldap_nocrypt_contextr   r   ZassertIsr   r   r   r   r   Útest_ldap_nocrypt_contextA   s   ÿz"AppsTest.test_ldap_nocrypt_contextc                 C   ó&   t j}dD ]}|  | d|¡¡ qd S )N)r   r   r   r   )r   Zldap_contextr   r   r   r   r   r   Útest_ldap_contextL   ó   úzAppsTest.test_ldap_contextc                 C   r    )N)z)*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29Z378b243e220ca493r   )r   Zmysql_contextr   r   r   r   r   r   Útest_ldap_mysql_contextV   s   üz AppsTest.test_ldap_mysql_contextc                 C   s$   t j}d}|  |jd|dd¡ d S )NZ#md55d9c68c6c50ed3d02a2fcf54f63993b6r   Úuser)r$   )r   Zpostgres_contextr   r   r   r   r   r   Útest_postgres_context^   s   zAppsTest.test_postgres_contextc                 C   s    t j}dD ]}|  | d|¡¡ qd}tj ¡ r4|  | d|¡¡ |  | ¡ d¡ |  | 	¡ j
d¡ d S |  | |¡d¡ |  | ¡ d¡ |  | 	¡ j
d¡ d S )N)ú"$P$8Ja1vJsKa5qyy/b3mCJGXM7GyBnt6..ú"$H$8b95CoYQnQ9Y6fSTsACyphNh5yoM02.z_cD..aBxeRhYFJvtUvsIr   z<$2a$04$yjDgE74RJkeqC0/1NheSSOrvKeu9IbKDpcQf/Ox3qsrRS/Kw42qISÚbcryptZphpass)r   Zphpass_contextr   r   Úhashmodr(   Zhas_backendr   Zdefault_schemeÚhandlerÚnamer   )r
   r   r   Úh1r   r   r   Útest_phppass_contextc   s   
zAppsTest.test_phppass_contextc                 C   s<   t j}dD ]}|  | d|¡¡ q|  | d¡ d¡¡ d S )N)r&   r'   r   z$H$)r   Zphpbb3_contextr   r   r   Ú
startswithr   r   r   r   Útest_phpbb3_contextv   s   zAppsTest.test_phpbb3_contextc                 C   r    )N)z?{PBKDF2}9849$JMTYu3eOUSoFYExprVVqbQ$N5.gV.uR1.BTgLSvi0qyPiRlGZ0z-{SHA}a94a8fe5ccb19ba61c4c0873d391e987982fbbd3z{CRYPT}dptOmKDriOGfUz{plaintext}testr   )r   Zroundup_contextr   r   r   r   r   r   Útest_roundup_context   r"   zAppsTest.test_roundup_contextN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r!   r#   r%   r-   r/   r0   r   r   r   r   r      s    

	r   )r4   Ú
__future__r   ÚloggingÚ	getLoggerr1   ÚlogZpasslibr   r   r)   Zpasslib.tests.utilsr   r   r   r   r   r   Ú<module>   s    