test: fix Cambium ePMP test Mox expectations

Changed expect() to stub() in all discover_wireless_sensors/1 tests
to handle multiple SNMP get calls:
- Static sensor fetch calls Client.get() for CPU
- ePMP mode detection calls Client.get() for wirelessInterfaceMode
- Each sensor value fetch calls Client.get() (RSSI, SNR, Frequency, Clients)

Using stub() allows unlimited calls vs expect() which enforces
exactly one call, fixing Mox.UnexpectedCallError in all tests.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Graham McIntire 2026-02-12 09:33:57 -06:00
parent 6511877ac8
commit 4de4678a2f
No known key found for this signature in database

View file

@ -113,7 +113,7 @@ defmodule Towerops.Snmp.Profiles.Vendors.CambiumTest do
describe "discover_wireless_sensors/1 - ePMP Access Point" do
test "discovers all wireless sensors for ePMP AP mode" do
# Mock ePMP detection and sensor values
expect(SnmpMock, :get, fn _, oid, _ ->
stub(SnmpMock, :get, fn _, oid, _ ->
cond do
# wirelessInterfaceMode (1 = AP mode)
oid == "1.3.6.1.4.1.17713.21.1.2.32.0" ->
@ -181,7 +181,7 @@ defmodule Towerops.Snmp.Profiles.Vendors.CambiumTest do
describe "discover_wireless_sensors/1 - ePMP Subscriber Module" do
test "discovers wireless sensors for ePMP SM mode (no client count)" do
# Mock wirelessInterfaceMode (2 = SM mode)
expect(SnmpMock, :get, fn _, oid, _ ->
stub(SnmpMock, :get, fn _, oid, _ ->
cond do
oid == "1.3.6.1.4.1.17713.21.1.2.32.0" ->
{:ok, 2}
@ -225,7 +225,7 @@ defmodule Towerops.Snmp.Profiles.Vendors.CambiumTest do
describe "discover_wireless_sensors/1 - non-ePMP device" do
test "returns only static sensors when device is not ePMP" do
# Mock wirelessInterfaceMode check fails (not ePMP)
expect(SnmpMock, :get, fn _, oid, _ ->
stub(SnmpMock, :get, fn _, oid, _ ->
case oid do
"1.3.6.1.4.1.17713.21.1.2.32.0" ->
{:error, :no_such_object}
@ -249,7 +249,7 @@ defmodule Towerops.Snmp.Profiles.Vendors.CambiumTest do
describe "discover_wireless_sensors/1 - sensor filtering" do
test "filters out sensors that fail to respond" do
# Mock some sensors succeeding and some failing
expect(SnmpMock, :get, fn _, oid, _ ->
stub(SnmpMock, :get, fn _, oid, _ ->
cond do
oid == "1.3.6.1.4.1.17713.21.1.2.32.0" ->
{:ok, 1}
@ -297,7 +297,7 @@ defmodule Towerops.Snmp.Profiles.Vendors.CambiumTest do
describe "discover_wireless_sensors/1 - edge cases" do
test "handles invalid mode value gracefully" do
# Mock mode returns invalid value (not 1 or 2)
expect(SnmpMock, :get, fn _, oid, _ ->
stub(SnmpMock, :get, fn _, oid, _ ->
case oid do
"1.3.6.1.4.1.17713.21.1.2.32.0" ->
{:ok, 99}
@ -318,7 +318,7 @@ defmodule Towerops.Snmp.Profiles.Vendors.CambiumTest do
end
test "returns empty list when all sensors fail" do
expect(SnmpMock, :get, fn _, _, _ ->
stub(SnmpMock, :get, fn _, _, _ ->
{:error, :timeout}
end)