diff --git a/test/towerops/equipment/event_logger_test.exs b/test/towerops/equipment/event_logger_test.exs index e0d38157..d8ac6221 100644 --- a/test/towerops/equipment/event_logger_test.exs +++ b/test/towerops/equipment/event_logger_test.exs @@ -54,12 +54,20 @@ defmodule Towerops.Devices.EventLoggerTest do {:device_event, event_attrs} ) - # Give the EventLogger a moment to process - Process.sleep(100) + # Poll for event with early exit (max 100ms) + events = + Enum.reduce_while(1..10, [], fn _, _acc -> + events = Towerops.Devices.list_devices_events(device.id, 10) - # Verify event was created in database - events = Towerops.Devices.list_devices_events(device.id, 10) - assert length(events) == 1 + if events == [] do + Process.sleep(10) + {:cont, []} + else + {:halt, events} + end + end) + + assert [_event] = events event = hd(events) assert event.device_id == device.id @@ -121,7 +129,7 @@ defmodule Towerops.Devices.EventLoggerTest do {:device_event, invalid_event} ) - Process.sleep(100) + Process.sleep(50) end) # Verify error was logged @@ -137,7 +145,7 @@ defmodule Towerops.Devices.EventLoggerTest do ) # Should not crash - just log and move on - Process.sleep(100) + Process.sleep(50) # EventLogger should still be running assert Process.whereis(EventLogger) diff --git a/test/towerops/snmp/deferred_discovery_test.exs b/test/towerops/snmp/deferred_discovery_test.exs index edcc3e03..f32d0318 100644 --- a/test/towerops/snmp/deferred_discovery_test.exs +++ b/test/towerops/snmp/deferred_discovery_test.exs @@ -27,7 +27,7 @@ defmodule Towerops.Snmp.DeferredDiscoveryTest do DeferredDiscovery.fast_check( client_opts, fn -> - Process.sleep(500) + Process.sleep(100) {:ok, "too slow"} end, timeout: 50 @@ -67,7 +67,7 @@ defmodule Towerops.Snmp.DeferredDiscoveryTest do DeferredDiscovery.slow_check( client_opts, fn -> - Process.sleep(500) + Process.sleep(100) {:ok, "too slow"} end, timeout: 50, @@ -84,7 +84,7 @@ defmodule Towerops.Snmp.DeferredDiscoveryTest do DeferredDiscovery.slow_check( client_opts, fn -> - Process.sleep(500) + Process.sleep(100) {:ok, "too slow"} end, timeout: 50, @@ -129,7 +129,7 @@ defmodule Towerops.Snmp.DeferredDiscoveryTest do DeferredDiscovery.deferred_check( client_opts, fn -> - Process.sleep(500) + Process.sleep(100) {:ok, "too slow"} end, timeout: 50, @@ -175,7 +175,7 @@ defmodule Towerops.Snmp.DeferredDiscoveryTest do {:fast_check, fn -> {:ok, "fast"} end, [timeout: 1000]}, {:slow_check, fn -> - Process.sleep(500) + Process.sleep(100) {:ok, "slow"} end, [timeout: 50, default: []]} ] @@ -227,7 +227,7 @@ defmodule Towerops.Snmp.DeferredDiscoveryTest do test "returns false when check times out" do expect(SnmpMock, :get, fn _target, _oid, _opts -> - Process.sleep(500) + Process.sleep(100) {:ok, [1, 3, 6, 1, 4, 1, 9]} end)