- Add retry: false to VISP Client HTTP requests - Add retry: false to ReleaseChecker GitHub API requests - Remove unused Plug.Conn import from RemoteIpLogger - Remove unused default parameter from req_get/2 Results: - VISP sync test: 7007ms → 113ms (62x faster) - ReleaseChecker test: 7004ms → 17ms (402x faster) - UserResetPasswordLive test: 1495ms → 284ms (5x faster) Req's default retry behavior (1s, 2s, 4s exponential backoff) was causing 7-second delays for HTTP 500/503 error responses in tests. For these clients, immediate failure is preferred over retries.
30 lines
999 B
Elixir
30 lines
999 B
Elixir
defmodule ToweropsWeb.MaintenanceLive.HelpersTest do
|
|
use ExUnit.Case, async: true
|
|
|
|
alias ToweropsWeb.MaintenanceLive.Helpers
|
|
|
|
describe "status_for/1" do
|
|
test "returns active for current windows" do
|
|
now = DateTime.utc_now()
|
|
window = %{starts_at: DateTime.add(now, -60, :second), ends_at: DateTime.add(now, 60, :second)}
|
|
|
|
assert Helpers.status_for(window) == :active
|
|
end
|
|
end
|
|
|
|
describe "scope_label/1" do
|
|
test "formats device, site, and org-wide labels" do
|
|
assert Helpers.scope_label(%{device: %{name: "Core"}, site: nil}) == "Device: Core"
|
|
assert Helpers.scope_label(%{device: nil, site: %{name: "HQ"}}) == "Site: HQ"
|
|
assert Helpers.scope_label(%{device: nil, site: nil}) == "Org-wide"
|
|
end
|
|
end
|
|
|
|
describe "format_datetime/2" do
|
|
test "formats the datetime with the provided timezone" do
|
|
datetime = ~U[2026-01-15 14:34:00Z]
|
|
|
|
assert Helpers.format_datetime(datetime, "Etc/UTC") == "Jan 15, 2026 02:34 PM"
|
|
end
|
|
end
|
|
end
|