o
    ¼>hl
  ã                   @   sJ   d dl Z d dlZd dlmZ d dlmZmZmZmZ G dd„ dej	ƒZ
dS )é    N)Úb2a_hex)ÚIdGeneratorÚparse_activation_codeÚgenerate_activation_codeÚgenerate_tokenc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestIdGeneratorc                 C   s*   t ƒ }|  dt|ƒ¡ |  dt|ƒ¡ dS )z*IdGenerator follows the generator protocolé   é   N)r   ÚassertEqualÚnext)ÚselfÚg© r   úw/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/autobahn/test/test_util.pyÚtest_idgenerator_is_generator#   s   z-TestIdGenerator.test_idgenerator_is_generatorc                 C   s8   t ƒ }d|_t|ƒ}|  |d¡ t|ƒ}|  |d¡ d S )Nl   ÿÿÿÿ l          r   )r   Ú_nextr   r
   )r   r   Úvr   r   r   Útest_generator_wrap)   s   z#TestIdGenerator.test_generator_wrapc                 C   s:   t dƒD ]}tƒ }t|ƒ}|  t| d¡ƒ| ¡ ¡ qd S )Né   ú-)Úranger   r   ÚassertTupleEqualÚtupleÚsplitÚgroups©r   ÚiÚcodeÚparsed_coder   r   r   Ú!test_parse_valid_activation_codes2   s
   ýz1TestIdGenerator.test_parse_valid_activation_codesc                 C   s8   t dƒD ]}tt d¡ƒ ¡ }t|ƒ}|  d |¡ qd S )Nr   )r   r   ÚosÚurandomÚdecoder   r
   r   r   r   r   Ú#test_parse_invalid_activation_codes8   s
   ýz3TestIdGenerator.test_parse_invalid_activation_codesc                 C   sX   t ddƒ}|  t|ƒtdƒ¡ |  t| d¡ƒd¡ | d¡D ]
}|  t|ƒd¡ qd S )Né   é   zNUAG-UPQJ-MFGA-K5P5-MUGAr   )r   r
   Úlenr   )r   ÚtokenÚpartr   r   r   Útest_generate_token>   s   
ÿz#TestIdGenerator.test_generate_tokenN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r#   r)   r   r   r   r   r   "   s    	r   )r    ÚunittestÚbinasciir   Úautobahn.utilr   r   r   r   ÚTestCaser   r   r   r   r   Ú<module>   s
   