+
    W^j_  c                      ^ RI Ht ^ RIt^ RIHu Ht ^ RIt^ RI	H
t
 ^ RIt^ RIt^ RIHtHtHtHt ^ RIHtHt  ! R R4      tR]P,                  R	R
/R R lltR R ltR R ltR R ltR R ltR# )    )annotationsN)Path)AccountRegistryAccountRegistryKindAuthorityBindingAuthorityMode)AuthorityConfigurationErrorGatewayStatusc                  .    ] tR t^tR R ltR R ltRtR# )	_Registryc               $    V ^8  d   QhRRRRRR/# )   base_dirr   bindings(tuple[tuple[str, AuthorityBinding], ...]returnNone )formats   "Z/home/user/overdeck-gateway-renew-test/modules/systray/tests/test_gateway_grant_renewal.py__annotate___Registry.__annotate__   s#     " " "1Y "^b "    c                	    Wn         W n        R # N)r   	_bindings)selfr   r   s   &&&r   __init___Registry.__init__   s     !r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r      s      $L r   c                	    V P                   # r   )r   )r   s   &r   authority_bindings_Registry.authority_bindings   s    ~~r   )r   r   N)__name__
__module____qualname____firstlineno__r   r!   __static_attributes__r   r   r   r   r      s    " r   r   modequiescedFc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   tmp_pathr   routestrr(   r   r)   boolr   r   r   )r   s   "r   r   r      s5      t C - ei   wG r   c          	     R    \        VR VRW R2,          P                  4       VR7      # )subrouter-primarycodexz.grant)r(   authority_nameroute_idproviderproxy_grant_refr)   )r   resolve)r+   r,   r(   r)   s   &&$$r   _bindingr7      s4    *!gV$44==? r   c                    V ^8  d   QhRRRR/# r   r+   r   r   r   r   )r   s   "r   r   r   !   s     : :TX :]a :r   c                D	  a a \         ;QJ d     . V 3R  l\        ^24       4       F  NK  	  5M! V 3R  l\        ^24       4       4      p\        S V4      p. oR V3R llp\        P                  ! V.RVR7      p\        P
                  p^2p^2p^ q! WgVR7      qV	8H  q'       Eg_   \        P                  ! RV
3RWI34      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      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;p;p;r\        S4      p^2qmV8H  q'       Eg   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;r\        S4      p\        ^24       Uu0 uF  pRV 2kK
  	  ppW8H  q'       Eg   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rR# u upi )c              3  L   <"   T F  pR V 2\        SRV 24      3x  K  	  R# 5i)zaccount-route-N)r7   ).0ir+   s   & r   	<genexpr>Xtest_renews_every_active_binding_independent_of_default_or_lock_state.<locals>.<genexpr>"   s)     Yy!hqcNHXs|$DEys   !$c               (    V ^8  d   QhRRRRRRRR/# 	r   	_base_dirr   bindingr   timeout_secsfloatr   r	   r   )r   s   "r   r   [test_renews_every_active_binding_independent_of_default_or_lock_state.<locals>.__annotate__&   s0     P P P(8 P5 PUb Pr   c                 < R q2V8H  qD'       g   \         P                  ! RV3RW#34      RR\        P                  ! 4       9   g   \         P                  ! V4      '       d   \         P
                  ! V4      MRR\         P
                  ! V4      /,          pRRV/,          p\        \         P                  ! V4      4      hR;rCSP                  VP                  4       \        RRR	R
