summaryrefslogtreecommitdiff
path: root/test/workers
diff options
context:
space:
mode:
Diffstat (limited to 'test/workers')
-rw-r--r--test/workers/cron/clear_oauth_token_worker_test.exs22
-rw-r--r--test/workers/cron/digest_emails_worker_test.exs54
-rw-r--r--test/workers/cron/new_users_digest_worker_test.exs45
-rw-r--r--test/workers/cron/purge_expired_activities_worker_test.exs84
-rw-r--r--test/workers/scheduled_activity_worker_test.exs49
5 files changed, 0 insertions, 254 deletions
diff --git a/test/workers/cron/clear_oauth_token_worker_test.exs b/test/workers/cron/clear_oauth_token_worker_test.exs
deleted file mode 100644
index 67836f34f..000000000
--- a/test/workers/cron/clear_oauth_token_worker_test.exs
+++ /dev/null
@@ -1,22 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Workers.Cron.ClearOauthTokenWorkerTest do
- use Pleroma.DataCase
-
- import Pleroma.Factory
- alias Pleroma.Workers.Cron.ClearOauthTokenWorker
-
- setup do: clear_config([:oauth2, :clean_expired_tokens])
-
- test "deletes expired tokens" do
- insert(:oauth_token,
- valid_until: NaiveDateTime.add(NaiveDateTime.utc_now(), -60 * 10)
- )
-
- Pleroma.Config.put([:oauth2, :clean_expired_tokens], true)
- ClearOauthTokenWorker.perform(%Oban.Job{})
- assert Pleroma.Repo.all(Pleroma.Web.OAuth.Token) == []
- end
-end
diff --git a/test/workers/cron/digest_emails_worker_test.exs b/test/workers/cron/digest_emails_worker_test.exs
deleted file mode 100644
index 65887192e..000000000
--- a/test/workers/cron/digest_emails_worker_test.exs
+++ /dev/null
@@ -1,54 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Workers.Cron.DigestEmailsWorkerTest do
- use Pleroma.DataCase
-
- import Pleroma.Factory
-
- alias Pleroma.Tests.ObanHelpers
- alias Pleroma.User
- alias Pleroma.Web.CommonAPI
-
- setup do: clear_config([:email_notifications, :digest])
-
- setup do
- Pleroma.Config.put([:email_notifications, :digest], %{
- active: true,
- inactivity_threshold: 7,
- interval: 7
- })
-
- user = insert(:user)
-
- date =
- Timex.now()
- |> Timex.shift(days: -10)
- |> Timex.to_naive_datetime()
-
- user2 = insert(:user, last_digest_emailed_at: date)
- {:ok, _} = User.switch_email_notifications(user2, "digest", true)
- CommonAPI.post(user, %{status: "hey @#{user2.nickname}!"})
-
- {:ok, user2: user2}
- end
-
- test "it sends digest emails", %{user2: user2} do
- Pleroma.Workers.Cron.DigestEmailsWorker.perform(%Oban.Job{})
- # Performing job(s) enqueued at previous step
- ObanHelpers.perform_all()
-
- assert_received {:email, email}
- assert email.to == [{user2.name, user2.email}]
- assert email.subject == "Your digest from #{Pleroma.Config.get(:instance)[:name]}"
- end
-
- test "it doesn't fail when a user has no email", %{user2: user2} do
- {:ok, _} = user2 |> Ecto.Changeset.change(%{email: nil}) |> Pleroma.Repo.update()
-
- Pleroma.Workers.Cron.DigestEmailsWorker.perform(%Oban.Job{})
- # Performing job(s) enqueued at previous step
- ObanHelpers.perform_all()
- end
-end
diff --git a/test/workers/cron/new_users_digest_worker_test.exs b/test/workers/cron/new_users_digest_worker_test.exs
deleted file mode 100644
index 129534cb1..000000000
--- a/test/workers/cron/new_users_digest_worker_test.exs
+++ /dev/null
@@ -1,45 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Workers.Cron.NewUsersDigestWorkerTest do
- use Pleroma.DataCase
- import Pleroma.Factory
-
- alias Pleroma.Tests.ObanHelpers
- alias Pleroma.Web.CommonAPI
- alias Pleroma.Workers.Cron.NewUsersDigestWorker
-
- test "it sends new users digest emails" do
- yesterday = NaiveDateTime.utc_now() |> Timex.shift(days: -1)
- admin = insert(:user, %{is_admin: true})
- user = insert(:user, %{inserted_at: yesterday})
- user2 = insert(:user, %{inserted_at: yesterday})
- CommonAPI.post(user, %{status: "cofe"})
-
- NewUsersDigestWorker.perform(%Oban.Job{})
- ObanHelpers.perform_all()
-
- assert_received {:email, email}
- assert email.to == [{admin.name, admin.email}]
- assert email.subject == "#{Pleroma.Config.get([:instance, :name])} New Users"
-
- refute email.html_body =~ admin.nickname
- assert email.html_body =~ user.nickname
- assert email.html_body =~ user2.nickname
- assert email.html_body =~ "cofe"
- assert email.html_body =~ "#{Pleroma.Web.Endpoint.url()}/static/logo.png"
- end
-
- test "it doesn't fail when admin has no email" do
- yesterday = NaiveDateTime.utc_now() |> Timex.shift(days: -1)
- insert(:user, %{is_admin: true, email: nil})
- insert(:user, %{inserted_at: yesterday})
- user = insert(:user, %{inserted_at: yesterday})
-
- CommonAPI.post(user, %{status: "cofe"})
-
- NewUsersDigestWorker.perform(%Oban.Job{})
- ObanHelpers.perform_all()
- end
-end
diff --git a/test/workers/cron/purge_expired_activities_worker_test.exs b/test/workers/cron/purge_expired_activities_worker_test.exs
deleted file mode 100644
index d1acd9ae6..000000000
--- a/test/workers/cron/purge_expired_activities_worker_test.exs
+++ /dev/null
@@ -1,84 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do
- use Pleroma.DataCase
-
- alias Pleroma.ActivityExpiration
- alias Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker
-
- import Pleroma.Factory
- import ExUnit.CaptureLog
-
- setup do
- clear_config([ActivityExpiration, :enabled])
- end
-
- test "deletes an expiration activity" do
- Pleroma.Config.put([ActivityExpiration, :enabled], true)
- activity = insert(:note_activity)
-
- naive_datetime =
- NaiveDateTime.add(
- NaiveDateTime.utc_now(),
- -:timer.minutes(2),
- :millisecond
- )
-
- expiration =
- insert(
- :expiration_in_the_past,
- %{activity_id: activity.id, scheduled_at: naive_datetime}
- )
-
- Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{})
-
- refute Pleroma.Repo.get(Pleroma.Activity, activity.id)
- refute Pleroma.Repo.get(Pleroma.ActivityExpiration, expiration.id)
- end
-
- test "works with ActivityExpirationPolicy" do
- Pleroma.Config.put([ActivityExpiration, :enabled], true)
-
- clear_config([:mrf, :policies], Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy)
-
- user = insert(:user)
-
- days = Pleroma.Config.get([:mrf_activity_expiration, :days], 365)
-
- {:ok, %{id: id} = activity} = Pleroma.Web.CommonAPI.post(user, %{status: "cofe"})
-
- past_date =
- NaiveDateTime.utc_now() |> Timex.shift(days: -days) |> NaiveDateTime.truncate(:second)
-
- activity
- |> Repo.preload(:expiration)
- |> Map.get(:expiration)
- |> Ecto.Changeset.change(%{scheduled_at: past_date})
- |> Repo.update!()
-
- Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{})
-
- assert [%{data: %{"type" => "Delete", "deleted_activity_id" => ^id}}] =
- Pleroma.Repo.all(Pleroma.Activity)
- end
-
- describe "delete_activity/1" do
- test "adds log message if activity isn't find" do
- assert capture_log([level: :error], fn ->
- PurgeExpiredActivitiesWorker.delete_activity(%ActivityExpiration{
- activity_id: "test-activity"
- })
- end) =~ "Couldn't delete expired activity: not found activity"
- end
-
- test "adds log message if actor isn't find" do
- assert capture_log([level: :error], fn ->
- PurgeExpiredActivitiesWorker.delete_activity(%ActivityExpiration{
- activity_id: "test-activity"
- })
- end) =~ "Couldn't delete expired activity: not found activity"
- end
- end
-end
diff --git a/test/workers/scheduled_activity_worker_test.exs b/test/workers/scheduled_activity_worker_test.exs
deleted file mode 100644
index f3eddf7b1..000000000
--- a/test/workers/scheduled_activity_worker_test.exs
+++ /dev/null
@@ -1,49 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Workers.ScheduledActivityWorkerTest do
- use Pleroma.DataCase
-
- alias Pleroma.ScheduledActivity
- alias Pleroma.Workers.ScheduledActivityWorker
-
- import Pleroma.Factory
- import ExUnit.CaptureLog
-
- setup do: clear_config([ScheduledActivity, :enabled])
-
- test "creates a status from the scheduled activity" do
- Pleroma.Config.put([ScheduledActivity, :enabled], true)
- user = insert(:user)
-
- naive_datetime =
- NaiveDateTime.add(
- NaiveDateTime.utc_now(),
- -:timer.minutes(2),
- :millisecond
- )
-
- scheduled_activity =
- insert(
- :scheduled_activity,
- scheduled_at: naive_datetime,
- user: user,
- params: %{status: "hi"}
- )
-
- ScheduledActivityWorker.perform(%Oban.Job{args: %{"activity_id" => scheduled_activity.id}})
-
- refute Repo.get(ScheduledActivity, scheduled_activity.id)
- activity = Repo.all(Pleroma.Activity) |> Enum.find(&(&1.actor == user.ap_id))
- assert Pleroma.Object.normalize(activity).data["content"] == "hi"
- end
-
- test "adds log message if ScheduledActivity isn't find" do
- Pleroma.Config.put([ScheduledActivity, :enabled], true)
-
- assert capture_log([level: :error], fn ->
- ScheduledActivityWorker.perform(%Oban.Job{args: %{"activity_id" => 42}})
- end) =~ "Couldn't find scheduled activity"
- end
-end