mirror of
https://github.com/team-alembic/ash_gen_server.git
synced 2024-09-20 13:23:44 +12:00
35 lines
605 B
Elixir
35 lines
605 B
Elixir
defmodule AshGenServer.RuntimeCase do
|
|
@moduledoc false
|
|
use ExUnit.CaseTemplate
|
|
|
|
alias AshGenServer.{Registry, Supervisor}
|
|
|
|
setup do
|
|
{:ok, registry_pid} = Registry.start_link([])
|
|
{:ok, supervisor_pid} = Supervisor.start_link([])
|
|
|
|
on_exit(fn ->
|
|
await_exit(registry_pid)
|
|
await_exit(supervisor_pid)
|
|
end)
|
|
|
|
:ok
|
|
end
|
|
|
|
using do
|
|
quote do
|
|
require Ash.Query
|
|
end
|
|
end
|
|
|
|
defp await_exit(pid) do
|
|
Process.monitor(pid)
|
|
Process.exit(pid, :normal)
|
|
|
|
receive do
|
|
{:DOWN, _, :process, ^pid, _} -> :ok
|
|
after
|
|
5000 -> :error
|
|
end
|
|
end
|
|
end
|