
    j	                     X    d dl Zd dlmc mZ d dlmZ d dlm	Z	  G d d          Z
d ZdS )    N)Path)ComfyUIClientc                   2    e Zd Zd ZdddZd Zd Zd ZdS )	FakeTransportc                 >    g | _         g | _        g | _        d| _        d S )N
prompt-123)uploadsposts	downloads	prompt_id)selfs    S/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/tests/test_comfyui_client.py__init__zFakeTransport.__init__   s"    
%    T)	overwritec                d    | j                             |t          |          ||f           |dddS )N input)name	subfoldertype)r	   appendstr)r   base_urlpathremote_namer   s        r   upload_imagezFakeTransport.upload_image   s7    Xs4yy+yIJJJ#"gFFFr   c                 `    | j                             |||f           |dk    r
| j        i dS i S )N/prompt)r   node_errors)r
   r   r   )r   r   endpointpayloads       r   	post_jsonzFakeTransport.post_json   s?    
8Xw7888y  !%CCC	r   c                   | j         }||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t          j        |          dz  }dd|iz  }t          t          j        |                    d x}}dd	d
ddddddgiidS )N==)z1%(py0)s == %(py4)s
{%(py4)s = %(py2)s.prompt_id
}r   r   )py0py2py4assert %(py6)spy6successT)
status_str	completed12imagesclip_00001_.mp4r   output)filenamer   r   )statusoutputs)	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)	r   r   r   poll_secondstimeout_seconds@py_assert3@py_assert1@py_format5@py_format7s	            r   wait_for_completionz!FakeTransport.wait_for_completion   sB    N*yN**********yN************y*****y*************D*****D******N*************************%.TBB(9)+$, 

 
 	
r   c                     | j                             ||t          |          f           |j                            dd           |                    d           |S )NT)parentsexist_ok   mp4)r   r   r   parentmkdirwrite_bytes)r   r   r2   destinations       r   download_viewzFakeTransport.download_view(   s]    x[1A1ABCCC   ==='''r   N)__name__
__module____qualname__r   r   r#   rD   rM    r   r   r   r      su        & & & FJ G G G G G  
 
 
"    r   r   c                    | dz  }|                     d           | dz  }t                      }t          d|          }|                    ddi di|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}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }	dd|	iz  }
t          t	          j        |
                    d x}x}}|d         }t          |          }||k    }|st	          j        d|fd||f          t	          j        |          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        |          dz  }
dd|
iz  }t          t	          j        |                    d x}x}}|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        |          t	          j        |          dz  }dd |iz  }t          t	          j        |                    d x}x}x}}|j        }dt          |          dd!fg}||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        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+}||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-}||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scene_01.pngs   pngzseed_001.mp4zhttp://comfy.local:8188)	transport1Test)
class_typeinputsr   
   )workflowkeyframe_pathremote_image_nameoutput_pathr>   r?   r4   r,   r%   )z%(py1)s == %(py4)s)py1r)   r*   r+   r   r   r\   )z0%(py1)s == %(py6)s
{%(py6)s = %(py3)s(%(py4)s)
}r   r2   )r]   py3r)   r+   zassert %(py8)spy8rH   )zI%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.read_bytes
}()
} == %(py7)s)r'   r(   r)   py7zassert %(py9)spy9T)z/%(py2)s
{%(py2)s = %(py0)s.uploads
} == %(py5)srS   )r'   r(   py5zassert %(py7)sr`      r      	client_idzautoshorts-i2vr3   r1   )rK   r   r   run_i2v_workflowr6   r7   r;   r<   r=   r   r8   r9   r:   
read_bytesr	   r
   r   )tmp_pathkeyframer2   rS   clientresult@py_assert0r@   @py_assert2rB   rC   @py_assert5@py_format9rA   @py_assert6@py_format8@py_format10@py_assert4@py_format6s                      r   Gtest_comfyui_client_runs_workflow_uploads_keyframe_and_downloads_outputru   /   s   .(H   &FI4	JJJF$$f;;<( %  F ((y(y((((((((((y(((((((((y(((((((((((((((((((((((((((+.,.,..........,.........,...........................- /CKK/ K////////// K///// ///////////C/////C////////////////////////K///////////////////////////((&(&((((((((((&((((((((((((6(((((6((((((((((((((&(((((((((((((((((((((((((((((b";S]]N\`!a bb bbbbbbbbbbb bbbbbbbbbbbbb9bbbbb9bbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbb?1a -I- I---------- I----- ----I---------------------------?1a -A1AA-1AAAAAAAAAAA-1AAAAAA-AAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAq!!$Z0E4EE04EEEEEEEEEEE04EEEEEE0EEEE4E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   )builtinsr8   _pytest.assertion.rewrite	assertionrewriter6   pathlibr   autoshorts.comfyui_clientr   r   ru   rQ   r   r   <module>r|      s                        3 3 3 3 3 3& & & & & & & &RF F F F Fr   