proxMon/agent/test/proxmox_agent/collectors/host_test.exs

37 lines
1.1 KiB
Elixir

defmodule ProxmoxAgent.Collectors.HostTest do
use ExUnit.Case, async: true
alias ProxmoxAgent.Collectors.Host
@proc Path.expand("../../fixtures/proc", __DIR__)
test "collects load average" do
sample = Host.collect(proc_dir: @proc)
assert sample.load1 == 0.42
assert sample.load5 == 0.55
assert sample.load15 == 0.31
end
test "collects memory in bytes" do
sample = Host.collect(proc_dir: @proc)
assert sample.mem_total_bytes == 16_384_000 * 1024
assert sample.mem_available_bytes == 8_192_000 * 1024
assert sample.mem_used_bytes == sample.mem_total_bytes - sample.mem_available_bytes
end
test "collects uptime seconds" do
sample = Host.collect(proc_dir: @proc)
assert sample.uptime_seconds == 123_456
end
test "includes hostname string" do
sample = Host.collect(proc_dir: @proc)
assert is_binary(sample.hostname)
assert sample.hostname != ""
end
test "missing proc files yield :errors field, not a crash" do
sample = Host.collect(proc_dir: "/nonexistent/path/xyz")
assert sample.errors != []
end
end