[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:
1 parent
a9f40ed843
commit
26d457e656
38 files changed
+730
-107
No files matched your search
@@ -7,6 +7,7 @@ defmodule Pinchflat.SlowIndexing.MediaCollectionIndexingWorkerTest do
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
||||
alias Pinchflat.Tasks
|
||||
alias Pinchflat.Settings
|
||||
alias Pinchflat.Sources.Source
|
||||
alias Pinchflat.FastIndexing.FastIndexingWorker
|
||||
alias Pinchflat.Downloading.MediaDownloadWorker
|
||||
@@ -51,6 +52,12 @@ defmodule Pinchflat.SlowIndexing.MediaCollectionIndexingWorkerTest do
|
||||
end
|
||||
|
||||
describe "perform/1" do
|
||||
setup do
|
||||
stub(AppriseRunnerMock, :run, fn _, _ -> {:ok, ""} end)
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
test "it indexes the source if it should be indexed" do
|
||||
expect(YtDlpRunnerMock, :run, fn _url, _opts, _ot, _addl_opts -> {:ok, ""} end)
|
||||
|
||||
@@ -210,4 +217,30 @@ defmodule Pinchflat.SlowIndexing.MediaCollectionIndexingWorkerTest do
|
||||
assert :ok = perform_job(MediaCollectionIndexingWorker, %{id: 0})
|
||||
end
|
||||
end
|
||||
|
||||
describe "perform/1 when testing apprise notifications" do
|
||||
setup do
|
||||
Settings.set(apprise_server: "server_1")
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
test "sends a notification if new media was found" do
|
||||
source = source_fixture()
|
||||
|
||||
expect(YtDlpRunnerMock, :run, fn _url, _opts, _ot, _addl_opts ->
|
||||
{:ok, source_attributes_return_fixture()}
|
||||
end)
|
||||
|
||||
expect(AppriseRunnerMock, :run, fn servers, opts ->
|
||||
assert "server_1" = servers
|
||||
assert is_binary(Keyword.get(opts, :title))
|
||||
assert is_binary(Keyword.get(opts, :body))
|
||||
|
||||
{:ok, ""}
|
||||
end)
|
||||
|
||||
perform_job(MediaCollectionIndexingWorker, %{id: source.id})
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user