Coverage for faststream / mqtt / message.py: 80%

8 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-05-08 01:48 +0000

1import zmqtt 

2 

3from faststream.message import StreamMessage 

4 

5 

6class MQTTMessage(StreamMessage[zmqtt.Message]): 

7 """A class to represent an MQTT message.""" 

8 

9 async def ack(self) -> None: 

10 if self.committed is None and self.raw_message.qos != zmqtt.QoS.AT_MOST_ONCE: 10 ↛ 11line 10 didn't jump to line 11 because the condition on line 10 was never true

11 await self.raw_message.ack() 

12 await super().ack() 

13 

14 async def nack(self) -> None: 

15 pass # MQTT has no protocol-level nack; with auto_ack=False broker redelivers QoS 1/2 messages 

16 

17 async def reject(self) -> None: 

18 await self.ack() # MQTT has no reject; acknowledge to prevent redelivery