+
    5mj^!  c                     ^ RI Ht ^ RIt^ RIHu Ht ^ RIt^ RI	H
t
 ]P                  P                  ^ ]! ]
! ]4      P                  4       P                   ^,          4      4       ^ RIHtHt ^ RIHtHt ^ RIHt RR/R R	 llt ! R
 R4      t ! R R4      t ! R R4      t ! R R4      tR R ltR R ltR R lt R R lt!R# )    )annotationsN)Path)Account
AccountRef)DeviceAuthPromptDeviceAuthSession)DeviceAuthOperation
account_idc               (    V ^8  d   QhRRRRRRRR/# )   slugstraliasr	   
str | Nonereturnr    )formats   "k/home/user/overdeck-private-tests/workstation-ai-broad2/modules/systray/tests/test_device_auth_operation.py__annotate__r      s0      
 	
     c          	     x    \        \        R V 4      T\        R4      V ,          V  R2RT;'       g    RV  2R7      # codexz/tmp@example.compluszacct-refr   account_homeemailplanr	   )r   r   r   )r   r   r	   s   &&$r   _accountr       sH     w%&\D(l#//5 r   c                  ,    ] tR t^tR R ltRR ltRtR# )_FakeStreamc                   V ^8  d   QhRR/# r   r   Noner   )r   s   "r   r   _FakeStream.__annotate__   s     $ $$ $r   c                	&    \        V4      V n        R # N)list_chunks)selfchunkss   &&r   __init___FakeStream.__init__   s    F|r   c                	`    V P                   '       g   R # V P                   P                  ^ 4      # ) )r*   pop)r+   _sizes   &&r   read_FakeStream.read!   s#    |||||""r   )r*   N))__name__
__module____qualname____firstlineno__r-   r3   __static_attributes__r   r   r   r"   r"      s    $# #r   r"   c                  J    ] tR t^'tR R ltR tR R ltRR ltR R	 ltR
t	R# )_FakeProcessc                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   _FakeProcess.__annotate__(   s      $ r   c                	~    \        . 4      V n        \        . 4      V n        R V n        R V n        . V n        RV n        R# )FN)r"   stdoutstderr
terminatedkilled
wait_calls
returncoder+   s   &r   r-   _FakeProcess.__init__(   s4    !"o!"o.0r   c                	    V P                   # r(   )rE   rF   s   &r   poll_FakeProcess.poll0   s    r   c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   r>   3   s      4 r   c                	    R V n         R# )TN)rB   rF   s   &r   	terminate_FakeProcess.terminate3   s	    r   Nc                	P    V P                   P                  V4       V P                  # r(   )rD   appendrE   )r+   timeouts   &&r   wait_FakeProcess.wait6   s    w'r   c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   r>   :   s      d r   c                	"    R V n         RV n        R# )TNi)rC   rE   rF   s   &r   kill_FakeProcess.kill:   s    r   )rC   rE   rA   r@   rB   rD   r(   )
r6   r7   r8   r9   r-   rI   rM   rR   rV   r:   r   r   r   r<   r<   '   s      r   r<   c                  ~    ] tR t^?tRRRRRRRR/R R lltR	 R
 ltR R ltR R ltR R ltR R lt	R R lt
RtR# )_FakeDeviceAuthFlowpromptNcompletion_resultTstart_errorprompt_errorc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   rZ   zDeviceAuthPrompt | Noner[   boolr\   zException | Noner]   r   r%   r   )r   s   "r   r    _FakeDeviceAuthFlow.__annotate__@   sE     D D (D  	D
 &D 'D 
Dr   c               	    Wn         W n        W0n        W@n        . V n        . V n        . V n        . V n        . V n        . V n	        R # r(   )
rZ   r[   r\   r]   start_callsread_prompt_callsawait_completion_callscommit_callsrollback_callsabort_calls)r+   rZ   r[   r\   r]   s   &$$$$r   r-   _FakeDeviceAuthFlow.__init__@   sK     !2&(46:<?A#(**,ACr   c                    V ^8  d   QhRRRR/# )r   
codex_homer   backup_existingr_   r   )r   s   "r   r   r`   S   s     
 
 
t 
r   c                	    V P                   P                  W34       V P                  e   V P                  h\        \	        4       VVR7      # )N)processrj   
had_backup)rb   rP   r\   r   r<   )r+   rj   rk   s   &&&r   start_FakeDeviceAuthFlow.startS   sI     =>'"""  N!&
 	
