
    Lf}                        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 xr  ee j*                  d         d kD  Zej0                  j2                  dk(  Z ee j*                  j7                  dd       d       ee d       eexr e d       G d de                           Zy)    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                  j                  dd      ddZ eed      d        Z	d Z
ed	        Zd
 Zed        Zy)TestFederatedRealminfurar    mainnet)typekeynetworkz?Web3 v5.29.0 (web3.auto.infura) raises TypeError on Python 3.10c                     d}t        |      }| j                  |j                  d       | j                  |j                  |       | j                  |j                  d        | j                  |j
                  d       y Nwamp-proto.ethSTOPPEDens)r
   assertEqualstatusname_or_addressgateway_configname_categoryselfnamefrs      \/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/autobahn/xbr/test/test_xbr_frealm.pytest_frealm_ctor_autoz(TestFederatedRealm.test_frealm_ctor_auto(   sg    D!I.++T2**D1))51    c                 (   d}t        || j                        }| j                  |j                  d       | j                  |j                  |       | j                  |j
                  | j                         | j                  |j                  d       y r   )r
   	gw_configr   r   r    r!   r"   r#   s      r'   test_frealm_ctor_gwz&TestFederatedRealm.test_frealm_ctor_gw2   sq    D$..1I.++T2**DNN;))51r)   c              #     K   d}t        || j                        }| j                  |j                  d       |j	                          | j                  |j                  d       | j                  |j
                  d       y w)Nr   r   RUNNING*0x66267d0b1114cFae80C37942177a846d666b114a)r
   r+   r   r   
initializeaddress)r$   r%   fr1s      r'   test_frealm_initializez)TestFederatedRealm.test_frealm_initialize;   se     T4>>2Y/nnY/&RSs   B Bc           	      l   t               }d|_        d|_        d|_        t	        |dddd      t	        |d	d
dd      t	        |dddd      g|_        | j                  t        |j
                        d       |j
                  D cg c]  }|j                   }}| j                  |g d       y c c}w )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   )r5   r?   rC   )	r   r    r1   r   r	   seedersr   lenr;   )r$   r2   s
transportss       r'   test_frealm_seedersz&TestFederatedRealm.test_frealm_seedersF   s    k.B
#:'H	!
 #5,H	!
 #@$H	!
" 	S[[)1-*-++6Qajj6
6 &L 	M 7s   B1c           	   #   n  K   d}d}t        j                  |      }|j                          | j                  t	        |      d       | j                  t        |d   t              dj                  t        |d                      | j                  t        |d   t              dj                  t        |d                      t        || j                        }t        |dd	d
d      t        |dddd      t        |dddd      g|_        |j                          | j                  |j                   d       | j                  |j"                  d       | j                  t	        |j$                        d       |d   }|d   }|j$                  d   j'                  ||dd d       }| j                  |j)                  dd       |j+                  d             | j                  d|v        | j                  t        |d         t,        k(         | j                  t	        |d         d       y w)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   rI   
assertTrue
isinstancer   formatr   r   r
   r+   r	   _seedersr0   r   r1   rH   create_authextraget
public_keystr)r$   r%   
seedphrasesmr&   rQ   rP   	authextras           r'   test_frealm_secmodz%TestFederatedRealm.test_frealm_secmodb   s    e
!11*=ggiR!$
2a5+68W8^8^_cdfghdi_j8kl
2a5-8:Y:`:`aefhijfkal:mnD$..1 ":'H	!
 "5,H	!
 "@$H	!
$ mmoI.%QRRZZ!,!uU
**Q-88JFRMPDHIM	 9 O O	 	x6
8M8MUZ8M8[\ 	y01Y{34;<Y{34f=s   H3H5N)__name__
__module____qualname__osenvironr`   r+   r   
IS_CPY_310r(   r,   r   r3   rL   rf    r)   r'   r   r      sv     zz~~6;I JYZ2 [22 T TM8 2> 2>r)   r   )rj   sysunittestr   unittest.mockr   twisted.trial.unittestr   twisted.internet.deferr   autobahn.xbrr   autobahn.wamp.cryptosignr   autobahn.xbr._frealmr	   r
   autobahn.xbr._secmodr   r   r   rk   rI   
HAS_INFURAversion_infominorrl   r`   r   rm   r)   r'   <module>rz      s    	 
  # + 2   3
~;F6 &3eBJJG_<`8ade8e
 ##r)
 BJJNN=%002DEJDEW'(*Z[z> z> \ F Fz>r)   