Current section

Files

Jump to
helen test support message_save_test.exs
Raw

test/support/message_save_test.exs

defmodule MessageSaveTest do
@moduledoc false
use ExUnit.Case, async: true
# import ExUnit.CaptureLog
@moduletag :message_save
setup_all do
:ok
end
test "server is recording last forward rc" do
state = :sys.get_state(MessageSave)
assert Map.has_key?(state, :last_forward_rc)
%{last_forward_rc: rc} = state
assert rc in [{:skipped}, {:ok}]
end
test "server is recording last insert rc" do
state = :sys.get_state(MessageSave)
assert Map.has_key?(state, :last_insert_msg_rc)
%{last_insert_msg_rc: {rc, _res}} = state
assert rc == :ok
end
test "can get server current opts" do
opts = MessageSave.opts()
assert is_list(opts)
assert is_boolean(Keyword.get(opts, :save, nil))
assert is_list(Keyword.get(opts, :save_opts, nil))
assert is_boolean(Keyword.get(opts, :forward, nil))
assert is_list(Keyword.get(opts, :forward_opts, nil))
end
test "can update server opts" do
opts = MessageSave.opts()
assert is_list(opts)
purge = Keyword.get(opts, :purge, nil)
assert is_list(purge)
new_opts =
Keyword.put(opts, :purge,
all_at_startup: false,
older_than: [minutes: 10],
log: false
)
{rc, res} = MessageSave.opts(new_opts)
assert rc == :ok
assert is_list(res)
assert opts == Keyword.get(res, :was, [])
assert new_opts == Keyword.get(res, :is, [])
end
test "can get MessageSave counts" do
counts = MessageSave.counts()
assert is_list(counts)
assert Keyword.get(counts, :forwarded) > 0
assert is_integer(Keyword.get(counts, :deleted))
assert Keyword.get(counts, :deleted) > 0
assert is_integer(Keyword.get(counts, :saved))
end
end