Exemplo n.º 1
0
        public async Task Fire_Event_On_Client_Acknowledges_QoS_1()
        {
            using (var testEnvironment = CreateTestEnvironment())
            {
                var server = await testEnvironment.StartServer();

                ClientAcknowledgedPublishPacketEventArgs eventArgs = null;
                server.ClientAcknowledgedPublishPacketAsync += args =>
                {
                    eventArgs = args;
                    return(PlatformAbstractionLayer.CompletedTask);
                };

                var client1 = await testEnvironment.ConnectClient();

                await client1.SubscribeAsync("A", MqttQualityOfServiceLevel.AtLeastOnce);

                var client2 = await testEnvironment.ConnectClient();

                await client2.PublishStringAsync("A", qualityOfServiceLevel : MqttQualityOfServiceLevel.AtLeastOnce);

                await LongTestDelay();

                Assert.IsNotNull(eventArgs);
                Assert.IsNotNull(eventArgs.PublishPacket);
                Assert.IsNotNull(eventArgs.AcknowledgePacket);
                Assert.IsTrue(eventArgs.IsCompleted);

                Assert.AreEqual("A", eventArgs.PublishPacket.Topic);
            }
        }
Exemplo n.º 2
0
        public async Task Fire_Event_On_Client_Acknowledges_QoS_0()
        {
            using (var testEnvironment = CreateTestEnvironment())
            {
                var server = await testEnvironment.StartServer();

                ClientAcknowledgedPublishPacketEventArgs eventArgs = null;
                server.ClientAcknowledgedPublishPacketAsync += args =>
                {
                    eventArgs = args;
                    return(PlatformAbstractionLayer.CompletedTask);
                };

                var client1 = await testEnvironment.ConnectClient();

                await client1.SubscribeAsync("A");

                var client2 = await testEnvironment.ConnectClient();

                await client2.PublishStringAsync("A");

                await LongTestDelay();

                // Must be null because no event should be fired for QoS 0.
                Assert.IsNull(eventArgs);
            }
        }