diff options
| -rw-r--r-- | config/test.exs | 3 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 17 | ||||
| -rw-r--r-- | test/conversation_test.exs | 10 | ||||
| -rw-r--r-- | test/web/activity_pub/activity_pub_controller_test.exs | 7 | ||||
| -rw-r--r-- | test/web/federator_test.exs | 7 | ||||
| -rw-r--r-- | test/web/ostatus/ostatus_controller_test.exs | 7 | ||||
| -rw-r--r-- | test/web/plugs/federating_plug_test.exs | 13 | ||||
| -rw-r--r-- | test/web/web_finger/web_finger_controller_test.exs | 6 | ||||
| -rw-r--r-- | test/web/websub/websub_controller_test.exs | 10 | 
9 files changed, 70 insertions, 10 deletions
diff --git a/config/test.exs b/config/test.exs index 9d441a7f5..012021f2a 100644 --- a/config/test.exs +++ b/config/test.exs @@ -28,7 +28,8 @@ config :pleroma, Pleroma.Emails.Mailer, adapter: Swoosh.Adapters.Test  config :pleroma, :instance,    email: "admin@example.com",    notify_email: "noreply@example.com", -  skip_thread_containment: false +  skip_thread_containment: false, +  federating: false  # Configure your database  config :pleroma, Pleroma.Repo, diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index 514266cee..4288ea4c8 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -170,14 +170,17 @@ defmodule Pleroma.Web.ActivityPub.Utils do    Enqueues an activity for federation if it's local    """    def maybe_federate(%Activity{local: true} = activity) do -    priority = -      case activity.data["type"] do -        "Delete" -> 10 -        "Create" -> 1 -        _ -> 5 -      end +    if Pleroma.Config.get!([:instance, :federating]) do +      priority = +        case activity.data["type"] do +          "Delete" -> 10 +          "Create" -> 1 +          _ -> 5 +        end + +      Pleroma.Web.Federator.publish(activity, priority) +    end -    Pleroma.Web.Federator.publish(activity, priority)      :ok    end diff --git a/test/conversation_test.exs b/test/conversation_test.exs index 5903d10ff..aa193e0d4 100644 --- a/test/conversation_test.exs +++ b/test/conversation_test.exs @@ -11,6 +11,16 @@ defmodule Pleroma.ConversationTest do    import Pleroma.Factory +  setup_all do +    config_path = [:instance, :federating] +    initial_setting = Pleroma.Config.get(config_path) + +    Pleroma.Config.put(config_path, true) +    on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end) + +    :ok +  end +    test "it goes through old direct conversations" do      user = insert(:user)      other_user = insert(:user) diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 8b3233729..5a8a67155 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -15,6 +15,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do    setup_all do      Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end) + +    config_path = [:instance, :federating] +    initial_setting = Pleroma.Config.get(config_path) + +    Pleroma.Config.put(config_path, true) +    on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end) +      :ok    end diff --git a/test/web/federator_test.exs b/test/web/federator_test.exs index 0f43bc8f2..69dd4d747 100644 --- a/test/web/federator_test.exs +++ b/test/web/federator_test.exs @@ -12,6 +12,13 @@ defmodule Pleroma.Web.FederatorTest do    setup_all do      Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end) + +    config_path = [:instance, :federating] +    initial_setting = Pleroma.Config.get(config_path) + +    Pleroma.Config.put(config_path, true) +    on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end) +      :ok    end diff --git a/test/web/ostatus/ostatus_controller_test.exs b/test/web/ostatus/ostatus_controller_test.exs index 7441e5fce..eae44dba5 100644 --- a/test/web/ostatus/ostatus_controller_test.exs +++ b/test/web/ostatus/ostatus_controller_test.exs @@ -12,6 +12,13 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do    setup_all do      Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end) + +    config_path = [:instance, :federating] +    initial_setting = Pleroma.Config.get(config_path) + +    Pleroma.Config.put(config_path, true) +    on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end) +      :ok    end diff --git a/test/web/plugs/federating_plug_test.exs b/test/web/plugs/federating_plug_test.exs index 530562325..c01e01124 100644 --- a/test/web/plugs/federating_plug_test.exs +++ b/test/web/plugs/federating_plug_test.exs @@ -5,6 +5,15 @@  defmodule Pleroma.Web.FederatingPlugTest do    use Pleroma.Web.ConnCase +  setup_all do +    config_path = [:instance, :federating] +    initial_setting = Pleroma.Config.get(config_path) + +    on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end) + +    :ok +  end +    test "returns and halt the conn when federating is disabled" do      Pleroma.Config.put([:instance, :federating], false) @@ -14,11 +23,11 @@ defmodule Pleroma.Web.FederatingPlugTest do      assert conn.status == 404      assert conn.halted - -    Pleroma.Config.put([:instance, :federating], true)    end    test "does nothing when federating is enabled" do +    Pleroma.Config.put([:instance, :federating], true) +      conn =        build_conn()        |> Pleroma.Web.FederatingPlug.call(%{}) diff --git a/test/web/web_finger/web_finger_controller_test.exs b/test/web/web_finger/web_finger_controller_test.exs index 43fccfc7a..a14ed3126 100644 --- a/test/web/web_finger/web_finger_controller_test.exs +++ b/test/web/web_finger/web_finger_controller_test.exs @@ -10,6 +10,12 @@ defmodule Pleroma.Web.WebFinger.WebFingerControllerTest do    setup do      mock(fn env -> apply(HttpRequestMock, :request, [env]) end) + +    config_path = [:instance, :federating] +    initial_setting = Pleroma.Config.get(config_path) + +    Pleroma.Config.put(config_path, true) +    on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end)      :ok    end diff --git a/test/web/websub/websub_controller_test.exs b/test/web/websub/websub_controller_test.exs index f79745d58..aa7262beb 100644 --- a/test/web/websub/websub_controller_test.exs +++ b/test/web/websub/websub_controller_test.exs @@ -9,6 +9,16 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do    alias Pleroma.Web.Websub    alias Pleroma.Web.Websub.WebsubClientSubscription +  setup_all do +    config_path = [:instance, :federating] +    initial_setting = Pleroma.Config.get(config_path) + +    Pleroma.Config.put(config_path, true) +    on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end) + +    :ok +  end +    test "websub subscription request", %{conn: conn} do      user = insert(:user)  | 
