Setup swoosh sandbox

This commit is contained in:
Claudio Ortolina
2026-04-02 15:26:15 +01:00
parent 2396321e26
commit 851bbd54af
4 changed files with 14 additions and 3 deletions
+8 -2
View File
@@ -4,6 +4,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
import Swoosh.TestAssertions
alias ErrorTracker.{Error, ErrorNotifier, Occurrence}
alias Swoosh.Adapters.Sandbox, as: SwooshSandbox
@config [
from_email: "test@example.com",
@@ -39,9 +40,9 @@ defmodule ErrorTracker.ErrorNotifierTest do
)
end
setup :set_swoosh_global
setup do
:ok = SwooshSandbox.checkout()
previous = Application.get_env(:music_library, ErrorNotifier)
case Process.whereis(ErrorNotifier) do
@@ -50,6 +51,8 @@ defmodule ErrorTracker.ErrorNotifierTest do
end
on_exit(fn ->
SwooshSandbox.checkin()
case Process.whereis(ErrorNotifier) do
nil -> :ok
pid -> GenServer.stop(pid)
@@ -113,6 +116,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
)
{:ok, pid} = ErrorNotifier.start_link([])
SwooshSandbox.allow(self(), pid)
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
error: %ErrorTracker.Error{id: 1},
@@ -141,6 +145,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
Application.put_env(:music_library, ErrorNotifier, @config)
{:ok, pid} = ErrorNotifier.start_link([])
SwooshSandbox.allow(self(), pid)
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
error: %Error{id: 1},
@@ -168,6 +173,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
Application.put_env(:music_library, ErrorNotifier, @config)
{:ok, pid} = ErrorNotifier.start_link([])
SwooshSandbox.allow(self(), pid)
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
error: %Error{id: 99},
@@ -6,8 +6,11 @@ defmodule MusicLibraryWeb.RecordsOnThisDayEmailTest do
alias MusicLibrary.Fixtures
alias MusicLibrary.Records.Record
alias MusicLibraryWeb.RecordsOnThisDayEmail
alias Swoosh.Adapters.Sandbox, as: SwooshSandbox
setup do
:ok = SwooshSandbox.checkout()
Application.put_env(:music_library, RecordsOnThisDayEmail,
from_email: "test@example.com",
to_email: "recipient@example.com",
@@ -16,6 +19,7 @@ defmodule MusicLibraryWeb.RecordsOnThisDayEmailTest do
)
on_exit(fn ->
SwooshSandbox.checkin()
Application.delete_env(:music_library, RecordsOnThisDayEmail)
end)
end
+1
View File
@@ -1,3 +1,4 @@
{:ok, _} = Swoosh.Adapters.Sandbox.Storage.start_link([])
ExUnit.start()
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.Repo, :manual)
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.BackgroundRepo, :manual)