r   c                   V ^8  d   QhRR/# )r   sessionr   r   )r   s   "r   r   r`   ]   s      #4 r   c           	     	J   V P                   P                  V4       V P                  e   V P                  hV P                  pR q2VJ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      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR ;p;rCV P                  # )	Npy0r+   py2py5assert %(py7)spy7)is not)z2%(py2)s
{%(py2)s = %(py0)s.prompt
} is not %(py5)s)rc   rP   r]   rZ   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)r+   rr   @py_assert1@py_assert4@py_assert3@py_format6@py_format8s   &&     r   read_prompt_FakeDeviceAuthFlow.read_prompt]   s    %%g.(###{{&$&$&&&&&{&&&&&&t&&&&t&&&{&&&$&&&&&&&&{{r   c                    V ^8  d   QhRRRR/# )r   rr   r   r   r_   r   )r   s   "r   r   r`   d   s     & &(9 &d &r   c                	P    V P                   P                  V4       V P                  # r(   )rd   rP   r[   )r+   rr   s   &&r   await_completion$_FakeDeviceAuthFlow.await_completiond   s"    ##**73%%%r   c                    V ^8  d   QhRRRR/# r   rj   r   r   r%   r   )r   s   "r   r   r`   h   s     - - -$ -r   c                	<    V P                   P                  V4       R # r(   )re   rP   r+   rj   s   &&r   commit_FakeDeviceAuthFlow.commith   s      ,r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r`   k   s     / /4 /D /r   c                	<    V P                   P                  V4       R # r(   )rf   rP   r   s   &&r   rollback_FakeDeviceAuthFlow.rollbackk   s    "":.r   c               $    V ^8  d   QhRRRRRR/# )r   rr   r   rj   r   r   r%   r   )r   s   "r   r   r`   n   s"     7 7. 7D 7T 7r   c                	>    V P                   P                  W34       R # r(   )rg   rP   )r+   rr   rj   s   &&&r   abort_FakeDeviceAuthFlow.abortn   s     56r   )
rg   rd   re   r[   rZ   r]   rc   rf   rb   r\   )r6   r7   r8   r9   r-   ro   r   r   r   r   r   r:   r   r   r   rY   rY   ?   sW    D +/D #'	D
 )-D *.D&
&-/7 7r   rY   c                  j    ] tR t^rtR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
RtR# )_FakeRegistryc               $    V ^8  d   QhRRRRRR/# )r   accountslist[Account]default_slugr   r   r%   r   )r   s   "r   r   _FakeRegistry.__annotate__s   s!     , , ,j ,T ,r   c                	j    \        V4      V n        W n        . V n        . V n        . V n        . V n        R # r(   )r)   	_accounts_default_slugadd_dir_callsremove_callsset_default_callsnew_slug_calls)r+   r   r   s   &&&r   r-   _FakeRegistry.__init__s   s3    h)46'),.)+r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   {   s     $ $m $r   c                	,    \        V P                  4      # r(   )r)   r   rF   s   &r   r)   _FakeRegistry.list{   s    DNN##r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   ~   s     " "j "r   c                	    V P                   # r(   )r   rF   s   &r   r   _FakeRegistry.default_slug~   s    !!!r   c                    V ^8  d   QhRRRR/# )r   accountr   r   r%   r   )r   s   "r   r   r      s     * *7 *t *r   c                	r    V P                   P                  VP                  4       VP                  V n        R # r(   )r   rP   r   r   )r+   r   s   &&r   set_default_FakeRegistry.set_default   s&    %%gll3$\\r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   r      s     / /c /c /r   c                	x    V P                   P                  V4       VP                  4       P                  R R4      # ) -)r   rP   lowerreplace)r+   r   s   &&r   new_slug_FakeRegistry.new_slug   s/    ""5){{}$$S#..r   c               $    V ^8  d   QhRRRRRR/# r   r   r   r   r   r   r   )r   s   "r   r   r      s!     $ $C $ $ $r   c           	     	    V P                   P                  W34       \        \        R V4      V\	        R4      V,          V R2RRV 2R7      pV P
                  P                  V4       VP                  # r   )r   rP   r   r   r   r   r   )r+   r   r   r   s   &&& r   add_dir_FakeRegistry.add_dir   sq    !!4-07D)f,F,'tf~
 	g&###r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r%   r   )r   s   "r   r   r      s     Y Y3 Y4 Yr   c                	    V P                   P                  V4       V P                   Uu. uF  q"P                  V8w  g   K  VNK  	  upV n        R # u upi r(   )r   rP   r   r   )r+   r   r   s   && r   remove_FakeRegistry.remove   s?      &15Xg<<SWCW''XXs   AA)r   r   r   r   r   r   N)r6   r7   r8   r9   r-   r)   r   r   r   r   r   r:   r   r   r   r   r   r   s,    ,$"*/$Y Yr   r   c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   r      s     2 2D 2r   c            	     N	   \        R R4      p \        RRRR7      p\        VRR7      p\        V .R R7      p\	        \        W24      P                  V 4      4      pV Uu. uF  qUP                  NK  	  pp. ROqvV8H  q'       gy   \        P                  ! RV3RWg34      R	\        P                  ! V4      R
