Refactored existing tests

This commit is contained in:
Kieran Eglin 2024-07-22 10:20:18 -07:00
parent dbd2841341
commit 92ff0e5177
No known key found for this signature in database
GPG key ID: 193984967FCF432D
12 changed files with 29 additions and 23 deletions

View file

@ -64,8 +64,8 @@ defmodule Pinchflat.Downloading.MediaDownloadWorker do
{:ok, media_item} = {:ok, media_item} =
case run_user_script(:media_pre_download, media_item) do case run_user_script(:media_pre_download, media_item) do
{:ok, _, 0} -> {:ok, media_item} {:ok, _, exit_code} when exit_code > 0 -> Media.update_media_item(media_item, %{prevent_download: true})
{:ok, _, _} -> Media.update_media_item(media_item, %{prevent_download: true}) _ -> {:ok, media_item}
end end
Repo.preload(media_item, :source) Repo.preload(media_item, :source)

View file

@ -35,7 +35,7 @@ defmodule Pinchflat.Lifecycle.UserScripts.CommandRunner do
def run(event_type, encodable_data) when event_type in @event_types do def run(event_type, encodable_data) when event_type in @event_types do
case backend_executable() do case backend_executable() do
{:ok, :no_executable} -> {:ok, :no_executable} ->
:ok {:ok, :no_executable}
{:ok, executable_path} -> {:ok, executable_path} ->
{:ok, encoded_data} = Phoenix.json_library().encode(encodable_data) {:ok, encoded_data} = Phoenix.json_library().encode(encodable_data)

View file

@ -171,7 +171,7 @@ defmodule Pinchflat.Media do
if delete_files do if delete_files do
{:ok, _} = do_delete_media_files(media_item) {:ok, _} = do_delete_media_files(media_item)
:ok = run_user_script(:media_deleted, media_item) run_user_script(:media_deleted, media_item)
end end
# Should delete these no matter what # Should delete these no matter what
@ -194,7 +194,7 @@ defmodule Pinchflat.Media do
Tasks.delete_tasks_for(media_item) Tasks.delete_tasks_for(media_item)
{:ok, _} = do_delete_media_files(media_item) {:ok, _} = do_delete_media_files(media_item)
:ok = run_user_script(:media_deleted, media_item) run_user_script(:media_deleted, media_item)
update_media_item(media_item, Map.merge(filepath_attrs, addl_attrs)) update_media_item(media_item, Map.merge(filepath_attrs, addl_attrs))
end end

View file

@ -10,7 +10,7 @@ defmodule Pinchflat.Downloading.MediaDownloadWorkerTest do
setup do setup do
stub(YtDlpRunnerMock, :run, fn _url, _opts, _ot -> {:ok, ""} end) stub(YtDlpRunnerMock, :run, fn _url, _opts, _ot -> {:ok, ""} end)
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
stub(HTTPClientMock, :get, fn _url, _headers, _opts -> {:ok, ""} end) stub(HTTPClientMock, :get, fn _url, _headers, _opts -> {:ok, ""} end)
media_item = media_item =
@ -170,7 +170,7 @@ defmodule Pinchflat.Downloading.MediaDownloadWorkerTest do
expect(UserScriptRunnerMock, :run, fn :media_downloaded, data -> expect(UserScriptRunnerMock, :run, fn :media_downloaded, data ->
assert data.id == media_item.id assert data.id == media_item.id
:ok {:ok, "", 0}
end) end)
perform_job(MediaDownloadWorker, %{id: media_item.id}) perform_job(MediaDownloadWorker, %{id: media_item.id})

View file

@ -8,7 +8,7 @@ defmodule Pinchflat.Downloading.MediaRetentionWorkerTest do
alias Pinchflat.Downloading.MediaRetentionWorker alias Pinchflat.Downloading.MediaRetentionWorker
setup do setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
:ok :ok
end end

View file

