diff options
author | eal <eal@waifu.club> | 2018-11-19 18:08:41 +0200 |
---|---|---|
committer | eal <eal@waifu.club> | 2018-11-19 18:08:41 +0200 |
commit | 689b46efc87dd128fd7c26f0eaf8c514b8295b30 (patch) | |
tree | 6c3d45dd9f21a738154dda9036cf4b6e26927f40 /test/web/retry_queue_test.exs | |
parent | 62299be09466f83960052b68a140430ad1e30415 (diff) | |
download | pleroma-689b46efc87dd128fd7c26f0eaf8c514b8295b30.tar.gz |
RetryQueue: tiny refractor, add tests
Diffstat (limited to 'test/web/retry_queue_test.exs')
-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 |