a
    Oʞh                     @   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 )N2   )r   Zmaster_contextZassertGreaterlenschemes)selfctx r   R/wd/webapps/venvs/v2025_4um/lib/python3.9/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   sJ   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   sJ   t j}dD ]}| |d| q
| |dd | |dd d S )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   s&   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   s    zAppsTest.test_ldap_contextc                 C   s&   t j}dD ]}| |d| q
d S )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 rf| |d| | | d | |	 j
d n4| ||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   Z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   s&   t j}dD ]}| |d| q
d S )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   s    zAppsTest.test_roundup_contextN)__name__
__module____qualname____doc__r   r   r   r   r   r   r    r"   r)   r+   r,   r   r   r   r   r      s   

	r   )r0   
__future__r   logging	getLoggerr-   logZpasslibr   r   r&   Zpasslib.tests.utilsr   r   r   r   r   r   <module>   s
   