aprs.me/test/aprsme/connection_prevention_test.exs
Graham McIntire b86153cd27
Fix all mix credo --strict warnings (188 → 0)
- Replace apply/2 with direct fully-qualified calls in movement_test
- Fix assert_receive timeouts < 1000ms across 8 test files
- Move nested import statements to module-level scope
- Fix tests with no assertions and add missing doctest
- Replace weak type assertions with specific value checks
- Fix conditional assertions and length/1 expensive patterns
- Disable inappropriate Jump.CredoChecks.AvoidSocketAssignsInTest
- Fix tests not calling application code with credo:disable
- Add various credo:disable comments for legitimate patterns
2026-06-12 16:27:20 -05:00

59 lines
1.8 KiB
Elixir

defmodule Aprsme.ConnectionPreventionTest do
@moduledoc """
Simple test to verify APRS connections are prevented in test environment.
"""
use ExUnit.Case, async: false
use Aprsme.DataCase
test "APRS connection is disabled in test environment" do
# Verify we're in test environment
assert Mix.env() == :test
assert Application.get_env(:aprsme, :env) == :test
# Verify APRS connection is explicitly disabled
assert Application.get_env(:aprsme, :disable_aprs_connection) == true
# Verify APRS.Is process is not running
assert Process.whereis(Aprsme.Is) == nil
end
test "APRS configuration is safe for testing" do
# Verify server configuration is neutralized
server = Application.get_env(:aprsme, :aprsme_is_server)
# credo:disable-for-next-line Jump.CredoChecks.ConditionalAssertion
assert server == nil or server == "mock.aprs.test"
# server config is legitimately nil or mock value in test
# Verify test credentials are used
login_id = Application.get_env(:aprsme, :aprsme_is_login_id)
assert login_id == "TEST"
# Verify no real APRS servers in config
forbidden_servers = [
"rotate.aprs2.net",
"dallas.aprs2.net",
"seattle.aprs2.net"
]
if server do
server_str = to_string(server)
refute Enum.any?(forbidden_servers, fn forbidden ->
String.contains?(server_str, forbidden)
end)
end
status = Aprsme.Is.get_status()
assert status.connected == false
end
test "get_status works without external connection" do
# This should not attempt external connections
status = Aprsme.Is.get_status()
# Should return disconnected state
assert status.connected == false
assert status.uptime_seconds == 0
assert status.connected_at == nil
end
end