
    j&                       d Z 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ej                  j                  dd       ddlZddlmZmZmZ ddlmZmZ  G d d      Z G d	 d
      Z G d d      Z G d d      Zy)u   Tests for finish_task_profile_preflight.py — safe-fail, dirty audit, lock_sha.

chair_authorization_id=CHAIR-AUTH-TASK-2706-V36-FINISH-TASK-PROFILE-LAYER-P1B-260529
    )annotationsNz/home/jay/workspace)run_preflightclassify_dirty_workspaceextract_lock_sha)validate_profileSCHEMA_VERSIONc                  6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	TestClassifyDirtyWorkspacec                   t        d      \  }}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      ndt        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}d	}||k(  }|st        j                  d|fd||f      d
t        j                         v st        j
                  |      rt        j                  |      nd
t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}y )N r   ==z%(py0)s == %(py3)scountpy0py3assert %(py5)spy5CLEANcls	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationselfr   r   @py_assert2@py_assert1@py_format4@py_format6s          K/home/jay/workspace/tests/harness/test_v36_finish_task_profile_preflight.pytest_empty_output_cleanz2TestClassifyDirtyWorkspace.test_empty_output_clean   s    -b1
suzuuusg~sgssg    c                   t        d      \  }}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      ndt        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}d	}||k(  }|st        j                  d|fd||f      d
t        j                         v st        j
                  |      rt        j                  |      nd
t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}y )Nz   
  r   r   r   r   r   r   r   r   r   r   r!   s          r'   test_whitespace_only_cleanz5TestClassifyDirtyWorkspace.test_whitespace_only_clean$   s    -i8
suzuuusg~sgssgr)   c                   d}t        |      \  }}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      ndt        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}d	}||k(  }|st        j                  d|fd||f      d
t        j                         v st        j
                  |      rt        j                  |      nd
t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}y )Nz:M  src/models/user.py
M  src/api/routes.py
?? new_file.py
   r   r   r   r   r   r   	OWN_DIRTYr   r   )r"   outputr   r   r#   r$   r%   r&   s           r'   test_small_count_own_dirtyz5TestClassifyDirtyWorkspace.test_small_count_own_dirty)   s    P-f5
suzuuu!!sk!!!!sk!!!!!!s!!!s!!!k!!!!!!!r)   c                (   t        d      D cg c]  }dd|z    d }}dj                  |      dz   }t        |      \  }}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      d	z  }d
d|iz  }	t        t        j                  |	            d x}}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      d	z  }d
d|iz  }	t        t        j                  |	            d x}}y c c}w )N
   z M memory/events/task-i  z.done.acked
r   r   r   r   r   r   INHERITED_DIRTYr   rangejoinr   r   r   r   r   r   r   r   r    
r"   ilinesr/   r   r   r#   r$   r%   r&   s
             r'   !test_inherited_dirty_task_lineagez<TestClassifyDirtyWorkspace.test_inherited_dirty_task_lineage/   s   GLRyQ!)$q&=QQ5!D(-f5
