[Enhancement] Add Apprise support (#170)

* [WIP] add settings sidebar entry and placeholder page

* [WIP] added placeholder UI and logic for settings form

* Added column and UI for apprise server

* Add some tests

* Added placeholder command runner for apprise

* [WIP] Adding apprise package

* Added apprise command runner

* Hooked up apprise notification module

* Ensured apprise was running in verbose mode

* Updated wording of apprise notification

* Added apprise to README
This commit is contained in:
Kieran
2024-04-09 17:45:39 -07:00
committed by GitHub
parent a9f40ed843
commit 26d457e656
38 changed files with 730 additions and 107 deletions
@@ -1,11 +1,19 @@
defmodule Pinchflat.Boot.PreJobStartupTasksTest do
use Pinchflat.DataCase
import Mox
import Pinchflat.JobFixtures
alias Pinchflat.Settings
alias Pinchflat.Boot.PreJobStartupTasks
setup do
stub(YtDlpRunnerMock, :version, fn -> {:ok, "1"} end)
stub(AppriseRunnerMock, :version, fn -> {:ok, "2"} end)
:ok
end
describe "reset_executing_jobs" do
test "resets executing jobs" do
job = job_fixture()
@@ -13,7 +21,7 @@ defmodule Pinchflat.Boot.PreJobStartupTasksTest do
assert Repo.reload!(job).state == "executing"
PreJobStartupTasks.start_link()
PreJobStartupTasks.init(%{})
assert Repo.reload!(job).state == "retryable"
end
@@ -27,21 +35,31 @@ defmodule Pinchflat.Boot.PreJobStartupTasksTest do
refute File.exists?(filepath)
PreJobStartupTasks.start_link()
PreJobStartupTasks.init(%{})
assert File.exists?(filepath)
end
end
describe "apply_default_settings" do
test "sets default settings" do
test "sets yt_dlp version" do
Settings.set(yt_dlp_version: nil)
refute Settings.get!(:yt_dlp_version)
PreJobStartupTasks.start_link()
PreJobStartupTasks.init(%{})
assert Settings.get!(:yt_dlp_version)
end
test "sets apprise version" do
Settings.set(apprise_version: nil)
refute Settings.get!(:apprise_version)
PreJobStartupTasks.init(%{})
assert Settings.get!(:apprise_version)
end
end
end