\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;rV^,          qfP                  qV8H  q'       g   \        P                  ! RV3RW34      R	\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rVP"                  qP$                  .qV8H  qw'       g   \        P                  ! RV3RW3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;r{VP&                  p. qV8H  qw'       g   \        P                  ! RV3RW3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;r{VP(                  pR .qV8H  qw'       g   \        P                  ! RV3RW3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;r{R# u upi )rafaRafa$https://auth.openai.com/codex/device	ABCD-EFGH>Visit https://auth.openai.com/codex/device and enter ABCD-EFGHurlcoderaw_textTrZ   r[   r   py1py4assert %(py6)spy6Npy3rv   rZ   rw   rx   rt   flowru   registry)process_startedprompt_readyr   success==z%(py1)s == %(py4)s)z.%(py3)s
{%(py3)s = %(py1)s.prompt
} == %(py5)sz4%(py2)s
{%(py2)s = %(py0)s.commit_calls
} == %(py5)sz6%(py2)s
{%(py2)s = %(py0)s.rollback_calls
} == %(py5)sz9%(py2)s
{%(py2)s = %(py0)s.set_default_calls
} == %(py5)s)r    r   rY   r   r)   r   repairkindrz   r{   r   r   r   rZ   r|   r}   r~   re   r   rf   r   )r   rZ   r   r   eventsevent@py_assert0r   @py_assert2@py_format5@py_format7r   r   r   r   s                  r   :test_repair_emits_process_prompt_commit_and_success_eventsr      s   vv&G2QF
 fEDgYV<H%h5<<WEFF$*+F5JJF + 0  0   
 +  
 +  
  0     
   !9%%v%%%%%%%%9%%%%%%%%%v%%%%v%%%%%%%%6!5!5 66 666666666666466664666666 666666666$"$"$$$$$$$$$$$4$$$$4$$$$$$"$$$$$$$$%%1&111111%111111811118111%11111111111 ,s   R"c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   r      s     , , ,r   c            	        \        R R4      p \        RRRR7      p\        VRR7      p\        V .R R7      p\	        \        W24      P                  V 4      4      pV Uu. uF  qUP                  NK  	  pp. ROqvV8H  q'       gy   \        P                  ! RV3RWg34      R	\        P                  ! V4      R
