diff --git a/test/towerops/on_call/escalation_test.exs b/test/towerops/on_call/escalation_test.exs index 0f2876f7..c085e06a 100644 --- a/test/towerops/on_call/escalation_test.exs +++ b/test/towerops/on_call/escalation_test.exs @@ -72,6 +72,31 @@ defmodule Towerops.OnCall.EscalationTest do assert {:error, :no_policy} = Escalation.start_escalation(alert, nil) end + + test "returns :no_policy when policy_id is empty string", ctx do + {:ok, alert} = + Alerts.create_alert(%{ + alert_type: "device_down", + device_id: ctx.device.id, + triggered_at: DateTime.utc_now(), + message: "Device is down" + }) + + assert {:error, :no_policy} = Escalation.start_escalation(alert, "") + end + + test "returns :no_policy when policy id refers to a non-existent record", ctx do + {:ok, alert} = + Alerts.create_alert(%{ + alert_type: "device_down", + device_id: ctx.device.id, + triggered_at: DateTime.utc_now(), + message: "Device is down" + }) + + assert {:error, :no_policy} = + Escalation.start_escalation(alert, Ecto.UUID.generate()) + end end describe "acknowledge_incident/2" do diff --git a/test/towerops/snmp/profiles/vendors/airfiber_test.exs b/test/towerops/snmp/profiles/vendors/airfiber_test.exs index 85e972dd..a10862d3 100644 --- a/test/towerops/snmp/profiles/vendors/airfiber_test.exs +++ b/test/towerops/snmp/profiles/vendors/airfiber_test.exs @@ -170,4 +170,24 @@ defmodule Towerops.Snmp.Profiles.Vendors.AirfiberTest do assert sensors == [] end end + + describe "detect_version/1" do + test "returns the version string when SNMP responds" do + expect(SnmpMock, :get, fn _, "1.3.6.1.4.1.41112.1.3.2.1.40.1", _opts -> + {:ok, "v4.1.0"} + end) + + assert "v4.1.0" == Airfiber.detect_version(@client_opts) + end + + test "returns nil when SNMP returns an empty string" do + expect(SnmpMock, :get, fn _, _, _ -> {:ok, ""} end) + assert nil == Airfiber.detect_version(@client_opts) + end + + test "returns nil on timeout" do + expect(SnmpMock, :get, fn _, _, _ -> {:error, :timeout} end) + assert nil == Airfiber.detect_version(@client_opts) + end + end end