alias Pleroma.Workers.PurgeExpiredActivity
- test "denies expirations that don't live long enough" do
- activity = insert(:note_activity)
-
- assert {:error, :expiration_too_close} =
- PurgeExpiredActivity.enqueue(%{
- activity_id: activity.id,
- expires_at: DateTime.utc_now()
- })
-
- refute_enqueued(
- worker: Pleroma.Workers.PurgeExpiredActivity,
- args: %{activity_id: activity.id}
- )
- end
-
test "enqueue job" do
activity = insert(:note_activity)
assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id)
end
- test "don't delete pinned posts, schedule deletion on next day" do
+ test "error if user was not found" do
activity = insert(:note_activity)
assert {:ok, _} =
PurgeExpiredActivity.enqueue(%{
activity_id: activity.id,
- expires_at: DateTime.utc_now(),
- validate: false
+ expires_at: DateTime.add(DateTime.utc_now(), 3601)
})
user = Pleroma.User.get_by_ap_id(activity.actor)
- {:ok, activity} = Pleroma.Web.CommonAPI.pin(activity.id, user)
+ Pleroma.Repo.delete(user)
- assert %{success: 1, failure: 0} ==
- Oban.drain_queue(queue: :activity_expiration, with_scheduled: true)
+ assert {:error, :user_not_found} =
+ perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id})
+ end
- 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 DateTime.diff(job.scheduled_at, DateTime.add(DateTime.utc_now(), 24 * 3600)) in [0, 1]
+ assert {:error, :activity_not_found} =
+ perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: "some_if"})
end
end