+
    5mjJ  c            
         ^ RI Ht ^ RIt^ RIHu Ht ^ RIt^ RI	t	^ RI
Ht ^ RIt]	P                  P                  ^ ]! ]! ]4      P#                  4       P$                  ^,          4      4       ^ RIHtHt 0 RmtR R ltR R	 lt]P2                  P5                  RRR
^
//R3RR^ //R3RR^e//R3RRR//R3RR^
//R3R.4      R R l4       tR R ltR# )    )annotationsN)Path)RoutingRules
load_ruleszync2c               $    V ^8  d   QhRRRRRR/# )   pathr   payloadzdict[str, object]returnNone )formats   "j/home/user/overdeck-private-tests/workstation-ai-broad2/modules/systray/tests/test_spend_cap_load_rules.py__annotate__r      s'     L Lt L&7 LD L    c                f    V P                  \        P                  ! V^R7      R,           RR7       R# )r   )indent
utf-8encodingN)
write_textjsondumps)r	   r
   s   &&r   _write_rulesr      s"    OODJJwq1D87OKr   c                    V ^8  d   QhRRRR/# r   tmp_pathr   r   r   r   )r   s   "r   r   r      s       $ r   c                l   V R ,          p\        VRRR/ RRR. R^dRR	R
^
/RR^R
^(///4       \        V\        R	R0,          R7      pVP                  pR	R
^
/RR^R
^(//qCV8H  qU'       g   \        P
                  ! RV3RW434      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# )routing_rules.jsonversion
routing/v2projectsdefaultrafafallback_chainquota_exhausted_threshold_pctaccount_capsr   7d	multideal5hknown_slugspy0rulespy2py5assert %(py7)spy7N==z4%(py2)s
{%(py2)s = %(py0)s.account_caps
} == %(py5)s)r   r   KNOWN_SLUGSr(   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)r   r	   r/   @py_assert1@py_assert4@py_assert3@py_format6@py_format8s   &       r   *test_load_rules_accepts_valid_account_capsrE      sN   **D|vb+S$dBb1
	
 t7M)MNE $dBb)"  "         5   5       "        r   1wzwindow keysr)   z1 to 10010unknownznot in the registryc               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r(   objectmessagestrr   r   r   )r   s   "r   r   r   8   s0     > >>> > 
	>r   c                    V R ,          p\        VRRR/ RRR. R^dRV/4       \        P                  ! \        VR	7      ;_uu_ 4        \	        V\
        R
0,          R7       RRR4       R#   + '       g   i     R# ; i)r    r!   r"   r#   r$   r%   r&   r'   r(   )matchr   r,   N)r   pytestraises
ValueErrorr   r7   )r   r(   rK   r	   s   &&& r   ,test_load_rules_rejects_invalid_account_capsrR   -   sp      **D|vb+SL	

 
z	1	14[G9%<= 
2	1	1	1s   A**A;	c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   N   s     : :SW :\` :r   c                	   V R ,          p\        VRRR/RRRR.R^dRR	R
^
///4       \        V\        R	0,          R7      pVP                  pR	R
^
//qCV8H  qU'       g   \        P
                  ! RV3R W434      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rT\        P                  ! VP                  RR7      4      pVR,          p	RqYV8H  q'       gy   \        P
                  ! RV
3R!W34      R\        P                  ! V	4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;rVR,          p	R	R
^
//qYV8H  q'       gy   \        P
                  ! RV
3R!W34      R\        P                  ! V	4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;r\        V\        R	0,          R7      p\        V\         4      qU'       Eg9   RRR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRRR\        P                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V4      /,          p\        \        P                  ! V4      4      hRpVP                  pR	R
^
//qCV8H  qU'       g   \        P
                  ! RV3R W434      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# )"r    r#   repor%   r$   r&   royr'   r(   r   r)   r,   r.   r/   r0   r1   r2   r3   Nr   r   r!   r"   py1py4zassert %(py6)spy6z5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}
isinstancereloadedr   r4   r6   )z%(py1)s == %(py4)s)r   r   r7   r(   r8   r9   r:   r;   r<   r=   r>   r?   r   loads	read_textrZ   r   )r   r	   r/   r@   rA   rB   rC   rD   migrated@py_assert0@py_assert2@py_format5@py_format7r[   s   &             r   Dtest_load_rules_account_caps_round_trip_through_v2_migration_rewriterc   N   s   **D(vug+SWtRj1	
	 ty)@AE6'D":!66!666666666666566665666666!666666666zz$..'.:;HI.,.,...........,........N#<$'<<'<<<<<<#<<<#<<<'<<<<<<<<<$K7),CDHh---------:----:-------h----h---------------------  9WtRj$99$999999 999999899998999 999$999999999r   >   avirV   r%   r   )r(   rK   )badzmust be an object)
__future__r   builtinsr:   _pytest.assertion.rewrite	assertionrewriter8   r   syspathlibr   rO   r	   insertrL   __file__resolveparentsrouting_resolverr   r   r7   r   rE   markparametrizerR   rc   r   r   r   <module>rt      s    "    
   3tH~--/77:; < 5-L2 
D":	.
D!9	z*
D#;	,
D$<	 *-
dBZ	 "78$
>
>,:r   