19 lines
613 B
Elixir
19 lines
613 B
Elixir
defmodule ProxmoxAgent.ShellTest do
|
|
use ExUnit.Case, async: true
|
|
|
|
alias ProxmoxAgent.Shell
|
|
|
|
test "run/2 returns {:ok, output} on zero exit" do
|
|
assert {:ok, output} = Shell.run("/bin/echo", ["hello"])
|
|
assert String.trim(output) == "hello"
|
|
end
|
|
|
|
test "run/2 returns {:error, {:nonzero_exit, code, output}} on non-zero exit" do
|
|
assert {:error, {:nonzero_exit, code, _}} = Shell.run("/bin/sh", ["-c", "exit 7"])
|
|
assert code == 7
|
|
end
|
|
|
|
test "run/2 returns {:error, {:enoent, _}} when binary is missing" do
|
|
assert {:error, {:enoent, _}} = Shell.run("/does/not/exist/nope", [])
|
|
end
|
|
end
|