diff options
author | Haelwenn <git.pleroma.social@hacktivis.me> | 2018-11-20 19:04:52 +0000 |
---|---|---|
committer | Haelwenn <git.pleroma.social@hacktivis.me> | 2018-11-20 19:04:52 +0000 |
commit | c7d08bc1cf37417f8275839f493d09981f2f7e09 (patch) | |
tree | 3f16d46744e72636cb6d112541bd866a882a83d7 /test | |
parent | dbb483659a317b3b48873cd510d0cbcf5ba03738 (diff) | |
parent | 689b46efc87dd128fd7c26f0eaf8c514b8295b30 (diff) | |
download | pleroma-c7d08bc1cf37417f8275839f493d09981f2f7e09.tar.gz pleroma-c7d08bc1cf37417f8275839f493d09981f2f7e09.zip |
Merge branch 'feature/retry-queue' into 'develop'
Federator: add retry queue.
See merge request pleroma/pleroma!323
Diffstat (limited to 'test')
-rw-r--r-- | test/web/retry_queue_test.exs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/web/retry_queue_test.exs b/test/web/retry_queue_test.exs new file mode 100644 index 000000000..ce2964993 --- /dev/null +++ b/test/web/retry_queue_test.exs @@ -0,0 +1,31 @@ +defmodule MockActivityPub do + def publish_one(ret) do + {ret, "success"} + end +end + +defmodule Pleroma.ActivityTest do + use Pleroma.DataCase + alias Pleroma.Web.Federator.RetryQueue + + @small_retry_count 0 + @hopeless_retry_count 10 + + test "failed posts are retried" do + {:retry, _timeout} = RetryQueue.get_retry_params(@small_retry_count) + + assert {:noreply, %{delivered: 1}} == + RetryQueue.handle_info({:send, :ok, MockActivityPub, @small_retry_count}, %{ + delivered: 0 + }) + end + + test "posts that have been tried too many times are dropped" do + {:drop, _timeout} = RetryQueue.get_retry_params(@hopeless_retry_count) + + assert {:noreply, %{dropped: 1}} == + RetryQueue.handle_cast({:maybe_enqueue, %{}, nil, @hopeless_retry_count}, %{ + dropped: 0 + }) + end +end |