
    ej                         d dl Zd dlmc mZ d dlZd dlmZ d dl	m
Z
mZ dddddZ G d	 d
          Zd Zd Zd ZdS )    N)Path)run_i2v_clip_jobswrite_run_reportscene_01_seed_101keyframes/scene_01.pngclips/scene_01/seed_101.mp4keyframe_pathoutput_pathc                <    d| dddd||dddd	d
ddddddddddd
S )Nzi2v_clip_job.v1pilotscene_01e   readypilot_scene_01.pngz5Photorealistic video. No text, no logo, no watermark.z#text, logo, watermark, fake UI textzwan2.2_ti2v_5B_fp16.safetensorsz&umt5_xxl_fp8_e4m3fn_scaled.safetensorszwan2.2_vae.safetensorsi  i  )widthheight=         g      @)modeltext_encodervae
resolutionframesfpsstepscfg)i2v_motion_promptnegative_promptcomfyui)
schema_versionjob_idvideo_idscene_idseedstatusr
   r   remote_image_nameprompt_spec )r#   r
   r   s      E/home/agent/jarvis_runtime/AutoShortsBot/tests/test_i2v_job_runner.py_jobr,      sf    +&"1!XD: H/(+s;;	 	
 
      c                       e Zd Zd Zd ZdS )RecordingClientc                     g | _         d S )N)calls)selfs    r+   __init__zRecordingClient.__init__$   s    


r-   c                     | j                             |           |d         }|j                            dd           |                    d           ddt          |          dS )Nr   T)parentsexist_oks   mp4successzprompt-1)r'   	prompt_idr   )r1   appendparentmkdirwrite_bytesstr)r2   kwargsr   s      r+   run_i2v_workflowz RecordingClient.run_i2v_workflow'   sk    
&!!!]+   ==='''#*SQ\M]M]^^^r-   N)__name__
__module____qualname__r3   r?   r*   r-   r+   r/   r/   #   s7          _ _ _ _ _r-   r/   c                 
   | dz  }|j                             d           |                    d           | dz  }dddit          t	          |          t	          | d	z            
          t          dt	          |          t	          | dz            
          gd}t                      }t          ||d d          }|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}}|j        }t          |          }d}||k    }|st          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	        |          t          j	        |          dz  }dd|iz  }t          t          j        |                    d x}x}x}}|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!         }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$         }d%}||k    }|slt          j        d|fd||f          t          j	        |          t          j	        |          dz  }	dd|	iz  }
t          t          j        |
                    d x}x}}|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}}|j        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 S )-Nr   Tr5      pngzkeyframes/scene_02.pngi2v_clip_jobs.v1idr   r   r	   scene_02_seed_101zclips/scene_02/seed_101.mp4r"   videojobsFclientlimitdry_runsummary      r   total	succeededskippedfailed==z%(py1)s == %(py4)spy1py4assert %(py6)spy6zK%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.calls
})
} == %(py8)slenrM   py0r\   py3py5py8assert %(py10)spy10resultsr'   r7   rV   reasonmissing_keyframer(   r   workflow8inputslengthr   )r:   r;   r<   r,   r=   r/   r   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationr1   ra   @py_builtinslocals_should_repr_global_name)tmp_pathready_keyframerk   packagerM   report@py_assert0@py_assert3@py_assert2@py_format5@py_format7@py_assert4@py_assert7@py_assert6@py_format9@py_format11s                   r+   <test_runner_skips_jobs_without_keyframes_and_runs_ready_jobsr   /   sy    88N---v&&&"::,s>22HOlDl@m@mnnn$C8H4I4IWZ[c  gD  \D  XE  XE  F  F  F
 G FwvT5QQQF)W!!UV W WW WWWWWWWWWWW WWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWW|!3|!!!!!!!!!!!!!!!!!!!!!!!!3!!!!!3!!!!!!!!!!!!!v!!!!!v!!!!!!|!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)Q)6Y6)Y6666666666)Y66666)6666Y666666666666666666666666666)Q)6Y6)Y6666666666)Y66666)6666Y666666666666666666666666666)Q)?-??)-???????????)-??????)????-????????????????????????????<?./G3GG/3GGGGGGGGGGG/3GGGGGG/GGGG3GGGGGGGGGGGGGGGGGGGGGGGGGGGG<?:&s+H5h?E2E?2EEEEEEEEEE?2EEEEE?EEEE2EEEEEEEEEEEEEEEEEEEEEEEEEEEEEr-   c                    | dz  }|j                             d           |                    d           dddit          t	          |                    gd	}t                      }t          ||d
d          }|j        }t          |          }d}||k    }|st          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        |          t          j        |          dz  }	dd|	iz  }
t          t          j        |
                    d x}x}x}}|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         }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         }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 S )Nr   TrD   rE   rF   rG   r   )r
   rI   rR   rL   r   rX   r`   ra   rM   rb   rg   rh   rP   rS   rZ   r[   r^   r_   ri   r'   rV   rj   dry_run_ready)r:   r;   r<   r,   r=   r/   r   r1   ra   rp   rq   ru   rv   rw   rr   rs   rt   )rx   keyframerz   rM   r{   r~   r   r   r   r   r   r|   r}   r   r   s                  r+   :test_runner_dry_run_does_not_call_client_but_reports_readyr   I   s   22HO$'''   !3tWoX\knowkxkxXyXyXyWz{{GFwvQMMMF|!3|!!!!!!!!!!!!!!!!!!!!!!!!3!!!!!3!!!!!!!!!!!!!v!!!!!v!!!!!!|!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)W!!UV W WW WWWWWWWWWWW WWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWW)Q)6Y6)Y6666666666)Y66666)6666Y666666666666666666666666666)Q)<_<)_<<<<<<<<<<)_<<<<<)<<<<_<<<<<<<<<<<<<<<<<<<<<<<<<<<<<r-   c                    dddig d}t          || dz            }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}}d S )Nzi2v_run_report.v1rT   r   )r"   rP   ri   zrun_report.jsonzutf-8)encodingr"   rX   rZ   r[   r^   r_   )	r   jsonloads	read_textrp   rq   rr   rs   rt   )rx   r{   pathr|   r}   r~   r   r   s           r+   "test_write_run_report_outputs_jsonr   X   s     3!Y[\\FFH/@$@AAD:dnngn66778HI`M``IM```````````IM``````I````M``````````````````````````````r-   )r   )builtinsru   _pytest.assertion.rewrite	assertionrewriterp   r   pathlibr   autoshorts.i2v_job_runnerr   r   r,   r/   r   r   r   r*   r-   r+   <module>r      s                        I I I I I I I I6N\y     8	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_F F F4= = =a a a a ar-   