
     Y$j
                         d dl Zd dlmc mZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZ d dlmZmZmZmZ d Zd	 Zd
 ZdS )    N)
TestClient)Session)get_settings)init_dbreset_db_for_tests)app)	PostDraftProvider
VideoAssetVideoStatusc                     t                      }d|_        | dz  |_        t          |          }t	          |           |t          t                    fS )Nz	sqlite://storage)r   database_urlstorage_rootr   r   r   r   )tmp_pathsettingsengines      K/home/agent/projects/AutoShorts_Dashboard/backend/tests/test_post_drafts.pysetup_test_dbr   
   sL    ~~H'H$y0HXFv:c??""    c                    t          |           \  }}t          |          5 }t          dddt          | dz            dddt          j                  }|                    |           |                                 |                    |           t          |j
        t          j        d	d
          }|                    |           |                                 |                    |           |j
        }d d d            n# 1 swxY w Y   |                    d| dddi          }|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        |	          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         }|j        }d}	 ||	          }|ssdt          j        |          t          j        |          t          j        |	          t          j        |          d z  }t+          t          j        |                    d x}x}x}	}d S )!Nschedule_videopackage_schedule_videoprepared_package	video.mp4   zschedule-video-checksumzSchedule Videocandidate_id
package_idsource	file_path	file_sizechecksumworking_titlestatusScheduleprivatevideo_asset_idprovidertitleprivacy_status/api/post-drafts/	/schedulescheduled_atz2026-06-07T09:30:00+02:00json   ==z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sresponsepy0py2py5assert %(py7)spy7r%   	scheduled)z%(py1)s == %(py4)s)py1py4zassert %(py6)spy6z2026-06-07T09:30:00zLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})r>   py3r:   r<   )r   r   r   strr   ready_for_reviewaddcommitrefreshr	   idr
   youtubepoststatus_code
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr1   get
startswith)r   r   clientsessionvideodraftdraft_idr6   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_assert0@py_assert2@py_format5@py_format7detail@py_assert6s                      r   )test_schedule_accepts_iso_datetime_stringre      s   "8,,NFF	 G)/%([011.*/	
 	
 	
 	EH<LT^oxyyyE8%              ( {{BxBBB.ZuIv{wwH&3&3&&&&&&&&&&3&&&&&&&&&&&&8&&&&&8&&&&&&&&&&3&&&&&&&&&&&&&&&&&&&&&&&&&&&==??8$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3333333333333333333ZZ6H6677<<>>F.!C!,C-BC,,-BCCCCCCCC!CCCC,CCCC-B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DD	D	c                    t          |           \  }}t          |          5 }t          dddt          | dz            dddt          j                  }|                    |           |                                 |                    |           t          |j
        t          j        d	d
          }|                    |           |                                 |                    |           |j
        }d d d            n# 1 swxY w Y   |                    d| dddi          }|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        |	          dz  }dd|iz  }t+          t          j        |                    d x}x}
}	d S )Nbad_schedule_videopackage_bad_schedule_videor   r   r   zbad-schedule-video-checksumzBad Schedule Videor   r&   r'   r(   r-   r.   r/   z
not-a-dater0   i  r3   r5   r6   r7   r;   r<   )r   r   r   rB   r   rC   rD   rE   rF   r	   rG   r
   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   )r   r   rU   rV   rW   rX   rY   r6   rZ   r[   r\   r]   r^   s                r   &test_schedule_rejects_invalid_datetimerj   1   sK   "8,,NFF	 G-3%([0112./	
 	
 	
 	EH<LT^oxyyyE8%              ( {{BxBBB.ZfIg{hhH&3&3&&&&&&&&&&3&&&&&&&&&&&&8&&&&&8&&&&&&&&&&3&&&&&&&&&&&&&&&&&&&&&&&&&&&&&rf   )builtinsrM   _pytest.assertion.rewrite	assertionrewriterK   fastapi.testclientr   sqlmodelr   app.core.configr   app.db.sessionr   r   app.mainr   app.models.corer	   r
   r   r   r   re   rj    r   r   <module>rv      s                  ) ) ) ) ) )       ( ( ( ( ( ( 6 6 6 6 6 6 6 6       H H H H H H H H H H H H# # #D D D<' ' ' ' 'r   