4      # )       @py0rE   py3assert %(py5)spy5NreadyGateway: ready      ?   a$==z%(py0)s == %(py3)s)
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationappendr3   r	   )rC   rD   rE   @py_assert2@py_assert1@py_format4@py_format6seens   &&$    r   fetchTtest_renews_every_active_binding_independent_of_default_or_lock_state.<locals>.fetch&   s    ""s"""""|""""""|""""|"""s""""""""G$$%W&6=NOOr   rI   )rE   status_fetcher	attemptedrN   failedrJ   resultpy2gateway_grant_renewalpy4py6py8py10py12assert %(py14)spy14Nlenpy1rb   rK   assert %(py8)sr<   setrR   z%(py0)s == %(py12)s
{%(py12)s = %(py4)s
{%(py4)s = %(py2)s.RenewalResult
}(attempted=%(py6)s, ready=%(py8)s, failed=%(py10)s)
}z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)s)tupleranger   rk   renew_active_gateway_grantsRenewalResultrU   rV   rW   rX   rY   rZ   r[   r\   rs   rv   )r+   activeregistryrc   ri   @py_assert3@py_assert5@py_assert7@py_assert9@py_assert11r_   @py_format13@py_format15r^   @py_assert4@py_format7@py_format9r>   rb   s   f                 @r   Etest_renews_every_active_binding_independent_of_default_or_lock_stater   !   s   UYuUWyYUUYuUWyYYF6*HDP P
 #>>	
UF +88Z2ZRZXYZ82XYZZZZZZZZ6ZZZZZZ6ZZZZ6ZZZZZZZ*ZZZZ*ZZZ8ZZZ2ZZZRZZZXYZZZZZZZZZZZZZt9?933tt9t99uRy9y!6!y9999999999999993999939999999t9999t99999999999999999s   Rc                    V ^8  d   QhRRRR/# r9   r   )r   s   "r   r   r   4   s      Y YTX Y]a Yr   c                  a \        V R \        V R 4      3R\        V R\        P                  R7      3R\        V RRR7      3R\        V R4      334      p. oR V3R llp\        P
                  ! V.VR	7      pR R.pSV8H  qU'       g   \        P                  ! RV3RSV34      R
R\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;rT\        P                  p^p	^p
^q! WVR7      qV8H  qU'       Eg_   \        P                  ! RV3RW<34      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      R\        P                  ! V	4      R\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p	;p
;rR# )active-adark)r(   pausedT)r)   zactive-bc               (    V ^8  d   QhRRRRRRRR/# rB   r   )r   s   "r   r   [test_skips_dark_and_quiesced_bindings_but_continues_after_one_failure.<locals>.__annotate__@   s0     P P P(8 P5 PUb Pr   c                  < ?SP                  VP                  4       VP                  R 8X  d   \        R4      h\        RRRR4      # )r   zGateway: unavailablerN   rO   rP   rQ   )r]   r3   r   r	   )rC   rD   rE   rb   s   &&$r   rc   Ttest_skips_dark_and_quiesced_bindings_but_continues_after_one_failure.<locals>.fetch@   sE    G$$%z)-.DEEW&6=NOOr   )re   rJ   rb   rK   rL   rM   Nrf   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rR   rT   rw   )r   r7   r   SUBROUTER_DARKrk   r{   rU   rV   rW   rX   rY   rZ   r[   r\   r|   )r+   r~   rc   ri   r^   r_   r`   ra   r   r   r   r   r   r   r   rb   s   &              @r   Etest_skips_dark_and_quiesced_bindings_but_continues_after_one_failurer   4   s   (J78Xh]5Q5QRSx(TBC(J78		
H DP P #>>zZ_`F
++4++++++4+++++++4++++4++++++++++++*88X1XAXVWX81VWXXXXXXXX6XXXXXX6XXXX6XXXXXXX*XXXX*XXX8XXX1XXXAXXXVWXXXXXXXXXXXXXr   c               $    V ^8  d   QhRRRRRR/# )r   r+   r   monkeypatchzpytest.MonkeyPatchr   r   r   )r   s   "r   r   r   M   s,     #; #;[_ #;  oA #;  FJ #;r   c                   \        V R ,          \        P                  R7      pV R,          P                  4       pVP                  P                  \        P                  ! RRRRRRR	R
RRRRRRR\        V4      RR//.R. /4      4       VP                  VRR 4       VP                  4       p\        V4      p^qeV8H  qw'       Eg   \        P                  ! R"V3R#WV34      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\        P"                  ! V4      R\        P"                  ! V4      /,          pRRV/,          p	\%        \        P&                  ! V	4      4      hR;p;rvV^ ,          ^ ,          p
RqV8H  qU'       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^ ,          ^,          qP(                  pRqeV8H  qw'       g   \        P                  ! R"V3R%WV34      R\        P"                  ! V
4      R\        P"                  ! V4      R\        P"                  ! V4      /,          pRRV/,          p	\%        \        P&                  ! V	4      4      hR;p
;p;rvR# )&runtime)r   kindzroute.grantaccountsslugzgateway-onlyaliaszGateway onlyauthority_bindingr(   	subrouterr2   r0   r3   zroute-gateway-onlyr4   r1   r5   r)   Fdeleted_legacy_slugs_read_account_metadatac                 D    R  R 4       P                  \        R4      4      # )c              3  $   "   T F  qx  K  	  R # 5ir   r   )r=   _s   & r   r?   qtest_authority_bindings_reads_registry_metadata_without_provider_credentials.<locals>.<lambda>.<locals>.<genexpr>i   s     /b1bs   zprovider credential readr   )throwr[   )_args_kwargss   *,r   <lambda>^test_authority_bindings_reads_registry_metadata_without_provider_credentials.<locals>.<lambda>i   s    /b/"7"7Ga8b"cr   rJ   rs   rt   r   rK   rm   ru   rn   Nrl   assert %(py6)srR   rx   z%(py1)s == %(py4)s)z0%(py3)s
{%(py3)s = %(py1)s.route_id
} == %(py6)s)r   r   CODEXr6   registry_path
write_textjsondumpsr-   setattrr!   rs   rU   rV   rW   rX   rY   rZ   r[   r\   r3   )r+   r   r~   grantr   r^   r   r   r   r   @py_assert0r   @py_format5s   &&           r   Ltest_authority_bindings_reads_registry_metadata_without_provider_credentialsr   M   s   9(<CVC\C\]H%..0E%%

