54 lines
1.6 KiB
Elixir
54 lines
1.6 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)
|
|
assert server == nil or server == "mock.aprs.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
|
|
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
|