Merge branch 'test-cases-mox-setup' into 'develop'
authorlain <lain@soykaf.club>
Thu, 21 Jan 2021 09:03:26 +0000 (09:03 +0000)
committerlain <lain@soykaf.club>
Thu, 21 Jan 2021 09:03:26 +0000 (09:03 +0000)
Mox mode setup tweak; refactoring

See merge request pleroma/pleroma!3263

1  2 
test/support/data_case.ex

index 1f33450e63da80b466b6b3bfd7224e8753f1ae82,c309d2f41c08dcbb4478f54f1292e04f8fda1ecd..0ee2aa4a23204da337cef9d7e6ce9a573e11ff96
@@@ -18,8 -18,6 +18,8 @@@ defmodule Pleroma.DataCase d
  
    use ExUnit.CaseTemplate
  
 +  import Pleroma.Tests.Helpers, only: [clear_config: 2]
 +
    using do
      quote do
        alias Pleroma.Repo
@@@ -64,7 -62,7 +64,7 @@@
      end)
    end
  
-   setup tags do
+   def setup_multi_process_mode(tags) do
      :ok = Ecto.Adapters.SQL.Sandbox.checkout(Pleroma.Repo)
  
      if tags[:async] do
        Mox.set_mox_private()
      else
        Ecto.Adapters.SQL.Sandbox.mode(Pleroma.Repo, {:shared, self()})
-       Mox.stub_with(Pleroma.CachexMock, Pleroma.CachexProxy)
        Mox.set_mox_global()
+       Mox.stub_with(Pleroma.CachexMock, Pleroma.CachexProxy)
        clear_cachex()
      end
  
+     :ok
+   end
+   def setup_streamer(tags) do
      if tags[:needs_streamer] do
        start_supervised(%{
          id: Pleroma.Web.Streamer.registry(),
        })
      end
  
+     :ok
+   end
+   setup tags do
+     setup_multi_process_mode(tags)
+     setup_streamer(tags)
      stub_pipeline()
  
      Mox.verify_on_exit!()
    end
  
    def ensure_local_uploader(context) do
 -    test_uploader = Map.get(context, :uploader, Pleroma.Uploaders.Local)
 -    uploader = Pleroma.Config.get([Pleroma.Upload, :uploader])
 -    filters = Pleroma.Config.get([Pleroma.Upload, :filters])
 -
 -    Pleroma.Config.put([Pleroma.Upload, :uploader], test_uploader)
 -    Pleroma.Config.put([Pleroma.Upload, :filters], [])
 +    test_uploader = Map.get(context, :uploader) || Pleroma.Uploaders.Local
  
 -    on_exit(fn ->
 -      Pleroma.Config.put([Pleroma.Upload, :uploader], uploader)
 -      Pleroma.Config.put([Pleroma.Upload, :filters], filters)
 -    end)
 +    clear_config([Pleroma.Upload, :uploader], test_uploader)
 +    clear_config([Pleroma.Upload, :filters], [])
  
      :ok
    end