
    [j                        d dl Zd dlmc mZ d dlZd dlZd dl	m
Z
 d dlZ e
e      j                  Zej                  j!                  dedz        Zg ZeZerej(                  ZeZesddd ej,                         v s ej.                  e      r ej0                  e      ndiz  Zej5                  e       er`dd ej,                         v s ej.                  e      r ej0                  e      nd ej0                  e      d	z  Zej5                  e        ej8                  ed       i z  Zd
deiz  Z e ej@                  e            dxZxZZej                  jC                  e      Z"ej(                  jG                  e"       d Z$d Z%ejL                  jO                  dg d      d        Z(d Z)d Z*d Z+d Z,y)    N)Pathrczrecovery_controller.pyz%(py2)spy2Sz#%(py6)s
{%(py6)s = %(py4)s.loader
})py4py6zassert %(py9)spy9c                  ^    dddddidddd	d
it        t        j                        dddidS )N   10receipthandledstagereason_code9recovery_receiptbusiness_commit_reconciled@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r   r   provenance_digestblocked_receipthandler_exception)versionreceiptsterminal_receiptsterminal_failures)strr   TARGET     /home/cube/projects/richard/traning coach/.omo/evidence/task26/task26-telegram-poll-recovery-st_01a00d2c/test_recovery_controller.pysampler"      s    qT9S\2],^tw  BT  c  TZ  y[  t\  ru  vx  v  v  r@  J[  j}  A~  q  @  @r    c                  >    t         j                  t                      y )N)r   validate_targetr"   r   r    r!   test_exact_targetr%      s    **684r    kind)extraconflictreasonentryc                    t               }| dk(  rddd|d   d<   n[| dk(  r#dd	d|d
   t        t        j                        <   n3| dk(  r#d|d   t        t        j                           d<   ndd	d|d
   d<   t	        j
                  t        j                        5  t        j                  |       d d d        y # 1 sw Y   y xY w)Nr'   r   r   r   r   1r(   r   r   r   r)   otherr   badr   )r"   r   r   r   pytestraisesClosedr$   )r&   vs     r!   test_fail_closedr3      s    	8'M7HWj.k!'(-
JiV_5`q}S^4
Hn7Q*+C		N;MJ#(yAa
mDmmBIIr11!4s   B99Cc                  H   t         j                  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	      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                  t         j                        5  t         j                  t        j                  i t               ddi      j                                d d d        y # 1 sw Y   y xY w)Ns   {"receipts":{},"version":1}r      ==)z%(py1)s == %(py4)s)py1r   zassert %(py6)sr   s2   {"receipts":{},"terminal_receipts":{},"version":2}   r'   )r   parse_receipt
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationr/   r0   r1   jsondumpsr"   encode)@py_assert0@py_assert3@py_assert2@py_format5@py_format7s        r!   test_versions_and_unknown_keysrH      s   
78CFQFCQFFFFCQFFFCFFFQFFFFFFF
NOPYZ]\]]Z\]]]]]Z\]]]]Z]]]\]]]]]]]]mmBIIr//