\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;rVR,          qfP                  pRqVJ q'       g   \        P                  ! RV3RW3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;rVP                  p. qV8H  qw'       g   \        P                  ! RV3RW3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;r|VP$                  qP&                  .qV8H  qw'       g   \        P                  ! RV3R W3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;r|VP(                  p. qV8H  qw'       g   \        P                  ! RV3R!W3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;r|R# u upi )"r   r   r   r   r   r   Fr   r   r   r   r   r   NTr   assert %(py8)spy8rt   r   ru   rv   rw   rx   r   r   r   r   failurer   r   r5   isz7%(py3)s
{%(py3)s = %(py1)s.retry_available
} is %(py6)sr   r   r   )r    r   rY   r   r)   r   r   r   rz   r{   r   r   r   retry_availablere   r|   r}   r~   rf   r   r   )r   rZ   r   r   r   r   r   r   r   r   r   @py_assert5r   @py_format9r   r   r   s                    r   >test_repair_rolls_back_and_emits_failure_when_completion_failsr      s   vv&G2QF
 fFDgYV<H%h5<<WEFF$*+F5JJF + 0  0   
 +  
 +  
  0     
   ":-%%-------%---:---%-----------"""""""""""""4""""4""""""""""""""8#7#7"88"888888888888488884888888"888888888%%+++++++%++++++8++++8+++%+++++++++++ ,s   Q,c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   r      s     &% &%$ &%r   c            	     z	  aa \        R RRR7      p \        \        RRRR7      RR	7      p\        V .R R
7      oSP                  oR VV3R llpVSn        \        \        SV4      P                  R4      4      pV Uu. uF  qDP                  NK  	  pp. ROqeV8H  qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvVR ,          qUP                  qwV 8H  q'       g   \        P                  ! RV
3R!Wp34      R\        P                  ! V4      R\        P                  ! V4      RR\        P                   ! 4       9   g   \        P"                  ! V 4      '       d   \        P                  ! V 4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rzSP$                  pR.qV
8H  qf'       g   \        P                  ! RV3R"W34      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;rjVP&                  p. qV
8H  qf'       g   \        P                  ! RV3R#W3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;rjVP(                  p. qV
8H  qf'       g   \        P                  ! RV3R$W3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;rjR# u upi )%r   r   acct-shared)r	   r   r   r   r   Tr   r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   Vtest_add_collision_removes_new_account_and_emits_collision_event.<locals>.__annotate__   s!     
 
 
C 
D 
r   c           	     n   < S! W4      p\        \        R V 4      VVV  R2RRR7      SP                  R&   V# )r   r   r   r   r   r5   )r   r   r   )r   r   rj   original_add_dirr   s   && r   colliding_add_dir[test_add_collision_removes_new_account_and_emits_collision_event.<locals>.colliding_add_dir   sJ    %d2
!(7D)#F,'$"
2 r   zTeam Accountr   r   r   r   Nr   rv   existingrw   rx   zteam-accountrt   r   ru   r   )r   r   	collisionr   r   r5   )z1%(py3)s
{%(py3)s = %(py1)s.collision
} == %(py5)sz4%(py2)s
{%(py2)s = %(py0)s.remove_calls
} == %(py5)sr   r   )r    rY   r   r   r   r)   r   addr   rz   r{   r   r   r   r  r|   r}   r~   r   re   rf   )r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                 @@r   @test_add_collision_removes_new_account_and_emits_collision_eventr     s   =AH6U

 D hZf=H''
 
 )H%h599.IJF$*+F5JJF + 0  0    	+   	+   	 0      	 
 ":++8++++++++:+++++++++8++++8++++++++  4^$44$444444 444444844448444 444$444444444"""""""""""""4""""4""""""""""""""$"$"$$$$$$$$$$$4$$$$4$$$$$$"$$$$$$$$ ,s   =R8c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   r      s     % % %r   c            	        \        \        R RRR7      RR7      p \        . RR7      p\        \	        W4      P                  R4      4      pV Uu. uF  q3P                  NK  	  pp. ROqTV8H  qf'       gy   \        P                  ! RV3RWE34      R	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;reVR,          qDP                  pRqV	J q'       g   \        P                  ! RV
3RWi3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;rVP                  pR.qV
8H  qU'       g   \        P                  ! RV3RW3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;rZV P"                  p. qV
8H  qU'       g   \        P                  ! RV3RW3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;rZV P$                  p. qV
8H  qU'       g   \        P                  ! RV3R W3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;rZR# u upi )!r   r   r   r   Fr   Nr   z
Broken Addr   r   r   r   r   r   r   z
broken-addrt   r   ru   rv   rw   rx   r   r   r   r   r5   r   r   r  r   r   )rY   r   r   r)   r   r  r   rz   r{   r   r   r   r   r   r|   r}   r~   re   rf   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                  r   >test_add_completion_failure_removes_new_account_and_rolls_backr	     s   6U

  D Rd3H%h599,GHF$*+F5JJF + 0  0   
 +  
 +  
  0     
   ":.%%.......%...:...%...........  2\N2N22222 222222822228222 222N22222222"""""""""""""4""""4""""""""""""""$"$"$$$$$$$$$$$4$$$$4$$$$$$"$$$$$$$$ ,s   Q)"
__future__r   builtinsr|   _pytest.assertion.rewrite	assertionrewriterz   syspathlibr   pathinsertr   __file__resolveparentsaccount_registryr   r   device_authr   r   device_auth_operationr   r    r"   r<   rY   r   r   r   r  r	  r   r   r   <module>r     s    "   
  3tH~--/77:; < 0 ; 5 "	 # # 007 07f&Y &YR20,0&%R%r   