1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule MockActivityPub do
6 def publish_one(ret) do
11 defmodule Pleroma.Web.Federator.RetryQueueTest do
13 alias Pleroma.Web.Federator.RetryQueue
16 @hopeless_retry_count 10
18 test "failed posts are retried" do
19 {:retry, _timeout} = RetryQueue.get_retry_params(@small_retry_count)
21 assert {:noreply, %{delivered: 1}} ==
22 RetryQueue.handle_info({:send, :ok, MockActivityPub, @small_retry_count}, %{
27 test "posts that have been tried too many times are dropped" do
28 {:drop, _timeout} = RetryQueue.get_retry_params(@hopeless_retry_count)
30 assert {:noreply, %{dropped: 1}} ==
31 RetryQueue.handle_cast({:maybe_enqueue, %{}, nil, @hopeless_retry_count}, %{