
    af}                        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rerd dlmZmZ d d	lmZmZ d d
lmZ de j        v o ee j        d                   d k    Zej        j        dk    Z ee j                            dd           d           ee d           eeoe d           G 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                       e Zd Zdej                            dd          ddZ eed          d             Z	d Z
ed	             Zd
 Zed             ZdS )TestFederatedRealminfurar    mainnet)typekeynetworkz?Web3 v5.29.0 (web3.auto.infura) raises TypeError on Python 3.10c                     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frs      S/var/www/html/env/lib/python3.11/site-packages/autobahn/xbr/test/test_xbr_frealm.pytest_frealm_ctor_autoz(TestFederatedRealm.test_frealm_ctor_auto(   s}    D!!I...+T222*D111)511111    c                    d}t          || j                  }|                     |j        d           |                     |j        |           |                     |j        | j                   |                     |j        d           d S r   )r
   	gw_configr   r   r    r!   r"   r#   s      r'   test_frealm_ctor_gwz&TestFederatedRealm.test_frealm_ctor_gw2   s    D$.11I...+T222*DN;;;)511111r)   c              #     K   d}t          || j                  }|                     |j        d           |                                V  |                     |j        d           |                     |j        d           d S )Nr   r   RUNNING*0x66267d0b1114cFae80C37942177a846d666b114a)r
   r+   r   r   
initializeaddress)r$   r%   fr1s      r'   test_frealm_initializez)TestFederatedRealm.test_frealm_initialize;   s      T4>22Y///nnY///&RSSSSSr)   c           	      n   t                      }d|_        d|_        d|_        t	          |dddd          t	          |d	d
dd          t	          |dddd          g|_        |                     t          |j                  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                     g | ]	}|j         
S  )r;   ).0ss     r'   
<listcomp>z:TestFederatedRealm.test_frealm_seeders.<locals>.<listcomp>^   s    666Qaj666r)   )r5   r?   rC   )r   r    r1   r   r	   seedersr   len)r$   r2   
transportss      r'   test_frealm_seedersz&TestFederatedRealm.test_frealm_seedersF   s    kk.B
#:'H	! ! !
 #5,H	! ! !
 #@$H	! ! !
" 	S[))1---66#+666
 &L &L &L 	M 	M 	M 	M 	Mr)   c           	   #   ^  K   d}d}t          j        |          }|                                V  |                     t	          |          d           |                     t          |d         t                    d                    t          |d                                        |                     t          |d         t                    d                    t          |d                                        t          || j                  }t          |dd	d
d          t          |dddd          t          |dddd          g|_        |                                V  |                     |j        d           |                     |j        d           |                     t	          |j                  d           |d         }|d         }|j        d                             ||dd d           V }|                     |                    d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 1r5   r6   r7   r8   r9   r?   r@   rA   rB   rC   rD   rE   rF   r.   r/   rG   i   )
client_keydelegate_keybandwidth_requested
channel_idchannel_bindingpubkeyF)binary	signature   )r   from_seedphraseopenr   rN   
assertTrue
isinstancer   formatr   r   r
   r+   r	   _seedersr0   r   r1   rM   create_authextraget
public_keystr)r$   r%   
seedphrasesmr&   rU   rT   	authextras           r'   test_frealm_secmodz%TestFederatedRealm.test_frealm_secmodb   s     e
!1*==ggiiR!$$$
2a5+668W8^8^_cdfghdi_j_j8k8klll
2a5-88:Y:`:`aefhijfkalal:m:mnnnD$.11 ":'H	! ! !
 "5,H	! ! !
 "@$H	! ! !
$ mmooI...%QRRRRZ!,,,!uU
*Q-88JFRMPDHIM	 9 O O O O	 	x66
8M8MUZ8M8[8[\\\ 	y0111Y{344;<<<Y{344f=====r)   N)__name__
__module____qualname__osenvironrd   r+   r   
IS_CPY_310r(   r,   r   r3   rP   rj   rI   r)   r'   r   r      s         z~~6;; I VJYZZ2 2 [Z22 2 2 T T _TM M M8 2> 2> _2> 2> 2>r)   r   )rn   sysunittestr   unittest.mockr   twisted.trial.unittestr   twisted.internet.deferr   autobahn.xbrr   autobahn.wamp.cryptosignr   autobahn.xbr._frealmr	   r
   autobahn.xbr._secmodr   r   r   ro   rN   
HAS_INFURAversion_infominorrp   rd   r   rI   r)   r'   <module>r}      s   				 



       # # # # # # + + + + + + 2 2 2 2 2 2             3 3 3 3 3 3
 7~ 7;;;;;;;;FFFFFFFF666666 &3eBJG_<`8a8ade8e
 #r)
 BJNN=%0002DEEJDEEW'(*Z[[z> z> z> z> z> z> z> \[ FE FEz> z> z>r)   