o
    5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   master_contextassertGreaterlenschemes)selfctx r   k/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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)sha512_cryptsha256_crypt)zw$6$rounds=41128$VoQLvDjkaZ6L6BIE$4pt.1Ll1XdDYduEwEYPCMOBiR6W6znsyUEoNlcVXpv2gKKIbQolgmTGe6uEEVJ7azUxuc8Tf7zV9SD2z7Ij751zL$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGnyxDGgMlDcOsfaI17test)r   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$95x74hLDQKXI2 098f6bcd4621d373cade4e832627b4f6r   !django_disabled)r   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   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   ldap_nocrypt_contextr   r   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   ldap_contextr   r   r   r   r   r   test_ldap_contextL      zAppsTest.test_ldap_contextc                 C   r*   )N)z)*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29378b243e220ca493r   )r   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 )N#md55d9c68c6c50ed3d02a2fcf54f63993b6r   user)r2   )r   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bcryptphpass)r   phpass_contextr   r   hashmodr7   has_backendr   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)r5   r6   r   z$H$)r   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   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,   r0   r4   r@   rC   rE   r   r   r   r   r      s    

	r   )rI   
__future__r   logging	getLoggerrF   logpasslibr   r   r:   passlib.tests.utilsr   r   r   r   r   r   <module>   s    