summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-09-08 15:11:18 +0300
committerrinpatch <rinpatch@sdf.org>2020-09-10 21:52:31 +0300
commit15aece72382fe1862a58728b9d02990147f91365 (patch)
treebdff49a3076c4f4f2c53aba20e038c792f65f0a7
parenta098e10fd6d9f3b6573e2fb6333335d40a9bf330 (diff)
remove validate_expires_at from enqueue method
-rw-r--r--lib/mix/tasks/pleroma/database.ex3
-rw-r--r--lib/pleroma/workers/purge_expired_activity.ex13
-rw-r--r--priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs3
-rw-r--r--test/workers/purge_expired_activity_test.exs34
4 files changed, 26 insertions, 27 deletions
diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex
index aab4b5e9a..7f1108dcf 100644
--- a/lib/mix/tasks/pleroma/database.ex
+++ b/lib/mix/tasks/pleroma/database.ex
@@ -155,8 +155,7 @@ defmodule Mix.Tasks.Pleroma.Database do
Pleroma.Workers.PurgeExpiredActivity.enqueue(%{
activity_id: activity.id,
- expires_at: expires_at,
- validate: false
+ expires_at: expires_at
})
end)
end)
diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex
index ffcb89dc3..c168890a2 100644
--- a/lib/pleroma/workers/purge_expired_activity.ex
+++ b/lib/pleroma/workers/purge_expired_activity.ex
@@ -18,8 +18,7 @@ defmodule Pleroma.Workers.PurgeExpiredActivity do
| {:error, :expired_activities_disabled}
| {:error, :expiration_too_close}
def enqueue(args) do
- with true <- enabled?(),
- args when is_map(args) <- validate_expires_at(args) do
+ with true <- enabled?() do
{scheduled_at, args} = Map.pop(args, :expires_at)
args
@@ -42,16 +41,6 @@ defmodule Pleroma.Workers.PurgeExpiredActivity do
end
end
- defp validate_expires_at(%{validate: false} = args), do: Map.delete(args, :validate)
-
- defp validate_expires_at(args) do
- if expires_late_enough?(args[:expires_at]) do
- args
- else
- {:error, :expiration_too_close}
- end
- end
-
defp find_activity(id) do
with nil <- Activity.get_by_id_with_object(id) do
{:error, :activity_not_found}
diff --git a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs
index 137933368..cdc00d20b 100644
--- a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs
+++ b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs
@@ -17,8 +17,7 @@ defmodule Pleroma.Repo.Migrations.MoveActivityExpirationsToOban do
with {:ok, expires_at} <- DateTime.from_naive(expiration.scheduled_at, "Etc/UTC") do
Pleroma.Workers.PurgeExpiredActivity.enqueue(%{
activity_id: FlakeId.to_string(expiration.activity_id),
- expires_at: expires_at,
- validate: false
+ expires_at: expires_at
})
end
end)
diff --git a/test/workers/purge_expired_activity_test.exs b/test/workers/purge_expired_activity_test.exs
index 8b5dc9fd2..b5938776d 100644
--- a/test/workers/purge_expired_activity_test.exs
+++ b/test/workers/purge_expired_activity_test.exs
@@ -10,22 +10,27 @@ defmodule Pleroma.Workers.PurgeExpiredActivityTest do
alias Pleroma.Workers.PurgeExpiredActivity
- test "denies expirations that don't live long enough" do
+ test "enqueue job" do
activity = insert(:note_activity)
- assert {:error, :expiration_too_close} =
+ assert {:ok, _} =
PurgeExpiredActivity.enqueue(%{
activity_id: activity.id,
- expires_at: DateTime.utc_now()
+ expires_at: DateTime.add(DateTime.utc_now(), 3601)
})
- refute_enqueued(
+ assert_enqueued(
worker: Pleroma.Workers.PurgeExpiredActivity,
args: %{activity_id: activity.id}
)
+
+ assert {:ok, _} =
+ perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id})
+
+ assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id)
end
- test "enqueue job" do
+ test "error if user was not found" do
activity = insert(:note_activity)
assert {:ok, _} =
@@ -34,14 +39,21 @@ defmodule Pleroma.Workers.PurgeExpiredActivityTest do
expires_at: DateTime.add(DateTime.utc_now(), 3601)
})
- assert_enqueued(
- worker: Pleroma.Workers.PurgeExpiredActivity,
- args: %{activity_id: activity.id}
- )
+ user = Pleroma.User.get_by_ap_id(activity.actor)
+ Pleroma.Repo.delete(user)
- assert {:ok, _} =
+ assert {:error, :user_not_found} =
perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id})
+ end
- assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id)
+ test "error if actiivity was not found" do
+ assert {:ok, _} =
+ PurgeExpiredActivity.enqueue(%{
+ activity_id: "some_id",
+ expires_at: DateTime.add(DateTime.utc_now(), 3601)
+ })
+
+ assert {:error, :activity_not_found} =
+ perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: "some_if"})
end
end