- Rover.Compute: road/prominence/clearance/clutter/canopy tests (90%) - Rover.Prominence: full unit test suite with mock elev_lookup (100%) - Rover.Elevation: dedup + multi-tile tests (44%) - Rover.LinkMargin: edge cases, negative scores, all modes (57%) - Rover.Location: changeset validation + statuses/0 (100%) - RoverPlanning.Path: changeset validation + statuses/0 (67%) - Pskr.FeatureBin: changeset validation (100%) - Pskr.Mqtt: QoS reject, unknown type, varint overflow, ping/disconnect (97%) - Valkey: not-configured error paths, empty guards (55%) - ScoresController: bad params, time format, missing band tests (81%) - SkewtLive: info/no-profiles state, loading states (29%)
98 lines
2.4 KiB
Elixir
98 lines
2.4 KiB
Elixir
defmodule Microwaveprop.ValkeyTest do
|
|
use ExUnit.Case, async: true
|
|
|
|
alias Microwaveprop.Valkey
|
|
|
|
describe "child_spec/1" do
|
|
test "returns a valid child spec map" do
|
|
spec = Valkey.child_spec([])
|
|
|
|
assert spec.id == Valkey
|
|
assert spec.type == :worker
|
|
assert spec.restart == :permanent
|
|
end
|
|
end
|
|
|
|
describe "configured?/0" do
|
|
test "returns false when Valkey is not configured" do
|
|
assert Valkey.configured?() == false
|
|
end
|
|
end
|
|
|
|
describe "get/1" do
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.get("test_key")
|
|
end
|
|
end
|
|
|
|
describe "mget/1" do
|
|
test "empty list returns {:ok, []}" do
|
|
assert Valkey.mget([]) == {:ok, []}
|
|
end
|
|
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.mget(["key1", "key2"])
|
|
end
|
|
end
|
|
|
|
describe "set/3" do
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.set("key", "value", 3600)
|
|
end
|
|
end
|
|
|
|
describe "mset_with_ttl/2" do
|
|
test "empty list returns :ok" do
|
|
assert Valkey.mset_with_ttl([], 3600) == :ok
|
|
end
|
|
|
|
test "returns error when not configured" do
|
|
pairs = [{"key1", "val1"}, {"key2", "val2"}]
|
|
assert {:error, :not_configured} = Valkey.mset_with_ttl(pairs, 3600)
|
|
end
|
|
end
|
|
|
|
describe "zadd/3" do
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.zadd("zset", 1.0, "member")
|
|
end
|
|
end
|
|
|
|
describe "zrevrange/3" do
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.zrevrange("zset", 0, 10)
|
|
end
|
|
end
|
|
|
|
describe "zrangebyscore/3" do
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.zrangebyscore("zset", "0", "100")
|
|
end
|
|
end
|
|
|
|
describe "zrem/2" do
|
|
test "empty list returns :ok" do
|
|
assert Valkey.zrem("zset", []) == :ok
|
|
end
|
|
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.zrem("zset", ["member1"])
|
|
end
|
|
end
|
|
|
|
describe "del/1" do
|
|
test "empty list returns :ok" do
|
|
assert Valkey.del([]) == :ok
|
|
end
|
|
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.del(["key1"])
|
|
end
|
|
end
|
|
|
|
describe "scan_match/1" do
|
|
test "returns error when not configured" do
|
|
assert {:error, :not_configured} = Valkey.scan_match("pattern:*")
|
|
end
|
|
end
|
|
end
|