43 lines
945 B
Elixir
43 lines
945 B
Elixir
defmodule FarmbotCore.AlertHandlerTest do
|
|
use ExUnit.Case, async: true
|
|
alias FarmbotCore.AlertHandler
|
|
alias FarmbotCore.Asset.Private.Alert
|
|
import Farmbot.TestSupport.AssetFixtures
|
|
|
|
test "handle up" do
|
|
{:ok, handler} = AlertHandler.start_link([], [])
|
|
this = self()
|
|
|
|
foo = fn x ->
|
|
send(this, x)
|
|
:ok
|
|
end
|
|
|
|
e = alert()
|
|
|
|
:ok = AlertHandler.register_up(handler, "farmbot_os.firmware.missing", foo)
|
|
AlertHandler.handle_up(handler, e)
|
|
assert_received ^e
|
|
end
|
|
|
|
test "handle down" do
|
|
{:ok, handler} = AlertHandler.start_link([], [])
|
|
this = self()
|
|
|
|
foo = fn x ->
|
|
send(this, x)
|
|
:ok
|
|
end
|
|
|
|
e = %Alert{
|
|
priority: 0,
|
|
local_id: Ecto.UUID.generate(),
|
|
problem_tag: "farmbot_os.firmware.missing"
|
|
}
|
|
|
|
:ok = AlertHandler.register_down(handler, "farmbot_os.firmware.missing", foo)
|
|
AlertHandler.handle_down(handler, e)
|
|
assert_received ^e
|
|
end
|
|
end
|