
    vj                       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_staff_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    g/home/cube/projects/richard/traning coach/.omo/evidence/first-customer-v11/test_branding_staff_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               B   | dz  }|dz  }|dz  }| dz  }|j                  dd       |dz  j                  d	       t        |d
z  ddddidgi       |dz  }|j                  d       |j                  d       |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	        |      t        |      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-staff-membership-v1z3data/onboarding-archive/nutricoach-staff-membershipstaff-reset-receipt.jsonTr   )r   r   	customers)r   zcustomers/registry.jsonFgranted)enabledai_processing_consentevents.jsonlz{"event":"subscription_armed"}
r   zevents.jsonl.lock bin	systemctlz3MainPID=123\nActiveState=active\nSubState=running\nz0MainPID=0\nActiveState=inactive\nSubState=dead\nz#!/bin/sh
printf 'z'
zpermission.jsonz,dualcoach-branding-staff-reset-permission-v1@0000000000000000000000000000000000000000000000000000000000000000)	schemar#   source_rootarchive_rootreceipt_pathevents_sha256authorization_pathauthorization_sha256script_sha256r   PATH1)r6   PYTHONDONTWRITEBYTECODE)r   r   r   r   strr   AUTHORIZATIONSCRIPTexistsosenviron)tmp_pathr!   r#   sourcearchivereceipteventsfake_binr,   state
permissionenvs               r   _fixturerH      s   
 "GEEFMMG33G
LLEL*{!!u!-++$.7-?	

 n$F
89
LL!!--b1!!((/%HNN;&I  	AB 

 .ugS9:OOE--JD7|v;LL!&\"%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textrG   )
subprocessrunr9   PYTHONr;   )rF   rG   s     r   _runrP   V   s9    >>	VdCKZI r   c                8   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}}d}||z  }|j                  } |       }|sddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      dz  }
t        t        j                  |
            d x}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
}()
}r@   rW   rX   py4r)   zNassert %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).is_file
}()
}rA   )rW   rX   rY   rZ   r$   statusPASS_ARCHIVED)z%(py1)s == %(py4)s)py1r]   zassert %(py6)spy6)rH   rP   
returncode
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_saferepr_format_assertmsgstderrAssertionError_format_explanationr<   is_filer   loads	read_text)r?   rF   r@   rA   rG   rU   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_assert5@py_assert6rB   @py_assert0@py_assert2@py_format5@py_format7s                     r   .test_reset_archives_staff_membership_authorityr{   `   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}$/Gn$/$--/-////////G///G///n///-//////////jj(%??JJLMG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(  }|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}}y )Nr   rR   )zY%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}.returncode
} == %(py9)srP   rF   rG   )rW   r`   rX   r]   ra   py9zassert %(py11)spy11   )rH   rP   rb   rc   rd   re   rf   rg   rh   rk   rl   )
r?   rF   _rG   rr   ru   @py_assert8@py_assert7@py_format10@py_format12s
             r   test_reset_is_one_user   l   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
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0r   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   rR   rT   rU   rV   zassert %(py7)srZ   zAassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}r@   r\   r[   rA   )rH   rP   rb   rc   rd   re   rf   rg   rh   rk   rl   r<   )r?   rF   r@   rA   rG   rU   rp   rq   rr   rs   rt   ry   ru   s                r   !test_reset_refuses_active_gatewayr   s   sO   '/'F$J*c"F!!!!!!!!!!!!6!!!6!!!!!!!!!!!!!===??66=?~~~ww~r   )r
   r   returnr9   )r
   r   r   zdict[str, object]r   None)r?   r   r!   boolr   z'tuple[Path, Path, Path, dict[str, str]])rF   r   rG   zdict[str, str]r   z subprocess.CompletedProcess[str])r?   r   r   r   )
__future__r   builtinsre   _pytest.assertion.rewrite	assertionrewriterc   r   r   r=   rM   pathlibr   __file__resolver   ROOTr;   r:   rO   r   r   rH   rP   r{   r   r    r   r   <module>r      s    "     	   H~&&	)	)??	I	J9 9,9, 9, -	9,x	01 r   