Merge remote-tracking branch 'origin/develop' into benchmark-finishing
[akkoma] / test / web / websub / websub_test.exs
index f3d2da81ab2672daac16c34e075023c54b293006..46ca545de7be258db102542fae6d2def3d2ce63e 100644 (file)
@@ -1,25 +1,23 @@
-defmodule Pleroma.Web.WebsubMock do
-  def verify(sub) do
-    {:ok, sub}
-  end
-end
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.WebsubTest do
   use Pleroma.DataCase
+  use Oban.Testing, repo: Pleroma.Repo
+
+  alias Pleroma.Tests.ObanHelpers
+  alias Pleroma.Web.Router.Helpers
   alias Pleroma.Web.Websub
-  alias Pleroma.Web.Websub.{WebsubServerSubscription, WebsubClientSubscription}
+  alias Pleroma.Web.Websub.WebsubClientSubscription
+  alias Pleroma.Web.Websub.WebsubServerSubscription
+  alias Pleroma.Workers.SubscriberWorker
+
   import Pleroma.Factory
-  alias Pleroma.Web.Router.Helpers
   import Tesla.Mock
 
   setup do
-     mock fn
-      %{method: :get, url: "https://mastodon.social/users/lambadalambda.atom"} ->
-        %Tesla.Env{status: 200, body: File.read!("test/fixtures/lambadalambda.atom")}
-      %{method: :post, url: "http://example.org/needs_refresh"} ->
-        %Tesla.Env{status: 200, body: ""}
-     end
-
+    mock(fn env -> apply(HttpRequestMock, :request, [env]) end)
     :ok
   end
 
@@ -229,6 +227,7 @@ defmodule Pleroma.Web.WebsubTest do
         })
 
       _refresh = Websub.refresh_subscriptions()
+      ObanHelpers.perform(all_enqueued(worker: SubscriberWorker))
 
       assert still_good == Repo.get(WebsubClientSubscription, still_good.id)
       refute needs_refresh == Repo.get(WebsubClientSubscription, needs_refresh.id)