tests: add legal boilerplate
[akkoma] / test / support / data_case.ex
index 8eff0fd946185470784959f3aa7a9b03695d1db4..56d5896ad57781e5ad8c8c58633a33d85729c94a 100644 (file)
@@ -1,3 +1,7 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Pleroma.DataCase do
   @moduledoc """
   This module defines the setup for tests requiring
@@ -22,6 +26,7 @@ defmodule Pleroma.DataCase do
       import Ecto.Changeset
       import Ecto.Query
       import Pleroma.DataCase
+      use Pleroma.Tests.Helpers
     end
   end
 
@@ -36,6 +41,23 @@ defmodule Pleroma.DataCase do
     :ok
   end
 
+  def ensure_local_uploader(_context) do
+    uploader = Pleroma.Config.get([Pleroma.Upload, :uploader])
+    filters = Pleroma.Config.get([Pleroma.Upload, :filters])
+
+    unless uploader == Pleroma.Uploaders.Local || filters != [] do
+      Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+      Pleroma.Config.put([Pleroma.Upload, :filters], [])
+
+      on_exit(fn ->
+        Pleroma.Config.put([Pleroma.Upload, :uploader], uploader)
+        Pleroma.Config.put([Pleroma.Upload, :filters], filters)
+      end)
+    end
+
+    :ok
+  end
+
   @doc """
   A helper that transform changeset errors to a map of messages.