1
0
mirror of https://github.com/craigerl/aprsd.git synced 2026-06-07 16:44:39 -04:00

Fixed issue with packet object and prepare()

If any part of the code had a packet object and called prepare()
on it, it would create a msgNo if it wasn't set.  Sometimes we
get packets on the wire/RF that don't have a msgNo, so adding one
locally is wrong.   We should ONLY create a msgNo on a packet that
is destined for transmission.

This patch ensures that even if prepare() is called, that only
packets that are created locally for TX get a msgNo unless it
already exists from RX'd packets.
This commit is contained in:
2024-11-26 16:52:39 -05:00
parent 3a8b8f26dd
commit f66b96288f
4 changed files with 21 additions and 10 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ class TestAPRSISClient(unittest.TestCase):
"connected": True,
"filter": "m/50",
"login_status": {"message": mock.ANY, "success": True},
"server_keepalive": mock_client.aprsd_keepalive,
"connection_keepalive": mock_client.aprsd_keepalive,
"server_string": mock_client.server_string,
"transport": "aprsis",
},
+4
View File
@@ -8,6 +8,7 @@ import flask_socketio
from oslo_config import cfg
from aprsd import conf # noqa: F401
from aprsd.client import fake as fake_client
from aprsd.cmds import webchat # noqa
from aprsd.packets import core
@@ -64,11 +65,13 @@ class TestSendMessageCommand(unittest.TestCase):
@mock.patch("aprsd.threads.tx.send")
@mock.patch("aprsd.packets.PacketList.rx")
@mock.patch("aprsd.cmds.webchat.socketio")
@mock.patch("aprsd.client.factory.ClientFactory.create")
def test_process_our_message_packet(
self,
mock_tx_send,
mock_packet_add,
mock_socketio,
mock_factory,
):
self.config_and_init()
mock_socketio.emit = mock.MagicMock()
@@ -77,6 +80,7 @@ class TestSendMessageCommand(unittest.TestCase):
msg_number=1,
message_format=core.PACKET_TYPE_MESSAGE,
)
mock_factory.return_value = fake_client.APRSDFakeClient()
mock_queue = mock.MagicMock()
socketio = mock.MagicMock()
wcp = webchat.WebChatProcessPacketThread(mock_queue, socketio)