import pytest from ytdl_sub.entries.entry import Entry @pytest.fixture def uid(): return "abc123" @pytest.fixture def extractor(): return "xtract" @pytest.fixture def title(): return "entry {title}" @pytest.fixture def upload_date(): return "20210112" @pytest.fixture def ext(): return "mp5" @pytest.fixture def thumbnail_ext(): return "jpg" @pytest.fixture def webpage_url() -> str: return "https://yourname.here" @pytest.fixture def download_thumbnail_name(uid, thumbnail_ext): return f"{uid}.{thumbnail_ext}" @pytest.fixture def download_file_name(uid, ext): return f"{uid}.{ext}" @pytest.fixture def mock_entry_to_dict( uid, title, ext, extractor, upload_date, thumbnail_ext, webpage_url, ): return { "uid": uid, "uid_sanitized": uid, "epoch": 1596878400, "epoch_date": "20200808", "epoch_hour": "09", "title": "entry {title}", "title_sanitized": "entry {title}", "ext": ext, "description": "", "creator": "abc123", "creator_sanitized": "abc123", "channel": "abc123", "channel_sanitized": "abc123", "channel_id": uid, "extractor": extractor, "uploader": "abc123", "uploader_id": "abc123", "uploader_url": "https://yourname.here", "download_index": 1, "download_index_padded6": "000001", "upload_date_index": 1, "upload_date_index_padded": "01", "upload_date_index_reversed": 99, "upload_date_index_reversed_padded": "99", "upload_date": upload_date, "upload_date_standardized": "2021-01-12", "upload_year": 2021, "upload_year_truncated": 21, "upload_year_truncated_reversed": 79, "upload_month": 1, "upload_month_padded": "01", "upload_month_reversed": 12, "upload_month_reversed_padded": "12", "upload_day": 12, "upload_day_padded": "12", "upload_day_reversed": 20, "upload_day_reversed_padded": "20", "upload_day_of_year": 12, "upload_day_of_year_padded": "012", "upload_day_of_year_reversed": 354, "upload_day_of_year_reversed_padded": "354", "thumbnail_ext": thumbnail_ext, "info_json_ext": "info.json", "webpage_url": webpage_url, "playlist_index": 1, "playlist_index_padded": "01", "playlist_index_padded6": "000001", "playlist_index_reversed": 1, "playlist_index_reversed_padded": "01", "playlist_index_reversed_padded6": "000001", "playlist_count": 1, "playlist_max_upload_year": 2021, "playlist_max_upload_year_truncated": 21, "playlist_title": "entry {title}", "playlist_title_sanitized": "entry {title}", "playlist_description": "", "playlist_webpage_url": "https://yourname.here", "playlist_uid": "abc123", "playlist_uploader": "abc123", "playlist_uploader_sanitized": "abc123", "playlist_uploader_id": "abc123", "playlist_uploader_url": "https://yourname.here", "source_count": 1, "source_description": "", "source_index": 1, "source_index_padded": "01", "source_title": "entry {title}", "source_title_sanitized": "entry {title}", "source_webpage_url": "https://yourname.here", "source_uid": "abc123", "source_uploader": "abc123", "source_uploader_id": "abc123", "source_uploader_url": "https://yourname.here", "uid_sanitized_plex": "abc123", "title_sanitized_plex": "entry {title}", "release_date": upload_date, "release_date_standardized": "2021-01-12", "release_year": 2021, "release_year_truncated": 21, "release_year_truncated_reversed": 79, "release_month": 1, "release_month_padded": "01", "release_month_reversed": 12, "release_month_reversed_padded": "12", "release_day": 12, "release_day_padded": "12", "release_day_reversed": 20, "release_day_reversed_padded": "20", "release_day_of_year": 12, "release_day_of_year_padded": "012", "release_day_of_year_reversed": 354, "release_day_of_year_reversed_padded": "354", } @pytest.fixture def mock_entry_kwargs( uid, title, ext, upload_date, extractor, download_thumbnail_name, webpage_url ): return { "id": uid, "epoch": 1596878400, "extractor": extractor, "extractor_key": "test_extractor_key", "title": title, "ext": ext, "upload_date": upload_date, "thumbnail": download_thumbnail_name, "webpage_url": webpage_url, } @pytest.fixture def mock_entry(mock_entry_kwargs): return Entry(entry_dict=mock_entry_kwargs, working_directory=".").initialize_script()