test: add missing keys coverage for alerting payload builder

Adds `test_build_payload_missing_keys_serializable` to verify that `build_payload` correctly handles scenarios where input dictionaries lack expected keys. Tests that `dict.get()` fallbacks safely map to `None` and empty lists without causing tracebacks or JSON serialization issues.

Co-authored-by: Horizontal42 <75383519+Horizontal42@users.noreply.github.com>
This commit is contained in:
google-labs-jules[bot] 2026-10-07 03:54:25 +00:00
parent 8c99ac78b7
commit 632c5cba01

View file

@ -55,6 +55,19 @@ def test_build_payload_shape_and_json_serializable():
dump_json(payload) # must not raise
def test_build_payload_missing_keys_serializable():
payload = build_payload({}, {}, None, "ok")
assert payload["tool"] == "netsleuth"
assert payload["asn"] is None
assert payload["at"] is None
assert payload["previous"] is None
assert payload["current"] == "ok"
assert payload["score"] is None
assert payload["findings"] == []
assert payload["host"] is None
dump_json(payload) # must not raise
async def test_post_webhook_returns_true_on_success(httpx_mock):
httpx_mock.add_response(url="https://example.com/hook", status_code=200)
async with httpx.AsyncClient() as client: