public async Task Fire_Application_Message_Received_Event() { using (var testEnvironment = CreateTestEnvironment()) { var server = await testEnvironment.StartServer(); InterceptingPublishEventArgs eventArgs = null; server.InterceptingPublishAsync += e => { eventArgs = e; return(PlatformAbstractionLayer.CompletedTask); }; var client = await testEnvironment.ConnectClient(); await client.PublishStringAsync("The_Topic", "The_Payload"); await LongTestDelay(); Assert.IsNotNull(eventArgs); Assert.IsTrue(eventArgs.ClientId.StartsWith(nameof(Fire_Application_Message_Received_Event))); Assert.AreEqual("The_Topic", eventArgs.ApplicationMessage.Topic); Assert.AreEqual("The_Payload", eventArgs.ApplicationMessage.ConvertPayloadToString()); } }
public MqttPacket Create(MqttPublishPacket publishPacket, InterceptingPublishEventArgs interceptingPublishEventArgs) { if (publishPacket == null) { throw new ArgumentNullException(nameof(publishPacket)); } var pubRecPacket = new MqttPubRecPacket { PacketIdentifier = publishPacket.PacketIdentifier, ReasonCode = MqttPubRecReasonCode.Success }; if (interceptingPublishEventArgs != null) { pubRecPacket.ReasonCode = (MqttPubRecReasonCode)(int)interceptingPublishEventArgs.Response.ReasonCode; pubRecPacket.ReasonString = interceptingPublishEventArgs.Response.ReasonString; pubRecPacket.UserProperties = interceptingPublishEventArgs.Response.UserProperties; } return(pubRecPacket); }