diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-10-08 17:24:09 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-10-08 17:24:09 -0500 |
commit | 3f9263fb16ad519d2dd45106549a8ba42b68fc1f (patch) | |
tree | a48eb564f7f037a876a4d2131f8571aa33702b22 /test/tasks/database_test.exs | |
parent | 24ce9c011caf7401fb261c7df4196b2ef9ba3d90 (diff) | |
parent | 74be4de3f6c2c34447029649526637411acfa9f3 (diff) | |
download | pleroma-3f9263fb16ad519d2dd45106549a8ba42b68fc1f.tar.gz pleroma-3f9263fb16ad519d2dd45106549a8ba42b68fc1f.zip |
Merge remote-tracking branch 'upstream/develop' into restrict-origin
Diffstat (limited to 'test/tasks/database_test.exs')
-rw-r--r-- | test/tasks/database_test.exs | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/test/tasks/database_test.exs b/test/tasks/database_test.exs index 883828d77..292a5ef5f 100644 --- a/test/tasks/database_test.exs +++ b/test/tasks/database_test.exs @@ -3,14 +3,15 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.DatabaseTest do + use Pleroma.DataCase + use Oban.Testing, repo: Pleroma.Repo + alias Pleroma.Activity alias Pleroma.Object alias Pleroma.Repo alias Pleroma.User alias Pleroma.Web.CommonAPI - use Pleroma.DataCase - import Pleroma.Factory setup_all do @@ -127,4 +128,48 @@ defmodule Mix.Tasks.Pleroma.DatabaseTest do assert Enum.empty?(Object.get_by_id(object2.id).data["likes"]) end end + + describe "ensure_expiration" do + test "it adds to expiration old statuses" do + activity1 = insert(:note_activity) + + {:ok, inserted_at, 0} = DateTime.from_iso8601("2015-01-23T23:50:07Z") + activity2 = insert(:note_activity, %{inserted_at: inserted_at}) + + %{id: activity_id3} = insert(:note_activity) + + expires_at = DateTime.add(DateTime.utc_now(), 60 * 61) + + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: activity_id3, + expires_at: expires_at + }) + + Mix.Tasks.Pleroma.Database.run(["ensure_expiration"]) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity1.id}, + scheduled_at: + activity1.inserted_at + |> DateTime.from_naive!("Etc/UTC") + |> Timex.shift(days: 365) + ) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity2.id}, + scheduled_at: + activity2.inserted_at + |> DateTime.from_naive!("Etc/UTC") + |> Timex.shift(days: 365) + ) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity_id3}, + scheduled_at: expires_at + ) + end + end end |