"""Structured logging smoke — AZ-263 AC-7.""" import json import logging from gps_denied_onboard.logging import get_logger def test_get_logger_returns_logger_instance() -> None: # Act logger = get_logger("test.smoke") # Assert assert isinstance(logger, logging.Logger) def test_log_lines_are_single_json_objects() -> None: # Arrange import io from gps_denied_onboard.logging.structured import _JsonFormatter stream = io.StringIO() handler = logging.StreamHandler(stream) handler.setFormatter(_JsonFormatter()) logger = logging.getLogger("test.json.unit") logger.handlers = [handler] logger.setLevel(logging.DEBUG) logger.propagate = False # Act logger.error("hello world", extra={"event": "smoke", "value": 42}) # Assert line = stream.getvalue().strip().splitlines()[-1] payload = json.loads(line) assert payload["level"] == "ERROR" assert payload["msg"] == "hello world" assert payload["event"] == "smoke" assert payload["value"] == 42