@ -19,7 +19,7 @@ defmodule Pinchflat.Lifecycle.UserScripts.CommandRunnerTest do
File.write(filepath(), "#!/bin/bash\ntouch #{filename}\n") File.write(filepath(), "#!/bin/bash\ntouch #{filename}\n")
refute File.exists?(filename) refute File.exists?(filename)
assert :ok = Runner.run(:media_downloaded, %{}) assert {:ok, _, _} = Runner.run(:media_downloaded, %{})
assert File.exists?(filename) assert File.exists?(filename)
end end
@ -27,7 +27,7 @@ defmodule Pinchflat.Lifecycle.UserScripts.CommandRunnerTest do
tmp_dir = Application.get_env(:pinchflat, :tmpfile_directory) tmp_dir = Application.get_env(:pinchflat, :tmpfile_directory)
File.write(filepath(), "#!/bin/bash\necho $1 > #{tmp_dir}/event_name\n") File.write(filepath(), "#!/bin/bash\necho $1 > #{tmp_dir}/event_name\n")
assert :ok = Runner.run(:media_downloaded, %{}) assert {:ok, _, _} = Runner.run(:media_downloaded, %{})
assert File.read!("#{tmp_dir}/event_name") == "media_downloaded\n" assert File.read!("#{tmp_dir}/event_name") == "media_downloaded\n"
end end
@ -35,26 +35,32 @@ defmodule Pinchflat.Lifecycle.UserScripts.CommandRunnerTest do
tmp_dir = Application.get_env(:pinchflat, :tmpfile_directory) tmp_dir = Application.get_env(:pinchflat, :tmpfile_directory)
File.write(filepath(), "#!/bin/bash\necho $2 > #{tmp_dir}/encoded_data\n") File.write(filepath(), "#!/bin/bash\necho $2 > #{tmp_dir}/encoded_data\n")
assert :ok = Runner.run(:media_downloaded, %{foo: "bar"}) assert {:ok, _, _} = Runner.run(:media_downloaded, %{foo: "bar"})
assert File.read!("#{tmp_dir}/encoded_data") == "{\"foo\":\"bar\"}\n" assert File.read!("#{tmp_dir}/encoded_data") == "{\"foo\":\"bar\"}\n"
end end
test "does nothing if the lifecycle file is not present" do test "does nothing if the lifecycle file is not present" do
:ok = File.rm(filepath()) :ok = File.rm(filepath())
assert :ok = Runner.run(:media_downloaded, %{}) assert {:ok, :no_executable} = Runner.run(:media_downloaded, %{})
end end
test "does nothing if the lifecycle file is empty" do test "does nothing if the lifecycle file is empty" do
File.write(filepath(), "") File.write(filepath(), "")
assert :ok = Runner.run(:media_downloaded, %{}) assert {:ok, :no_executable} = Runner.run(:media_downloaded, %{})
end end
test "returns :ok if the command exits with a non-zero status" do test "returns :ok if the command exits with a non-zero status" do
File.write(filepath(), "#!/bin/bash\nexit 1\n") File.write(filepath(), "#!/bin/bash\nexit 1\n")
assert :ok = Runner.run(:media_downloaded, %{}) assert {:ok, _, 1} = Runner.run(:media_downloaded, %{})
end
test "returns the output of the command" do
File.write(filepath(), "#!/bin/bash\necho 'hello'\n")
assert {:ok, "hello\n", 0} = Runner.run(:media_downloaded, %{})
end end
test "gets upset if you pass an invalid event type" do test "gets upset if you pass an invalid event type" do

View file

@ -684,7 +684,7 @@ defmodule Pinchflat.MediaTest do
describe "delete_media_item/2 when testing file deletion" do describe "delete_media_item/2 when testing file deletion" do
setup do setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
:ok :ok
end end
@ -745,7 +745,7 @@ defmodule Pinchflat.MediaTest do
expect(UserScriptRunnerMock, :run, fn :media_deleted, data -> expect(UserScriptRunnerMock, :run, fn :media_deleted, data ->
assert data.id == media_item.id assert data.id == media_item.id
:ok {:ok, "", 0}
end) end)
assert {:ok, _} = Media.delete_media_item(media_item, delete_files: true) assert {:ok, _} = Media.delete_media_item(media_item, delete_files: true)
@ -754,7 +754,7 @@ defmodule Pinchflat.MediaTest do
describe "delete_media_files/2" do describe "delete_media_files/2" do
setup do setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
:ok :ok
end end
@ -817,7 +817,7 @@ defmodule Pinchflat.MediaTest do
expect(UserScriptRunnerMock, :run, fn :media_deleted, data -> expect(UserScriptRunnerMock, :run, fn :media_deleted, data ->
assert data.id == media_item.id assert data.id == media_item.id
:ok {:ok, "", 0}
end) end)
assert {:ok, _} = Media.delete_media_files(media_item) assert {:ok, _} = Media.delete_media_files(media_item)

View file

@ -113,7 +113,7 @@ defmodule Pinchflat.ProfilesTest do
describe "delete_media_profile/2 when deleting files" do describe "delete_media_profile/2 when deleting files" do
setup do setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
:ok :ok
end end

View file

@ -617,7 +617,7 @@ defmodule Pinchflat.SourcesTest do
describe "delete_source/2 when deleting files" do describe "delete_source/2 when deleting files" do
setup do setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
:ok :ok
end end

View file

@ -56,7 +56,7 @@ defmodule PinchflatWeb.MediaItemControllerTest do
describe "delete media" do describe "delete media" do
setup do setup do
media_item = media_item_with_attachments() media_item = media_item_with_attachments()
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
%{media_item: media_item} %{media_item: media_item}
end end

View file

@ -137,7 +137,7 @@ defmodule PinchflatWeb.MediaProfileControllerTest do
setup [:create_media_profile] setup [:create_media_profile]
setup do setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
:ok :ok
end end

View file

@ -152,7 +152,7 @@ defmodule PinchflatWeb.SourceControllerTest do
setup [:create_source] setup [:create_source]
setup do setup do
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end) stub(UserScriptRunnerMock, :run, fn _event_type, _data -> {:ok, "", 0} end)
:ok :ok
end end