Files
parrhesia/test/parrhesia/tasks/expiration_worker_test.exs
Steffen Beyer f4d94c9fcb
Some checks failed
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
Refactor test runtime ownership
2026-03-17 12:06:32 +01:00

32 lines
836 B
Elixir

defmodule Parrhesia.Tasks.ExpirationWorkerTest do
use Parrhesia.IntegrationCase, async: false
alias Parrhesia.Tasks.ExpirationWorker
alias Parrhesia.TestSupport.ExpirationStubEvents
setup do
previous_storage = Application.get_env(:parrhesia, :storage, [])
:persistent_term.put({ExpirationStubEvents, :test_pid}, self())
Application.put_env(
:parrhesia,
:storage,
Keyword.put(previous_storage, :events, ExpirationStubEvents)
)
on_exit(fn ->
:persistent_term.erase({ExpirationStubEvents, :test_pid})
Application.put_env(:parrhesia, :storage, previous_storage)
end)
:ok
end
test "periodically triggers purge_expired" do
worker = start_supervised!({ExpirationWorker, name: nil, interval_ms: 10})
assert is_pid(worker)
assert_receive :purged
end
end