o
    >h}                     @   s   d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ erFerFd dlmZmZ d d	lmZmZ d d
lmZ de jv oSee jd d kZejjdkZee jdd dee deeome dG dd deZdS )    N)skipIf)	MagicMock)TestCase)inlineCallbacks)HAS_XBR)HAS_CRYPTOSIGN)SeederFederatedRealm)SecurityModuleMemoryEthereumKey)CryptosignKeyWEB3_INFURA_PROJECT_ID
   USE_TWISTEDFzonly for Twistedz*env var WEB3_INFURA_PROJECT_ID not definedz.package autobahn[encryption,xbr] not installedc                   @   s\   e Zd ZdejddddZeeddd Z	d	d
 Z
edd Zdd Zedd ZdS )TestFederatedRealminfurar    mainnet)typekeynetworkz?Web3 v5.29.0 (web3.auto.infura) raises TypeError on Python 3.10c                 C   sH   d}t |}| |jd | |j| | |jd  | |jd d S Nwamp-proto.ethSTOPPEDens)r	   assertEqualstatusname_or_addressgateway_configname_categoryselfnamefr r$   /var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/autobahn/xbr/test/test_xbr_frealm.pytest_frealm_ctor_auto(   s   z(TestFederatedRealm.test_frealm_ctor_autoc                 C   sN   d}t || j}| |jd | |j| | |j| j | |jd d S r   )r	   	gw_configr   r   r   r   r   r    r$   r$   r%   test_frealm_ctor_gw2   s   z&TestFederatedRealm.test_frealm_ctor_gwc                 c   sJ    d}t || j}| |jd | V  | |jd | |jd d S )Nr   r   RUNNING*0x66267d0b1114cFae80C37942177a846d666b114a)r	   r'   r   r   
initializeaddress)r!   r"   fr1r$   r$   r%   test_frealm_initialize;   s   
z)TestFederatedRealm.test_frealm_initializec              	   C   s   t  }d|_d|_d|_t|dddddt|d	d
dddt|dddddg|_| t|jd dd |jD }| |g d d S )Nr   r*   r)   wss://frealm1.example.com/wsExample Inc.*0xf5fb56886f033855C1a36F651E927551749361bCUSfrealmendpointlabeloperatorcountrywss://fr1.foobar.org/wsFoobar Foundation*0xe59C7418403CF1D973485B36660728a5f4A8fF9cDE"wss://public-frealm1.pierre.fr:443	Pierre PP*0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2BFR   c                 S   s   g | ]}|j qS r$   )r5   ).0sr$   r$   r%   
<listcomp>^   s    z:TestFederatedRealm.test_frealm_seeders.<locals>.<listcomp>)r/   r9   r=   )r   r   r,   r   r   seedersr   len)r!   r-   
transportsr$   r$   r%   test_frealm_seedersF   s4   z&TestFederatedRealm.test_frealm_seedersc              	   c   st   d}d}t |}| V  | t|d | t|d tdt	|d  | t|d t
dt	|d  t|| j}t|dd	d
ddt|dddddt|dddddg|_| V  | |jd | |jd | t|jd |d }|d }|jd j||dd d dV }| |dd |jdd | d|v  | t	|d tk | t|d d d S )Nr   zNmyth like bonus scare over problem client lizard pioneer submit female collect   r   zunexpected type {} at index 0   zunexpected type {} at index 1r/   r0   r1   r2   r3   r9   r:   r;   r<   r=   r>   r?   r@   r)   r*   rA   i   )
client_keydelegate_keybandwidth_requested
channel_idchannel_bindingpubkeyF)binary	signature   )r
   from_seedphraseopenr   rF   
assertTrue
isinstancer   formatr   r   r	   r'   r   _seedersr+   r   r,   rE   create_authextraget
public_keystr)r!   r"   
seedphrasesmr#   rL   rK   	authextrar$   r$   r%   test_frealm_secmodb   sX   

$$
z%TestFederatedRealm.test_frealm_secmodN)__name__
__module____qualname__osenvironr[   r'   r   
IS_CPY_310r&   r(   r   r.   rH   ra   r$   r$   r$   r%   r      s    
		

r   )re   sysunittestr   unittest.mockr   twisted.trial.unittestr   twisted.internet.deferr   autobahn.xbrr   autobahn.wamp.cryptosignr   autobahn.xbr._frealmr   r	   autobahn.xbr._secmodr
   r   r   rf   rF   
HAS_INFURAversion_infominorrg   r[   r   r$   r$   r$   r%   <module>   s$    
