# Pleroma: A lightweight social networking server # Copyright © 2017-2022 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only Code.put_compiler_option(:warnings_as_errors, true) ExUnit.configure(capture_log: true, max_cases: System.schedulers_online()) ExUnit.start(exclude: [:federated, :erratic]) if match?({:unix, :darwin}, :os.type()) do excluded = ExUnit.configuration() |> Keyword.get(:exclude, []) excluded = excluded ++ [:skip_darwin] ExUnit.configure(exclude: excluded) end Ecto.Adapters.SQL.Sandbox.mode(Pleroma.Repo, :manual) Mox.defmock(Pleroma.ReverseProxy.ClientMock, for: Pleroma.ReverseProxy.Client) Mox.defmock(Pleroma.GunMock, for: Pleroma.Gun) {:ok, _} = Application.ensure_all_started(:ex_machina) ExUnit.after_suite(fn _results -> uploads = Pleroma.Config.get([Pleroma.Uploaders.Local, :uploads], "test/uploads") File.rm_rf!(uploads) end) defmodule Pleroma.Test.StaticConfig do @moduledoc """ This module provides a Config that is completely static, built at startup time from the environment. It's safe to use in testing as it will not modify any state. """ @behaviour Pleroma.Config.Getting @config Application.get_all_env(:pleroma) def get(path, default \\ nil) do get_in(@config, path) || default end end