Setup swoosh sandbox
This commit is contained in:
+1
-1
@@ -104,4 +104,4 @@ config :music_library, color_extractor: MusicLibrary.Colors.FakeColorExtractor
|
|||||||
|
|
||||||
config :music_library, Oban, testing: :manual
|
config :music_library, Oban, testing: :manual
|
||||||
|
|
||||||
config :music_library, MusicLibrary.Mailer, adapter: Swoosh.Adapters.Test
|
config :music_library, MusicLibrary.Mailer, adapter: Swoosh.Adapters.Sandbox
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
|
|||||||
import Swoosh.TestAssertions
|
import Swoosh.TestAssertions
|
||||||
|
|
||||||
alias ErrorTracker.{Error, ErrorNotifier, Occurrence}
|
alias ErrorTracker.{Error, ErrorNotifier, Occurrence}
|
||||||
|
alias Swoosh.Adapters.Sandbox, as: SwooshSandbox
|
||||||
|
|
||||||
@config [
|
@config [
|
||||||
from_email: "test@example.com",
|
from_email: "test@example.com",
|
||||||
@@ -39,9 +40,9 @@ defmodule ErrorTracker.ErrorNotifierTest do
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
setup :set_swoosh_global
|
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
|
:ok = SwooshSandbox.checkout()
|
||||||
|
|
||||||
previous = Application.get_env(:music_library, ErrorNotifier)
|
previous = Application.get_env(:music_library, ErrorNotifier)
|
||||||
|
|
||||||
case Process.whereis(ErrorNotifier) do
|
case Process.whereis(ErrorNotifier) do
|
||||||
@@ -50,6 +51,8 @@ defmodule ErrorTracker.ErrorNotifierTest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
on_exit(fn ->
|
on_exit(fn ->
|
||||||
|
SwooshSandbox.checkin()
|
||||||
|
|
||||||
case Process.whereis(ErrorNotifier) do
|
case Process.whereis(ErrorNotifier) do
|
||||||
nil -> :ok
|
nil -> :ok
|
||||||
pid -> GenServer.stop(pid)
|
pid -> GenServer.stop(pid)
|
||||||
@@ -113,6 +116,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
|
|||||||
)
|
)
|
||||||
|
|
||||||
{:ok, pid} = ErrorNotifier.start_link([])
|
{:ok, pid} = ErrorNotifier.start_link([])
|
||||||
|
SwooshSandbox.allow(self(), pid)
|
||||||
|
|
||||||
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
|
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
|
||||||
error: %ErrorTracker.Error{id: 1},
|
error: %ErrorTracker.Error{id: 1},
|
||||||
@@ -141,6 +145,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
|
|||||||
Application.put_env(:music_library, ErrorNotifier, @config)
|
Application.put_env(:music_library, ErrorNotifier, @config)
|
||||||
|
|
||||||
{:ok, pid} = ErrorNotifier.start_link([])
|
{:ok, pid} = ErrorNotifier.start_link([])
|
||||||
|
SwooshSandbox.allow(self(), pid)
|
||||||
|
|
||||||
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
|
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
|
||||||
error: %Error{id: 1},
|
error: %Error{id: 1},
|
||||||
@@ -168,6 +173,7 @@ defmodule ErrorTracker.ErrorNotifierTest do
|
|||||||
Application.put_env(:music_library, ErrorNotifier, @config)
|
Application.put_env(:music_library, ErrorNotifier, @config)
|
||||||
|
|
||||||
{:ok, pid} = ErrorNotifier.start_link([])
|
{:ok, pid} = ErrorNotifier.start_link([])
|
||||||
|
SwooshSandbox.allow(self(), pid)
|
||||||
|
|
||||||
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
|
:telemetry.execute([:error_tracker, :error, :new], %{}, %{
|
||||||
error: %Error{id: 99},
|
error: %Error{id: 99},
|
||||||
|
|||||||
@@ -6,8 +6,11 @@ defmodule MusicLibraryWeb.RecordsOnThisDayEmailTest do
|
|||||||
alias MusicLibrary.Fixtures
|
alias MusicLibrary.Fixtures
|
||||||
alias MusicLibrary.Records.Record
|
alias MusicLibrary.Records.Record
|
||||||
alias MusicLibraryWeb.RecordsOnThisDayEmail
|
alias MusicLibraryWeb.RecordsOnThisDayEmail
|
||||||
|
alias Swoosh.Adapters.Sandbox, as: SwooshSandbox
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
|
:ok = SwooshSandbox.checkout()
|
||||||
|
|
||||||
Application.put_env(:music_library, RecordsOnThisDayEmail,
|
Application.put_env(:music_library, RecordsOnThisDayEmail,
|
||||||
from_email: "test@example.com",
|
from_email: "test@example.com",
|
||||||
to_email: "recipient@example.com",
|
to_email: "recipient@example.com",
|
||||||
@@ -16,6 +19,7 @@ defmodule MusicLibraryWeb.RecordsOnThisDayEmailTest do
|
|||||||
)
|
)
|
||||||
|
|
||||||
on_exit(fn ->
|
on_exit(fn ->
|
||||||
|
SwooshSandbox.checkin()
|
||||||
Application.delete_env(:music_library, RecordsOnThisDayEmail)
|
Application.delete_env(:music_library, RecordsOnThisDayEmail)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
{:ok, _} = Swoosh.Adapters.Sandbox.Storage.start_link([])
|
||||||
ExUnit.start()
|
ExUnit.start()
|
||||||
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.Repo, :manual)
|
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.Repo, :manual)
|
||||||
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.BackgroundRepo, :manual)
|
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.BackgroundRepo, :manual)
|
||||||
|
|||||||
Reference in New Issue
Block a user