+"K,.A&(<&-s5z&. '	
,  c **,Hx=AA=33xx=AA;q>+^+^+++++>+++>+++^++++++++A;q>:"":&::&::::::":::>:::":::&:::::::::r   c                    V ^8  d   QhRRRR/# r9   r   )r   s   "r   r   r   s   s     	" 	" 	" 	"r   c                   V R ,          p\         P                  ! V\         P                  ! ^^^R7      4       \        P                  ! VP                  4       4      p\        V4      p0 RmqCV8H  qU'       Eg   \        P                  ! RV3RW434      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	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTVR,          p^qV	8H  q3'       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;r9VR,          p^qV	8H  q3'       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;r9VR,          p^qV	8H  q3'       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;r9R# )zreceipt.jsonrf   rg   rN   rh   rJ   rv   rt   payloadrK   rm   ru   rn   Nrl   r   >   rN   rh   schemarg   
checked_atrR   rx   r   )rk   _write_receiptr|   r   loads	read_textrv   rU   rV   rW   rX   rY   rZ   r[   r\   )r+   receiptr   r^   r   r   r   r   r   r   r   s   &          r   !test_receipt_contains_counts_onlyr   s   s   'G((&44qRST jj**,-Gw<SSSSSSSSS<SSSSSS3SSSS3SSSSSSSwSSSSwSSS<SSSSSSSSSSSS;$1$1$$$$$$$$$$$1$$$$$$$$7 q q           q        8!!!!!!!!!!!!!!!!!!!!!r   )
__future__r   builtinsrW   _pytest.assertion.rewrite	assertionrewriterU   r   pathlibr   pytestrk   account_registryr   r   r   r   authority_clientr   r	   r   	SUBROUTERr7   r   r   r   r   r   r   r   <module>r      s[    "       b b G -BYBY lq :&Y2#;L	"r   