
    N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mZmZ  ed          ZdefdZd Zd Zd	 Zd
 ZdS )    N)Path)FREE_AI_VIDEO_PROVIDERSbuild_free_ai_video_handoffrecommended_provider_orderwrite_free_ai_video_handoffszldata/free_production_jobs/mechanism_pilots/hidden-money-systems-warum-ein-billiges-auto-teuer-sein-kann.jsonreturnc                  \    t          j        t                              d                    S )Nutf-8encoding)jsonloadsFIXTURE	read_text     N/home/agent/jarvis_runtime/AutoShortsBot/tests/test_free_ai_video_providers.py_jobsr      s#    :g'''99:::r   c                  	   t           } h 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}}| 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         d
         d         }d}||u }|slt          j        d|fd||f          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             }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 S )!N>   pikacapcuthailuopixverse)<=)z0%(py1)s <= %(py6)s
{%(py6)s = %(py3)s(%(py4)s)
}set	providers)py1py3py4py6assert %(py8)spy8r   	free_tiermonthly_creditsP   ==z%(py1)s == %(py4)sr   r   assert %(py6)sr    max_resolution480pr   daily_refresh_creditsZ   r   hd_export_claimedTisz%(py1)s is %(py4)sc              3   .   K   | ]}|d          dk    V  dS )cost_policyfree_tier_only_no_paid_topupsNr   .0providers     r   	<genexpr>zZtest_provider_registry_contains_real_free_tier_candidates_from_research.<locals>.<genexpr>   s-      mmhx&*IImmmmmmr   ,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}allpy0py2r   c              3   .   K   | ]}|d          dk    V  dS )automation_modemanual_browser_handoffNr   r6   s     r   r9   zZtest_provider_registry_contains_real_free_tier_candidates_from_research.<locals>.<genexpr>   s.      jj8x)*.FFjjjjjjr   )r   r   
@pytest_ar_call_reprcompare	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanationvaluesr;   )	r   @py_assert0@py_assert5@py_assert2@py_format7@py_format9@py_assert3@py_format5@py_assert1s	            r   Gtest_provider_registry_contains_real_free_tier_candidates_from_researchrS      s   'I333Es9~~E3~EEEEEEEEEE3~EEEEE3EEEEEEEEEEEsEEEEEsEEEEEEEEEEEEE9EEEEE9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EEEEEV[)*;<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BBBBBBBBBBV[)*:;EvE;vEEEEEEEEEE;vEEEEE;EEEEv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Z -.EFL"LF"LLLLLLLLLLF"LLLLLFLLLL"LLLLLLLLLLLLLLLLLLLLLLLLLLLX{+,?@HDH@DHHHHHHHHHH@DHHHHH@HHHHDHHHHHHHHHHHHHHHHHHHHHHHHHHHmmZcZjZjZlZlmmmm3mmmmmmmmmmmmmmmm3mmmmm3mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjjW`WgWgWiWijjjj3jjjjjjjjjjjjjjjj3jjjjj3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jjjjjjjr   c                     t          d          } | d d         }ddg}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd	|i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 S )Ncinematic_ai_video   r   r   r&   r(   r)   r*   r    r   )in)z%(py1)s in %(py3)sorder)r   r   zassert %(py5)spy5runway)not in)z%(py1)s not in %(py3)sluma)	r   rB   rC   rD   rH   rI   rE   rF   rG   )rX   rK   rP   rM   rQ   rN   @py_format4@py_format6s           r   Xtest_recommended_provider_order_prioritizes_free_realistic_ai_video_for_cinematic_scenesr_      s   &';<<E!9,V,,9,,,,,,,,,,,9,,,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8u8u8uu 85          85     8           5     5                           666r   c                     t          t                                } | 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
}||u }|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}||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}||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dg}||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             }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             }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             }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             }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             }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             }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             }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             }d#d$h}||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 )%Nschema_versionfree_ai_video_handoff.v1r&   r(   r)   r*   r    budget_policypaid_topups_allowedFr0   r2   videoidz<hidden-money-systems-warum-ein-billiges-auto-teuer-sein-kannhybrid_strategyfinal_assemblylocal_ffmpegai_video_jobsc                     g | ]
}|d          S )scene_idr   r7   jobs     r   
<listcomp>zatest_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<listcomp>1   s    ///C
O///r   scene_01scene_02c              3   .   K   | ]}|d          dk    V  dS )statusmanual_generation_requiredNr   rm   s     r   r9   z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<genexpr>2   s,      PPs8} <<PPPPPPr   r:   r;   r<   c              3   B   K   | ]}|d          dd         ddgk    V  dS )provider_orderNrV   r   r   r   rm   s     r   r9   z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<genexpr>3   s;      TTSs#$RaR(Z,@@TTTTTTr   c              3   6   K   | ]}|d          d         du V  dS )free_tier_guardrailsdo_not_buy_creditsTNr   rm   s     r   r9   z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<genexpr>4   s3      \\Ss)*+?@DH\\\\\\r   c              3   .   K   | ]}|d          dk    V  dS )duration_seconds   Nr   rm   s     r   r9   z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<genexpr>5   s-      ??s%&!+??????r   c              3   N   K   | ] }d |d                                          v V  !dS )zno readable textnegative_promptNlowerrm   s     r   r9   z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<genexpr>6   s:      WW!S):%;%A%A%C%CCWWWWWWr   c              3   N   K   | ] }d |d                                          vV  !dS )zlocal proceduralpromptNr   rm   s     r   r9   z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<genexpr>7   s8      RR3!X)<)<)>)>>RRRRRRr   c              3   N   K   | ] }d |d                                          vV  !dS )zpaid ai-video creditsr   Nr   rm   s     r   r9   z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<genexpr>8   s8      WW&c(m.A.A.C.CCWWWWWWr   
local_jobsc                     h | ]
}|d          S )
asset_moder   rm   s     r   	<setcomp>z`test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only.<locals>.<setcomp>;   s    444#C444r   mechanism_animationkinetic_text_overlay)r   r   rB   rC   rD   rH   rI   r;   rE   rF   rG   )	handoffrK   rP   rM   rQ   rN   ai_jobsrR   r   s	            r   Mtest_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_onlyr   (   s]	   )%''22G#$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BBBBBBBBBBBBBB?#$9:CeC:eCCCCCCCCCC:eCCCCC:CCCCeCCCCCCCCCCCCCCCCCCCCCCCCCCC7D!c%cc!%ccccccccccc!%cccccc!cccc%cccccccccccccccccccccccccccc$%&67I>I7>IIIIIIIIII7>IIIII7IIII>IIIIIIIIIIIIIIIIIIIIIIIIIIIo&G//w///KJ
3KK/3KKKKKKKKKKK/3KKKKKK/KKKK3KKKKKKKKKKKKKKKKKKKKKKKKKKKKPPPPPP3PPPPPPPPPPPPPPPP3PPPPP3PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPTTGTTTT3TTTTTTTTTTTTTTTT3TTTTT3TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\\T[\\\\3\\\\\\\\\\\\\\\\3\\\\\3\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\??w????3????????????????3?????3???????????????????????????????WWwWWWW3WWWWWWWWWWWWWWWW3WWWWW3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RR'RRRR3RRRRRRRRRRRRRRRR3RRRRR3RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRWWwWWWW3WWWWWWWWWWWWWWWW3WWWWW3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&J44444g9NPf8gg48ggggggggggg48gggggg4gggg8g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gr   c                 j   t          t                      g|           }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}}t          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         d	         d         }|s:ddt          j        |          iz  }t          t          j
        |                    d }d S )N   r&   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)slenpaths)r=   r   r   r    r!   r"   r   r
   r   ra   rb   r(   r)   r*   r    rj   manual_stepszassert %(py1)sr   )r   r   r   rB   rC   rE   rF   rG   rD   rH   rI   r   r   r   )tmp_pathr   rM   rL   @py_assert4rN   rO   payloadrK   rP   rQ   @py_format2s               r   9test_write_free_ai_video_handoffs_outputs_reviewable_jsonr   >   sc   (%''H==Eu:::?:33uu:jq++W+==>>G#$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BBBBBBBBBBBBBB?#A&~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6r   )builtinsrE   _pytest.assertion.rewrite	assertionrewriterB   r   pathlibr   "autoshorts.free_ai_video_providersr   r   r   r   r   dictr   rS   r_   r   r   r   r   r   <module>r      s                                   $}
~
~;t ; ; ; ;	k 	k 	k  h h h,7 7 7 7 7r   