
    Djh                       d dl mZ d dlZd dlmc mZ d dlZd dl	Z	d dl
Z
d dlZd dlmZ  ee      j                         j                   Zedz  Zedz  Z ed      ZddZddZd	d
	 	 	 	 	 ddZddZddZddZddZy)    )annotationsN)Pathzbranding_invite_reset.pyz&nutricoach-branding-authorization.jsonz9/home/cube/projects/richard/hermes-agent/.venv/bin/pythonc                d    t        j                  | j                               j                         S )N)hashlibsha256
read_bytes	hexdigest)paths    h/home/cube/projects/richard/traning coach/.omo/evidence/first-customer-v11/test_branding_invite_reset.py_shar      s!    >>$//+,6688    c                    | j                   j                  ddd       | j                  t        j                  |dd             | j                  d       y )NT  )parentsexist_okmode),:)	sort_keys
separators  )parentmkdir
write_textjsondumpschmod)r
   values     r   _write_jsonr      s@    KKdT>OODJJuLMJJur   Factivec               8   | dz  }|dz  }|dz  }| dz  }|j                  dd       |dz  j                  d	       t        |d
z  dddddidgi       t        |dz  ddddddg dd idgi       |dz  j                  d       |dz  j                  d       | dz  }|j                          |dz  }|rdnd}|j                  d| d        |j                  d       | d!z  }	t        |	d"t	        |      t	        |      t	        |      t	        |      ddt        |dz        t	        t              t        t              t        j                         rt        t              nd#d$       i t        j                  | d%t        j                  d&    d'd(}
|	|||
fS ))Nprofilez.data/onboarding/telegram-customer-bootstrap-v1z,data/onboarding-archive/nutricoach-migrationreset-receipt.jsonTr   )r   r   	customers)r   zcustomers/registry.jsonzhistorical-syntheticFgranted)customer_keyenabledai_processing_consentledger.jsonsessionscb_old@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPREPARED   dual_coach_pilot_test_botcustomer_user_id)
session_idsid_hashstate
generationbot_usernamerole_claimscustomer_draftzledger.lock r   bin	systemctlz3MainPID=123\nActiveState=active\nSubState=running\nz0MainPID=0\nActiveState=inactive\nSubState=dead\nz#!/bin/sh
printf 'z'
zpermission.jsonz-dualcoach-branding-invite-reset-permission-v1@0000000000000000000000000000000000000000000000000000000000000000)schemar#   source_rootarchive_rootreceipt_pathr2   r3   ledger_sha256authorization_pathauthorization_sha256script_sha256r   PATH1)rE   PYTHONDONTWRITEBYTECODE)r   r   r   r   strr   AUTHORIZATIONSCRIPTexistsosenviron)tmp_pathr!   r#   sourcearchivereceiptfake_binr;   r4   
permissionenvs              r   _fixturerU      s   
 "GGGFFFG--G
LLEL*{!!u!-++$:$.7-?	
 "* ('"#$?#%'94&@
	
  m''+m""5)%HNN;&I  	AB 

 .ugS9:OOE--JE7|v;LL" !&="89"%m"4$($7-3]]_T&\(	
 
***Abjj012#&C
 vw++r   c           	         t        j                  t        t              dt        t              dt        |       gddd|      S )Nz-Bz--permissionFT)checkcapture_outputtextrT   )
subprocessrunrH   PYTHONrJ   )rS   rT   s     r   _runr]   f   s9    >>	VdCKZI r   c                   t        |       \  }}}}t        ||      }|j                  }d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }	t        j                  |j                        dz   d|	iz  }
t        t        j                  |
            d x}x}}|j                  } |       }| }|sdd	t        j                         v st        j                  |      rt        j                  |      nd	t        j                  |      t        j                  |      d
z  }	t        t        j                  |	            d x}x}}t        j                  |dz  j!                               d   d   d   }d}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}t        j                  | dz  j!                               }|d   }d}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}y )Nr   ==z2%(py2)s
{%(py2)s = %(py0)s.returncode
} == %(py5)sresultpy0py2py5z
>assert %(py7)spy7Eassert not %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}rO   rd   re   py4r*   r+   r6   r0   )z%(py1)s == %(py4)s)py1rj   zassert %(py6)spy6r$   statusPASS_ARCHIVED)rU   r]   
returncode
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_saferepr_format_assertmsgstderrAssertionError_format_explanationrK   r   loads	read_text)rN   rS   rO   rP   rT   rb   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_assert5@py_assert0@py_assert2@py_format5@py_format7rQ   s                    r   1test_reset_archives_only_unclaimed_old_bot_inviter   p   s   '/'9$J*c"F00!000000000600060000000006==0000000}}}vv}::w.99;<ZHK %	$% 	$% %$$% 	$% %$9 % %$9	$% % % %$$% % jj(%99DDFGG8///////////////////r   c           	        t        |       \  }}}}t        ||      }|j                  }d}||k(  }|sKt        j                  d|fd||f      dt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  |      rt        j                  |      nddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      dz  }dd	|iz  }	t        t        j                  |	            d x}x}x}}t        ||      }
|
j                  }d
}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |
      rt        j                  |
      ndt        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}y )Nr   r_   )zY%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}.returncode
} == %(py9)sr]   rS   rT   )rd   rk   re   rj   rl   py9zassert %(py11)spy11   ra   repeatedrc   assert %(py7)srg   )rU   r]   ro   rp   rq   rr   rs   rt   ru   rx   ry   )rN   rS   _rT   r~   r   @py_assert8@py_assert7@py_format10@py_format12r   r|   r}   r   r   s                  r   test_reset_is_one_user   ~   s\   $X.J1c
C 0 ++0q0+q0000+q00000040004000000
000
000000C000C000 000+000q0000000J$H#!#!####!######8###8######!#######r   c                r   t        | d      \  }}}}t        ||      }|j                  }d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }	dd	|	iz  }
t        t        j                  |
            d x}x}}|j                  } |       }|sd
dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }t        t        j                  |            d x}}|j                  } |       }| }|sddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }	t        t        j                  |	            d x}x}}y )NTr    r   r_   ra   rb   rc   r   rg   zAassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}rO   ri   rh   rP   )rU   r]   ro   rp   rq   rr   rs   rt   ru   rx   ry   rK   )rN   rS   rO   rP   rT   rb   r|   r}   r~   r   r   r   r   s                r   'test_reset_refuses_while_gateway_activer      sO   '/'F$J*c"F!!!!!!!!!!!!6!!!6!!!!!!!!!!!!!===??66=?~~~ww~r   )r
   r   returnrH   )r
   r   r   zdict[str, object]r   None)rN   r   r!   boolr   z'tuple[Path, Path, Path, dict[str, str]])rS   r   rT   zdict[str, str]r   z subprocess.CompletedProcess[str])rN   r   r   r   )
__future__r   builtinsrr   _pytest.assertion.rewrite	assertionrewriterp   r   r   rL   rZ   pathlibr   __file__resolver   ROOTrJ   rI   r\   r   r   rU   r]   r   r   r    r   r   <module>r      s    "     	   H~&&	*	*??	I	J9 I,I, I, -	I,X0$ r   