diff options
Diffstat (limited to 'test/tasks')
| -rw-r--r-- | test/tasks/config_test.exs | 13 | ||||
| -rw-r--r-- | test/tasks/database_test.exs | 64 | 
2 files changed, 48 insertions, 29 deletions
diff --git a/test/tasks/config_test.exs b/test/tasks/config_test.exs index fb12e7fb3..f36648829 100644 --- a/test/tasks/config_test.exs +++ b/test/tasks/config_test.exs @@ -40,6 +40,19 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do        on_exit(fn -> Application.put_env(:quack, :level, initial) end)      end +    @tag capture_log: true +    test "config migration refused when deprecated settings are found" do +      clear_config([:media_proxy, :whitelist], ["domain_without_scheme.com"]) +      assert Repo.all(ConfigDB) == [] + +      Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") + +      assert_received {:mix_shell, :error, [message]} + +      assert message =~ +               "Migration is not allowed until all deprecation warnings have been resolved." +    end +      test "filtered settings are migrated to db" do        assert Repo.all(ConfigDB) == [] diff --git a/test/tasks/database_test.exs b/test/tasks/database_test.exs index 3a28aa133..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 @@ -130,40 +131,45 @@ defmodule Mix.Tasks.Pleroma.DatabaseTest do    describe "ensure_expiration" do      test "it adds to expiration old statuses" do -      %{id: activity_id1} = insert(:note_activity) +      activity1 = insert(:note_activity) -      %{id: activity_id2} = -        insert(:note_activity, %{inserted_at: NaiveDateTime.from_iso8601!("2015-01-23 23:50:07")}) +      {:ok, inserted_at, 0} = DateTime.from_iso8601("2015-01-23T23:50:07Z") +      activity2 = insert(:note_activity, %{inserted_at: inserted_at}) -      %{id: activity_id3} = activity3 = insert(:note_activity) +      %{id: activity_id3} = insert(:note_activity) -      expires_at = -        NaiveDateTime.utc_now() -        |> NaiveDateTime.add(60 * 61, :second) -        |> NaiveDateTime.truncate(:second) +      expires_at = DateTime.add(DateTime.utc_now(), 60 * 61) -      Pleroma.ActivityExpiration.create(activity3, expires_at) +      Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ +        activity_id: activity_id3, +        expires_at: expires_at +      })        Mix.Tasks.Pleroma.Database.run(["ensure_expiration"]) -      expirations = -        Pleroma.ActivityExpiration -        |> order_by(:activity_id) -        |> Repo.all() - -      assert [ -               %Pleroma.ActivityExpiration{ -                 activity_id: ^activity_id1 -               }, -               %Pleroma.ActivityExpiration{ -                 activity_id: ^activity_id2, -                 scheduled_at: ~N[2016-01-23 23:50:07] -               }, -               %Pleroma.ActivityExpiration{ -                 activity_id: ^activity_id3, -                 scheduled_at: ^expires_at -               } -             ] = expirations +      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  | 
