
    i                     |    S SK r S SKrS SKJr    " S S\R                  5      r\S:X  a  \R                  " 5         gg)    N)patchc                   &    \ rS rSrS rS rS rSrg)SSLCompatTest   c                 T   SSK Jn  U R                  UR                  5        U R	                  UR
                  5        U R                  [        US5      5        U R                  [        US5      5        U R                  [        US5      5        U R                  [        US5      5        g)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     LC:\des-py\RoboSAPF\venv\Lib\site-packages\websocket/tests/test_ssl_compat.pytest_ssl_available SSLCompatTest.test_ssl_available   s{    2 	
++,Z^^, 	
J78
M:;
,>?@
,?@A    c                   ^ S[         R                  ;   a  [         R                  S	 SSKnUR                  mU4S jn[	        SUS9   SSKJn  U R                  UR                  5        U R                  UR                  5        U R                  [        UR                  [        5      5        U R                  [        UR                  [        5      5        U R                  [        UR                   [        5      5        U R                  [        UR"                  [        5      5        UR                  S5      nU R%                  U[        5        U R'                  [)        U5      S5        UR                  S5      nU R%                  U[        5        UR!                  S	5      nU R%                  U[        5        UR#                  S
5      nU R%                  U[        5        SSS5        g! , (       d  f       g= f)z0Test fallback behavior when SSL is not availablewebsocket._ssl_compatr   Nc                 >   > U S:X  a  [        S5      eT" U /UQ70 UD6$ )Nr   zNo module named 'ssl')ImportError)nameargskwargsoriginal_imports      r   mock_import9SSLCompatTest.test_ssl_not_available.<locals>.mock_import3   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_available$SSLCompatTest.test_ssl_not_available(   st    #ckk134 	"--	:
 (kB6 Z001jnn- OOJz':':IFGOOJz'='=yIJOOJz'B'BINOOOJz'C'CYOP #++L9I!!)Y7S^\:&22:>M!!-;&77DM!!-;'99,GN!!.)<3 CBBs   FG((
G6c                 P    S[         R                  ;   a  [         R                  S	 gg)zClean up after testsr   N)r$   r%   )r   s    r   tearDownSSLCompatTest.tearDownS   s"     #ckk134 2r    N)__name__
__module____qualname____firstlineno__r   r3   r6   __static_attributes__r8   r   r   r   r      s    B)=V5r   r   __main__)r$   unittestunittest.mockr   TestCaser   r9   mainr8   r   r   <module>rC      s>    
  &>5H%% >5B zMMO r   