
    .j                    F    d dl mZ d dlmZ d dlmZmZ d
dZd
dZd
dZ	d	S )    )annotations)Path)DEFAULT_READ_ONLY_GUARDReadOnlyGuardreturnNonec                 |    t           } |                                  |                                 ddddddk    sJ d S )NTF)	read_onlylive_ordersvault_depositswallet_executionsigning_enabled)r   assert_safeas_dict)guards    %tests/test_ctb_copy_readonly_guard.py%test_readonly_guard_defaults_are_safer      s[    #E	==??!            c                    t          d          } t          d dD                       }g }|                     d          D ];}|                    d          }|D ] }||v r|                    | d|            !<|g k    sJ d S )Nzsrc/ctb_copyc              3  @   K   | ]}d                      |          V  dS ) N)join).0partss     r   	<genexpr>zTtest_ctb_copy_productive_code_contains_no_blocked_execution_terms.<locals>.<genexpr>   s@         	     r   ))create_order)marketr   open)setr   leverage)vaultDeposit)exchange.r   )Accountr&   fromr   key)HLr   AGENTr   PRIVATEr   KEY)r*   r   APIr   r,   r   r-   z*.pyzutf-8)encoding:)r   tuplerglob	read_textappend)rootblocked	offenderspathtextneedles         r   Atest_ctb_copy_productive_code_contains_no_blocked_execution_termsr;      s    D  	
    G I

6"" 5 5~~w~// 	5 	5F~~  D!3!36!3!3444	5 ??????r   c                     t          d          } 	 |                                  t          d          # t          $ r}dt	          |          v sJ Y d }~d S d }~ww xY w)NF)r
   zunsafe guard did not raiseznot read-only safe)r   r   AssertionErrorRuntimeErrorstr)r   excs     r   test_unsafe_guard_raisesrA   -   s    E***E; 9:::  0 0 0#s3xx//////////0s   5 
AAAN)r   r   )

__future__r   pathlibr   src.ctb_copy.read_only_guardr   r   r   r;   rA    r   r   <module>rF      s    " " " " " "       O O O O O O O O
 
 
 
   0; ; ; ; ; ;r   