Ë
    Bü´jŒ  ã                   óz   — d dl Z d dlZd dlmZ 	  G d„ dej                  «      Zedk(  r ej                  «        yy)é    N)Úpatchc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚSSLCompatTestc                 óT  — ddl m} | j                  |j                  «       | j	                  |j
                  «       | j                  t        |d«      «       | j                  t        |d«      «       | j                  t        |d«      «       | j                  t        |d«      «       y)z/Test that SSL is available in normal conditionsr   NÚSSLErrorÚSSLEOFErrorÚSSLWantReadErrorÚSSLWantWriteError)Úwebsocket._ssl_compatÚ_ssl_compatÚ
assertTrueÚHAVE_SSLÚassertIsNotNoneÚsslÚhasattr)ÚselfÚ
ssl_compats     ú]/root/workspace/ytshorts/venv/lib/python3.12/site-packages/websocket/tests/test_ssl_compat.pyÚtest_ssl_availablez SSLCompatTest.test_ssl_available   s{   € å2ð 	�‰˜
×+Ñ+Ô,Ø×Ñ˜ZŸ^™^Ô,ð 	�‰œ 
¨JÓ7Ô8Ø�‰œ 
¨MÓ:Ô;Ø�‰œ 
Ð,>Ó?Ô@Ø�‰œ 
Ð,?Ó@ÕAó    c                 óè  ‡— dt         j                  v rt         j                  d= ddl}|j                  Šˆfd„}t	        d|¬«      5  ddlm} | j                  |j                  «       | j                  |j                  «       | j                  t        |j                  t        «      «       | j                  t        |j                  t        «      «       | j                  t        |j                   t        «      «       | j                  t        |j"                  t        «      «       |j                  d«      }| j%                  |t        «       | j'                  t)        |«      d«       |j                  d«      }| j%                  |t        «       |j!                  d	«      }| j%                  |t        «       |j#                  d
«      }| j%                  |t        «       ddd«       y# 1 sw Y   yxY w)z0Test fallback behavior when SSL is not availableúwebsocket._ssl_compatr   Nc                 ó<   •— | dk(  rt        d«      ‚ ‰| g|¢­i |¤ŽS )Nr   zNo module named 'ssl')ÚImportError)ÚnameÚargsÚkwargsÚoriginal_imports      €r   Úmock_importz9SSLCompatTest.test_ssl_not_available.<locals>.mock_import4   s+   ø€ Ø�uŠ}Ü!Ð"9Ó:Ð:Ù" 4Ð9¨$Ò9°&Ñ9Ð9r   zbuiltins.__import__)Úside_effectz
test errorztest eofz	test readz
test write)ÚsysÚmodulesÚbuiltinsÚ
__import__r   r   r   ÚassertFalser   ÚassertIsNoner   r   Ú
issubclassr   Ú	Exceptionr   r	   r
   ÚassertIsInstanceÚassertEqualÚstr)	r   r#   r   r   Ú	ssl_errorÚssl_eof_errorÚssl_want_readÚssl_want_writer   s	           @r   Útest_ssl_not_availablez$SSLCompatTest.test_ssl_not_available)   s|  ø€ ð #¤c§k¡kÑ1Ü—‘Ð3Ð4ó 	à"×-Ñ-ˆô	:ô
 Ð(°kÔBñ 	=Ý6ð ×Ñ˜Z×0Ñ0Ô1Ø×Ñ˜jŸn™nÔ-ð �O‰OœJ z×':Ñ':¼IÓFÔGØ�O‰OœJ z×'=Ñ'=¼yÓIÔJØ�O‰OœJ z×'BÑ'BÄIÓNÔOØ�O‰OœJ z×'CÑ'CÄYÓOÔPð #×+Ñ+¨LÓ9ˆIØ×!Ñ! )¬YÔ7Ø×ÑœS ›^¨\Ô:à&×2Ñ2°:Ó>ˆMØ×!Ñ! -´Ô;à&×7Ñ7¸ÓDˆMØ×!Ñ! -´Ô;à'×9Ñ9¸,ÓGˆNØ×!Ñ! .´)Ô<÷3	=÷ 	=ñ 	=ús   ÁFG(Ç(G1c                 óL   — dt         j                  v rt         j                  d= yy)zClean up after testsr   N)r!   r"   )r   s    r   ÚtearDownzSSLCompatTest.tearDownT   s"   € ð #¤c§k¡kÑ1Ü—‘Ð3Ñ4ð 2r   N)Ú__name__Ú
__module__Ú__qualname__r   r0   r2   © r   r   r   r      s   „ òBò)=óV5r   r   Ú__main__)r!   ÚunittestÚunittest.mockr   ÚTestCaser   r3   Úmainr6   r   r   ú<module>r<      s@   ðã 
Û Ý ðô(>5�H×%Ñ%ô >5ðB ˆzÒØ€H‡M�M…Oð r   