;Qfh;Qwq;Q0R0Y0Y0[\s   
AFF!c                    | dz  }t         j                  |d       g }|j                  } |       }d}||k(  }|}|rt        |      }d}	||	k(  }
|
}|st	        j
                  d|fd||f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      t	        j                  |      dz  }dd	|iz  }|j                  |       |rt	        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t	        j                  |      t	        j                  |	      dz  }dd|iz  }|j                  |       t	        j                  |d      i z  }dd|iz  }t        t	        j                  |            d x}x}x}x}x}x}x}x}
}	t        j                  t               5  t         j                  |d       d d d        y # 1 sw Y   y xY w)Nx   xi  r6   )zI%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s.read_bytes
}()
} == %(py9)sp)r   r   r   r	   z%(py11)spy11)z5%(py16)s
{%(py16)s = %(py13)s(%(py14)s)
} == %(py19)s	stat_mode)py13py14py16py19z%(py21)spy21r   zassert %(py24)spy24   y)r   create
read_bytesrN   r;   r<   @py_builtinslocals_should_repr_global_namer=   append_format_boolopr>   r?   r/   r0   FileExistsError)tmp_pathrL   @py_assert1rD   @py_assert5@py_assert8@py_assert7rC   @py_assert15@py_assert18@py_assert17@py_format10@py_format12@py_format20@py_format22@py_format23@py_format25s                    r!   test_create_append_only_privaterl      s`   C<		!D!"U"U"U"U)="U)A,"UPU"U,PUBU"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U"U,PU"U"U"U"U"U"U)"U"U"U)"U"U"U"U"U"UA"U"U"UA"U"U"U,"U"U"UPU"U"U"U"U"U"U"U"U"U"U"U"U"U"U"UmmO$RYYq%6$$$s   I;;Jc                 <    | j                         j                  dz  S )Ni  )statst_mode)rL   s    r!   rN   rN      s    ((..r    c                    | dz  }|dz  j                  d       |dz  j                  d       |dz  j                  d       |dz  j                  d       |d	z  j                  d
       |dz  j                  d       |j                  t        d|       |j                  t        dd       |j                  t        d|dz         t        j	                         }g }d}||v }|}|r d}||v }	|	}|	rd |D        }
t        |
      }|}|st        j                  d|fd||f      t        j                  |      dt        j                         v st        j                  |      rt        j                  |      nddz  }dd|iz  }|j                  |       |rt        j                  d	fd|f      t        j                  |      dt        j                         v st        j                  |      rt        j                  |      nddz  }dd|iz  }|j                  |       |	rddt        j                         v st        j                  t
              rt        j                  t
              ndt        j                  
      t        j                        dz  }|j                  |       t        j                  |d       i z  }d!d"|iz  }t        t        j                  |            d x}x}x}x}x}x}	x}
}y )#NrL   	customersT)parentszcustomers/registry.jsonz{}zdata/customers/czdata/customers/c/x.jsonzdata/customers/c/x.lock zconfig.yamlzx: 1PROFILECUSTOMERcRECEIPTzdata/r.jsonc              3   @   K   | ]  }|j                  d          yw)z.lockN)endswith).0ks     r!   	<genexpr>z0test_inventory_excludes_locks.<locals>.<genexpr>   sL       nR  PQ  KL  st  s}  s}  ~E  sF  oF  PQs   )in)z%(py3)s in %(py5)srJ   )py3py5z%(py7)spy7)z%(py10)s in %(py12)s)py10py12z%(py14)srP   z)%(py20)s
{%(py20)s = %(py16)s(%(py18)s)
}all)rQ   py18py20r   zassert %(py23)spy23)mkdir
write_textsetattrr   	inventoryr   r;   r<   r=   rX   rY   rZ   r[   r\   r>   r?   )r^   monkeypatchrL   rJ   r_   rE   @py_assert4rC   @py_assert9@py_assert11re   @py_assert19@py_format6@py_format8@py_format13@py_format15@py_format21ri   @py_format24s                      r!   test_inventory_excludes_locksr      s   C<;%%d%3Q7P5P4\4\]a4bdefxdxcc  IMc  dN  PQ  Rk  Pk  Ow  Ow  x|  O}  @  AZ  Z  ~f  ~f  gi  ~j  lm  n{  l{  kG  kG  HN  kO  P[  Pc  Pc  df  gp  qr  Ps  t  tG  tG  HJ  KU  VY  tZ  [f  [n  [n  oq  r{  |}  ~K  |K  [L  OQ  O[  O[  O]  MN  ^R  e~  ^R  e~  BC  eC  ^R  Ha  ^R  Ha  ef  Hf  ^R  nR  PQ  nR  ^R  kn  nR  kR  ^R  kR  ^R  ^R  ^R  e~  BC  ^R  ^R  ^R  e~  ^R  ^R  ^R  ^R  ^R  ^R  BC  ^R  ^R  ^R  BC  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  Ha  ef  ^R  ^R  ^R  Ha  ^R  ^R  ^R  ^R  ^R  ^R  ef  ^R  ^R  ^R  ef  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  kn  ^R  ^R  ^R  kn  ^R  ^R  ^R  nR  ^R  ^R  ^R  kR  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^R  ^Rr    )-builtinsrX   _pytest.assertion.rewrite	assertionrewriter;   importlib.util	importlibr@   pathlibr   r/   __file__parentHEREutilspec_from_file_locationr   r_   rC   loaderr`   rY   rZ   r=   @py_format3r[   rG   r\   r   rf   r>   r?   module_from_specr   exec_moduler"   r%   markparametrizer3   rH   rl   rN   r   r   r    r!   <module>r      s6        	(^Y^^CCDNfIfg1h}oph}opuvu}u}h}u}h}h}h}h}h}oph}h}h}oph}h}h}h}oph}h}h}h}uvh}h}h}uvh}h}h}u}h}h}h}h}h}h}h}h}h}h}h}>>""1%ahh&:&:2&> @ 4 EF5 G5]7 /Rr    