# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.FederatorTest do
- alias Pleroma.Web.{CommonAPI, Federator}
alias Pleroma.Instances
+ alias Pleroma.Web.CommonAPI
+ alias Pleroma.Web.Federator
use Pleroma.DataCase
import Pleroma.Factory
import Mock
describe "Targets reachability filtering in `publish`" do
test_with_mock "it federates only to reachable instances via AP",
- Federator,
+ Pleroma.Web.ActivityPub.Publisher,
[:passthrough],
[] do
user = insert(:user)
CommonAPI.post(user, %{"status" => "HI @nick1@domain.com, @nick2@domain2.com!"})
assert called(
- Federator.enqueue(:publish_single_ap, %{inbox: inbox1, unreachable_since: dt})
+ Pleroma.Web.ActivityPub.Publisher.publish_one(%{
+ inbox: inbox1,
+ unreachable_since: dt
+ })
)
- refute called(Federator.enqueue(:publish_single_ap, %{inbox: inbox2}))
+ refute called(Pleroma.Web.ActivityPub.Publisher.publish_one(%{inbox: inbox2}))
end
test_with_mock "it federates only to reachable instances via Websub",
- Federator,
+ Pleroma.Web.Websub,
[:passthrough],
[] do
user = insert(:user)
{:ok, _activity} = CommonAPI.post(user, %{"status" => "HI"})
assert called(
- Federator.enqueue(:publish_single_websub, %{
+ Pleroma.Web.Websub.publish_one(%{
callback: sub2.callback,
unreachable_since: dt
})
)
- refute called(Federator.enqueue(:publish_single_websub, %{callback: sub1.callback}))
+ refute called(Pleroma.Web.Websub.publish_one(%{callback: sub1.callback}))
end
test_with_mock "it federates only to reachable instances via Salmon",
- Federator,
+ Pleroma.Web.Salmon,
[:passthrough],
[] do
user = insert(:user)
CommonAPI.post(user, %{"status" => "HI @nick1@domain.com, @nick2@domain2.com!"})
assert called(
- Federator.enqueue(:publish_single_salmon, %{
+ Pleroma.Web.Salmon.publish_one(%{
recipient: remote_user2,
unreachable_since: dt
})
)
- refute called(Federator.enqueue(:publish_single_websub, %{recipient: remote_user1}))
+ refute called(Pleroma.Web.Salmon.publish_one(%{recipient: remote_user1}))
end
end