"""AZ-326 — sanity checks on the documented EXIT_* constants.""" from __future__ import annotations from gps_denied_onboard.components.c12_operator_tooling import exit_codes class TestExitCodes: def test_documented_values_are_unique(self) -> None: # Arrange documented = [ getattr(exit_codes, name) for name in dir(exit_codes) if name.startswith("EXIT_") ] # Assert assert len(documented) == len(set(documented)) def test_ok_is_zero_and_usage_is_two(self) -> None: assert exit_codes.EXIT_OK == 0 assert exit_codes.EXIT_USAGE == 2 def test_companion_range_starts_at_ten(self) -> None: assert 10 <= exit_codes.EXIT_COMPANION_UNREACHABLE <= 19 assert 10 <= exit_codes.EXIT_CONTENT_HASH_MISMATCH <= 19 def test_flights_api_range_starts_at_sixty(self) -> None: # AC-3 mapping table for the flights-API surface assert exit_codes.EXIT_FLIGHTS_API_UNREACHABLE == 60 assert exit_codes.EXIT_FLIGHTS_API_AUTH == 61 assert exit_codes.EXIT_FLIGHT_NOT_FOUND == 62 assert exit_codes.EXIT_FLIGHT_SCHEMA == 63 assert exit_codes.EXIT_EMPTY_WAYPOINTS == 64