From ac895944a8d80c69f0da0f8846668f6f521866ef Mon Sep 17 00:00:00 2001 From: Kieran Date: Wed, 5 Mar 2025 15:32:15 -0800 Subject: [PATCH] [Enhancement] Add option for a source to only use cookies when needed (#640) * Updated model with new attribute * Update app logic to use new cookie logic * lots of tests * Updated UI and renamed attribute * Updated tests --- lib/pinchflat/downloading/media_downloader.ex | 4 +- .../fast_indexing/fast_indexing_helpers.ex | 7 +- .../metadata/metadata_file_helpers.ex | 3 +- .../source_metadata_storage_worker.ex | 5 +- .../slow_indexing/slow_indexing_helpers.ex | 3 +- lib/pinchflat/sources/source.ex | 4 +- lib/pinchflat/sources/sources.ex | 17 ++++- .../controllers/sources/source_html.ex | 8 ++ .../sources/source_html/source_form.html.heex | 9 ++- priv/repo/erd.png | Bin 508711 -> 509199 bytes ...185528_add_cookie_behaviour_to_sources.exs | 18 +++++ .../downloading/media_downloader_test.exs | 29 ++++++- .../fast_indexing_helpers_test.exs | 72 +++++++++++------- .../metadata/metadata_file_helpers_test.exs | 34 ++++++--- .../source_metadata_storage_worker_test.exs | 38 ++++++++- .../slow_indexing_helpers_test.exs | 17 ++++- test/pinchflat/sources_test.exs | 44 ++++++++++- 17 files changed, 247 insertions(+), 65 deletions(-) create mode 100644 priv/repo/migrations/20250304185528_add_cookie_behaviour_to_sources.exs diff --git a/lib/pinchflat/downloading/media_downloader.ex b/lib/pinchflat/downloading/media_downloader.ex index 312c149..22c1370 100644 --- a/lib/pinchflat/downloading/media_downloader.ex +++ b/lib/pinchflat/downloading/media_downloader.ex @@ -9,6 +9,7 @@ defmodule Pinchflat.Downloading.MediaDownloader do alias Pinchflat.Repo alias Pinchflat.Media + alias Pinchflat.Sources alias Pinchflat.Media.MediaItem alias Pinchflat.Utils.StringUtils alias Pinchflat.Metadata.NfoBuilder @@ -151,7 +152,8 @@ defmodule Pinchflat.Downloading.MediaDownloader do defp download_with_options(url, item_with_preloads, output_filepath, override_opts) do {:ok, options} = DownloadOptionBuilder.build(item_with_preloads, override_opts) - use_cookies = item_with_preloads.source.use_cookies + + use_cookies = Sources.use_cookies?(item_with_preloads.source, :downloading) runner_opts = [output_filepath: output_filepath, use_cookies: use_cookies] case YtDlpMedia.get_downloadable_status(url, use_cookies: use_cookies) do diff --git a/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex b/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex index 6edd3e5..15a4342 100644 --- a/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex +++ b/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex @@ -12,6 +12,7 @@ defmodule Pinchflat.FastIndexing.FastIndexingHelpers do alias Pinchflat.Repo alias Pinchflat.Media alias Pinchflat.Tasks + alias Pinchflat.Sources alias Pinchflat.Sources.Source alias Pinchflat.FastIndexing.YoutubeRss alias Pinchflat.FastIndexing.YoutubeApi @@ -88,12 +89,16 @@ defmodule Pinchflat.FastIndexing.FastIndexingHelpers do defp create_media_item_from_media_id(source, media_id) do url = "https://www.youtube.com/watch?v=#{media_id}" + # This is set to :metadata instead of :indexing since this happens _after_ the + # actual indexing process. In reality, slow indexing is the only thing that + # should be using :indexing. + should_use_cookies = Sources.use_cookies?(source, :metadata) command_opts = [output: DownloadOptionBuilder.build_output_path_for(source)] ++ DownloadOptionBuilder.build_quality_options_for(source) - case YtDlpMedia.get_media_attributes(url, command_opts, use_cookies: source.use_cookies) do + case YtDlpMedia.get_media_attributes(url, command_opts, use_cookies: should_use_cookies) do {:ok, media_attrs} -> Media.create_media_item_from_backend_attrs(source, media_attrs) diff --git a/lib/pinchflat/metadata/metadata_file_helpers.ex b/lib/pinchflat/metadata/metadata_file_helpers.ex index 7adc632..842f6ef 100644 --- a/lib/pinchflat/metadata/metadata_file_helpers.ex +++ b/lib/pinchflat/metadata/metadata_file_helpers.ex @@ -9,6 +9,7 @@ defmodule Pinchflat.Metadata.MetadataFileHelpers do needed """ + alias Pinchflat.Sources alias Pinchflat.Utils.FilesystemUtils alias Pinchflat.YtDlp.Media, as: YtDlpMedia @@ -66,7 +67,7 @@ defmodule Pinchflat.Metadata.MetadataFileHelpers do yt_dlp_filepath = generate_filepath_for(media_item_with_preloads, "thumbnail.%(ext)s") real_filepath = generate_filepath_for(media_item_with_preloads, "thumbnail.jpg") command_opts = [output: yt_dlp_filepath] - addl_opts = [use_cookies: media_item_with_preloads.source.use_cookies] + addl_opts = [use_cookies: Sources.use_cookies?(media_item_with_preloads.source, :metadata)] case YtDlpMedia.download_thumbnail(media_item_with_preloads.original_url, command_opts, addl_opts) do {:ok, _} -> real_filepath diff --git a/lib/pinchflat/metadata/source_metadata_storage_worker.ex b/lib/pinchflat/metadata/source_metadata_storage_worker.ex index adaf0df..feb793b 100644 --- a/lib/pinchflat/metadata/source_metadata_storage_worker.ex +++ b/lib/pinchflat/metadata/source_metadata_storage_worker.ex @@ -93,7 +93,7 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorker do defp determine_series_directory(source) do output_path = DownloadOptionBuilder.build_output_path_for(source) runner_opts = [output: output_path] - addl_opts = [use_cookies: source.use_cookies] + addl_opts = [use_cookies: Sources.use_cookies?(source, :metadata)] {:ok, %{filepath: filepath}} = MediaCollection.get_source_details(source.original_url, runner_opts, addl_opts) case MetadataFileHelpers.series_directory_from_media_filepath(filepath) do @@ -113,6 +113,7 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorker do defp fetch_metadata_for_source(source) do tmp_output_path = "#{tmp_directory()}/#{StringUtils.random_string(16)}/source_image.%(ext)S" base_opts = [convert_thumbnails: "jpg", output: tmp_output_path] + should_use_cookies = Sources.use_cookies?(source, :metadata) opts = if source.collection_type == :channel do @@ -121,7 +122,7 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorker do base_opts ++ [:write_thumbnail, playlist_items: 1] end - MediaCollection.get_source_metadata(source.original_url, opts, use_cookies: source.use_cookies) + MediaCollection.get_source_metadata(source.original_url, opts, use_cookies: should_use_cookies) end defp tmp_directory do diff --git a/lib/pinchflat/slow_indexing/slow_indexing_helpers.ex b/lib/pinchflat/slow_indexing/slow_indexing_helpers.ex index 60d0446..8721b21 100644 --- a/lib/pinchflat/slow_indexing/slow_indexing_helpers.ex +++ b/lib/pinchflat/slow_indexing/slow_indexing_helpers.ex @@ -132,13 +132,14 @@ defmodule Pinchflat.SlowIndexing.SlowIndexingHelpers do {:ok, pid} = FileFollowerServer.start_link() handler = fn filepath -> setup_file_follower_watcher(pid, filepath, source) end + should_use_cookies = Sources.use_cookies?(source, :indexing) command_opts = [output: DownloadOptionBuilder.build_output_path_for(source)] ++ DownloadOptionBuilder.build_quality_options_for(source) ++ build_download_archive_options(source, was_forced) - runner_opts = [file_listener_handler: handler, use_cookies: source.use_cookies] + runner_opts = [file_listener_handler: handler, use_cookies: should_use_cookies] result = MediaCollection.get_media_attributes_for_collection(source.original_url, command_opts, runner_opts) FileFollowerServer.stop(pid) diff --git a/lib/pinchflat/sources/source.ex b/lib/pinchflat/sources/source.ex index 38da139..00b4776 100644 --- a/lib/pinchflat/sources/source.ex +++ b/lib/pinchflat/sources/source.ex @@ -28,7 +28,7 @@ defmodule Pinchflat.Sources.Source do series_directory index_frequency_minutes fast_index - use_cookies + cookie_behaviour download_media last_indexed_at original_url @@ -78,7 +78,7 @@ defmodule Pinchflat.Sources.Source do field :collection_type, Ecto.Enum, values: [:channel, :playlist] field :index_frequency_minutes, :integer, default: 60 * 24 field :fast_index, :boolean, default: false - field :use_cookies, :boolean, default: false + field :cookie_behaviour, Ecto.Enum, values: [:disabled, :when_needed, :all_operations], default: :disabled field :download_media, :boolean, default: true field :last_indexed_at, :utc_datetime # Only download media items that were published after this date diff --git a/lib/pinchflat/sources/sources.ex b/lib/pinchflat/sources/sources.ex index ad8365c..8842a05 100644 --- a/lib/pinchflat/sources/sources.ex +++ b/lib/pinchflat/sources/sources.ex @@ -32,6 +32,19 @@ defmodule Pinchflat.Sources do source.output_path_template_override || media_profile.output_path_template end + @doc """ + Returns a boolean indicating whether or not cookies should be used for a given operation. + + Returns boolean() + """ + def use_cookies?(source, operation) when operation in [:indexing, :downloading, :metadata] do + case source.cookie_behaviour do + :disabled -> false + :all_operations -> true + :when_needed -> operation == :indexing + end + end + @doc """ Returns the list of sources. Returns [%Source{}, ...] """ @@ -181,9 +194,9 @@ defmodule Pinchflat.Sources do defp add_source_details_to_changeset(source, changeset) do original_url = changeset.changes.original_url - use_cookies = Ecto.Changeset.get_field(changeset, :use_cookies) + should_use_cookies = Ecto.Changeset.get_field(changeset, :cookie_behaviour) == :all_operations # Skipping sleep interval since this is UI blocking and we want to keep this as fast as possible - addl_opts = [use_cookies: use_cookies, skip_sleep_interval: true] + addl_opts = [use_cookies: should_use_cookies, skip_sleep_interval: true] case MediaCollection.get_source_details(original_url, [], addl_opts) do {:ok, source_details} -> diff --git a/lib/pinchflat_web/controllers/sources/source_html.ex b/lib/pinchflat_web/controllers/sources/source_html.ex index 57a57b4..00ab498 100644 --- a/lib/pinchflat_web/controllers/sources/source_html.ex +++ b/lib/pinchflat_web/controllers/sources/source_html.ex @@ -27,6 +27,14 @@ defmodule PinchflatWeb.Sources.SourceHTML do ] end + def friendly_cookie_behaviours do + [ + {"Disabled", :disabled}, + {"When Needed", :when_needed}, + {"All Operations", :all_operations} + ] + end + def cutoff_date_presets do [ {"7 days", compute_date_offset(7)}, diff --git a/lib/pinchflat_web/controllers/sources/source_html/source_form.html.heex b/lib/pinchflat_web/controllers/sources/source_html/source_form.html.heex index d4e41f2..014d597 100644 --- a/lib/pinchflat_web/controllers/sources/source_html/source_form.html.heex +++ b/lib/pinchflat_web/controllers/sources/source_html/source_form.html.heex @@ -87,10 +87,11 @@ /> <.input - field={f[:use_cookies]} - type="toggle" - label="Use Cookies for Downloading" - help="Uses your YouTube cookies for this source (if configured). Used for downloading private playlists and videos. See docs for important details" + field={f[:cookie_behaviour]} + options={friendly_cookie_behaviours()} + type="select" + label="Cookie Behaviour" + help="Uses your YouTube cookies for this source (if configured). 'When Needed' tries to minimize cookie usage except for certain indexing and downloading tasks. See docs" />
diff --git a/priv/repo/erd.png b/priv/repo/erd.png index 2acc8aa848d9a6ae2a54d2f35eb0f71b41cbd3d7..4b1088605ce048b2faa57b7e038cd6d07e20a990 100644 GIT binary patch delta 103029 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 delta 102551 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 diff --git a/priv/repo/migrations/20250304185528_add_cookie_behaviour_to_sources.exs b/priv/repo/migrations/20250304185528_add_cookie_behaviour_to_sources.exs new file mode 100644 index 0000000..0eb9eb0 --- /dev/null +++ b/priv/repo/migrations/20250304185528_add_cookie_behaviour_to_sources.exs @@ -0,0 +1,18 @@ +defmodule Pinchflat.Repo.Migrations.AddCookieBehaviourToSources do + use Ecto.Migration + + def change do + alter table(:sources) do + add :cookie_behaviour, :string, null: false, default: "disabled" + end + + execute( + "UPDATE sources SET cookie_behaviour = 'all_operations' WHERE use_cookies = TRUE", + "UPDATE sources SET use_cookies = TRUE WHERE cookie_behaviour = 'all_operations'" + ) + + alter table(:sources) do + remove :use_cookies, :boolean, null: false, default: false + end + end +end diff --git a/test/pinchflat/downloading/media_downloader_test.exs b/test/pinchflat/downloading/media_downloader_test.exs index 5bda8cc..712102d 100644 --- a/test/pinchflat/downloading/media_downloader_test.exs +++ b/test/pinchflat/downloading/media_downloader_test.exs @@ -157,15 +157,16 @@ defmodule Pinchflat.Downloading.MediaDownloaderTest do {:ok, ""} end) - source = source_fixture(%{use_cookies: true}) + source = source_fixture(%{cookie_behaviour: :all_operations}) media_item = media_item_fixture(%{source_id: source.id}) assert {:ok, _} = MediaDownloader.download_for_media_item(media_item) end - test "does not set use_cookies if the source does not use cookies" do + test "does not set use_cookies if the source uses cookies when needed" do expect(YtDlpRunnerMock, :run, 3, fn - _url, :get_downloadable_status, _opts, _ot, _addl -> + _url, :get_downloadable_status, _opts, _ot, addl -> + assert {:use_cookies, false} in addl {:ok, "{}"} _url, :download, _opts, _ot, addl -> @@ -176,7 +177,27 @@ defmodule Pinchflat.Downloading.MediaDownloaderTest do {:ok, ""} end) - source = source_fixture(%{use_cookies: false}) + source = source_fixture(%{cookie_behaviour: :when_needed}) + media_item = media_item_fixture(%{source_id: source.id}) + + assert {:ok, _} = MediaDownloader.download_for_media_item(media_item) + end + + test "does not set use_cookies if the source does not use cookies" do + expect(YtDlpRunnerMock, :run, 3, fn + _url, :get_downloadable_status, _opts, _ot, addl -> + assert {:use_cookies, false} in addl + {:ok, "{}"} + + _url, :download, _opts, _ot, addl -> + assert {:use_cookies, false} in addl + {:ok, render_metadata(:media_metadata)} + + _url, :download_thumbnail, _opts, _ot, _addl -> + {:ok, ""} + end) + + source = source_fixture(%{cookie_behaviour: :disabled}) media_item = media_item_fixture(%{source_id: source.id}) assert {:ok, _} = MediaDownloader.download_for_media_item(media_item) diff --git a/test/pinchflat/fast_indexing/fast_indexing_helpers_test.exs b/test/pinchflat/fast_indexing/fast_indexing_helpers_test.exs index a798275..77be803 100644 --- a/test/pinchflat/fast_indexing/fast_indexing_helpers_test.exs +++ b/test/pinchflat/fast_indexing/fast_indexing_helpers_test.exs @@ -104,34 +104,6 @@ defmodule Pinchflat.FastIndexing.FastIndexingHelpersTest do FastIndexingHelpers.index_and_kickoff_downloads(source) end - test "sets use_cookies if the source uses cookies" do - expect(HTTPClientMock, :get, fn _url -> {:ok, "test_1"} end) - - stub(YtDlpRunnerMock, :run, fn _url, :get_media_attributes, _opts, _ot, addl -> - assert {:use_cookies, true} in addl - - {:ok, media_attributes_return_fixture()} - end) - - source = source_fixture(%{use_cookies: true}) - - assert [%MediaItem{}] = FastIndexingHelpers.index_and_kickoff_downloads(source) - end - - test "does not set use_cookies if the source does not use cookies" do - expect(HTTPClientMock, :get, fn _url -> {:ok, "test_1"} end) - - stub(YtDlpRunnerMock, :run, fn _url, :get_media_attributes, _opts, _ot, addl -> - assert {:use_cookies, false} in addl - - {:ok, media_attributes_return_fixture()} - end) - - source = source_fixture(%{use_cookies: false}) - - assert [%MediaItem{}] = FastIndexingHelpers.index_and_kickoff_downloads(source) - end - test "does not enqueue a download job if the media item does not match the format rules" do expect(HTTPClientMock, :get, fn _url -> {:ok, "test_1"} end) @@ -180,6 +152,50 @@ defmodule Pinchflat.FastIndexing.FastIndexingHelpersTest do end end + describe "index_and_kickoff_downloads/1 when testing cookies" do + test "sets use_cookies if the source uses cookies" do + expect(HTTPClientMock, :get, fn _url -> {:ok, "test_1"} end) + + stub(YtDlpRunnerMock, :run, fn _url, :get_media_attributes, _opts, _ot, addl -> + assert {:use_cookies, true} in addl + + {:ok, media_attributes_return_fixture()} + end) + + source = source_fixture(%{cookie_behaviour: :all_operations}) + + assert [%MediaItem{}] = FastIndexingHelpers.index_and_kickoff_downloads(source) + end + + test "does not set use_cookies if the source uses cookies when needed" do + expect(HTTPClientMock, :get, fn _url -> {:ok, "test_1"} end) + + stub(YtDlpRunnerMock, :run, fn _url, :get_media_attributes, _opts, _ot, addl -> + assert {:use_cookies, false} in addl + + {:ok, media_attributes_return_fixture()} + end) + + source = source_fixture(%{cookie_behaviour: :when_needed}) + + assert [%MediaItem{}] = FastIndexingHelpers.index_and_kickoff_downloads(source) + end + + test "does not set use_cookies if the source does not use cookies" do + expect(HTTPClientMock, :get, fn _url -> {:ok, "test_1"} end) + + stub(YtDlpRunnerMock, :run, fn _url, :get_media_attributes, _opts, _ot, addl -> + assert {:use_cookies, false} in addl + + {:ok, media_attributes_return_fixture()} + end) + + source = source_fixture(%{cookie_behaviour: :disabled}) + + assert [%MediaItem{}] = FastIndexingHelpers.index_and_kickoff_downloads(source) + end + end + describe "index_and_kickoff_downloads/1 when testing backends" do test "uses the YouTube API if it is enabled", %{source: source} do expect(HTTPClientMock, :get, fn url, _headers -> diff --git a/test/pinchflat/metadata/metadata_file_helpers_test.exs b/test/pinchflat/metadata/metadata_file_helpers_test.exs index b193d9a..bacb861 100644 --- a/test/pinchflat/metadata/metadata_file_helpers_test.exs +++ b/test/pinchflat/metadata/metadata_file_helpers_test.exs @@ -88,13 +88,35 @@ defmodule Pinchflat.Metadata.MetadataFileHelpersTest do Helpers.download_and_store_thumbnail_for(media_item) end + test "returns nil if yt-dlp fails", %{media_item: media_item} do + stub(YtDlpRunnerMock, :run, fn _url, :download_thumbnail, _opts, _ot, _addl -> {:error, "error"} end) + + filepath = Helpers.download_and_store_thumbnail_for(media_item) + + assert filepath == nil + end + end + + describe "download_and_store_thumbnail_for/2 when testing cookie usage" do test "sets use_cookies if the source uses cookies" do expect(YtDlpRunnerMock, :run, fn _url, :download_thumbnail, _opts, _ot, addl -> assert {:use_cookies, true} in addl {:ok, ""} end) - source = source_fixture(%{use_cookies: true}) + source = source_fixture(%{cookie_behaviour: :all_operations}) + media_item = Repo.preload(media_item_fixture(%{source_id: source.id}), :source) + + Helpers.download_and_store_thumbnail_for(media_item) + end + + test "does not set use_cookies if the source uses cookies when needed" do + expect(YtDlpRunnerMock, :run, fn _url, :download_thumbnail, _opts, _ot, addl -> + assert {:use_cookies, false} in addl + {:ok, ""} + end) + + source = source_fixture(%{cookie_behaviour: :when_needed}) media_item = Repo.preload(media_item_fixture(%{source_id: source.id}), :source) Helpers.download_and_store_thumbnail_for(media_item) @@ -106,19 +128,11 @@ defmodule Pinchflat.Metadata.MetadataFileHelpersTest do {:ok, ""} end) - source = source_fixture(%{use_cookies: false}) + source = source_fixture(%{cookie_behaviour: :disabled}) media_item = Repo.preload(media_item_fixture(%{source_id: source.id}), :source) Helpers.download_and_store_thumbnail_for(media_item) end - - test "returns nil if yt-dlp fails", %{media_item: media_item} do - stub(YtDlpRunnerMock, :run, fn _url, :download_thumbnail, _opts, _ot, _addl -> {:error, "error"} end) - - filepath = Helpers.download_and_store_thumbnail_for(media_item) - - assert filepath == nil - end end describe "parse_upload_date/1" do diff --git a/test/pinchflat/metadata/source_metadata_storage_worker_test.exs b/test/pinchflat/metadata/source_metadata_storage_worker_test.exs index 2b08a2f..4965964 100644 --- a/test/pinchflat/metadata/source_metadata_storage_worker_test.exs +++ b/test/pinchflat/metadata/source_metadata_storage_worker_test.exs @@ -254,7 +254,23 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorkerTest do end) profile = media_profile_fixture(%{download_source_images: true}) - source = source_fixture(media_profile_id: profile.id, use_cookies: true) + source = source_fixture(media_profile_id: profile.id, cookie_behaviour: :all_operations) + + perform_job(SourceMetadataStorageWorker, %{id: source.id}) + end + + test "does not set use_cookies if the source uses cookies when needed" do + expect(YtDlpRunnerMock, :run, 2, fn + _url, :get_source_details, _opts, _ot, _addl -> + {:ok, source_details_return_fixture()} + + _url, :get_source_metadata, _opts, _ot, addl -> + assert {:use_cookies, false} in addl + {:ok, render_metadata(:channel_source_metadata)} + end) + + profile = media_profile_fixture(%{download_source_images: true}) + source = source_fixture(media_profile_id: profile.id, cookie_behaviour: :when_needed) perform_job(SourceMetadataStorageWorker, %{id: source.id}) end @@ -270,7 +286,7 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorkerTest do end) profile = media_profile_fixture(%{download_source_images: true}) - source = source_fixture(media_profile_id: profile.id, use_cookies: false) + source = source_fixture(media_profile_id: profile.id, cookie_behaviour: :disabled) perform_job(SourceMetadataStorageWorker, %{id: source.id}) end @@ -323,7 +339,21 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorkerTest do {:ok, "{}"} end) - source = source_fixture(%{series_directory: nil, use_cookies: true}) + source = source_fixture(%{series_directory: nil, cookie_behaviour: :all_operations}) + perform_job(SourceMetadataStorageWorker, %{id: source.id}) + end + + test "does not set use_cookies if the source uses cookies when needed" do + expect(YtDlpRunnerMock, :run, 2, fn + _url, :get_source_details, _opts, _ot, addl -> + assert {:use_cookies, false} in addl + {:ok, source_details_return_fixture()} + + _url, :get_source_metadata, _opts, _ot, _addl -> + {:ok, "{}"} + end) + + source = source_fixture(%{series_directory: nil, cookie_behaviour: :when_needed}) perform_job(SourceMetadataStorageWorker, %{id: source.id}) end @@ -337,7 +367,7 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorkerTest do {:ok, "{}"} end) - source = source_fixture(%{series_directory: nil, use_cookies: false}) + source = source_fixture(%{series_directory: nil, cookie_behaviour: :disabled}) perform_job(SourceMetadataStorageWorker, %{id: source.id}) end end diff --git a/test/pinchflat/slow_indexing/slow_indexing_helpers_test.exs b/test/pinchflat/slow_indexing/slow_indexing_helpers_test.exs index 6e00622..d37721a 100644 --- a/test/pinchflat/slow_indexing/slow_indexing_helpers_test.exs +++ b/test/pinchflat/slow_indexing/slow_indexing_helpers_test.exs @@ -302,14 +302,27 @@ defmodule Pinchflat.SlowIndexing.SlowIndexingHelpersTest do SlowIndexingHelpers.index_and_enqueue_download_for_media_items(source) end + end + describe "index_and_enqueue_download_for_media_items/2 when testing cookies" do test "sets use_cookies if the source uses cookies" do expect(YtDlpRunnerMock, :run, fn _url, :get_media_attributes_for_collection, _opts, _ot, addl_opts -> assert {:use_cookies, true} in addl_opts {:ok, source_attributes_return_fixture()} end) - source = source_fixture(%{use_cookies: true}) + source = source_fixture(%{cookie_behaviour: :all_operations}) + + SlowIndexingHelpers.index_and_enqueue_download_for_media_items(source) + end + + test "sets use_cookies if the source uses cookies when needed" do + expect(YtDlpRunnerMock, :run, fn _url, :get_media_attributes_for_collection, _opts, _ot, addl_opts -> + assert {:use_cookies, true} in addl_opts + {:ok, source_attributes_return_fixture()} + end) + + source = source_fixture(%{cookie_behaviour: :when_needed}) SlowIndexingHelpers.index_and_enqueue_download_for_media_items(source) end @@ -320,7 +333,7 @@ defmodule Pinchflat.SlowIndexing.SlowIndexingHelpersTest do {:ok, source_attributes_return_fixture()} end) - source = source_fixture(%{use_cookies: false}) + source = source_fixture(%{cookie_behaviour: :disabled}) SlowIndexingHelpers.index_and_enqueue_download_for_media_items(source) end diff --git a/test/pinchflat/sources_test.exs b/test/pinchflat/sources_test.exs index e8e02ae..7c347e8 100644 --- a/test/pinchflat/sources_test.exs +++ b/test/pinchflat/sources_test.exs @@ -60,6 +60,28 @@ defmodule Pinchflat.SourcesTest do end end + describe "use_cookies?/2" do + test "returns true if the source has been set to use cookies" do + source = source_fixture(%{cookie_behaviour: :all_operations}) + assert Sources.use_cookies?(source, :downloading) + end + + test "returns false if the source has not been set to use cookies" do + source = source_fixture(%{cookie_behaviour: :disabled}) + refute Sources.use_cookies?(source, :downloading) + end + + test "returns true if the action is indexing and the source is set to :when_needed" do + source = source_fixture(%{cookie_behaviour: :when_needed}) + assert Sources.use_cookies?(source, :indexing) + end + + test "returns false if the action is downloading and the source is set to :when_needed" do + source = source_fixture(%{cookie_behaviour: :when_needed}) + refute Sources.use_cookies?(source, :downloading) + end + end + describe "list_sources/0" do test "it returns all sources" do source = source_fixture() @@ -393,13 +415,13 @@ defmodule Pinchflat.SourcesTest do valid_attrs = %{ media_profile_id: media_profile_fixture().id, original_url: "https://www.youtube.com/channel/abc123", - use_cookies: true + cookie_behaviour: :all_operations } assert {:ok, %Source{}} = Sources.create_source(valid_attrs) end - test "does not set use_cookies to false if the source has not been set to use cookies" do + test "does not set use_cookies if the source uses cookies when needed" do expect(YtDlpRunnerMock, :run, fn _url, :get_source_details, _opts, _ot, addl -> refute Keyword.get(addl, :use_cookies) @@ -409,7 +431,23 @@ defmodule Pinchflat.SourcesTest do valid_attrs = %{ media_profile_id: media_profile_fixture().id, original_url: "https://www.youtube.com/channel/abc123", - use_cookies: false + cookie_behaviour: :when_needed + } + + assert {:ok, %Source{}} = Sources.create_source(valid_attrs) + end + + test "does not set use_cookies if the source has not been set to use cookies" do + expect(YtDlpRunnerMock, :run, fn _url, :get_source_details, _opts, _ot, addl -> + refute Keyword.get(addl, :use_cookies) + + {:ok, playlist_return()} + end) + + valid_attrs = %{ + media_profile_id: media_profile_fixture().id, + original_url: "https://www.youtube.com/channel/abc123", + cookie_behaviour: :disabled } assert {:ok, %Source{}} = Sources.create_source(valid_attrs)