su{uuu''s'''''s'''''''s'''s'''''''''''	 Rs   Fc                "   t        d      D cg c]  }d| d
 }}dj                  |      dz   }t        |      \  }}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }d	d
|iz  }	t        t        j                  |	            d x}}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }d	d
|iz  }	t        t        j                  |	            d x}}y c c}w )NiX  z M file_z.pyr3   r   r   r   r   r   r   EXTERNAL_DIRTYr   r5   r8   s
             r'   test_external_dirty_large_countz:TestClassifyDirtyWorkspace.test_external_dirty_large_count7   s    ,1#J7q8A3c"775!D(-f5
su|uuu&&s&&&&&s&&&&&&&s&&&s&&&&&&&&&&&	 8   Fc                "   t        d      D cg c]  }d| d
 }}dj                  |      dz   }t        |      \  }}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }d	d
|iz  }	t        t        j                  |	            d x}}d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dz  }d	d
|iz  }	t        t        j                  |	            d x}}y c c}w )Nr2   z M __pycache__/module_z.pycr3   r   r   r   r   r   r   DAEMON_RECURRENCEr   r5   r8   s
             r'    test_daemon_recurrence_pyc_filesz;TestClassifyDirtyWorkspace.test_daemon_recurrence_pyc_files?   s    ;@9Ea)!D1EE5!D(-f5
su{uuu))s)))))s)))))))s)))s)))))))))))	 Fr?   c                   t        d      \  }}t        |t              }|sd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                  t              rt        j                  t              ndt        j                  |      dz  }t        t        j                  |            d }d}||v }|st        j                  d|fd	||f      d
t        j                         v st        j                  |      rt        j                  |      nd
t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}y )Nu    not a valid git status output ÿ5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}
isinstancer   intr   py1py2py4)r   r.   r4   r=   rA   UNKNOWN_DIRTYin)z%(py0)s in %(py3)sr   r   r   r   )r   rE   rF   r   r   r   r   r   r   r    r   )	r"   r   r   @py_assert3@py_format5r#   r$   r%   r&   s	            r'    test_does_not_raise_on_malformedz;TestClassifyDirtyWorkspace.test_does_not_raise_on_malformedF   s6   -.UV
s%%%%%%%%%z%%%z%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 	
s 
 
 	
 	
s 
 	
 	
 
6	
 	
   	
 	
 
	  	
 	
 
	
 	
 	
 	
 	
 	
 	
r)   N)
__name__
__module____qualname__r(   r+   r0   r;   r>   rB   rP    r)   r'   r
   r
      s%    

"('*
r)   r
   c                  0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestExtractLockShac                `   t        d      \  }}d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      ndt        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}g }d}||v }|}|sd	}	|	|v }
|
}|sXt        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                  |       |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                  |       t        j                  |d      i z  }dd|iz  }t        t        j                  |            d x}x}x}x}x}	}
y )Nr   isz%(py0)s is %(py3)sshar   r   r   fallback	not_foundrL   )z%(py3)s in %(py5)sreason)r   r   z%(py7)spy7)z%(py10)s in %(py12)s)py10py12z%(py14)spy14   zassert %(py17)spy17)r   r   r   r   r   r   r   r   r    append_format_boolop)r"   r[   r^   r#   r$   r%   r&   @py_assert4@py_assert0@py_assert9@py_assert11@py_format8@py_format13@py_format15@py_format16@py_format18s                   r'   test_no_sha_in_empty_textz,TestExtractLockSha.test_no_sha_in_empty_textT   s-   &r*Vsd{sdssd<z<zV#<{<{f'<<<<<zV<<<z<<<<<<V<<<V<<<<<<<{f<<<{<<<<<<f<<<f<<<<<<<<<<<<<<r)   c                   d}d| d}t        |      \  }}||k(  }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      nddt        j                         v st        j
                  |      rt        j                  |      nddz  }d	d
|iz  }t        t        j                  |            d }d}||v }	|	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  }t        t        j                  |            d x}}	y )N(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
lock_sha: z
some other text
r   z%(py0)s == %(py2)sr[   sha40r   rI   assert %(py4)srJ   task_mdrL   z%(py1)s in %(py3)sr^   rH   r   r   r   	r   r   r   r   r   r   r   r   r    )r"   rt   textr[   r^   r$   @py_format3rO   rh   r#   r%   r&   s               r'   test_extracts_sha_from_task_mdz1TestExtractLockSha.test_extracts_sha_from_task_mdY   s    E7"56&t,Ve|sessee"yF""""yF"""y""""""F"""F"""""""r)   c                   d}d| d}t        |      \  }}||k(  }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      nddt        j                         v st        j
                  |      rt        j                  |      nddz  }d	d
|iz  }t        t        j                  |            d }y )N(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbztask_md_sha_before: r3   r   rs   r[   rt   ru   rv   rJ   rz   )r"   rt   r{   r[   _r$   r|   rO   s           r'    test_extracts_task_md_sha_beforez3TestExtractLockSha.test_extracts_task_md_sha_before`   s    %eWB/!$'Qe|sesseer)   c                <   d}d|ddi}t        j                  ddd      5 }t        j                  ||       |j	                          |j
                  }d d d        	 t        d	      \  }}||k(  }|st        j                  d
|fd||f      dt        j                         v st        j                  |      rt        j                  |      nddt        j                         v st        j                  |      rt        j                  |      nddz  }dd|iz  }	t        t        j                  |	            d }d}
|
|v }|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  }t        t        j                  |            d x}
}t        j                   |       y # 1 sw Y   xY w# t        j                          w xY w)N(cccccccccccccccccccccccccccccccccccccccc	task-9999running)lock_shastatuswz.jsonF)modesuffixdeleter   r   rs   r[   rt   ru   rv   rJ   timersrL   rx   r^   ry   r   r   )tempfileNamedTemporaryFilejsondumpflushnamer   r   r   r   r   r   r   r   r    osunlink)r"   rt   r   ftimers_pathr[   r^   r$   r|   rO   rh   r#   r%   r&   s                 r'   test_extracts_from_timers_jsonz1TestExtractLockSha.test_extracts_from_timers_jsonf   sP   EYGH((c'%P 	!TUIIfa GGI&&K	!	#*2{;KC%<3%33%%%8v%%%%8v%%%8%%%%%%v%%%v%%%%%%%IIk"	! 	! IIk"s   3G7FH 7HHc                j   t        d      \  }}d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      ndt        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}y )Nzno sha here at allrX   rZ   r[   r   r   r   rz   r"   r[   r   r#   r$   r%   r&   s          r'   #test_no_sha_returns_none_not_raisesz6TestExtractLockSha.test_no_sha_returns_none_not_raisest   si    !"67Qsd{sdssdr)   c                l   t        dd      \  }}d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      ndt        j                  |      dz  }dd|iz  }t        t        j                  |            d x}}y )	Nr   z/nonexistent/path/timers.jsonrX   rZ   r[   r   r   r   rz   r   s          r'   #test_does_not_raise_on_invalid_pathz6TestExtractLockSha.test_does_not_raise_on_invalid_pathx   sk    !"&EFQsd{sdssdr)   N)	rQ   rR   rS   rp   r}   r   r   r   r   rT   r)   r'   rV   rV   S   s     =
##r)   rV   c                  *    e Zd Zd Zd Zd Zd Zd Zy)TestRunPreflightSafeFailc                R   t        dd      }t        |t              }|sd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                  t              rt        j                  t              ndt        j                  |      dz  }t        t        j                  |            d }|j                  }d} ||      }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                  |      t        j                  |      dz  }dd|iz  }	t        t        j                  |	            d x}x}x}x}}|j                  }d} ||      }d}||v }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }	t        t        j                  |	            d x}x}x}x}}y )Nz/nonexistent/task.mdr   rD   rE   resultdictrG   	task_modeUNKNOWNr   zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} == %(py9)sr   rI   rJ   py6py9assert %(py11)spy11overall_result)WARNESCALATEFAILrL   )zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} in %(py9)s)r   rE   r   r   r   r   r   r   r   r    getr   )
r"   r   rN   rO   r$   @py_assert5@py_assert8@py_assert7@py_format10@py_format12s
             r'   -test_nonexistent_task_md_returns_unknown_modezFTestRunPreflightSafeFail.test_nonexistent_task_md_returns_unknown_mode   s   5{C&$''''''''z'''z''''''&'''&''''''$'''$''''''''''zz3+3z+&3)3&)3333&)333333v333v333z333+333&333)3333333zzK*Kz*+K/KK+/KKKKK+/KKKKKKKvKKKvKKKzKKK*KKK+KKK/KKKKKKKKKr)   c                   t        d d      }t        |t              }|sd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                  t              rt        j                  t              ndt        j                  |      dz  }t        t        j                  |            d }|j                  }d} ||      }|t        k(  }|st        j                  d|fd	|t        f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      d
t        j                         v st        j                  t              rt        j                  t              nd
dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nztask-UNKNOWNrD   rE   r   r   rG   schema_versionr   zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} == %(py8)sr   r   rI   rJ   r   py8assert %(py10)sr`   )r   rE   r   r   r   r   r   r   r   r    r   r   r   )	r"   r   rN   rO   r$   r   r   @py_format9@py_format11s	            r'    test_none_task_md_path_safe_failz9TestRunPreflightSafeFail.test_none_task_md_path_safe_fail   s@   t^4&$''''''''z'''z''''''&'''&''''''$'''$''''''''''zz=*=z*+=+~====+~======v===v===z===*===+======~===~========r)   c                8   t        d d      }t        |      \  }}|s~t        j                  d|       dz   ddt	        j
                         v st        j                  |      rt        j                  |      ndiz  }t        t        j                  |            y )Nr   zschema validation errors: 
>assert %(py0)sr   valid)
r   r   r   _format_assertmsgr   r   r   r   r   r    )r"   r   r   errors@py_format1s        r'   test_returns_valid_schemaz2TestRunPreflightSafeFail.test_returns_valid_schema   s_    t[1(0v;;26(;;;;;;;u;;;u;;;;;ur)   c                   t        d       }dD ]  }||v }|st        j                  d|fd||f      dt        j                         v st        j
                  |      rt        j                  |      nddt        j                         v st        j
                  |      rt        j                  |      nddz  }t        j                  d|       dz   d	|iz  }t        t        j                  |            d } y )
N)r   task_idr   gatesr   tsrL   )z%(py0)s in %(py2)sfieldr   ru   zMissing required field: z
>assert %(py4)srJ   )
r   r   r   r   r   r   r   r   r   r    )r"   r   r   r$   r|   rO   s         r'   &test_result_always_has_required_fieldsz?TestRunPreflightSafeFail.test_result_always_has_required_fields   s    t$. 	GEF?FFF5FFFFFFF5FFF5FFFFFFFFFFFFFFF&>ug$FFFFFFF	Gr)   c                   dD ]0  }	 t        |d      }t        |t              }|sd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                  t              rt        j                  t              ndt        j                  |      dz  }t        t        j                  |            d }3 y # t        $ r&}t        j                  d|d	|        Y d }~_d }~ww xY w)
N)Nr   z	/dev/nullz/tmp/nonexistent_task_md_xyz.mdz	task-0000rD   rE   r   r   rG   zrun_preflight(z
) raised: )r   rE   r   r   r   r   r   r   r   r    	Exceptionpytestfail)r"   pathr   rN   rO   excs         r'    test_does_not_raise_on_any_inputz9TestRunPreflightSafeFail.test_does_not_raise_on_any_input   s    N 	FDF&t[9!&$////////z///z//////&///&//////$///$//////////	F  FnTHJseDEEFs   D,D88	E'E""E'N)rQ   rR   rS   r   r   r   r   r   rT   r)   r'   r   r      s    L><
GFr)   r   c                  *    e Zd Zd Zd Zd Zd Zd Zy)TestRunPreflightWithRealTaskMdc                   d}t        j                  dddd      5 }|j                  |       |j                          |j                  }d d d        	 t        ddd	d
diddgddgg ddidd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}}|d   }ddh}||v }|slt        j                  d|fd ||f      t        j                  |      t        j                  |      dz  }dd|iz  }	t        t        j                  |	            d x}x}}t        |      \  }
}|
s~t        j                  d!|       d"z   d#d$t        j                         v st        j                  |
      rt        j                  |
      nd$iz  }t        t        j                  |            	 t!        j"                  |       y # 1 sw Y   xY w# t!        j"                         w xY w)%Nz**task_id**: task-9991

## allowed_resources

paths:
  - "src/models/user.py"
  - "tests/test_user.py"

## expected_files

edits_existing:
  - path: "src/models/user.py"
new_modules:
  - path: "tests/test_user.py"
r   .mdFutf-8r   r   r   encodingz	task-9991r-   r.   r[   abczsrc/models/user.pyztests/test_user.pyzsrc/ztests/r   PASSTi  )
dirty_countdirty_classificationcommit_infoscope_diff_pathsexpected_pathsforbidden_paths	qc_resultlineage_sha_changedcallback_registeredenvelope_bytesgate_inputs_overrider   coder   )z%(py1)s == %(py4)srH   rJ   assert %(py6)sr   r   r   rL   z%(py1)s in %(py4)szschema errors: r   r   r   )r   r   writer   r   r   r   r   r   r   r    r   r   r   r   r   r   r   )r"   task_md_contentr   md_pathr   rh   rN   r#   rO   @py_format7r   r   r   s                r'   test_valid_code_task_mdz6TestRunPreflightWithRealTaskMd.test_valid_code_task_md   s   	1 	 ((c%29; 	>?GGO$GGIffG		
	"#$,7$)5>)=?S(T'-x&8')"*F!3+0+/&*&F  +&0&0&&0000&&000&000&0000000*+?/??+/?????+/????+???/????????,V4ME644OF8444444454445444445IIg7	 	6 IIgs   .HF0H' H$'H>c                   d}t        j                  dddd      5 }|j                  d       |j                          |j                  }d d d        	 t        d|	      }|j                  }d
} ||      }||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      dt        j                         v st        j                  |      rt        j                  |      nddz  }	dd|	iz  }
t        t        j                  |
            d x}x}x}}t        j                   |       y # 1 sw Y   WxY w# t        j                          w xY w)N(ddddddddddddddddddddddddddddddddddddddddr   r   Fr   r   z**task_id**: task-9992
z	task-9992)lock_sha_hintlock_sha_usedr   r   r   rt   r   r   r`   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   )r"   rt   r   r   r   r$   rN   r   r   r   r   s              r'   test_lock_sha_hint_usedz6TestRunPreflightWithRealTaskMd.test_lock_sha_hint_used   s'   ((c%29; 	>?GG./GGIffG		
	"7KuMF::7o7:o.7.%7777.%77777767776777:777o777.777777%777%7777777IIg	 	 IIgs   .FD6F, F),Gc                   t        j                  dddd      5 }|j                  d       |j                          |j                  }d d d        	 t        ddd	d
      }|j                  di       }|j                  di       j                  dd      }t        |t              }|sd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                  t              rt        j                  t              ndt        j                  |      dz  }t        t        j                  |            d }t!        j"                  |       y # 1 sw Y   xY w# t!        j"                         w xY w)Nr   r   Fr   r   z**task_id**: task-9993
z	task-9993i  r=   )r   r   r   r   G4_dirty_workspacer   zN/ArD   rE   	g4_resultstrrG   )r   r   r   r   r   r   r   rE   r   r   r   r   r   r   r   r    r   r   )r"   r   r   r   r   r   rN   rO   s           r'   *test_dirty_workspace_propagates_to_profilezITestRunPreflightWithRealTaskMd.test_dirty_workspace_propagates_to_profile   sE   ((c%29; 	>?GG./GGIffG		
	"#',<&F JJw+E		"6;??%PI i--------:---:------i---i-------------------IIg+	 	* IIgs   .GE%G GG0c                >   t        d d      }|j                  d      dk(  r|j                  }d} ||      }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                  |      t        j                  |      d	z  }d
d|iz  }t        t        j                  |            d x}x}x}x}}|j                  }d} ||      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      t        j                  |      t        j                  |      d	z  }d
d|iz  }t        t        j                  |            d x}x}x}x}}y y )Nztask-FAIL-CASEr   r   anu_action_recommendedESCALATE_CHAIRr   r   r   r   r   r   chair_decision_requiredTrX   )zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} is %(py9)s)
r   r   r   r   r   r   r   r   r   r    )	r"   r   r$   rN   r   r   r   r   r   s	            r'   +test_anu_action_escalate_on_escalate_resultzJTestRunPreflightWithRealTaskMd.test_anu_action_escalate_on_escalate_result   s]   t%56::&':5::K6K:67K;KK7;KKKKK7;KKKKKKK6KKK6KKK:KKK6KKK7KKK;KKKKKKKK::@7@:78@D@8D@@@@8D@@@@@@6@@@6@@@:@@@7@@@8@@@D@@@@@@@@ 6r)   c                d   t        d d      }d}||v }|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  }t        t        j                  |            d x}}d	}|d   }||v }|slt        j                  d|fd
||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}y )Nr   chair_authorization_id_linkagerL   rx   r   ry   r   r   z	TASK-2706r   r   r   r   )	r   r   r   r   r   r   r   r   r    )	r"   r   rh   r#   r%   r&   rN   rO   r   s	            r'   +test_chair_authorization_id_linkage_presentzJTestRunPreflightWithRealTaskMd.test_chair_authorization_id_linkage_present   s    t[1/9/69999/6999/999999699969999999Ff%EFF{FFFFF{FFFF{FFFFFFFFFFFr)   N)rQ   rR   rS   r   r   r   r   r  rT   r)   r'   r   r      s    (T0AGr)   r   )__doc__
__future__r   builtinsr   _pytest.assertion.rewrite	assertionrewriter   r   r   sysr   r   insertr   1scripts.harness.v36.finish_task_profile_preflightr   r   r   .scripts.harness.v36.finish_task_profile_schemar   r   r
   rV   r   r   rT   r)   r'   <module>r     su    #    	 
  ( )  
.
 .
j' '\!F !FHYG YGr)   