
    }1Ej_                        S SK Jr  S SKrS SKJs  Jr  S SKrS SK	J
r
Jr  S SKrS SKJrJrJr  S r\" S5      S 5       r\" S5      S 5       r\" S	S
S9S 5       r\" S	S
S9S 5       rg)    )annotationsN)	MagicMockpatch)handle_pipeline_run_step_run_commandresolve_binaryc                 @   Sn SSU 0S.n[        U0 5      nUS   nSoCU:H  oU(       do  [        R                  " SU4SX445      [        R                  " U5      [        R                  " U5      S	.-  nS
SU0-  n[	        [        R
                  " U5      5      eS =n=pTSo2S   oCU;   oU(       do  [        R                  " SU4SX445      [        R                  " U5      [        R                  " U5      S	.-  nS
SU0-  n[	        [        R
                  " U5      5      eS =n=pTg )N  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarun-commandcommandtypeconfigstatusfailed==z%(py1)s == %(py4)spy1py4assert %(py6)spy6zexceeds maximum lengthoutput)in)z%(py1)s in %(py4)s)r   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanation)long_cmdstepres@py_assert0@py_assert3@py_assert2@py_format5@py_format7s           AD:\Programs\laragon\www\wolf\agent\tests\test_actions_pipeline.pytest_command_length_limitr*      s    H!i-BCD
D"
%Cx=$H$H$$$$$=$$$=$$$H$$$$$$$#48}4}44444#444#444}4444444    subprocess.runc                   [        SSSS9U l        SSS0S.n[        US	S
05      nUS   nSoCU:H  oU(       do  [        R                  " SU4SX445      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTU R                  5         U R                  u  pUS   n[        S5      S/oCU:H  oU(       do  [        R                  " SU4SX445      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTU	S   nSoCUL oU(       do  [        R                  " SU4SX445      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTU	S   nS
oCU:H  oU(       do  [        R                  " SU4SX445      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTg )Nr   hello 
returncodestdoutstderrr   r   zecho 'hello world'r   	repo_pathz/var/wwwr   	succeededr   r   r   r   r   echozhello worldshellFisz%(py1)s is %(py4)scwd)r   return_valuer   r   r   r   r   r    assert_called_once	call_argsr   )
mock_runr"   r#   r$   r%   r&   r'   r(   argskwargss
             r)   ,test_run_command_shlex_split_and_shell_falserB      s   %72NH!i9M-NOD
D;
";
<Cx='K'K'''''='''='''K'''''''!%%LD7=~f-}========7===7==========='?#e#e#####?###?###e#######%=&J&J&&&&&=&&&=&&&J&&&&&&&r+   c                   [        SSSS9U l        SSS0S.n[        U0 5      nU R                  u  p4US   n[	        S	5      S
SS/oeU:H  ow(       do  [
        R                  " SU4SXV45      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n	[        [
        R                  " U	5      5      eS =n=pvUS   nSoeUL ow(       do  [
        R                  " SU4SXV45      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n	[        [
        R                  " U	5      5      eS =n=pvg )Nr   testr/   r0   r   r   zecho; rm -rf /r   zecho;rmz-rf/r   r   r   r   r   r7   Fr8   r:   )
r   r<   r   r>   r   r   r   r   r   r    )
r?   r"   r#   r@   rA   r$   r%   r&   r'   r(   s
             r)   +test_run_command_shell_injection_protectionrG   '   s    %6"MH "i9I-JKD
D"
%C%%LD7A~g.eSAAAAAAAA7AAA7AAAAAAAAAAA'?#e#e#####?###?###e#######r+   z!actions.pipeline.load_agent_tokendummy_tokenr<   c                Z   [        5       n[        5       nSSSS0SS0S.SSSS	0SS
0S.SSSS0SS0S./nSSUSSS.nS n[        SUS9   [        XAU5      nS S S 5        WS   nSoUL o(       do  [        R                  " SU	4SXx45      [        R
                  " U5      [        R
                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=pUS   nSoU:H  o(       do  [        R                  " SU	4SXx45      [        R
                  " U5      [        R
                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=pUR                  oR                  nS oU:  o(       d  [        R                  " S!U4S"X45      S#[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R
                  " U5      OS#[        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S$.-  nS%S&U0-  n[        [        R                  " U5      5      eS =n=n=pUR                  R                  S'   nUS(   S    nUS(   S   nSoU:H  o(       do  [        R                  " SU	4SXx45      [        R
                  " U5      [        R
                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=pUS   S   nS)oU:H  o(       do  [        R                  " SU	4SXx45      [        R
                  " U5      [        R
                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=pUS    S   nS*oU:H  o(       do  [        R                  " SU	4SXx45      [        R
                  " U5      [        R
                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=pg ! , (       d  f       GN= f)+Nr   zFail Commandr   falser   alwaysr   labelr   	conditionzOn Success Stepecho 1z
on-successAlways Stepecho 2   *   mainz/test)pipeline_idrun_idstepsbranchr4   c                X    SU ;   d  [        S5      U ;   a  [        SSSS9$ [        SSSS9$ )NrK   rS   r/   errorr0   r   success)r   r   )r@   rA   s     r)   mock_run_cmd>test_pipeline_step_conditions_on_success.<locals>.mock_run_cmd\   s3    d?nW5="WEEAiCCr+   r,   )side_effectr\   Fr8   r:   r   r   r   r   r   r   r      )>=)z[%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.update_pipeline_run
}.call_count
} >= %(py7)s
api_client)py0py2r   py7zassert %(py9)spy9r   skippedr5   )r   r   r   r   r   r   r   r    update_pipeline_run
call_count@py_builtinslocals_should_repr_global_namecall_args_list)mock_load_tokenr   rb   rX   payloadr]   r#   r$   r%   r&   r'   r(   @py_assert1@py_assert6@py_assert5@py_format8@py_format10last_call_argslogss                      r)   (test_pipeline_step_conditions_on_successrx   5   s   [FJ "# '* (+		
 "& (+ ,/		
 "" (+ (+		
E, GD
 
\	:!':> 
; y>"U"U""""">""">"""U"""""""x=$H$H$$$$$=$$$=$$$H$$$$$$$ ))94499999994999999:9999:999)99949999999999  33BB2FN!QD78((((((((((((((((((((78)	)	)))))))))))	)))))))78++++++++++++++++++++! 
;	:s   
P
P*c           	     r   [        5       n[        5       nSSSS0SS0S.SSSS	0SS
0S.SSSS0SS0S./nSSUSS.n[        S[        SSSS9S9   [        XAU5      nS S S 5        WS   nSovUL o(       do  [        R                  " SU4SXg45      [        R
                  " U5      [        R
                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=pUS   nSovU:H  o(       do  [        R                  " SU4S Xg45      [        R
                  " U5      [        R
                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=pUR                  R                  S!   nUS   S"   nUS   S   nSovU:H  o(       do  [        R                  " SU4S Xg45      [        R
                  " U5      [        R
                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=pUS   S   nS#ovU:H  o(       do  [        R                  " SU4S Xg45      [        R
                  " U5      [        R
                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=pUS"   S   nSovU:H  o(       do  [        R                  " SU4S Xg45      [        R
                  " U5      [        R
                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=pg ! , (       d  f       GN= f)$Nr   zSuccess Commandr   truer   rL   rM   zOn Failure SteprP   z
on-failurerQ   rR   rS   +   rU   )rV   rW   rX   rY   r,   r   r/   r0   rI   r\   Tr8   r:   r   r   r   r   r5   r   r   rg   r`   rh   )
r   r   r   r   r   r   r   r    ri   rn   )ro   r   rb   rX   rp   r#   r$   r%   r&   r'   r(   rv   rw   s                r)   (test_pipeline_step_conditions_on_failurer|   t   ss   [FJ "& &) (+		
 "& (+ ,/		
 "" (+ (+		
E, 	G 
i1RXZ.[	\!':> 
] y>!T!T!!!!!>!!!>!!!T!!!!!!!x='K'K'''''='''='''K'''''''33BB2FN!QD78++++++++++++++++++++78)	)	)))))))))))	)))))))78++++++++++++++++++++ 
]	\s   L''
L6)
__future__r   builtinsrk   _pytest.assertion.rewrite	assertionrewriter   osunittest.mockr   r   pytestactions.pipeliner   r   r   r*   rB   rG   rx   r|    r+   r)   <module>r      s    "   	 *  5 ' ' 
$ 
$ *G;, H;,| *G/, H/,r+   