
    OL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
 d dlmZmZmZ defdZdedefdZdedefd	Zd
 Zd Zd ZdS )    N)Path)load_testbatch)build_review_packageformat_review_packagewrite_review_packagesreturnc                  :    t          t          d                    S )Nzdata/drafts/testbatch_002.json)r   r        E/home/agent/jarvis_runtime/AutoShortsBot/tests/test_review_package.py_batchr      s    $?@@AAAr   	script_idc                 ^     t           fdt                      d         D                       S )Nc              3   4   K   | ]}|d          k    |V  dS )idNr
   ).0itemr   s     r   	<genexpr>z_idea.<locals>.<genexpr>   s1      NNd4jI6M6M6M6M6M6MNNr   ideas)nextr   )r   s   `r   _idear      s/    NNNN'!2NNNNNNr   c                     t          t          d                              |  d                    }t          j        |                    d                    S )N(data/render_manifests/testbatch_002_top3z-*.jsonutf-8encoding)r   r   globjsonloads	read_text)r   manifest_paths     r   	_manifestr"      sQ    HIINNR[OdOdOdeeffM:m--w-??@@@r   c                     t          t          d          t          d          t          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         }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         }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         }||v }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}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}}| d         }|j	        }d} ||          }|ssdt	          j        |          t	          j        |          t	          j        |          t	          j        |          dz  }t          t	          j        |                    d x}x}x}}d S )Nzai-004zKdata/previews/testbatch_002_top3/ai-004-stop-asking-ai-to-think-for-you.mp4r   ==)z%(py1)s == %(py4)s)py1py4zassert %(py6)spy6pillarai_life_systemsduration_seconds+   quality_score
   visual_scene_count   screen_recordingvisual_typesin)z%(py1)s in %(py4)szFreigabe alleapproval_commandspreview_pathz.mp4zJassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.endswith
}(%(py5)s)
})r&   py3py5py7)
r   r   r"   r   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationendswith)	package@py_assert0@py_assert3@py_assert2@py_format5@py_format7@py_assert4@py_assert6@py_format8s	            r   4test_build_review_package_collects_approval_metadatarI      s   "h(Z[[ G 4=$H$=H$$$$$$$$$$=H$$$$$=$$$$H$$$$$$$$$$$$$$$$$$$$$$$$$$$81 11 11111111111 1111111111 1111111111111111111111111111%&,",&",,,,,,,,,,&",,,,,&,,,,",,,,,,,,,,,,,,,,,,,,,,,,,,,?#)r)#r))))))))))#r)))))#))))r)))))))))))))))))))))))))))'(-A-(A----------(A-----(----A---------------------------8!88!88888888888!8888888888!8888888888888888888888888888:g&9::?:::::::::::?::::::?::::::::::::::::::::::::::::::::>"3"+3F3++F33333333"3333+3333F333333333333333333333333333333r   c                  f   t          t          d          t          d          t          d                    } t	          |           }|j        }d} ||          }|sddt          j                    v st          j	        |          rt          j
        |          ndt          j
        |          t          j
        |          t          j
        |          dz  }t          t          j        |                    d x}x}}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}||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}||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}||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}||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 S )Nzattention-002z/tmp/attention-002.mp4u)   ## AutoShortsBot Review — attention-002zLassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.startswith
}(%(py4)s)
}message)py0py2r'   r(   zMEDIA:/tmp/attention-002.mp4r3   z%(py1)s in %(py3)sr&   r7   assert %(py5)sr8   z/**Hook:** The algorithm does not need you happyz`Freigabe YouTube`z**Risk Notes:**|)not in)z%(py1)s not in %(py3)s)r   r   r"   r   r   
startswith@py_builtinslocalsr:   _should_repr_global_namer<   r=   r>   r;   )
r@   rK   @py_assert1rB   @py_assert5rE   rA   rC   @py_format4@py_format6s
             r   :test_format_review_package_is_telegram_safe_and_actionabler[   &   s   "o/""%&& G $G,,GJIJIJJJJJJJJJJJJJJJ7JJJJJ7JJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJ)4)W4444444444)W44444)44444444444W44444W444444444444444444444444444<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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GGGGG*7**********7****************7*****7***************************'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''3g3g3ggr   c                    t          t                      t          d          t          d          |           }t          |          }d}||k    }|st	          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  }t          t	          j        |                    d x}x}}d |D             }t          |          }|sddt          j                    v st	          j        t                    rt	          j	        t                    ndt	          j	        |          t	          j	        |          dz  }	t          t	          j        |	                    d x}}|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}||
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 S )Nr   z data/previews/testbatch_002_top3)batchmanifest_dirpreview_dir
output_dir   r$   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)slenpaths)rL   r&   r7   r(   zassert %(py8)spy8c              3   ,   K   | ]}|j         d k    V  dS )z.mdN)suffix)r   paths     r   r   zOtest_write_review_packages_outputs_one_markdown_per_manifest.<locals>.<genexpr>@   s)      66t{e#666666r   z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}all)rL   rM   r'   r   r   r   zAutoShortsBot Reviewr3   rN   textrO   rP   r8   zFreigabe-Befehle)r   r   r   rb   r:   r;   rT   rU   rV   r<   r=   r>   rh   r    )tmp_pathrc   rC   rX   rF   rE   @py_format9rW   rB   rD   ri   rA   rY   rZ   s                 r   <test_write_review_packages_outputs_one_markdown_per_manifestrl   7   s   !hhDEE;<<	  E u:::?:33uu:666666366666666666666663666663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66668w//D!)!T))))))))))!T)))))!)))))))))))T)))))T)))))))))))))))))))))))))))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%r   )builtinsrT   _pytest.assertion.rewrite	assertionrewriter:   r   pathlibr   autoshorts.growth_planr   autoshorts.review_packager   r   r   dictr   strr   r"   rI   r[   rl   r
   r   r   <module>rv      s                       1 1 1 1 1 1 h h h h h h h h h hB B B B BOS OT O O O OA A A A A A
4 4 4"  "& & & & &r   