
    i%jM	                         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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mZ d d	lmZ d
 Zd ZdS )    N)Path)
TestClient)Sessionselect)get_settings)init_dbreset_db_for_tests)app)	PostDraftProviderUploadRequest
VideoAssetWebsiteCompanion)complete_requestc                     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      ]/home/agent/projects/AutoShorts_Dashboard/backend/tests/test_sprint89_website_private_link.pysetup_test_dbr      sL    ~~H'H$y0HXFv:c??""    c           	         t          |           \  }}| dz  }|                    d           t          |          5 }t          ddt	          |          ddd          }|                    |           |                                 |                    |           t          |j	        t          j        ddd	gd
          }|                    |           |                                 |                    |           t          |j	        |j	        ddddi          }|                    |           |                                 |                    |           t          ||j	        ddi           |                    t          t                                         t           j        |j	        k                                                        }|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  }t7          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        |
          dz  }dd|iz  }t7          t+          j        |                    d x}	x}}
|j        }	d}
|	|
u }|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  }t7          t+          j        |                    d x}	x}}
|j	        }d d d            n# 1 swxY w Y   |                    d| d                                           d         }|d          }d }||u }|slt+          j        d|fd!||f          t+          j        |          t+          j        |          d"z  }d#d$|iz  }t7          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  }t7          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  }t7          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  }t7          t+          j        |                    d x}x}}d S ))Nz	video.mp4s   videozpkg-private-siteabczPrivate Siteuploaded_private)candidate_id
package_id	file_pathchecksumworking_titlestatusz
Safe guidez
#scamalertprivate)video_asset_idprovidertitledescription	tags_jsonprivacy_statussent_to_executorr(   )r%   post_draft_idr#   expected_video_shametadata_snapshot_jsonyoutube_video_id
PRIVATE123ready_without_public_video)==)z.%(py2)s
{%(py2)s = %(py0)s.status
} == %(py5)scomp)py0py2py5zassert %(py7)spy7z)https://www.youtube.com/shorts/PRIVATE123)z:%(py2)s
{%(py2)s = %(py0)s.video_url_internal
} == %(py5)sF)is)z<%(py2)s
{%(py2)s = %(py0)s.website_link_allowed
} is %(py5)sz/api/website/companions/z/prepare-payloadpayloadvideoUrl)z%(py1)s is %(py4)s)py1py4zassert %(py6)spy6source)z%(py1)s == %(py4)swebsite_link_allowedpublic_video_url_visible)!r   write_bytesr   r   straddcommitrefreshr   idr   youtuber   r   execr   r   wherer%   firstr#   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationvideo_url_internalr?   postjson)r   r   client
video_pathsessionvideodraftreqr3   @py_assert1@py_assert4@py_assert3@py_format6@py_format8video_idr9   @py_assert0@py_assert2@py_format5@py_format7s                       r   Ntest_private_youtube_completion_prepares_website_companion_without_public_linkrf      s   "8,,NFFK'J8$$$	 G(:GYehisetet  @E  Uc  l~      EGNN,,,gooe.D.D.DH<LTbp|  JV  IW  hq  r  r  rEGNN,,,gooe.D.D.D5858Tf  |A  [h  jv  Zw  x  x  xC'..***GOOC,@,@,@#&+=|*LMMM||F#344::;K;Z^c^f;fgghhnnpp{:::{:::::::::::{:::::::::::::t:::::t::::::{::::::::::::::::::::::::::::::::&U*UU&*UUUUUUUUUUU&*UUUUUUUUUUUUUtUUUUUtUUUUUU&UUUU*UUUUUUUUUUUUUUUUUUUUUUUUUUUU(1E1(E1111111111(E111111111111t11111t111111(1111E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8               kkOXOOOPPUUWWXabG:&$&$&&&&&&&&&&$&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&8/0@L@0L@@@@@@@@@@0L@@@@@0@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@834==4==========4=====4===============================878AEA8EAAAAAAAAAA8EAAAAA8AAAAE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AAs   O!P))P-0P-)builtinsrM   _pytest.assertion.rewrite	assertionrewriterK   pathlibr   fastapi.testclientr   sqlmodelr   r   app.core.configr   app.db.sessionr   r	   app.mainr
   app.models.corer   r   r   r   r   app.services.upload_requestsr   r   rf    r   r   <module>rt      s                       ) ) ) ) ) ) $ $ $ $ $ $ $ $ ( ( ( ( ( ( 6 6 6 6 6 6 6 6       \ \ \ \ \ \ \ \ \ \ \ \ \ \ 9 9 9 9 9 9# # #B B B B Br   