diff --git a/src/tests/gateway/test_handle_upload.py b/src/tests/gateway/test_handle_upload.py index 4421069..7dfd9aa 100644 --- a/src/tests/gateway/test_handle_upload.py +++ b/src/tests/gateway/test_handle_upload.py @@ -27,3 +27,30 @@ def test_valid_plain_message( print(f"{resp_str=}") assert resp_str.startswith("OK") + + +def test_invalid_message( + fix_sys_path, + eddn_message: Callable, + eddn_gateway, + bottle_response +) -> None: + """Test eddn.Gateway with an invalid message.""" + #################################################################### + # Mock a bottle 'response' enough to accept setting status + #################################################################### + class BottleResponseMock: + status: int = 200 + #################################################################### + + msg = eddn_message("invalid_json") + resp_str = eddn_gateway.handle_upload( + headers={ + "Content-Type": "application/json" + }, + body=msg.encode(encoding="utf-8"), + response=bottle_response + ) + + print(f"{resp_str=}") + assert resp_str.startswith("FAIL: JSON parsing: ")