
    ,h                         d dl Z d dlmZmZ d dlmZ 	  G d de j                        Zedk(  r e j                          yy)    N)ABNFframe_buffer)WebSocketProtocolExceptionc                   *    e Zd Zd Zd Zd Zd Zd Zy)ABNFTestc                     t        ddddt         j                        }| j                  |j                  d       | j                  |j                  d       | j                  |j
                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       t        ddddd      }| j                  |j                  d       | j                  |j                  d       y )Nr   opcode	       M   )	r   OPCODE_PINGassertEqualfinrsv1rsv2rsv3r
   data)selfaa_bads      [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/websocket/tests/test_abnf.py	test_initzABNFTest.test_init   s    Aq!D$4$45"###1%$Q1a+Q'r*    c                    t        ddddt         j                        }| j                  t        |j                  d       t        ddddt         j
                        }| j                  t        |j                  d       t        ddddd      }| j                  t        |j                  d       t        ddddt         j                  d      }| j                  t        |j                  d       t        ddddt         j                  d	      }| j                  t        |j                  d       t        ddddt         j                  d
      }| j                  t        |j                  d       y )Nr   r	   F)skip_utf8_validationr   r      r
   r   s   s   T)r   r   assertRaisesr   validateOPCODE_TEXTOPCODE_CLOSE)r   a_invalid_pinga_bad_rsv_valuea_bad_opcodea_bad_close_framea_bad_close_frame_2a_bad_close_frame_3s          r   test_validatezABNFTest.test_validate)   sv   aAq1A1AB&##!& 	 	

 q!Q$2B2BC&$$!& 	 	

 Aq!Qr2&!!!& 	 	

 !Aq!D4E4EGT&&&!& 	 	

 #q!Qt007N
 	&((!& 	 	

 #q!Qt00{
 	&((!% 	 	
r   c           	         t        ddddt         j                  dd       }d}| j                  |j                  |      |       t        ddddt         j                  dd      }| j                  |j                  |      d       y )Nr   r   r
   
mask_valuer   s   aaaar   s   aaaa )r   r   r   _get_masked)r   abnf_none_data	bytes_valabnf_str_datas       r   	test_maskzABNFTest.test_maskS   s    q!Qt//AD
 	33I>	Jq!Qt//AC
 	229={Kr   c           	         t        ddddt         j                        }| j                  t        |j                         t        ddddd      }| j                  t        |j                         t        ddddt         j                  d      }| j                  d|j	                         d   j                  dd	             | j                  d
|j	                         d   j                  dd	             | j                  d|j                                t        ddddt         j                  d      }| j                  d|j	                         d   j                  dd	             | j                  d|j	                         d   j                  dd	             t        ddddt         j                  dd      }| j                  d|j	                                y )N   r   r	      
abcdefghijr   r   r   big   zfin=0 opcode=1 data=abcdefghijabcdefghijabcdefghij      s   r,   s   )	r   r"   r    
ValueErrorformatr   to_bytes__str__OPCODE_BINARY)r   abnf_bad_rsv_bitsabnf_bad_opcodeabnf_length_10abnf_length_20abnf_no_masks         r   test_formatzABNFTest.test_format^   s    Aq!D4D4DE*&7&>&>?q!Q!4*o&<&<=aAq1A1AU."7"7"9!"<"E"Ea"OP."7"7"9!"<"E"Ea"OP9>;Q;Q;STq!Qt118N
 	."7"7"9!"<"E"Ea"OP."7"7"9!"<"E"Ea"OPq!Qt//AO
 	0,2E2E2GHr   c                    t        dd      }| j                  |j                  d       | j                  |j                  d       |j                   | j                  |j
                  d        | j                  |j                  d        | j                  |j                  d        | j                  |j                         d       y )Nr   TF)	r   r   recvr   clearheaderlengthr-   has_mask)r   fbs     r   test_frame_bufferzABNFTest.test_frame_bufferq   s    !T"!$00$7
D)D)-.r   N)__name__
__module____qualname__r   r*   r2   rF   rN    r   r   r   r      s    
+(
T	LI&/r   r   __main__)
unittestwebsocket._abnfr   r   websocket._exceptionsr   TestCaser   rO   mainrR   r   r   <module>rY      sD     . <(]/x   ]/@ zHMMO r   